文献解读-CVPR2019-Stereo R-CNN based 3D Object Detection for Autonomous Driving

小菜鸡最近跟着大佬们学看文献,那就适当地记录一下,当作自己的学习笔记吧。文中也有很多理解不到位的地方的,毕竟还只是个小菜鸟,不懂的地方多得是。所以哪里有问题的还请各位读者好好指点指点。
今天要介绍的论文是一篇2019年发表于CVPR的论文,题目是:《Stereo R-CNN based 3D Object Detection for Autonomous Driving》,作者为:大疆创新的李培良,陈晓之和香港科技大学的沉少杰。它讲述的一种基于双目R-CNN的自动导航3D目标检测方案。
原本链接为:https://arxiv.org/abs/1902.09738
codeing: https://github.com/HaixiongLi/Stereo-RCNN
paper: https://arxiv.org/pdf/1902.097 38.pdf

在解读这篇论文的时候,我也参考了以下几位大佬的博客:(好吧,其实是copy了好多)
https://www.jianshu.com/p/9bea02b43299
https://blog.csdn.net/hitzijiyingcai/article/details/88537274

1. INTRODUCTION

1.1 BACKGROUND

接下来,让我们具体看看这篇论文的内容:
本作者提出:一种基于立体视觉的3D物体检测方法。与单目相机相比,双目立体相机通过左右光度校准可以提供更精确的深度信息。 与LiDAR相比,立体相机成本低,同时对于显著性逐不强的物体,实现了相对高的深度精度。

1.2 CONTRIBUTION

主要贡献如下:
1.提出 Stereo R-CNN网络架构,在关联双目图像的同时进行目标检测。
2.提出一种 3D 边界框估计器,根据关键点和双目 2D 边界框得到 3D 边界框。
3.提出 Dense Alignment,一种基于密集区域的双目匹配对齐方法,使得目标在三维空间中的定位更加精确。
4. 在 KITTI 数据集上,与其他基于图像的方法相比,表现最好。甚至能与基于激光雷达的方法相媲美。

2. METHOD

2,1 NETWORK ARCHITECTURE

作者通过对 Faster R-CNN 网络架构进行改进,提出了一种名为双目 R-CNN 的网络架构,实现了双目立体视觉进行3D目标检测的方法。它与单张图片检测器(如Faster R-CNN [25])相比,Stereo R-CNN可以同时关联左右图像的2D边界框进行目标检测,并进行微小修改。大致的框架如图所示:
双目R-CNN的网络结构
细致地来说,左边就是通过一对权重共享的ResNet-101和FPN作为双目R-CNN的骨干网络,来提取左右图像的一致特征;
stereo RPN:中间的立体区域候选网络是基于双目图像改进的RPN网络,对双目图像分别预测RoI。改进点在于Stereo RPN考虑了双目图像之间的相关性;
Rol Align:然后通过上下两个Rol Align区域特征聚集方式对左右特征图中大小不等的框进行特征提取,使输出结果是等长的;
Stereo Regression:基于Stereo RPN提出的RoI,对目标进行分类,并对双目图像回归更精确的边界框、三维空间尺寸、视角,以作为构建 3D 边界框的预备信息;
Keypoint Detection:同时,对左侧特征图进行关键点预测:先使用2×2的反卷积层将输出比例上采样到28×28,再通过六个连续的256-D 3×3卷积层,从而预测了一系列能够帮助构建3D 边界框的关键点位置。
3D Box Estimation:最后,利用前面网络回归得到的二维框的维度,视角,关键点等信息,通过3D box估计器得到3D边界框的位置。
听到这里估计大家都一头雾水了,我也是。浅显地来说,作者的意图是通过两个二维图像去生成一个三维的边界框,但这个三维框不是由三个关键点表示的,而是这个由长高宽三个尺寸以及位姿信息(X,Y,Z,θ)表示。

2.2 Region Proposal Network (RPN)

