【论文阅读】GS3D: An Efficient 3D Object Detection Framework for Autonomous Driving

该论文代码至今未开源,估计以后也不会了

总体思想

        (1)用一个CNN based的检测器(作者称其为2D+O),检测物体的2D框和观察角\alpha

        (2)利用2D框和从训练集中获取的信息来生成3D guidance

        (3)从物体的可视面中提取特征

        (4)基于物体的类别,对3D框进行refine

 【1】2D+O

        利用faster R-CNN,增加一个新的分支用于观察角\alpha的预测。

         观察角\alpha就是,以相机与物体中心的连线为y轴、垂直方向为x轴(右手定则)的坐标系下,物体与x轴正方向的夹角。如下图所示

         这部分没什么好说的,就是用一般的目标检测算法获取物体的类别,2D框和观察角。

【2】生成3D guidance

         (1)获取3D框的size(长宽高)(w_{g},h_{g},l_{g})

        作者统计了自动驾驶场景下,同一种类别物体的size变化不大,所以直接利用从训练集中获取的size平均值作为guidance的size。

        (2)估计guidance的位置

        因为车载摄像头安装的位置一般在车顶,所以一般情况下与其他物体高度齐平。所以3D框投影到2D图像时,3D框的上底面中心非常靠近于2D框的上底边中点,3D框的下底面中心则是在2D框内部,且靠近于2D框的下底边中点。

        设预测的2D框信息为(x^{2d},y^{2d},w^{2d},h^{2d}), 则2D框上底边中点为(x^{2d},y^{2d}-\frac{h^{2d}}{2}),下底边中点为(x^{2d},y^{2d}+\frac{h^{2d}}{2}),然后给出3D框上底面中心和下底面中心坐标的齐次形式

C_{t}^{2d}=(x^{2d},y^{2d}-\frac{h^{2d}}{2},1)

C_{b}^{2d}=(x^{2d},y^{2d}-(\frac{1}{2}-\lambda )h^{2d},1)

        (其中\lambda是从训练集中统计来的,描述的就是3D框下底面中心和2D框下底边中心的偏差程度)

        然后通过已知的相机内参,就可以分别获得标准化的3D坐标。

\tilde{C}_{b}=K^{-1}C_{b}^{2d}=(\tilde{x}_{b},\tilde{y}_{b},\tilde{z}_{b})

\tilde{C}_{t}=K^{-1}C_{t}^{2d}=(\tilde{x}_{t},\tilde{y}_{t},\tilde{z}_{t})

        如果深度d已知的话,就可以计算到实际的3D坐标

C_{b}=d\tilde{C}_{b}

        因为前面已经获得了guidance的高度h_{g}和标准化的高度\tilde{h}=\tilde{y}_{b}-\tilde{y}_{t},所以可以计算出d

d=\frac{h_{g}}{\tilde{h}}

        然后就编圆了,总的来说就是假设同一类别的尺寸都是一致的,假设3D框的上下面中心和2D框的上下边中点有明确的转换关系,再通过一个针孔相机模型就算出来了实际的坐标。

        (3)计算物体在相机坐标系下的角度

        前面已经得到了物体的观察角\alpha和所处的坐标C_{b}

 \theta =\alpha +arctan\frac{x}{z}

【3】提取可视面特征

        一般情况下都会有三个可视面,

未完待续

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值