三维物体检测文献综述

 2022-11-30 14:44:06

近年来,二维深度学习取得了很大的进步并且应用范围越来越广,技术趋向成熟,随着三维设备的出现,以及人们需求的提升,特别是智能驾驶领域,人们将视线开始转到三维,开始三维的深度学习方面的研究。三维物体识别方法可以分为基于手动设计提取特征的方法和基于深度学习的方法两种。其中,手动设计特征的方法较为成熟,在一些领域有所应用。而基于深度学习的方法是近年来的研究热点。三维深度学习主要有基于体素的方法,基于所视角图片的方法(将三维图片从多个视角出发形成多幅二维图像作为输入)以及基于点云数据的方法。

基于体素的方法是在三维数据上直接使用卷积网络。该方法试图将任意分布的点云或网格,转换为规则分布的栅格化表示。体素是将整个空间均匀划分所得的单位,以此为输入。这种方法保留了点的空间位置信息,但是由于点云数据量和三维卷积神经网络的固有计算量,此方法通常开销很大,在保证计算效率的同时,往往需要降低分辨率,从而造成了精度损失。

基于所视角图片的方法是将将三维图片从多个视角出发形成多幅二维图像作为输入,使用二维卷积网络获取特征。此类方法在分类任务上取得了较好的表现,但由于转化为二维图像的过程中丢失了三维空间位置信息,将难以在场景分割、物体检测等作业中应用。​

基于点云数据的方法是以点云数据作为输入,点云数据极大的减小了数据量,但与此同时也带来了一些问题:1,点与点之间的无序性,点云本质上一个点的数列,在几何上,点的顺序不影响它在空间中对整体形状的表示。显然我们希望不同顺序的输入能够得到相同的输出。2,旋转性,若将点云数据旋转,数据的输入还产生极大的变化,但显然我们希望点云数据若进行整体旋转将不会影响点云数据最后分类或者分割的结果。3,在对图像分割时,显然要关注点与点之间的联系,但点云数据并没有点与点之间的联系特征。

Charles R. Qi提出来的PointNet很好的解决了点云数据这三方面的问题。就无序性而言,论文中使用了Max Pool层来进行处理,对于每个点已经提取了1024维度特征,我们使用Max Pool获取每个维度的最大值来作为全局特征,从而避免了点云数据顺序性的问题。就旋转性而言,论文中使用了T-Net(Spatial Transformer Networks(STN))对点云数据进行预处理,使用一个3*3的变换矩阵对原始数据进行仿射变换。与此同时在64个卷积核处理后,再添加一个64*64维的T-Net。虽然说3*3的矩阵是数据预处理,但其也在整个网络内,我们并不在意这两个矩阵到底对数据进行了怎么样的变换,我们只要他们有利于最后结果输出就行。对于点与点之间的联系问题,图像的分类无需用到,在图像分割的时候在需要关注。因此在图像分割的时候在每个点提取64维特征的同时,每个点再加上1024维的全局特征,以此作为点与点之间的联系形成一个n*1088的特征矩阵,然后根据每个点的特征给每一个点进行分类,实现图像的分割。

虽然PointNets能够对点云中的每个点进行分类或进行语意分割,但他并无法用于现实中三维对象的检测。为实现这一目标,我们必须解决一个关键挑战:如何在三维空间中有效地检测出三维对象的可能位置。Charles R. Qi在此基础上提出了Frustum PointNets,该网络分为三个部分frustum proposal,3D Instance Segmentation, Amodal 3D Box Estimation。frustum proposal:先使用二维照片作为输入使用成熟的二维语意分割网络进行分类,获取三维对象的二维平面上的坐标。由于摄像头是固定的,我们可以根据相机投影矩阵,对象的二维坐标以及图像的深度信息获取该三维对象的平截头体。若光以平截头体作为判断,可能存在着遮挡物体的可能。因此引入3D Instance Segmentation部分,在平截头体内对点云使用Pointnet进行语意分割,而且并不需要使用多分类,只需使用二分类,只要分出是否为感兴趣的类别。在此环节中最终获取一组感兴趣的点云集合,即论文中所述的masking层,并用这些点求的该集合的质心坐标,以质心坐标为原点建立起局部坐标。然后进入Amodal 3D Box Estimation,但在实验中他们发现该质心点与真正的中心点还是存在着差距,所以使用一个T-Net进行变换调整。我们通过中心7各参数(质心三个,大小三个,航向一个)来参数化3D边界框。 由边界框估计网络预测的中心残差与来自T-Net的先前中心残差和掩蔽点的质心组合以恢复绝对中心。 对于边界框的大小和方位角,我们使用R-CNN来计算,并使用分类和回归公式的混合。 具体而言,我们预先定义NS尺寸模板和NH等分角度箱。 我们的模型将大小/航向(尺寸的NS分数,航向的NH分数)分类到这些预先定义的类别,并且预测每个类别的残差数量(3times;NS 残差维度:高度,宽度,长度,NH残差角度:航向)。 最终净输出3 4times;NS 2times;NH个数字。

