单目3D检测-坐标系、数据集

这篇具有很好参考价值的文章主要介绍了单目3D检测-坐标系、数据集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0.单目3D检测任务

( c , x , y , z , w , l , h , θ ) (c,x,y,z,w,l,h,\theta) (c,x,y,z,w,l,h,θ)
θ \theta θ: 目标在三维空间中相对于水平方向的航向信息

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

1.坐标系转换关系:

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

1.1.像素坐标系

o − u , v o-u,v ou,v:

描述物体在数字图像中的位置,单位为像素(pixel),该坐标系以图像顶点作为坐标原点,u、v 轴分别平行于图像坐标系的 x、y 轴。

1.2图象坐标系

O − x , y O-x,y Ox,y:

反映了成像过程中二维-三维的投影关系,通过连续的实际物理量描述物体在图像平面中的位置,单位为毫米,以垂直于图像平面的相机光轴和图像平面的交点作为坐标原点,由于相机光心往往存在偏移,因此该原点通常并不是图像中心

1.3相机坐标系:

O c − X c , Y c , Z c O_c-X_c,Y_c,Z_c OcXc,Yc,Zc: 主要是和其他传感器、物体的位置做区分。

描述空间中目标物体相对于相机的位置而引入的坐标系,单位为米(m),坐标系原点在相机光心,规定垂直于图像平面的相机光轴为Zc轴正方向,垂直向下为Yc正方向,按右手坐标系来建立坐标系.

kitti数据集中相机坐标系如图所示:
坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

1.4.世界坐标系

O w − X w , Y w , Z w O_w-X_w,Y_w,Z_w OwXw,Yw,Zw:

描述物体在客观世界中的绝对位置,单位为米(m),坐标系原点可以由人自由选取以方便计算,很多论文都将世界坐标系的原点选择为自车坐标系的原点

1.5激光雷达坐标系

    激光雷达坐标系通常定义如下**左图**所示,其中x指向前方,y指向左方,z指向上方。    
    相机坐标系右图,和激光雷达不一样

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

1.6世界坐标系转为相机坐标系

世界坐标系和相机坐标系之间的转换其实是旋转和平移的过程,即先旋转到目标坐标系的方向,然后再平移过去。

设目标坐标系下某一点为 [ x , y , z ] [x,y,z] [x,y,z],该点在当前坐标系下的坐标为 [ x ’ , y ’ , z ’ ] [x’,y’,z’] [x,y,z],变化方式如下:

[ x y z ] \begin{bmatrix}x \\y\\z\end{bmatrix} xyz = R [ x ⋅ y ⋅ z ⋅ ] + T R\begin{bmatrix}x^ ·\\y^·\\z^·\end{bmatrix}+T R xyz +T

其中R为旋转矩阵,T为平移矩阵。在3D目标检测中,一般会写成齐次方程的形式,即
[ x y z 1 ] \begin{bmatrix}x \\y\\z\\1\end{bmatrix} xyz1 = [ R 3 ∗ 3 ) y ⋅ z ⋅ ] [ x ⋅ y ⋅ z ⋅ ] + T \begin{bmatrix}R_3*3)\\y^·\\z^·\end{bmatrix}\begin{bmatrix}x^ ·\\y^·\\z^·\end{bmatrix}+T R33)yz xyz +T

1.7图像坐标和像素坐标之间的转换

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

在图像坐标系中坐标(x, y)表示其在图像平面的实际二维物理位置,单位为毫米,而像素坐标系中坐标(u,v) 表示其相对于像素坐标原点平移的像素个数,因此在转换过程中涉及尺度变换和原点平移两个步骤,可得到图像坐标系到像素坐标系的坐标转换关系如下所示

$$

d x dx dx d y dy dy表示单位像素在 x y xy xy轴上的物理长度,写成齐次公式即为
坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

1.8像素坐标系和世界坐标系之间的转换

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

