Monocular 3D Object Detection for Autonomous Driving 论文总结
该论文《Monocular 3D Object Detection for Autonomous Driving》已在美国CVPR 2016会议上发布。
文章概览
首先用两段话总结一下这篇文章。
- 该方法将单目中的3D物体检测问题视为两个阶段完成:
- 首先该方法提出了一种生成类相关物体的候选框集合的方法。
- 接着通过结合一个基于CNN的网络架构对这些候选框进行筛选与优化处理。
在针对物体推荐框提取的技术中, 作者基于物体与地面接触的限制条件, 开发了一种基于能量最小化原则提取3D候选物体现状的技术. 随后, 作者通过一系列人工定义的手工特征来描述该物体框的状态, 并运用SSVM算法对其体素框架进行了初步评估. 最后通过深度学习模型(如CNN)实现了对高评分体素框架的精细定位.
接下来,我们先按照代码的顺序进行工作的阐述(非文章顺序)。


3D物体候选框提取
利用先验信息提出假设
在研究过程中,作者将其三维空间离散划分为边长为0.2米的立方体单元,并基于此提出了一套理论框架
基于KITTI数据集的特点,在单目图像采集过程中固定安装于汽车上方的摄像头形成了固定的投影关系;假设所有物体接触地面的方式一致,并且认为这些物体在三维空间中的垂直方向与地面保持严格垂直,在3D物体框提取的过程中这一前提条件得到了应用。
3D物体框的采样策略
在上述两个假设的基础上,研究者采用了以下所述的采样策略,并对物体候选框(candidates)进行了密集采集。
- 限定3D采样框的高度。设相机距离地面的高度hcam=1.65mh_{cam} = 1.65m,同时设其他物体的高度为hcam=1.65m+δh_{cam} = 1.65m+\delta。其中,不同类别的物体拥有不同的高度范围,对汽车类别的3D物体框来说δ∈{0,±σ}\delta\in{0,\pm\sigma},对于行人和非机动车辆来说δ∈{0,±σ±2σ}\delta\in{0,\pm\sigma\pm2\sigma},其中σ\sigma是物体到默认地平面的距离的高斯分布的标准偏差的最大似然估计。行人与非机动车辆较小,因此他们对误差更为敏感,偏差的取值范围更广。
- 在进行密集采框之后,作者将内部像素完全是地面的物体框去除掉。同时,作者也会去除具有非常低的3D位置先验概率的框。
该方法能够确保在每张图片的每个地平面上都能获取约14,000个左右的候选框,并且该操作能够有效去除非目标物体的检测框。
3D物体框的特征描述
因为作者在三维空间中对物体框的采集采用了穷举法(即遍历所有可能的位置),这将导致大量物体框被采集。若采用常规方法对所有物体框进行特征提取,则将消耗大量时间。由此可见,在这种情况下(即面对海量数据时),必须借助积分图来进行特征提取;然而需要注意的是,并非所有特征都适合以这种方式计算。
3D物体框的描述
在本节中所述的方法采用向量形式\mathbf{y} = (x, y, z, \theta, c, t)来描述三维物体边界框。其中前三个维度(x, y, z)代表边界框的中心坐标,在此坐标系下\theta则代表边界框的方向角。在所讨论的方法中,默认采用KITTI数据集作为训练基准(仅涉及三类场景:汽车、行人及非机动车)。
特征选择
作者将予以信息,位置先验信息,上下文信息及形状信息融合进行评分。

1. 语义分割特征

作者首先利用几个先前的方法提取出场景的语义分割图。
- 《Completely connected deep network architectures》- Computer Science
- 《Conditional random fields equivalent to recurrent neural networks》- ICCV2015
- 《Segnet: A deep convolutional encoder-decoder-based structure for image segmentation》- Computer Science
该研究者借鉴《条件随机场作为循环神经网络》所阐述的方法,在PASCAL和COCO两个数据集上进行了初步的模型训练,并将注意力集中在车辆类别的识别上。该研究者同时采用了经过预训练的SegNet算法来区分行人与其他静止物体。然而,在KITTY datasets中并未实施进一步的微调。然而,在KITTY datasets中应用了道路标注数据集对该研究工作的进一步优化。
得到了语义分割图后,作者提出了两个语义分割特征,分别如下。