Xiaozhi Chen等使用多视角的方法提出了Multi-View 3D Object Detection Network,将雷达的鸟瞰图,前视图和RGB图作为输入预测出物体在三维空间中的完整的物体范围。利用多模式信息的一个主要想法就是执行区域的特征融合。我们首先提出了多视图的编码方案以获得一个紧凑有效的三维点云稀疏表达。3D候选区网络利用点云的俯视图表达去生成一个高精度的候选框。使用3D候选框的好处就是它可以投影到三维空间的任意视角。设计了一种深度融合的方法,使得中间层之间可以相互交互。网络分为两大部分,3D候选区网络和基于区域的融合网络。候选区网络:使用类似frustum proposal的方法,利用俯视图,获取一个3D候选框,从而为三个输入确定一个俯瞰图候选框,前视图候选框和一个图片候选框。将整个图片使用CNN获取特征图,根据候选框的坐标和大小使用RoI pooling获取RoI特征。基于区域的融合网络:使用深度融合网络,将三个特征相互融合起来,最终使用框体的回归算法,来优化最后的选框。

Yin Zhou等使用基于体素的方法提出了VoxelNet。该网络由三个功能块组成:1,特征学习网络 2,卷积中间层 3,候选区域网络。特征学习网络部分:我们上述已经分析了体素方法计算量相当庞大,因此,在对整个空间进行格栅化之后,要进行采样,我们要设定一个阈值,删减掉所有小于该阈值个点云数的体素(此方法中点云还包括一个r,雷达的接收反射率),然后计算每个体素的质心,以每个点云的坐标,r,以及三维坐标减去质心坐标的七维向量作为输入,最后使用全连接网络计算出每个点云的m维特征,然后与pointnet中一样使用一个Maxpool层获取每个体素的局部聚合特征(论文中所述的Locally Aggregate Feature)。卷积中间层,然后将局部聚合特征和前面的每个点云的特征组合起来,形成一个2m维的特征(论文中所属的Point-wise Concatenated Feature),最后使用稀疏的4D张量表示。卷积中间层部分:我们使用ConvMD(Cin,Cout, k,s,p)表示一个M dimension的卷积核,其中Cin,Cout分别为输入和输出的channel;k、s、p分别表示kernel size,stride size和padding size;k表示(k,k,k)。每一个中间卷积层后都跟随一个BN层和一个RELU层。候选区域网络部分:将卷积中间层的各层上采样到一个固定大小的768维特征图,并将该图映射成概率分布图和回归图。

Jason Ku等为了解决点云图像分辨率低的问题,提出AVOD(aggregate view object detection)。借鉴语义分割模型,AVOD的网络结构利用一个新的特征提取器,从雷达点云和RGB图像中提取高分辨率的feature maps。这些feature maps被送入两个子网络,即一个RPN和一个第二阶段的检测网络。特征提取器结合着RPN使用,因为RPN能够利用多种模式的高分辨率全尺寸特征产物来生成proposal,所以这样结合有利于对小目标产生高的召回率。利用这些proposals,第二阶段检测网络产生精确的具有方向性的3D bounding box回归,从而检测3D空间物体的范围、方向和分类。我们在KITTI上评估了AVOD这个框架,从proposal生成、3D检测和鸟瞰图检测三个任务。实验表明这个方法在所有类别上检测效果都不错,而且running in real time with a small memory foot print.这个网络对极端天气和照明条件下的检测适应性好,适合无人驾驶。

[1]. Charles Ruizhongtai Qi, Hao Su, Kaichun Mo, Leonidas J. Guibas: PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. CVPR 2017: 77-85

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版