Monocular 3D Object Detection and Box Fitting Trained End-to-End Using Intersection-over-Union Loss
本文提出了在单目3D检测中考虑异质噪声,提出了一个backprop through optimization的方法。
流程总览
首先一个CNN进行object detection,输出类别score以及2D bounding box,执行NMS删除部分冗余,最后使用一个非线性优化。
网络输出
网络输出结果除了分类结果之外还有26维。
2D bounding box对应两个角点4个值。
物体中心与相机的距离(也可以用Z轴距离,性能差距不大),一个值
观察角预测其sin与cos值,共2个值
物体尺度长宽高,用log值代表,共3个值。
3D bounding box的8个点在相机坐标系的投影,共16个值。
对3Dbox的初始解,以2D框的中心作为物体3D中心在图片的投影,就可以得到对3Dbox的初始估计.
taskNet使得每一个输出会同时带上了对不确定性的估计
三种Loss训练方法
第一种传统定义是平稳噪声
Loss函数定义如下:
本质上就是Multi Task Learning, 也就是说每一个loss类别会有一个单独的不确定性估计.
第二种定义是异方差噪声
也就是需要tasknet跟随每一个输出输出一个误差值
其中在这里被定义为的伽马分布
以上两种方式得到的variance都可以在inference的时候作为对不确定性的估计,也就便于对后端优化
第三种训练方式是backprop through optimization
首先优化问题的定义来自于
前两种方式的逻辑就是在训练的时候通过loss学习variance,然后直接用于inference。而第三种训练方式就是把optimization放在训练过程中,也就能直接训练误差variance.
这里它在训练的时候使用3D IoU损失。在反传的时候,根据以及 使用隐函数定理(个人暂时未能理解)
得到