首先,我们先介绍一下这个双目区域候选网络RPN:
RPN是在2015年的Faster R-CNN框架中首次提出,是一个基于滑动窗口的前景检测网络。在前面的FPN骨干网络提出特征之后,双目图像的两张特征图在通道上被拼接在一起,并通过3*3卷积降低特征图的通道数,然后就进入到了RPN网络。
Region Proposal Network (RPN)如图所示,可以看到这个网络实际分为两条线:上面一条通过Softmax 分类器获得anchors的正负类别,下面一条则用于计算对应的anchors的边界框的回归偏移量,以获取准确的proposal。而最后的Proposal层则负责综合positive anchors和对应bounding box regression偏移量获取proposals,同时剔除太小和超出边界的proposals。其实整个网络到了Proposal Layer这里,就完成了相当于目标定位的功能。通过这个RPN,我们就可以获得初始的感兴趣区域ROL。

2.3 Intersection-over-Union (IoU)

而双目PRN是如何对anchors进行分类的呢?我们先看看下面的图片:
Intersection-over-Union (IoU)
由图3可知,Stereo RPN 提出了一个考虑双目图像中同一目标 RoI 相关性的预测方法:将左右图中RoI GT 的并集作为联合 GT,如果一个 anchor(人为设置的先验框)与联合 GT 的 IoU 达到 0.7,则记为正样本(有目标);如果一个 anchor 与任何联合 GT 的 IoU 都未达到 0.3,则记为负样本(无目标)。
至此,双目RPN就讲解完了。但这个网络输出的ROL究竟是什么呢?其实他们就是一堆表示各个坐标的变换系数。正常对单张图片进行目标检测的时候,需要预测四个变换系数以对ROL的位姿做出修正。但在双目图像中,不需要八个而只需要六个变换系数就可以了。因为在双目摄像头已校正的情况下,基于双目成像的原理,同一目标在双目图像中具有相同的纵向坐标以及相同的高度,所以只需要6个自由度。即双目RPN的边框回归分支预测出6个变换系数[∆u, ∆w, ∆u’, ∆w’,∆v, ∆h] ,以从联合 GT框中通过变换得到左右图的中心点横坐标、中心点纵坐标、高度。

2.4 Stereo Regression

在得到刚刚说到的6个变换系数之后,作者在双目回归中通过四个子支路分别预测目标类别、双目 2D 边界框、三维尺寸、视角。如图4所示:
Stereo Regression
目标类别预测:基本的分类问题。
双目2D边界框:边界框参数和双目RPN中相同,即[∆u, ∆w, ∆u’, ∆w’,∆v, ∆h] 六个参数,不同之处在于左图基于左RoI变换,右图基于右RoI变换,不过这并不影响左右图使用相同的[∆v, ∆h] ,它们仍然符合双目成像原理。这和一系列基于Fast R-CNN的方法类似,都是在RPN提出的RoI 建议上,通过语义信息进一步得到更准确的边界框。
三维尺寸:目标在实际三维空间内的长、宽、高。按之前说的,我们所求的三维边框是通过求它的长宽高和位姿信息得到的。也就是在后面还原3D边界框所需要的三维尺寸在这里已经可以求出来了。
视角:表示目标的朝向。需要注意的是,此处定义的“视角”并不能唯一地还原出目标在三维空间中的朝向。如下图所示:
视角
其中,β为目标中心到摄像头的连线与 z 轴方向的夹角,θ为目标的真实朝向,即目标前方与 z 轴方向的夹角。这里要敲个黑板,我们想要求的是目标的真实朝向θ,但是RoI中的内容已经被裁剪,只能反映局部信息,所以原理上无法令双目回归模块输出目标真实的朝向θ。尽管如此,根据摄像机的成像原理,这些不同朝向的目标在图像上具有相同的像,我们将其定义为视角α,从而有:α = β + θ。虽然我们不能通过这个视角得出目标的真实朝向θ,但可以作为求θ时的约束条件,这个之后会说。

