【透视图像目标检测(3)】透视3D目标的航向角、观察角(局部方向)和相对位置角辨析,观察角的单目投影验证
文章目录
- 1 坐标系定义
- 1.1 三者满足几何关系:
- 2. DD3D模型输出的角度
- 2.1 观察角的单目投影验证的解析
- 2.1.1 首先,3D边界框顶点计算
- 2.1.2 然后,投影到图像平面
- 2.1.3 然后,构建投影一致性损失
- 2.1.4 举例:
- 3. 3D Bounding Box Estimation Using Deep Learning and Geometry 模型输出的角度
1 坐标系定义
角度类型 | 符号 | 物理意义 | 坐标系参考 |
---|---|---|---|
航向角 | θ | 障碍物前进方向与自车纵轴的夹角(直接影响碰撞风险判断) (例如:θ=0°表示同向行驶,θ=180°表示逆向行驶) | 自车全局坐标系 |
观察角 | α | 障碍物中心在图像平面的投影射线与相机光轴的夹角(用于单目几何约束),α是θ与γ的合成角度。α会因障碍物位置(γ)变化而改变,即使障碍物运动方向(θ)不变 | 相机坐标系 |
相对位置角 | γ | 障碍物中心相对于自车当前位置的方位角(由坐标位置直接计算) | 自车局部坐标系 |
- 实际航向角 θ:障碍物前进方向与自车前进方向的夹角,直接影响碰撞风险判断(例如:θ=0°表示同向行驶,θ=180°表示逆向行驶)
- 相对位置角 γ:障碍物中心在车辆坐标系中的方位角
- 观察角 α:障碍物中心在图像平面上的投影射线与相机光轴的夹角。α是θ与γ的合成角度。α会因障碍物位置(γ)变化而改变,即使障碍物运动方向(θ)不变
1.1 三者满足几何关系:
α = θ + γ α=θ+γ α=θ+γ
2. DD3D模型输出的角度
输出形式:网络直接预测sinθ和cosθ(双通道)
解码过程:通过θ=arctan2(sinθ,cosθ)计算实际航向角
那么,观察角(局部方向)和相对位置角的作用是什么呢?
答:约束条件:利用3D边界框投影到2D图像的一致性(如右图顶点对齐)优化θ的预测
假设检测到一辆车:
- 网络预测sinθ=0.422, cosθ=0.906
- 计算得θ=arctan2(0.422,0.906)≈25°
- 结合障碍物在车辆坐标系中的位置(x=10m,y=2m),可得γ=arctan(2/10)≈11.3°
- 最终观察角α=25°+11.3°=36.3°(与图像中检测框中心位置校验,仅用于单目投影验证)
- 用观察角α构建单目投影损失,优化θ.
2.1 观察角的单目投影验证的解析
单目投影验证的核心思想是:利用3D预测结果在图像平面的重投影必须与2D检测框对齐。这是通过构建几何约束损失函数实现的,具体分四步:
2.1.1 首先,3D边界框顶点计算
假设预测得到障碍物的中心(x,y,z)、尺寸(h,w,l)和航向角θ,计算其在车辆坐标系下的8个顶点坐标:
然后绕y轴旋转θ角:
其中旋转矩阵Ry是:
2.1.2 然后,投影到图像平面
通过相机内参矩阵K和外参矩阵[R∣t],将3D顶点投影到2D像素坐标:
得到的
p
i
m
g
k
p_{img}^{k}
pimgk是第k个顶点在图像上的(u,v)坐标
2.1.3 然后,构建投影一致性损失
- 计算预测3D框投影后的2D包围框(最小外接矩形)
- 与真实的2D检测框计算IoU(交并比)
定义损失函数:
反向传播时,此损失会修正3D参数(如θ、z)使得投影更准确
2.1.4 举例:
假设某帧图像中:
- 真实2D框:左上角(100,200),右下角(300,400)
- 预测3D参数投影得到2D框:左上角(90,190),右下角(310,390)
- 计算IoU = 0.82 → Lproj=0.18
- 梯度下降会调整θ和z使得投影框更接近真实框
实验数据(DD3D在KITTI验证集):
监督方式 | 3D AP (Car) | θ误差 (°) |
---|---|---|
仅3D标注 | 18.2 | 4.1 |
3D标注+投影约束 | 23.7 (+30%) | 2.8 (-32%) |
这种验证机制本质是通过图像平面几何一致性,迫使网络学习符合物理规律的3D表示,是单目方法能达到实用精度的关键。
仅3D标注的角度损失是主要定义的
3. 3D Bounding Box Estimation Using Deep Learning and Geometry 模型输出的角度
训练网络来估计观察角(局部方向) α。 网络输出两个值:sinα 和 cosα
通过以下公式解码 α=arctan2(sinαpred,cosαpred)
基于三者满足几何关系:α=θ+γ,计算航向角
【 训练网络来估计相对位置角 γ ,可以看看我的博客3D Bounding Box Estimation Using Deep Learning and Geometry,个人觉得主要是方便标注数据据!!】
(正文完)