目录
- 概述
- 整体流程
- 伪点云vs点云
- 2D-3D边界框的一致性约束
概述
本文的输入数据仅仅是单目图像,在方法上是融合了伪点云(Pseudo-LiDAR)的深度信息表示方法与Frustum PointNets的检测方法。
乍一看文章和伪点云原论文Pseudo-LiDAR from Visual Depth Estimation: Bridging the Gap in 3D Object Detection for AD
一模一样,但是会更具体一点,也就是本文只关注单目图像,同时解决了一些伪点云存在的问题。
ps:
作者提到了其他设备的一些弊端:深度相机能捕捉的范围很有限;双目相机工作的流程很麻烦,需要校准与同步;激光雷达就不用说了,很贵 哈哈哈哈哈。相比之下,单目相机既便宜又方便安装,能捕捉的范围也大,核心问题就是没有深度信息。
整体流程
伪点云vs点云
伪点云和点云的差别:
- 伪点云在整体上看是和原始点云对齐的很好的,但是局部上是对齐的很不好。
- 伪点云中的目标存在长尾
- 伪点云的点密度会比原始点云高一个量级
主要原因:
单目深度估计效果不好。
造成影响:
- 在不对齐的伪点云上提取到的视锥的局部也可能是不对齐的,从而导致目标中心的预测效果不好(尤其是对远处的物体),进而导致最终的边界框预测不好;
- 预测物体的尺寸会变得困难
- 存在很多冗余点
作者给出的解决:
- 对于局部不对齐问题,想当然的两种思路,一种是使得伪点云对齐,另一种是就是基于不对齐的伪点云得到一个尽可能对齐的预测结果,如果效果还不好的话就使用一些方法做后处理增强。第一种思路不太行,因为伪点云的不对齐是由于单目深度估计效果不佳导致的,难以解决。因此作者采用了第二种思路。
- 使用一个2D-3D边界框的一致性约束,使得预测出来的3D边界框在图像上的投影与2D候选框有很高的重叠,具体来说就是训练的时候添加了一项损失bounding box consistency loss (BBCL) 。作者还做了一个后处理增强,就是测试的时候使用了一个优化模块bounding box consistency optimization (BBCO)
- 将Frustum PointNets中2D候选框的产生方法由 目标检测转换成了实例分割,使得视锥点云不带有长尾,并且减少了视锥中的冗余点云的数量。
2D-3D边界框的一致性约束
基本的假设是:
不准确的3D边界框对应的2D投影与2D候选框的IOU是不够大的,而我们要是能够使得这个指标足够大,就能够提升3D边界框与3D gt box的3D IOU。
具体做法:
我们将预测的边界框的7个参数转换成对应3D空间中的8个角点,使用相机的投影矩阵转换成2D当中的8个点(类似于相机成像的原理),接着得到这8个点的最小包围矩形框(用4个参数x,y,w,h表示)。同理,2D实例分割的结果也能被转换为最小的包围矩形框(用4个参数x,y,w,h表示),我们的目标是这两个矩形框尽可能的接近。训练的过程中
就是使用smooth L1损失处理这四个参数,测试的时候
做了一步后处理优化,但是作者没细讲,或者我没看懂害。