概述
本文是基于单目图像的3D目标检测方法。
【2021】【MonoPixel】
研究的问题:
- 如何获得更好的深度信息从而提升网络的检测性能
解决的方法:
- 提出object-centric auxiliary depth loss,使用原始点云而非深度标注作为监督信号学习精确的深度值(旨在减少深度误差,尤其是前景区域的深度误差)。在推理时,不产生深度图而是检测目标的中心然后产生中心周围的深度值。
- 引入了目标深度分解以及深度不确定性,前者指的是更改了深度回归的目标,后者指的是输出深度分布而非深度值。
细节
背景
单目3D检测算法的分类:
- 单纯基于图像输入。可以分为:
基于anchor的方法
(两阶段的、一阶段的)以及基于关键点检测的方法
(CenterNet系列) - 基于图像和深度图的方法。可以分为:直接
提取深度图特征的方法
以及基于伪点云的方法
基于深度图的检测算法的基本流程
:
- 在深度估计数据集上训练一个深度估计网络(或者直接拿一个成熟的深度估计网络)
- 使用该深度估计网络在3D数据集中预测深度图
- 将深度图或者它的其他表示(伪点云、RGB-D图像)作为目标检测网络的额外输入
基于深度图的检测算法存在的问题
:
- 深度估计网络并不能准确预测前景目标的深度。因为存粹的深度估计任务要求的是对整张图片的深度估计都很准确,而3D目标检测任务中的深度估计中其实更关注的是前景部分的深度,而深度估计网络一般直接用的是预训练模型,在3D检测任务中参数并不会更新,所以这一点深度估计网络是学不到的。
- 从深度估计网络估计的深度值是确定性的,而深度的估计应该是一个不确定的值,也就是应该是一个分布。
- 使用两个分离的网络进行深度估计和3D对象检测在内存和计算方面都非常低效
3D置信度:
在回归的目标参数上添加不确定性的概率检测在最近也很流行。MonoPair和UR3D探索了回归深度之后的不确定性,MonoDIS探索了3D置信度
网络结构
整体的结构和SMOKE那种基于关键点检测的网络一样,核心的不同在于它在训练的时候加入了点云作为深度的额外监督信号,因此除了原先的3D边界框损失,多了一部分点云引入的深度损失;另外还有一些不同就在于检测头部分对深度回归目标的分解了以及深度不确定性。
深度不确定性
首先深度不确定性讲的其实就是深度值越大越不可信,深度值越小越可信,相当于是方差,方差越大越不可信,方差越小越可信。具体的原因可以参考【3D目标检测】基于伪雷达点云的单目3D目标检测方法研宄中全局置信度的内容。
但着实看不太懂深度不确定性标签是怎么做的。
解构深度回归的目标
以往的工作都是按照数据集提供的标注将到目标中心的距离作为深度回归的监督信号,但其实3D边界框的深度标注是通过点云获得的,具体方式:点云能返回一个到目标表面的距离
d
s
d_s
ds,而目标表面到目标中心的距离
d
s
2
c
d_{s2c}
ds2c可以有边界框的偏航角以及尺寸计算得到(有点复杂,但是问题不大),这两个距离加起来,就是到目标中心的距离了,也就是深度值。
因此我们同时回归
d
s
d_s
ds和
d
s
2
c
d_{s2c}
ds2c这两个目标,而不是回归最后的结果
d
c
d_c
dc
为什么要解构深度回归的目标?
因为要引入点云作为额外的监督信号,而点云给出的距离是
d
s
d_s
ds而不是最终的
d
c
d_c
dc
为什么要引入点云?
因为单纯基于3D边界框的话,一个目标只有一个深度监督信号,也就是目标中心点的深度值,而引入点云就可以得到大量的深度监督信号。我们的目标就是借助大量的深度监督信号替身目标中心点的深度值预测,从而提升边界框位置的预测,按照Delving into Localization Errors for Monocular 3D Object Detection的思想,提高定位性能可以大幅度提高检测的性能。
像素级别的深度监督
在KITTI的汽车类别中,前景的像素占比在11.42%,剩下都是背景,因此作者设计了一个以目标为中心的深度损失函数。
具体做法就是:先用3D边界框的标注对点云进行mask,得到前景部分的点云,然后将所有的点云投影到图像平面上得到深度图(图b),将前景部分的点云投影到图像平面上得到深度mask(图c),然后将深度图按10m的距离间隔划分并进行采样得到标准化的深度分布(图d)。
深度部分的损失主要是包含三方面,一是边界框中心的损失,二是前景部分的损失,三是背景部分的损失
这部分是边界框中心的损失,其实就是对边界框中心的深度值预测作L1正则化,在这个基础上添加了
θ
2
\theta ^2
θ2,这个就是本文提到的深度不确定性,它讲的其实就是深度值越大越不可信,深度值越小越可信。放到损失函数中,越大就越倾向于右边的对数,越小就倾向于左边的L1范数。
这部分是前景对应的损失,这个L1范数是希望前景部分的预测深度和我们制作的mask深度图尽可能一致,另外两项和上面的
θ
2
\theta ^2
θ2性质一样?不懂了
还有这个背景部分的损失,要是这里m=bg,按照作者指示函数的定义,直接等于0了??实在是不懂了+1