K i n t : K_{int}: Kint: 相机内参矩阵,其值只和相机的结构有关。 f x = f / d x , f y = f / d y f_x = f/d_x ,f_y = f/d_y fx=f/dxfy=f/dy
K e x t : K_{ext}: Kext: 相机外参矩阵,也叫刚体运动中的变换矩阵。其中 R 为旋转矩阵 ( R − 1 = R T ) (R^{-1}= R^T) R1=RT,T为平移向量。 R 、 T R、T RT 则由相机在世界、相机坐标系中的位置姿态决定。

2.Kitti数据集解析

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

文件结构:

calib文件:

calib文件是相机、雷达、Imu等传感器的矫正数据

P0: 7.215377000000e+02 0.000000000000e+00 6.095593000000e+02 0.000000000000e+00 0.000000000000e+00 7.215377000000e+02 1.728540000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P1: 7.215377000000e+02 0.000000000000e+00 6.095593000000e+02 -3.875744000000e+02 0.000000000000e+00 7.215377000000e+02 1.728540000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P2: 7.215377000000e+02 0.000000000000e+00 6.095593000000e+02 4.485728000000e+01 0.000000000000e+00 7.215377000000e+02 1.728540000000e+02 2.163791000000e-01 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 2.745884000000e-03
P3: 7.215377000000e+02 0.000000000000e+00 6.095593000000e+02 -3.395242000000e+02 0.000000000000e+00 7.215377000000e+02 1.728540000000e+02 2.199936000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 2.729905000000e-03
R0_rect: 9.999239000000e-01 9.837760000000e-03 -7.445048000000e-03 -9.869795000000e-03 9.999421000000e-01 -4.278459000000e-03 7.402527000000e-03 4.351614000000e-03 9.999631000000e-01
Tr_velo_to_cam: 7.533745000000e-03 -9.999714000000e-01 -6.166020000000e-04 -4.069766000000e-03 1.480249000000e-02 7.280733000000e-04 -9.998902000000e-01 -7.631618000000e-02 9.998621000000e-01 7.523790000000e-03 1.480755000000e-02 -2.717806000000e-01
Tr_imu_to_velo: 9.999976000000e-01 7.553071000000e-04 -2.035826000000e-03 -8.086759000000e-01 -7.854027000000e-04 9.998898000000e-01 -1.482298000000e-02 3.195559000000e-01 2.024406000000e-03 1.482454000000e-02 9.998881000000e-01 -7.997231000000e-01

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测
其中 b x ( i ) b^{(i)}_ x bx(i)表示相对于参考摄像机0的基准值(以米为单位)。

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

Tr_velo_to_cam:( T v e l o c a m T_{velo}^{cam} Tvelocam):从雷达到相机的旋转平移矩阵( R 3 ∗ 4 R^{3*4} R34):
坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

label文件

label文件是KITTI中object的标签和评估数据,以“000001.txt”文件为例,包含样式如下:

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
Car 0.00 0 1.85 387.63 181.54 423.81 203.12 1.67 1.87 3.69 -16.53 2.39 58.49 1.57
Cyclist 0.00 3 -1.65 676.60 163.95 688.98 193.93 1.86 0.60 2.02 4.59 1.32 45.84 -1.55
DontCare -1 -1 -10 503.89 169.71 590.61 190.13 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 511.35 174.96 527.81 187.45 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 532.37 176.35 542.68 185.27 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 559.62 175.83 575.40 183.15 -1 -1 -1 -1000 -1000 -1000 -10

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
第1列(字符串):代表物体类别(type)
总共有9类,分别是:Car、Van、Truck、Pedestrian、Person_sitting、Cyclist、Tram、Misc、DontCare。其中DontCare标签表示该区域没有被标注,比如由于目标物体距离激光雷达太远。为了防止在评估过程中(主要是计算precision),将本来是目标物体但是因为某些原因而没有标注的区域统计为假阳性(false positives),评估脚本会自动忽略DontCare区域的预测结果。

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
第2列(浮点数):代表物体是否被截断(truncated)
数值在0(非截断)到1(截断)之间浮动,数字表示指离开图像边界对象的程度。

