论文标题:MonoJSG:Joint Semantic and Geometric Cost Volume for Monocular 3D Object Detection
作者:Qing Lian(HKUST) ,Peiliang Li(DJI,VINS-Mono二作), Xiaozhi Chen(DJI)
来源:CVPR 2022
论文链接:https://arxiv.org/abs/2203.08563
Code:https://github.com/lianqing11/MonoJSG(代码即将开源)
整理:高斯球
一、引言
动机:由于 2D-3D 投影固有的不适定性,单目 3D 物体检测缺乏准确的深度恢复能力;尽管深度神经网络 (DNN) 能够从高级学习特征进行单目深度感知,但由于深度卷积机制,像素级线索通常被忽略;
论文简述:作者将单目物体深度估计重新表述为渐进改进问题,并提出联合语义和几何代价量来对深度误差进行建模,该方法利用像素级视觉线索来改进边界框提案;具体来说,作者首先利用神经网络来学习物体位置、尺寸和稠密的归一化 3D 物体坐标;基于物体深度,将稠密坐标快与相应的物体特征一起重新投影到图像空间,以联合语义和几何误差的方式构建4D 代价函数。
论文主要工作与贡献:
- 基于像素级几何和语义视觉线索,作者提出了一种新颖的物体深度联合语义和几何误差测量方法;
- 作者设计了一个自适应 4D代价函数来模拟深度改进的误差分布;
- 作者展示了所提出的方法在 KITTI 和 Waymo 数据集上的有效性,其实现了具有实时性能的最先进的结果;
二、相关工作
2.1 基于单目图像的目标检测
单目 3D 物体检测的目标是识别感兴趣的物体并从单个图像中定位它们的 3D boundingboxes;为了缓解2D-3D 投影的模糊问题,现有方法有三种:利用神经网络提取高级语义表示、设计 2D-3D 几何约束、结合外部深度信息进行深度推理。
基于语义表示:一些具有代表性的方法 [1, 6, 7, 24, 29, 38] 训练神经网络来学习语义表示,然后根据学习的表示直接回归 3D boundingboxes;后来的工作从网络架构 [1, 20, 26]、目标函数 [19, 29] 等的角度进行了开发;CenterNet [38] 提出了一种基于中心的对物体检测范式,并通过添加多个 3D 任务头将 2D 检测器提升到 3D 空间;M3D-RPN 提出了一个 3D-anchor,它将 2D anchors与 3D 统计数据对齐;[27] 和 [19] 利用几何先验将位置估计分解为 2D 和 3D 高度估计;MonoFlex [37] 提出了一个解耦网络来处理具有不同截断程度的边界框;
作者评价:然而,正如 [23,37] 中所讨论的,学习到的语义表示是无法解释的,并且容易过度拟合训练数据中的一些虚假特征。
基于几何约束:这一系列方法 [4, 8, 13,15,16,18,25] 使用 2D-3D 几何约束来推理 3D 位置;[25] 首先尝试通过解决 2D boundingboxes边缘和 3D 维度之间的约束来恢复 3D 位置;[15, 16] 和 [18] 提出了一种基于关键点的方法,以进一步限制 [25] 中几何约束的搜索空间;MonoRun [4] 提出了一种自监督算法去学习像素级约束并通过采用改进的 PnP 求解器恢复 3D 位置。
作者评价:然而,关键点定位精度和深度误差之间的联系是间接的,最优的关键点定位模型并不能保证最小的深度误差,这种间接连接在这种方法中引入了多种失败情况,即远处的物体定位误差小,但深度估计偏差大;此外,基于几何约束的方法中的语义信息未被充分利用,这可以为深度推理提供强大的视觉线索。
深度辅助的单目检测:基于深度辅助的方法不是直接将图像作为神经网络的输入,而是将 RGB 图像转换为稠密的深度图,然后利用它来辅助 3D 信息的恢复;基于伪激光雷达的方法 [21、22、33、34、36] 将深度图转换为伪点云,并采用基于点云的检测器来定位 3D boundingboxes;其他方法 [9,19,32] 不是将深度图转换为点云,而是利用深度图来指导 2D 卷积的学习。
作者评价:尽管基于深度辅助的方法实现了更好的性能,但它们需要训练额外的深度估计网络,这通常需要更多的训练数据并且推理效率低下。
2.2 代价函数的3D表示
在立体匹配[3、11、30]、MVS[5、35]等领域,成本函数是一种广泛采用的计算匹配成本的技术;立体匹配方法 [3, 11, 30] 利用连体网络(siamese network)从左右摄像头中提取特征,然后应用基于相关性或基于级联的成本量来计算匹配成本;在MVS中,MVSNet [35] 通过在相机视锥空间中构建平面扫描体积来生成深度图;
作者评价:然而,代价函数在单目 3D 物体检测中的应用并未得到充分利用,据作者所知,MonoJSG提出了第一个用于计算物体深度匹配成本的 2D-3D 代价函数。
三、背景
3.1 问题定义
该部分主要讲述物体参数定义以及归一化3D物体坐标转换;
3.2 2D-3D 坐标的几何约束
本节将介绍作者构建像素级 2D-3D 匹配的方式以及相应的几何约束。
解决 2D-3D 约束的深度:通过估计标准化物体坐标中每个点的位置,建立一个像素级的能量函数来表示边界框的深度误差;具体来说,作者首先将估计的归一化物体坐标投影到基于边界框提议的图像坐标上:
其中 π 表示从相机到图像坐标的坐标转换,K 是相机内参矩阵;然后建立原位置与图像坐标中每个像素的投影位置之间的能量函数:
其中 n 表示边界框中选定像素的数量;传统方法 [4, 14, 15] 构建稀疏或密集的 2D-3D 匹配并通过求解类似的基于几何的能量函数来恢复深度。
四、提出的方法
基于几何约束的深度恢复存在不加区别的 2D 线索以及 2D 线索预测和深度估计之间的间接优化差距,为了缓解这些问题,作者首先提出了一种联合语义和几何能量函数来丰富深度推理的几何线索,然后提取相应的语义特征,构造了一个联合语义和几何的约束。
4.1 通过自适应 2D-3D 代价函数改进
通过将语义特征结合到 2D-3D 约束中,能量函数比以前更强大,然而,语义特征也会导致非凸能量函数,使其无法被快速线性求解器求解;作者没有采用复杂的求解模块,而是将构建的能量函数视为深度改进特征来指示深度误差;为了提供有效的细化特征,作者构建了一个自适应 4D 代价函数,它使用所提出的能量函数绘制深度的误差分布。
其中 [uo, vo]T 是投影中心点在图像坐标中的位置。正如在 MonoDLE [23] 中所展示的,深度误差会随着位置、遮挡等的变化而变化;因此,为了使成本量与变化的误差分布相适应,采样大小应该足够大以覆盖潜在的基本事实;但是,太大的采样大小会引入高延迟和内存占用;所以,作者这里采用自适应采样策略,根据深度估计的不确定性确定成本量的大小;具体来说,作者在提案阶段利用估计的深度不确定性 σz 来计算采样大小;在采样过程中,作者首先将候选的数量设置为固定值 D,然后根据σz 确定深度网格的大小 Δz:
其中 λ 是预定义的超参数。
改进网络;由于选择语义特征的采样操作是可微分的,因此可以训练神经网络学习合适的特征进行改进的。
4.2 整体流程
整个流程如图2所示;提出的模块是修改后的 CenterNet,改进模块基于代价函数;在训练时,优化提出模块的损失与 MonoDLE [23] 相同,对于改进损失,作者过滤了与ground truth对应的2D IoU小于0.5的负样本;在推理过程中,作者基于CenterNet选择候选边界框,并通过结合proposal阶段估计的类别、维度、偏航角、投影位置和改进阶段的估计深度来生成最终的边界框。
五、实验
5.1 实验建立
作者在 KITTI [10]和Waymo [31] 的单目3D物体检测基准上进行了测试;
KITTI:该数据集由 7481 个训练图像和 7396 个测试图像组成,并带有注释 80256 个 3D bounding boxes;作者遵循 3DOP [7] 并将训练集进一步拆分为子集,其中3712 个图像用于训练,3619 个图像用于验证;
Waymo:该数据集包含从不同驾驶环境中收集的 1150 个视频序列,官方协议将数据集拆分为 798 个训练序列、202 个验证序列和 150 个测试序列;作者遵循 PCT [33] 并采用来自前置摄像头的数据进行单目 3D 物体检测,作者的训练序列中每隔 3 帧对图像进行采样以进行训练;
部署细节:作者遵循最近的工作 [18,20,37,39] 并采用常用的 CenterNet [38] 和改进的 DLA-34 主干作为基线检测器,采用 AdamW 优化器来训练模型并将初始学习率设置为 4e-3;该网络使用 ImageNet 预训练的权重进行初始化,并在 KITTI 数据集上使用 90 个 epoch 和在 Waymo 数据集上使用 15 个 epoch 进行训练。
5.2 基准评估
5.2.1 KITTI 测试集上的结果
在表1中,作者展示了作者的检测器和其他最先进的方法在 KITTI 测试集上的实验结果;可以得出以下观察结果:
- 1.作者的方法在六个不同的指标上实现了汽车类的最佳性能;此外,作者检测器中设计的模块重量轻,适用于自动驾驶系统;
- 2.与基于几何约束的方法(即 RTM3D [15]、AutoShape [18] 和 MonoRun [4])相比,作者的方法保持了相似的推理时间,但实现了更好的 3D 检测性能,显示了结合语义特征的有效性深度恢复;值得注意的是,次优的方法AutoShape [18] 采用额外的 CAD 模型来学习归一化的物体坐标,其中作者的方法与提出的方法一致;
- 3.基于深度辅助的方法需要额外的深度估计模型,导致推理过程中的计算负担 [21] 繁重;相比之下,作者的检测器不仅保持了轻量级框架,而且实现了更好的性能。
在表2中,作者进一步在 KITTI 测试集上展示了 Pedestrian 和 Cyclist 类的实验结果;作者的方法在 Pedestrian 类中获得了最佳性能,并与 Cyclist 类中的最佳方法 Autoshape [18] 取得了可比的性能;
5.2.2 Waymo 验证集上的结果
在表 3 中,作者将提出的方法与最近在 Waymo 验证集上表现最好的方法 [21,33] 进行了比较;与对 KITTI 数据集的观察类似,作者的方法对最先进的方法产生了一致的改进;与次优方法 PCT [33] 相比,作者在 IoU 阈值分别为 0.7 和 0.5 的 3D mAP 上将它们提高了 5.61% 和 26.42%。
5.3 消融研究
在表 4 中,作者比较了恢复深度的不同方式,并验证了在 KITTI 验证集上使用语义表示进行深度恢复的改进;令人惊讶的是,通过稀疏几何约束估计的 3D boundingboxs甚至比baseline model更差,相反的是,稠密约束在Easy 设置下提高了baseline model 1.8% mAP;与稠密几何约束相比,MonoJSG 提供了一种数据驱动的方式来学习视觉线索,从而获得更好的检测性能,通过设计的改进模块,MonoJSG 在不同设置中实现了最佳性能;
不同的改进特征:在表5中,作者进一步展示了使用不同特征进行改进的比较;与仅使用几何特征相比,基于光度和语义特征的方法可以利用提供的视觉提示来确定要改进的判别区域,从而产生更好的检测结果;通过比较实验“4”和“5”,作者观察到将光度特征结合到 MonoJSG 的改进有限,这是因为语义特征是从原始图像中提取的,并在改进中起到类似的作用。
代价函数中不同的抽样策略:为了验证所提出的自适应采样策略在代价函数中的有效性,作者将其与 KITTI 验证集上常用的统一采样策略进行了比较;如表6所示,自适应采样在大小为 8 和 32 时始终优于均匀采样,随着候选深度的增加,大小为 32 的代价函数比大小为 8 的代价函数获得更好的性能,同时它还在改进模块中增加了 8 倍的内存占用。
5.4 定性结果
在图3和图4中,作者提供了检测器在 KITTI 数据集上的定性结果;与稀疏几何误差和光度误差相比,MonoJSG的损失情况更加鲁棒,如图所示,MonoJSG 的损失曲线更加凸出,对应的最小值深度更接近groundtruth,相反,如图实例 (a) 和 (b) 所示,基于稀疏关键点的约束在遮挡情况下失败;图 4 (d) 中的实例显示了神经网络无法在低能见度情况下估计准确的物体坐标的失败案例,这也导致深度恢复的几何和语义线索不准确;然而,低能见度是计算机视觉中的一个典型问题,可以在图像预处理阶段解决。
六、总结以及局限
总结:MonoJSG是一个用于自动驾驶场景的基于改进的单目 3D 物体检测框架;得益于 DNN 的强大特征表示和 2D-3D 约束的像素级视觉线索,MonoJSG 有效地减轻了物体深度误差,从而在 KITTI 和 Waymo 数据集上获得了最先进的结果;
局限:与其他基于几何约束的方法类似,MonoJSG的 2D-3D 约束的准确性基于估计的物体尺寸和偏航角,尽管它们比物体深度更容易估计,但它们可能会在低能见度或较远区域波动,作者对它们的分布进行建模并将它们的不确定性纳入约束可以减轻限制。
潜在影响:这项工作研究了自动驾驶中的单目 3D 物体检测;这项工作的潜在安全风险是模型中的定位错误可能会误导后续的运动规划,从而可能导致交通事故。
本文仅做学术分享,如有侵权,请联系删文。