一文详解双目视觉目标检测

 

作者丨一点人工一点智能@知乎
来源丨https://zhuanlan.zhihu.com/p/502798622
编辑丨计算机视觉工坊
基于深度学习的视觉目标检测技术综述,曹家乐,李亚利,孙汉卿,谢今,黄凯奇,庞彦伟,中国图象图形学报
单目图像是三维世界中一个视锥的二维投影,丢失了深度信息。双目视觉可以根据物体投影在左右图像上的位置差异计算出视差,并在已知相机参数的情况下根据极线约束计算出像素的深度。
在得到每个像素的深度值后,我们可以逆投影得到视锥中每个像素的三维坐标。因此,双目视觉系统不仅能够预测物体的二维位置和类别信息,还能够预测物体在三维空间中的位置,实现三维目标检测,从而为自动驾驶、工业机器人等任务提供更高层次的场景信息。类似地,利用激光雷达点云检测同样能够实现三维目标检测。与双目视觉目标检测相比,激光雷达点云检测具有更高的检测精度,但是其成本相对昂贵、对雨雪中等天气变化敏感。本章主要关注双目视觉目标检测方法。近几年,受益于深度学习技术的发展,双目目标检测取得了巨大进展。
类似于单目目标检测网络,双目检测网络也可以分为基础骨干、特征融合、预测网络三部分。首先,双目检测通常采用两个权重共享的基础骨干分别得到左右目的单目特征。然后,双目检测进行特征融合,除上文提到的构建特征金字塔外,一般还需要构建双目特征。双目特征构建的方式主要包括直接串接(Concatenation)和平面扫描法(PlaneSweeping),构建的特征坐标空间属于视锥投影空间。最后,预测网络可以直接使用融合后的视锥空间特征、也可将视锥空间特征显式逆投影到三维空间进行分类和回归。
根据预测网络所使用的特征空间,本文将双目视觉目标检测方法分为两类:基于直接视锥空间的目标检测方法和基于显式逆投影空间的目标检测方法。基于直接视锥空间的检测过程一般不包含逆投影变换,直接使用基于视锥空间的双目特征进行检测;而基于显式逆投影空间的检测方法一般需要将双目特征进行逆投影变换,生成三维空间上均匀的特征,适合构造体素或转换为俯视图进行检测。
图1给出了上述两类方法发展历程,并给出了一些代表性方法。时间轴以上为基于直接视锥空间的方法,时间轴以下为基于显式逆投影空间的方法。图中箭头越长表示该方法在KITTI数据集(Geiger等,2012)中等难度车辆类别上的平均精度(Average Precision,AP)越高。

图1 基于深度学习的双目视觉目标检测方法的发展历程。箭头的长度表示方案在KITTI数据集中的车辆三维检测性能。

1 基于直接视锥空间的双目目标检测方法

基于直接视锥空间的双目目标检测不需要进行额外的坐标空间转换,只需要使用基础骨干提取的两个单目特征构造双目特征。现有方法主要通过串接和平面扫描两种方式构造视锥空间的双目特征。

1.1 基于串接构造视锥空间特征的方法

基于串接构造视锥空间特征的方法将基础骨干提取的两个单目视锥空间特征串接起来,利用卷积神经网络强大的拟合能力提取候选框或直接检测三维目标。串接操作不改变原单目特征的坐标空间,是一种简单快速的视锥空间双目特征构造方式。

图2 基于直接视锥空间的双目目标检测方法
Li等人(2019b)提出两阶段方法Stereo R-CNN。如图2(a),在第一阶段,Stereo R-CNN利用串接特征得到左右两个成对的候选框。在第二阶段,Stereo R-CNN分别提取左右目的RoI特征,再次串接特征进行回归。为了得到三维框顶点在左目RoI特征内的投影,Stereo R-CNN引入了一种简化的关键点检测网络,利用得到的关键点信息对最小化投影误差进行数值求解,从而得到质量较高的三维目标检测结果。Shi等人(2021)借鉴Stereo R-CNN双目候选框定义双目包围框,并提出类似于CenterNet(Zhou等,2019a)的单阶段无锚点框双目检测方法StereoCenterNet。StereoCenterNet在串接的双目特征上预测双目二维框和三位维框的朝向、尺寸、底面顶点等信息。预测这些信息后,StereoCenterNet根据物体遮挡程度不同采用对应的策略来进行最小化投影误差求解,提高了严重遮挡物体的检测精度。
Qin等人(2019)提出了一种基于三维锚点框的两阶段方法。首先,Qin等人将三维锚点框投影到左右目特征上,得到成对的二维候选框。然后,Qin等人认为同一目标的左右目RoI特征应该相似,提出用余弦相似性对两组特征的每个特征图重新加权,从而增强左右相似的特征图、抑制左右差异较大的特征图。最后,Qin等人使用权重调整后的特征进行分类和回归,并在视锥空间对预测结果进行监督,完成三维目标检测。

