一文详解双目视觉目标检测
时间:2023-12-09 02:37:01
作者,一点人工智能@知乎
来源丨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,平面扫描法广泛应用于结构匹配代价体(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(Endto-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模型,避免手工标注汽车模型。
本文仅做学术分享,如有侵权,请联系删文。
干货下载与学习
后台回复:巴塞罗那自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件
后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf
后台回复:3D视觉课程,即可学习3D视觉领域精品课程
计算机视觉工坊精品课程官网:3dcver.com
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~