Truck 0.00 0 -1. -1.57 57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
第3列(整数):代表物体是否被遮挡(occluded)
整数0、1、2、3分别表示被遮挡的程度

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
第4列(弧度数):物体的观察角度(alpha)
取值范围为:-pi ~ pi(单位:rad),它表示在相机坐标系下,以相机原点为中心,相机原点到物体中心的连线为半径,将物体绕相机y轴旋转至相机z轴,此时物体方向与相机x轴的夹角,如图1所示。

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
第5~8列(浮点数):物体的2D边界框大小(bbox)
四个数分别是xmin、ymin、xmax、ymax(单位:pixel),表示2维边界框的左上角和右下角的坐标

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
第9~11列(浮点数):3D物体的尺寸(dimensions)
分别是高、宽、长(单位:米)

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
第12-14列(浮点数):3D物体的位置(location)
分别是x、y、z(单位:米),特别注意的是,这里的xyz是在相机坐标系下3D物体的中心点位置

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
第15列(弧度数):3D物体的空间方向(rotation_y)
取值范围为:-pi ~ pi(单位:rad),它表示,在照相机坐标系下,物体的全局方向角(物体前进方向与相机坐标系x轴的夹角),如图1所示。

第16列(浮点数):检测的置信度(score)
要特别注意的是,这个数据只在测试集的数据中有(待确认)。

里面的rotation_y和alpha容易让人弄错,下面详细介绍一下
摄像机坐标系和物体坐标系如下:

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

rotation_y表示物体的全局方向角,是对物体朝向的一个表示,描述的是目标在现实世界中的朝向,不随目标位置的变化而变化,数值上为车头方向和相机X轴正方向的夹角(顺时针方向为正),路面上的物体肯定都在X_Z上,所以物体的朝向只有Y轴的变化。

alpha表示物体的观察角度,描述的是目标相对于相机视角的朝向,且会随着方位角theta变化而变化,求取方法为在相机坐标系下,以相机原点为中心,相机原点到物体中心的连线为半径,将物体绕相机y轴旋转至相机z轴,此时物体方向与相机x轴的夹角。

																									r_y + pi/2 -theta = alpha +pi/2(即图中紫色的角是相等的)
																										alpha  +  theta  = rotation_y

坐标数据集,深度学习之图像检测,3d,计算机视觉,人工智能,深度学习,目标检测

参考文献:

[kitti参数](https://zhuanlan.zhihu.com/p/403188378)
3d目标检测中的旋转角/航向角θ应该如何理解?
Rope3D数据集文章来源地址https://www.toymoban.com/news/detail-735160.html

到了这里,关于单目3D检测-坐标系、数据集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity和3d坐标系以及和ue的比较

    unity和ue都采用左手坐标系 在3d软件中,大多数软件都用红色代表x轴,绿色代表y轴,蓝色代表z轴。 不同的是 : 在unity中X轴代表右方,Y轴代表上方,Z轴代表前方; 在ue中X轴代表前方,Y轴代表右方,Z轴代表上方; 缩放 :根据自身缩放,不受坐标系影响, (移动和旋转则分

    2024年02月11日
    浏览(30)
  • Android OpenGL ES 学习(九) – 坐标系统和实现3D效果

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学习(三) – 绘制平面图形 Android OpenGL ES 学习(四) – 正交投影 Android OpenGL ES 学习(五) – 渐变色 Android OpenGL ES 学习(六) – 使用 VBO、VAO 和 EBO/IBO 优化程序 Android OpenG

    2024年01月25日
    浏览(37)
  • Waymo dataset+mmdet3d的坐标系问题

    mmdet3d 在处理 waymo dataset的时候,3D/2D gt box, point cloud等数据进行了非常多的坐标系转换。本身waymo的坐标系也有不少。 写这篇文章的motivation主要是,自己在处理3D point投影到2D image的过程中产生了两个问题: 枚举ego centric 3D点投到5个相机的时候,发现覆盖范围是歪的,front c

    2024年02月08日
    浏览(31)
  • 笔记:立体视觉涉及的相机模型、参数、3D坐标系、内外参计算等

    3D视觉、SLAM、自动驾驶算法经常会碰到多传感器标定、数据对齐的问题,比如下面这个图(CADCD): 图1 上面就包含了7个camera,每个camera的位姿不同,采集到的数据也不同,怎么通过这些数据重建3D场景就需要用到对齐。 下图是human3.6的采集环境配置图: 关于这一块的知识点

    2024年04月24日
    浏览(45)
  • global mapper手动添加网格线平面直角坐标系及简易3D地形演示

    在网格配置中,如下图,可以设置背景网格间距大小。但是在卫星图中,由于是灰色的线条,难以被识别出来,尤其是在需要判读格子内距离时带来不便。例如上图中的灰色线条就不容易判读。 添加其他图层后更变的不容易识别。 可以利用线工具重新绘制网格,达到显眼醒

    2024年02月05日
    浏览(31)
  • 【超图】SuperMap iClient3D for WebGL/WebGPU —— 坐标系&位置 —— Cartesian2

    作者:taco         说到关于地理必然逃不开位置的关系。借用百度百科的内容来说 地理学(geography) ,是研究地球表层 空间地理 要素或者地理综合体 空间分布规律 、时间演变过程和 区域 特征的一门学科。 所以 位置坐标系 必然逃不掉了。那么在SuperMap iClient3D for Web

    2024年01月16日
    浏览(40)
  • 【CSS3】CSS3 3D 转换 ① ( CSS3 3D 转换简介 | 3D 物体与 2D 物体区别 | 3D 空间坐标系 | 常用的 3D 转换属性 | 3D 位移转换语法 | 代码示例 )

    3D 显示的物体 与 平面 2D 显示的物体有明显的不同 , 3D 显示效果有 近大远小 的 特点 ; 元素的 2D 的 转换效果 有 平移 , 旋转 , 缩放 效果 , 同样有对应的 3D 转换效果 ; 2D 平面坐标系 中 , 只有 x 轴 和 y 轴 ; 3D 空间坐标系 比 2D 平面坐标系 多了一个 Z 轴 ; x 轴 : 水平向右 ; 左侧是

    2024年02月12日
    浏览(32)
  • GIS数据格式坐标转换(地球坐标WGS84、GCJ-02、火星坐标、百度坐标BD-09、国家大地坐标系CGCS2000)

    地理信息系统 (GIS) 是一个创建、管理、分析和绘制所有类型数据的系统。GIS 将数据连接到地图,将位置数据(事物所在位置)与所有类型的描述性信息(事物在该位置的情况)集成到一起。这可以为适用于自然科学和几乎所有行业的制图和分析提供基础。GIS 帮助用户了解模

    2023年04月16日
    浏览(29)
  • 世界坐标系、相机坐标系、图像坐标系、像素坐标系

    四个坐标系都是什么? 1.世界坐标系-相机坐标系-图像坐标系-像素坐标系 2.像素坐标系-图像坐标系-相机坐标系-世界坐标系 图像处理、立体视觉等等方向常常涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系                     构建世界坐标系只是

    2024年01月21日
    浏览(53)
  • 坐标转换(相机坐标系、世界坐标系、图像物理坐标系、图像像素坐标系)

    一般情况下我们所涉及到的坐标包括四个,即相机坐标系、世界坐标系、图像物理坐标系、图像像素坐标系。我们本文的讲解思路是在讲解每个坐标转换之前先讲清楚每个坐标系所表示的含义。本文主要参考由高翔主编的视觉SLAM十四讲第五章相机模型。 相机将三维世界的坐

    2024年02月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包