(1)

(2)
(1)式代表了每个Proposal内部所占的比例。
(2)式则代表了每个Proposal内部所占的比例。
该特征可以方便地通过积分图来实现。
2. 形状特征

该研究者采用了segmentation技术提取出目标物体的轮廓信息,并将其在二维候选区域划分为两种不同的栅格结构。其中一种栅格图仅包含单个栅格单元而另一种结构则由K×K个单位栅格组成。通过统计分析每个细分区域内的边缘像素分布情况从而获得关于目标形状的基本信息。这样就可获得一个维度为1 + K²的形状特征向量。
类似地这些形状特征还可以通过积分图像的方法进行高效计算。
3.实例分割特征

作者基于两篇论文的研究成果《Instance-level segmentation with deep densely connected mrfs》发表在CVPR2016上以及《Monocular Object Instance Segmentation and Depth Ordering with CNNs》发表在ICCV2015上,在图像处理领域开发出了实例分割的方法,并对所用的网络进行了优化处理,并主要应用于汽车相关领域。
4.上下文特征

鉴于汽车位于道路上的位置,则其下方空间应当属于道路范围。基于此观察结果,则作者采用了将2D物体包围框下部三分之一高度的区域定义为上下文区域的方法;并基于该研究者在CVPR 2014上所发表的一篇论文中所提出的方法对该区域提取语义分割特征
5.位置特征

作者通过核密度估计(KDE)技术来学习物体的位置先验信息。其中固定位移大小为4米,在二维空间中对应的图像定位误差约为两个像素。同时采用KITTI数据集中的三维地面边界框作为训练样本以建立三维先验模型。
3D包围框的学习
作者仅在文章中简要概述了学习过程,在具体内容上则较为简洁地进行了介绍。他主要描述了基于上述计算获得的关键特征,并详细阐述了基于结构化SVM构建的回归模型这一技术方案;通过该方法评估了3D包围盒与Groundtruth之间的IoU(Intersection over Union)指标。在代码实现中,则将这一部分的工作逻辑进行了独立分离;考虑到特征计算所需的空间需求达到200GB级别,则未对原有SSVM训练过程进行重复构建。
利用CNN对高分Proposal评分

在这一阶段中,在完成前一阶段工作的基础上,在对筛选出的高分候选框进行重新评估并归类的基础上,在确定其具体位置坐标及指向方向的信息。
在网络安全领域中,在本文作者的研究中采用了与《3D对象提案用于准确物体分类》(NIPS 2015)相同的基础网络架构。该研究在经过最后一层卷积层后将整个网络分为两个独立的部分:一部分专门负责提取基于Proposal的区域特征;另一部分则用于描述以proposal为中心以及扩展1.5倍范围内的上下文区域。值得注意的是,在这一设计中,每个分支均包含一个RoI pooling层以及两个全连接层结构。
该网络系统利用多任务损失函数来进行目标类别、偏移量以及物体方向的同时预测工作
总结
文章的整体做法大致如此,并且其中涉及了大量的细节问题。看完这篇文章后,并不一定能获得很大的收获;但看过代码之后,则能够比较清晰地了解作者的整体思路。
本文的主要思路是利用三维包围框与二维包围框之间存在的映射联系,在二维空间中提取特征来描述三维包围框;从而借助已有较为成熟的方法实现对新类型研究的探索。
值得注意的是,在单幅图像中能够同时对81万个Proposal进行特征提取的时间损耗仅为不到1.8秒。
对于小障碍物研究而言这一方法具有较高的借鉴价值;然而目前存在的问题是由于缺乏针对三维小障碍物的数据集支持而导致该方法难以直接应用于三维小障碍物检测。
