Introduction to 3D Object Detection with Lidar

深度学习的开始

人类的大脑是一个神秘的器官,它由无数的神经细胞组成,神经细胞又有突触,轴突,树突等组成,至今我们还未对大脑如何工作研究的十分清楚。1943年,美国数学家沃尔特·皮茨(W.Pitts)和心理学家沃伦·麦克洛克(W.McCulloch)在发表论文《神经活动中内在思想的逻辑演算》中,提出了MP模型。MP模型是模仿神经元的结构和工作原理,构成出的一个基于神经网络的数学模型,本质上是一种“模拟人类大脑”的神经元模型。MP模型作为人工神经网络的起源,开创了人工神经网络的新时代,也奠定了神经网络模型的基础。

深度学习是人类研究人工神经网络的一个重要的阶段,几乎代表了现代人工智能领域。深度学习的发展离不开三位大师级别的人物。1998年,燕·勒存(Y. LeCun)提出了深度学习常用模型之一卷积神经网络(Convoluted Neural Network, CNN)。2006年,杰弗里·辛顿(G. Hinton)提出了深度学习的概念,随后与其团队在文章《A fast Learning Algorithm for Deep Belief Nets》中提出了深度学习模型之一,深度信念网络,并给出了一种高效的半监督算法:逐层贪心算法,来训练深度信念网络的参数,打破了长期以来深度网络难以训练的僵局[5,6]。从此,深度学习的大门打开,在各大政府、高校和企业中掀起了研究深度学习的大浪潮。2009年,Yoshua Bengio提出了深度学习另一常用模型:堆叠自动编码器(Stacked Auto-Encoder,SAE),采用自动编码器来代替深度信念网络的基本单元:限制玻尔兹曼机,来构造深度网络。这三位正是2019图灵奖的获得者。

2012年,在著名的ImageNet图像识别大赛中,杰弗里·辛顿领导的小组采用深度学习模型AlexNet一举夺冠。AlexNet采用ReLU激活函数,从根本上解决了梯度消失问题,并采用GPU极大的提高了模型的运算速度。同年,由斯坦福大学著名的吴恩达教授和世界顶尖计算机专家Jeff Dean共同主导的深度神经网络——DNN技术在图像识别领域取得了惊人的成绩,在ImageNet评测中成功的把错误率从26%降低到了15%。深度学习算法在世界大赛的脱颖而出,也再一次吸引了学术界和工业界对于深度学习领域的关注,深度学习的发展迎来了一波热潮。

自那之后,深度学习被应用在图像研究领域的各个方面,包括物体识别,物体检测,图像语义分割,甚至可以用深度学习产生一段描述图片内容的文字,还有最近比较火热的fake face等等。深度学习在图像领域的应用可谓是五花八门,非常有趣。但总体上如下图所示都将图像作为输入,传给卷积神经网络模型,最后输出结构,然后再根据特定的任务解析出想要的结果。下图分别是物体检测和物体实例分割的示例。

 

Introduction to 3D Object Detection with Lidar_第1张图片

 

 

自动驾驶中的特别之处

自动驾驶离技术中的重要一方面是车队周围环境的感知技术。无人车上通常都安装有多种能够感知周围环境的传感器,摄像头,激光雷达等。通过深度学习算法我们自然可以通过摄像头检测出图像中的行人,车辆等动态的物体,但是物体相对车的距离是无法获取的,或者及时获取到了,也不是非常精准的。要做安全的自动驾驶,就必须检测到周围在移动的物体,并且准确的知道它们相对于车的距离。因此2D的物体识别是不能够满足自动驾驶感知的要求的。激光雷达不同于Camera,它通过发射激光光束来探测目标,并通过搜集反射回来的光束来形成点云和获取数据,这些数据经光电处理后可生成为精确的三维立体图像。通常一帧点云数据,包含有上万个离散的点,这些点由lidar坐标系下的三维坐标唯一确定。我们需要利用点云数据,获得行人,车辆的三维立体框。这就是基于激光雷达的3D物体检测技术。下图中左图【2】是三维框在点云中显示的效果,右图【3】则是俯视图和图像中三维框的显示效果。

