激光雷达点云
- 由激光雷达产生,分为机械式Lidar:TOF,N个独立激光单元,旋转产生360度视场。
上图中激光雷达位于圆圈的中心,周围产生的光点就是产生的3D点云。它的中心一般由一辆携带激光雷达的汽车来进行360度的扫描
在上面的两张图中,一个是正常的角度,一个是俯视图。带有蓝色坐标轴的设备就是机械式的激光雷达,会360度旋转,发出64条激光线。
还有一种是不旋转的MEMS式Lidar,它内部有一个组件在旋转,通过这个组件的旋转来实现扫描的效果。
- 数据特点
- 简单:由x、y、z、i组成,x、y、z为坐标,i可以是强度也可以是距离。
- 稀疏:相对于图像来说,它要稀疏很多,如果把激光雷达点云投影到图像中可能只占有图像的7%。
- 无序:N!点云没有顺序,角度不同、震动、扫描顺序不同,都会导致点云的顺序不一样。
- 精确: /-2cm
- 图像 vs 点云
- 点云:简单精确适合几何感知
- 图像:丰富多变适合语义感知
这两种感知手段在ADAS(自动驾驶)场景中各有各的用处,比如说交通信号,3D点云就无法感知,只能通过图像识别来进行感知。
- 3D点云数据来源
- CAD模型:一般分类/分割问题的数据集是CAD。
- LiDAR传感器(激光雷达)
- RGBD相机,双目相机,它们都是稠密点云
- 常用数据集
- Classification(Feature Respresentation),都是基于CAD模型
- ModelNet40/10
- ShapeNetPart
- 无人驾驶场景:Detection/ Segmentation/ Tracking
- http://www.cvlibs.net/datasets/kitti/
- http://apolloscape.auto
- https://www.cityscapes-dataset.com
- https://bdd-data.berkeley.edu
这里我们主要用到的就是kitti数据集,我们先来看一下kitti中都有哪些数据集
这个是双目数据集
光流数据集
深度数据集
里程计数据集
检测数据集2d,3d的,我们要用的就是这个3d的数据集
跟踪数据集
分割数据集
这些都是将原始数据集处理一下,来应对各种细分的算法。
- KITTI数据集
自动驾驶场景下的计算机视觉算法评测数据集
- 算法测评类别:stereo(立体的)、optical flow(光流)、visual odometry(可视化里程计)、object dectection(物体检测)、tracking(追踪)
- 数据采集场景:Road(道路)、City(城市)、Residential(住宅区)、Campus(校园)、Person(人)
- 3D物体检测:car(小汽车)、van(货车)、truck(卡车)、pedestrian(行人)、sitting(坐着的人)、cyclist(骑自行车的人)、tram(有轨电车)、misc(杂项)
我们依然来看一下这个采集车
在上图中,有两个灰度相机cam 0和cam 1,形成一个双目;还有两个彩色相机cam 2和cam 3,也形成一个双目。
是一个GPS导航,
是激光雷达。
- 坐标系
对于相机来说,为上图的红色坐标系,X对应汽车的右方,Y对应汽车的下方,Z对应汽车的前方。激光雷达坐标系为上图的蓝色坐标系,X对应汽车的前方,Y对应汽车的左方,Z对应汽车的上方。GPS坐标系为上图的绿色坐标系,它跟激光雷达是一样的。
- 激光雷达点云鸟瞰图
上图以图片的左上角的点为图片的坐标原点,向右为图片的x坐标,向下为图片的y坐标,那么它跟激光雷达的坐标形成了如下的关系
- 将点云投影到图片上
我们依然以图片最左上角为图片的原点,向右为图片的x坐标,向下为图片的y坐标,那么它跟激光雷达的坐标形成了如下的关系
这里也就是说我们正视的图片为激光雷达的正前方,图片左方为激光雷达的y轴,图片的上方为激光雷达的z轴。