3D点云识别

2022-03-24 11:14:56 浏览数 (1)

激光雷达点云

  • 由激光雷达产生,分为机械式Lidar:TOF,N个独立激光单元,旋转产生360度视场。

上图中激光雷达位于圆圈的中心,周围产生的光点就是产生的3D点云。它的中心一般由一辆携带激光雷达的汽车来进行360度的扫描

在上面的两张图中,一个是正常的角度,一个是俯视图。带有蓝色坐标轴的设备就是机械式的激光雷达,会360度旋转,发出64条激光线。

还有一种是不旋转的MEMS式Lidar,它内部有一个组件在旋转,通过这个组件的旋转来实现扫描的效果。

  • 数据特点
  1. 简单:由x、y、z、i组成,x、y、z为坐标,i可以是强度也可以是距离。
  2. 稀疏:相对于图像来说,它要稀疏很多,如果把激光雷达点云投影到图像中可能只占有图像的7%。
  3. 无序:N!点云没有顺序,角度不同、震动、扫描顺序不同,都会导致点云的顺序不一样。
  4. 精确: /-2cm
  • 图像 vs 点云
  1. 点云:简单精确适合几何感知
  2. 图像:丰富多变适合语义感知

这两种感知手段在ADAS(自动驾驶)场景中各有各的用处,比如说交通信号,3D点云就无法感知,只能通过图像识别来进行感知。

  • 3D点云数据来源
  1. CAD模型:一般分类/分割问题的数据集是CAD。
  2. LiDAR传感器(激光雷达)
  3. RGBD相机,双目相机,它们都是稠密点云
  • 常用数据集
  1. Classification(Feature Respresentation),都是基于CAD模型
    1. ModelNet40/10
    2. ShapeNetPart
  2. 无人驾驶场景:Detection/ Segmentation/ Tracking
    1. http://www.cvlibs.net/datasets/kitti/
    2. http://apolloscape.auto
    3. https://www.cityscapes-dataset.com
    4. https://bdd-data.berkeley.edu

这里我们主要用到的就是kitti数据集,我们先来看一下kitti中都有哪些数据集

这个是双目数据集

光流数据集

深度数据集

里程计数据集

检测数据集2d,3d的,我们要用的就是这个3d的数据集

跟踪数据集

分割数据集

这些都是将原始数据集处理一下,来应对各种细分的算法。

  • KITTI数据集

自动驾驶场景下的计算机视觉算法评测数据集

  1. 算法测评类别:stereo(立体的)、optical flow(光流)、visual odometry(可视化里程计)、object dectection(物体检测)、tracking(追踪)
  2. 数据采集场景:Road(道路)、City(城市)、Residential(住宅区)、Campus(校园)、Person(人)
  3. 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轴。

0 人点赞