2.5 Keypoint Prediction

目前为止,对于三维边框的长宽高和位姿信息(x,y,z,θ),我们仅仅知道了长宽高,对于位姿信息还一无所知。接下来,我们将通过关键点预测获取更多的有效信息。
Keypoint Prediction-1
如上图所示。作者将目标的3D边界框底部的四个角点定义为三维语义关键点。根据作者的观察,这四个点当中最多有一个透视点,这个透视点能投影到2D边界框中间的某个角点,能提供很多的 3D位姿信息。预测这个点在 2D 边界框上的位置,能够为还原 3D 边界框提供很大帮助(即绘画中常提到的透视)。同时,作者还定义了一对边界关键点,以替代目标的像素分割级Mask,只有在两个边界关键点之间的内容才被认为是属于目标的。换言之,这四个三维语义关键点是为了得出一个透视点,通过这个透视点来还原3D边界框;另外两个边界关键点用于更精细地分割目标。具体做法如图7所示:
Keypoint Prediction-2
为了保证关键点的唯一性,作者只使用左图RoI进行预测。将左图ROL经过ROL Align得到的特征图先使用2×2的反卷积层将输出比例上采样到28×28,再通过六个连续的256-D 3×3卷积层,从而预测了一系列能够帮助构建3D边界框的关键点位置。不过,由于4个三维语义关键点中,只有透视点是重要的,而透视点总是位于2D边界框的底部;2个边界点也只需要确定它们中间夹住的内容。为了防止模型对各个关键点的混淆,对整个4×28的输出通道应用一次softmax激活,以激励模型只输出一个关键点位置,即透视点。另外两个1×28的通道对应两个边界关键点,所以分别用softmax激活。

2.6 3D Box Estimation

经过前面的双目回归和关键点预测,我们知道目标的三维尺寸{w,h,l},以及图像坐标系上左右图边界框的坐标和透视关键点,所以可以通过最小化2D框和关键点的重投影误差来求解3D边界框。如图8所示:
在这里插入图片描述
由上图可知,我们很容易得到七个的参数{ul,vt,ur,vb,u′l,u′r,up}——分别表示图像坐标系上左图边界框的左、右、顶、底边,右边界框的左、右边,透视点的横坐标,利用2D-3D 投影变换的公式:
2D-3D 投影变换的公式
其中b为双目摄像机(经校正后的)基线长度。总共7个等式,总之都是简单的坐标变换运算,摄像机成像原理的基本内容。因为等式多于待求变量,所以这是一个最小拟合问题,采用高斯-牛顿法即可求解,最小化的指标为得到的3D边界框再投影到图像坐标系上的重投影误差。如果某些情况导致透视点没有被观测到,则引入约束条件:(公式中的α前面已经求解出)
约束条件

2.7 Dense 3D Box Alignment

到目前为止,我们已经初步得出了一个3D边界框,但由于这个3D边界框是通过2D边界框的一些参数推断出来的,而这个2D边界框本身是从一个7×7的RoI内的特征图推理出来的,在多层的卷积过程中,语义信息被提取与保留,而像素级精度的位置信息已经部分丢失了。所以为了得到更加精准的3D边界框,作者定义了一个双目匹配误差公式,用来求解ROL中某一像素与该3D边界框中心点的深度之差:
双目匹配误差公式
其中,IL、IR 为左图和右图上的三通道像素值,b为基线长度,像素点i与3D边界框中心的深度之差为:在这里插入图片描述
z是唯一需要被优化的决策变量。在右图上,通过双线性插值计算亚像素点的像素值。总的匹配误差表示为:
总的匹配误差

解出令E最小化的z,以此校正整个3D边界框。至此,我们就得到了一个精准的3D边界框。

第一次写难免有所不足,而且也仅仅当作个人学习笔记以当记录而已,如有不足指出,还请各位i大佬多多指教。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值