【3D目标检测】Joint 3D Proposal Generation and Object Detection from View Aggregation论文综述(2018)

1、 为什么要做这个研究(理论走向和目前缺陷) ?
之前的3D目标检测方法(MV3D)有很多问题,比如定位不准,计算量大等。
2、 他们怎么做这个研究 (方法,尤其是与之前不同之处) ?
基于MV3D做改进,主要改进思路是去除一个FV视角,候选区生成时同时利用3D anchor做中介,寻找在图像特征和点云鸟瞰图特征的对应,然后用双线性插值对这两个特征resize到相同大小(3X3)后通过element-wise average实现融合,后输入RPN网络预测ROI。ROI映射到图像特征和点云鸟瞰图特征融合也是同样的套路,即双线性插值到同一大小(7X7)->element-wise average融合。这种特征融合预测3D候选区以及预测最终的3D框的方法比MV3D中只利用图像特征预测roi作为所有模态的roi的方式更好。另外,文中还有一些trick,比如1)为了避免roi特征占太多内存,用了1X1对主干网络生成的特征图进行降维,2)用双线性插值取代roi pooling/align实现输出固定大小的特征图,3) 3D框用4个底部角点的平面坐标+1个底面高度+1个顶面高度值共计2X4+1+1=10个量编码,比以前的MV3D的用8个角点共计3X8=24量编码少很多,实现编码降维 4)用了FPN实现对小目标检测的提升。
3、 发现了什么(总结结果,补充和理论的关系)?
个人认为主要值得借鉴的点就是融合方法,同时利用点云鸟瞰图特征和图像特征预测候选区,以及3D框的编码方案实现了编码降维,效果也更好。

摘要:本提出了AVOD, 多视角(lidar BEV和图像)输入,两阶段网络,MV3D的加强版。

1、 引言
2D目标检测直接用了做3D目标检测并不成功,一个主要原因就是特征不存在第三维度,故需要直接预测一个第三维度z的值,而不是像2D那样预测x,y的相对偏移。
本文主要贡献如下:
1) 基于FPN网络,提出一个从lidar和图像中提取高分辨率的特征,以利于小目标的定位。
2) 提出一个可以利用多模态特征生成候选框的RPN网络。
3) 改变以往预测3*8=24个量的确定一个3D框的方法,采用预测10个量确定一个3D框,实现编码降维。

2、 相关研究
手工设计特征实现候选区生成:3DOP,Mono3D
单阶段的目标检测器:VeloFCN,3D-FCN,VoxelNet
基于单目相机的候选区生成:普通的2D检测器,比如F-PointNet里的2D检测器
基于单目的3D检测器:Deep MANTA,Deep3DBox
3D候选区生成网络:MV3D,

3、 AVOD架构
【3D目标检测】Joint 3D Proposal Generation and Object Detection from View Aggregation论文综述(2018)

结构一看便知,就是分别有个特征提取网络从图片中和点云鸟瞰图中提取特征,有一个RPN网络可以利用这两个模态的特征生成3D候选区,然后基于这个候选区从图像特征和点云鸟瞰图特征把特征图crop下来进行融合,输入到后面的检测网络中。
A. 从点云和图像中来生成特征图:点云鸟瞰图输入有6个通道,其中5个是3D点云网格划分后,每个网格保存的是网格里的最高点的z值,最后一个通道记录各网格的点的密度信息。
B. 特征提取网络:主干网络是vgg-16,且用了FPN。其网络结构如下图所示:
【3D目标检测】Joint 3D Proposal Generation and Object Detection from View Aggregation论文综述(2018)

C. 多模态融合的RPN网络:基于体素化为3D网格来预设3D anchor,anchor的表示是Axis Aligned的形式,如下图中间所示,一个anchor有中心点(tx,ty,tx),框长宽高(dx,dy,dz),每个网格的anchor多少是用聚类确定的,网格中若没有3D点,这个网格中的Anchor去掉。
【3D目标检测】Joint 3D Proposal Generation and Object Detection from View Aggregation论文综述(2018)

利用多视角裁剪和缩放来提取特征图crops:这里每个anchor box在图片特征和点云BEV中都会有对应的区域,但是这两个区域Crop下来的特征图大小是不一样的,为了让他们变成固定大小的向量(3X3)以便于融合后(对应元素相加)输入到RPN网络里的全连接层进行objectess的预测和3D框的初步回归,这步操作用的双线性插值。而在Faster rcnn中这步操作一般是可以借鉴ROI pooling/align操作完成的。

用1X1卷积实现降维:每个主干网络输出的特征图通道数太多了,提取的roi对应的特征也会很多,故考虑用1X1卷积进行降维。

3D候选区生成:anchor对应的两个模态特征resize到3X3大小向量后进行融合,融合用的是对应元素平均(element-wise mean, 后面生成roi特征融合也是用的这个操作)。前背景anchor的确定是以3D anchor和GT 3D box在鸟瞰图视角的2D IOU来评估的。RPN网络生成的ROI需要NMS。

D. 第二阶段检测网络
3D 边界框编码:改MV3D中的8个角点(共计3X8=24个量)编码为用四个角点以及两个高度值(共计2X4+2=10个量)来进行编码,如上右图所示。4个角点并不能明确确定目标(车)朝向,因为有4个方向,为了确定朝向问题,还需预测一个向量(cos(theta), sin(theta))来确定朝向,找离这个theta角确定的方向最接近的四个方向中的一个,作为最终的方向。

生成最终的检测结果:就是第二阶段网络,跟rpn网络操作很类似,也是crop+插值+对应元素相加融合,生成的roi分别从图像特征和鸟瞰图特征中进行crop,crop下来的特征进行双线性插值为7*7的特征,然后进行对应元素相加进行特征融合,然后输入到最终的检测网络进行分类回归。

E. 训练
只分两类car和行人(行人类包括pedestrian和cyclist)。

4、 实验
3D候选区召回率: AVOD在50个候选区的情况下和MV3D在300个候选区情况下实现相同的召回率(91%)。
3D目标检测:用平均头向相似度(aveage heading similarity, AHS)评估航向角是否预测正确。AHS是平均朝向相似度(AOS)的2D版,即AOS在计算3D IOU基础上计算的,而AHS是在计算2D IOU基础上计算的。关于3D目标检测评估方案只有car类有,而pedestrian、cyclist是没有的。
【3D目标检测】Joint 3D Proposal Generation and Object Detection from View Aggregation论文综述(2018)
【3D目标检测】Joint 3D Proposal Generation and Object Detection from View Aggregation论文综述(2018)

FPN特征提取对小目标提升明显。
【3D目标检测】Joint 3D Proposal Generation and Object Detection from View Aggregation论文综述(2018)

一些可视化结果:
【3D目标检测】Joint 3D Proposal Generation and Object Detection from View Aggregation论文综述(2018)

5、 结论
提出了AVOD,两阶段的,融合图像和点云鸟瞰图的,能够预测3D目标朝向的3D目标检测器。