1.2 基于平面扫描构造视锥空间特征的方法

为了更好地基于左右目特征提取立体信息,双目深度估计(Chang和Chen,2018;Xu和Zhang,2020)广泛采用平面扫描法构造匹配代价体(Cost Volume)。通过逐视差平面或者逐深度平面地扫描一对二维特征,所得的三维特征即匹配代价体。每一次扫描不改变二位特征的坐标空间,所以得到的匹配代价体仍然属于视锥空间。基于平面扫描的检测方法受益于双目深度估计方法的发展,能够直接利用点云监督取得更好的匹配结果,进而学习到每个视锥空间像素是否被物体占据的信息,辅助提高三维检测性能。
Peng等人(2020)提出两阶段的方法IDA-3D(Instance-Depth-Aware3Ddetection),在双目候选框提取阶段使用了与Stereo R-CNN相同的提取方式,然后在串接后的左右目RoI特征上预测了物体二维和三维信息,没有再使用额外的关键点检测和投影误差最小化方法。此外,IDA-3D在左右目融合RoI特征上,基于平面扫描法构建了目标级的视差匹配代价体,并使用三维卷积回归出目标的整体视差,并以此求得目标整体深度作为三维目标的深度坐标。
Liu等人(2021b)提出一种高效的单阶段方法YOLOStereo3D。YOLOStereo3D基于平面扫描法高效地构建了匹配代价体金字塔,使用Ghost模块(Han等,2020)来快速地增加各级匹配代价体特征的通道数,并在最小分辨率的特征上进行全图视差估计,最后融合同分辨率的左目特征进行二维和三维目标检测。
Choe等人(2021)提出三维目标检测辅助双目视差估计的方法SOMNet(Stereo Object Matching Network)。其使用的检测方案可视为基于三维候选框的两阶段目标检测。在候选框提取阶段,SOMNet使用平面扫描法构造视锥空间匹配代价体特征,并在其上预测三维候选框。在第二阶段,SOMNet提出基于空间占用的候选框特征融合机制,通过估计的视差获得三维RoI中每个像素是否被物体占用的信息,并构建目标级注意力特征增强视锥空间RoI,使之更加聚焦于目标表面和形状。

2 基于显式逆投影空间的双目目标检测方法

在自动驾驶等场景中,感兴趣的目标(如车辆、行人、骑行者等)在三维空间中没有重叠。因此,将存在尺度变化和遮挡问题的视锥空间图像逆投影到尺度均匀、不存在重叠遮挡的三维空间,能够缓解视锥投影带来的问题。此外,考虑俯视方向上不存在遮挡问题,我们还可以把三维空间压缩至俯视二维空间,在保证性能的同时进一步简化预测网络。逆投影变换主要可以应用在输入图像、特征、候选区域三个不同环节。图3给出了三种方案的示意图。

图3 基于显式逆投影空间的双目检测

2.1 基于原始图像视差的逆投影方法

基于原始图像视差的逆投影先利用双目视差估计算法预测出逐像素的视差,将这些像素逆投影到三维空间生成点云形式,从而使用相对成熟的点云三维检测方法进行双目目标检测。我们将这种点云称为伪点云,这种双目目标检测方法称为伪雷达(Pseudo-LiDAR,简称PL)方法。如图3(a)所示,伪雷达方法级联了双目深度估计和点云三维目标检测两个模块,可以使用这两个领域的先进成果协同完成检测。
早期,研究人员先用传统方法完成三维候选框提取,然后用小规模卷积神经网络得到最终的三维检测结果。Chen等人(2015)提出3DOP(3D Object Proposal),使用已有方法(Yamaguchi等,2014)从双目图像估计出点云,然后求解马尔可夫随机场能量函数最小化问题得到三维候选框,最后利用卷积神经网络对候选框进行优化和评分。在此基础上,Pham和Jeon(2017)提出DeepStereoOP网络结合图像和深度特征对候选框进行更准确地排序。
Xu和Chen(2018)提出MLF,是首个使用深度学习技术完成全部预测过程的双目视觉目标检测方法。MLF使用DispNet(Mayer等,2016)从双目图像估计视差图,并逆投影成为深度图和点云,然后使用二维候选框和点云共同预测物体三维信息。作者对比了双目和单目输入对三维目标检测的影响,指出双目信息能够明显提高三维检测性能。
Wang等人(2019d)将深度估计和点云三维目标检测方法结合起来,先根据深度生成伪点云,再利用基于点云的检测方法检测三维目标。该方法利用了深度估计和点云三维目标检测领域的先进成果,通过级联的方式完成双目三维目标检测任务,性能提升十分明显。但是,这种级联的方式容易造成误差累积。针对这一问题,You等人(2019)通过利用真实点云校正伪点云。Li等人(2020a)利用深度估计的置信度来引导深度估计网络,并加上额外的语义分割监督,显著提高了图像中前景深度估计的精度。Peng等人(2022)提出基于两分支网络的方法SIDE(Structure-aware Instance Depth Estimation)。一个分支进行基于伪雷达的双目目标检测。另一个分支进行基于视锥空间特征的目标级深度估计,取代点云监督。基于上述两分支结构,SIDE在不需要额外的点云监督的条件下提高了双目三维目标检测性能。上述伪雷达方法需要单独训练深度估计模块和三维目标检测模块,无法进行端到端训练。Qian等人(2020b)通过可微的采样和量化模块设计出端到端训练的伪雷达方法,称为PL-E2E(End-to-EndPL)。