Introduction to 3D Object Detection with Lidar_第2张图片

Lidar 3D 物体检测的难点:

卷积神经网络(CNN)是专为图像输入而设计的深度神经网络。它能够接受W*H*C 大小的Tensor作为输入,通常图像的c是1或者3,也可以是其它。而点云是一个N*4的Tensor,这里的N是指点云中包含点的个数,4通常分别是lidar坐标系下点的x,y, z和一个反射率r。如果想利用成熟的CNN对点云数据进行处理,我们需要将N*4的点云Tensor进行处理得到W*H*C的输入tensor,这个输入tensor应尽可能多的包含点云tensor的信息。

 

从N*4 到W*H*C的转换通常有两种方式:

1、将点云数据投影到图像平面上,图像中的每个点的数值能够反应对应的点云点的深度信息下图中的左图【1】就是一张点云转换后的深度图像和对齐的RGB图像,他们组合在一起可以作为RGB-D图像作为输入给CNN模型,右图【4】利用图像不同的通道存储点云不同的信息。

 

Introduction to 3D Object Detection with Lidar_第3张图片

Introduction to 3D Object Detection with Lidar_第4张图片

 

 

2、更为普遍的是这种将点云空间平均分割成相同大小的voxel,再对每个voxel提取同样维度信息的方法【5】【6】【7】【8】。这种方式将我们感兴趣的点云空间区域,Rw*Rh*Rd 的区域切割成W*H*D 个Vw*Vh*Vd的voxel。然后在每个voxel对局部区域的点云提取信息。虽然每个voxel中点的数量并不相同,但是可以通过max pooling 或者fc层,将其中包含点的feature映射成一个向量。最后每个voxel都有一个1*C的向量描述,这样整个点云空间就可转化成W*H*D*C的Tensor作为CNN的输入。下图分别是Voxel的示例图,和对voxel提取特征表示的过程。

 

Introduction to 3D Object Detection with Lidar_第5张图片

Introduction to 3D Object Detection with Lidar_第6张图片

 

 

点云检测的另一个难点是对小物体的精度不高,这是因为远处点云的稀疏性造成的。由于激光是辐射出去,距离越远的物体反射回来的射线必然越稀少,因此造成远处物体漏检或者误检等情况。

通常的解决办法是将点云数据与图像进行融合,利用图像提供更多更丰富的信息用于模型的训练。融合一般也分为两种,前融合和后融合。

前融合是指将图像和点云数据合并成一个Tensor,输入给模型进行训练,最后得到物体检测的结果,而后融合则是图像和点云分别进行卷积提取特征,最后在两方面融合后的特征的基础上回归出物体三维框。

 

参考文献

  • Qi, Charles R., et al. "Frustum pointnets for 3d object detection from rgb-d data." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.

  • Chen, Xiaozhi, et al. "Multi-view 3d object detection network for autonomous driving." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.

  • Lang, Alex H., et al. "PointPillars: Fast encoders for object detection from point clouds." arXiv preprint arXiv:1812.05784(2018).

  • Wu, Bichen, et al. "Squeezeseg: Convolutional neural nets with recurrent crf for real-time road-object segmentation from 3d lidar point cloud." 2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018.

  • Zhou, Yin, and Oncel Tuzel. "Voxelnet: End-to-end learning for point cloud based 3d object detection." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.

  • Yang, Bin, Wenjie Luo, and Raquel Urtasun. "Pixor: Real-time 3d object detection from point clouds." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.

  • Yan, Yan, Yuxing Mao, and Bo Li. "Second: Sparsely embedded convolutional detection." Sensors 18.10 (2018): 3337.

  • Lang, Alex H., et al. "PointPillars: Fast encoders for object detection from point clouds." arXiv preprint arXiv:1812.05784(2018).

你可能感兴趣的:(Academic)