2.2 基于特征体的逆投影方法

上述基于原始图像视差的方法生成伪点云时丢弃了图像提供的颜色和纹理信息,而且没有利用视差估计网络的中间特征。基于特征体的逆投影方法则复用了这些图像特征。具体地,如图3(b)所示,基于特征体逆投影的双目目标检测方法通过插值和采样的方式将平面扫描得到的匹配代价体变换到三维空间,利用了图像特征提供的颜色和纹理信息,实现了端到端训练的双目目标检测。
Chen等人(2020c)提出一种单阶段的双目三维目标检测方法DSGN(Deep Stereo Geometry Network),使用PSMNet(Pyramid Stereo Matching Network)(Chang和Chen,2018)提取匹配代价体并预测深度图,将匹配代价体逆投影得到基于三维空间的几何特征体,并通过三维卷积将其压缩成为俯视图,最后在俯视图上直接进行分类与回归。Guo等人(2021b)认为,双目视觉中经过特征体逆变换得到的三维空间特征应当与点云检测中的三维空间体素特征相似,同时二者的俯视图特征也应当相似。基于此,Guo等人提出LIGA-Stereo(LiDAR Geometry Aware representations for Stereo-based 3Ddetector),设计了一种类似于知识蒸馏的技术,引导双目视觉目标检测的特征逼近性能更好的点云三维目标检测特征。Wang等人(2021d)提出PLUME(Pseudo LiDAR feature volUME),将深度估计和三维目标检测两个任务所使用的特征统一到伪雷达特征空间,从而将原本需要两路神经网络完成的两个任务合并为单路网络,提高了检测速度。
Li等人(2021a)提出RTS3D(Real-timeStereo 3D Detection),以双目图像和单目三维检测的粗糙三维框作为输入,构造了一个面向感兴趣区域的特征一致性嵌入空间(Feature-Consistency Embedding Space,FCE空间)进行三维目标检测,并使用迭代的方式优化检测结果。Gao等人(2021a)改进了RTS3D的采样方式,提出基于目标形状先验的非均匀采样获取更多的物体表面和周围信息,并设计了一种利用抽象语义信息增强FCE空间特征。

2.3 基于候选像素视差的逆投影方法

基于原始图像视差的逆投影方法生成了全空间的点云,基于特征体的逆投影方法生成了全空间的三维特征。因此,二者逆投影得到的三维空间包含了前景目标部分和背景部分。基于候选像素视差的逆投影方法近聚焦感兴趣目标区域的三维空间(如图3(c)所示),先利用实例分割等方案得到目标的前景像素,然后生成仅含前景区域的三维空间。这种逆投影方法生成的三维空间有效体素较少,可以在有限的检测时间内更灵活地控制特征的空间分辨率;聚焦于前景目标,能够避免不准确的深度估计带来的性能下降。
第一种逆投影策略是去除背景点云、仅保留前景点云。本文称为前景共享的三维空间策略。Königshof等人(2019)提出一种基于俯视网格图的方法。该方法先使用双目图像预测深度图、二维语义分割、二维包围框得到物体前景部分的深度信息,然后使用深度优先搜索(Depth First Search,简称DFS)求解三维空间的连通域,最后在前景共享的三维空间俯视图上回归目标的三维信息。Pon等人(2020)认为已有的深度估计方法得到的结果在目标边界和形状上并不准确,对三维目标检测有害无益。基于此,Pon等人提出面向目标(Object-Centric,简称OC)的伪雷达方法,通过增加实例分割模块提取前景共享的三维空间伪点云。
另外一种逆投影策略是为每个实例生成互相独立的三维子空间,即每个三维子空间仅检测单个目标。本文称为实例独立的三维子空间。Xu等人(2020)提出ZoomNet,利用二维实例分割和双目深度估计生成基于伪点云的实例独立子空间。图像中,小尺度目标覆盖的像素点比较少,生成点云图比较稀疏,不利于三维检测。为解决该问题,ZoomNet使用汽车通用3D模型自适应地生成密度一致的子空间点云,提升小尺度目标的检测效果。Sun等人(2020a)提出Disp R-CNN,基于候选区域逆投影生成实例独立子空间,并使用自动生成实例3D模型,避免手工标注汽车模型。

本文仅做学术分享,如有侵权,请联系删文。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注