[论文笔记]Multi-View 3D Object Detection Network for Autonomous Driving

Multi-View 3D Object Detection Network for Autonomous Driving

本文提出一种多模态的3D目标检测,融合了视觉和雷达点云信息。和以往基于voxel的方法不同,它只用了点云的俯视图和前视图,这样既能减少计算量,又不至于丧失过多的信息。随后生成3D候选区域,把特征和候选区域融合后输出最终的目标检测框。

作者认为基于LIDAR点云的方法通常可以获得更准确的3D目标位置,而基于图像的方法就2D目标评估具有更高的精度。

整体架构如下图所示,多模态3D检测网络由两部分组成:特征提取网络和信息融合网络。

请添加图片描述

下面对整个架构进行拆解

1)特征提取

a. 提取点云俯视图特征信息

俯视图由高度、强度、密度组成,投影到分辨率为0.1的二维网格中。

对于每个网格来说,高度特征有点云单元格中的最高值得出;为了编码更多的高度特征,点云被分为M块,每一个块都计算相应的高度图,从而获得了M个高度图。

强度是每个单元格中有最大高度的点的映射值。

密度表示每个单元格中点的数目,为了归一化特征,被计算为:

请添加图片描述

其中N为单元格中的点的数目。强度和密度特征计算的是整个点云,而高度特征是计算M切片,所以,总的俯视图被编码为(M + 2)个通道的特征

b. 提取点云前视图特征信息

前视图给俯视图提供了额外的信息。由于激光点云非常稀疏的时候,投影到2D图上也会非常稀疏。相反,我们将它投影到一个圆柱面生成一个稠密的前视图。 假设3D坐标为请添加图片描述
那么他的前视图坐标请添加图片描述

可以通过如下式子计算
请添加图片描述

c. 提取图像特征信息

在VGG-16的基础上进行修改来作为图像特性提取器。

Channels减少到原来的一半,删除了原始VGG网络中的第4个合并操作,卷积部分进行了8倍下采样,在多视图融合网络中,除了原始的fc6和fc7层之外,还添加了一个额外的全连接层fc8。

请添加图片描述

2)从点云俯视图特征信息中计算候选区域

使用俯视图进行候选区域计算原因有三:

1)物体投射到俯视图时,保持了物体的物理尺寸,从而具有较小的尺寸方差,这在前视图/图像平面的情况下不具备的。

2)在俯视图中,物体占据不同的空间,从而避免遮挡问题。

3)在道路场景中,由于目标通常位于地面平面上,并在垂直位置的方差较小,可以为获得准确的3Dbounding box提供良好基础

请添加图片描述

3)把候选区域分别与1)中a、b、c得到的特征进行整合

a. 把俯视图候选区域投影到前视图和图像中

给一个俯视图,网络通过一些3D prior boxes生成3D的候选框。每一个3D候选框都被参数化为:请添加图片描述
这些锚点都可以由请添加图片描述

离散化后获得。通过这种思路,就可以得到前视图和图像中的锚点。

b. 经过ROI pooling整合成同一维度

目的是在融合之前要保证数据是同一维度。

请添加图片描述

4)把整合后的数据经过网络进行融合

作者尝试了三种融合方法,最终对比之后才选择了现在使用的这一种。

请添加图片描述
请添加图片描述

实验结果

在KITTI数据集上评估MV3D网络,该数据集提供7481张图像用于训练,7518张图像用于测试。通过划分IoU的阈值来计算百分比。

与基于激光雷达的3D目标检测方法 VeloFCN、Vote3Deep、Vote3D ,和基于图像的3D目标检测方法 3DOP、 Mono3D进行对比。本文的方法有两种变体,即纯粹基于激光雷达的变体,使用鸟瞰图和前视图作为输入(BV+FV),以及结合激光雷达和RGB数据的多模态变体(BV+FV+RGB)。

本文的方法在所有IoU阈值上显著优于3DOP和Mono3D,基于激光雷达的方法都优于基于立体视觉的方法3DOP和单目方法Mono3D。本文的方法同样也优于VeloFCN。

请添加图片描述
与基于立体视觉的方法3DOP和基于激光雷达的方法VeloFCN[16]相比,本文的方法获得了更准确的物体三维位置、尺寸和方向。

请添加图片描述

补充知识

RPN参考https://blog.csdn.net/lanran2/article/details/54376126

RPN专门用来提取候选框,一方面RPN耗时少,另一方面RPN可以很容易结合到Fast RCNN中,成为一个整体。

RPN的引入,可以说是真正意义上把物体检测整个流程融入到一个神经网络中,这个网络结构叫做Faster RCNN,Faster RCNN = RPN + Fast RCNN

这里写图片描述

RPN位于Faster RCNN的中间部分

首先通过一系列卷积得到公共特征图,假设他的大小是N x 16 x 16,然后进入RPN阶段,首先经过一个3 x 3的卷积,得到一个256 x 16 x 16的特征图,也可以看作16 x 16个256维特征向量,然后经过两次1 x 1的卷积,分别得到一个18 x 16 x 16的特征图,和一个36 x 16 x 16的特征图,也就是16 x 16 x 9个结果,每个结果包含2个分数和4个坐标,再结合预先定义的Anchors,经过后处理,就得到候选框;整个流程如图:
这里写图片描述

ROI Pooling参考https://blog.csdn.net/lanran2/article/details/60143861

ROIs Pooling顾名思义,是Pooling层的一种,而且是针对RoIs的Pooling,他的特点是输入特征图尺寸不固定,但是输出特征图尺寸固定;往往经过rpn后输出的不止一个矩形框,所以这里我们是对多个ROI进行Pooling。

输入有两部分组成:

  1. 特征图:指的是图1中所示的特征图,在Fast RCNN中,它位于RoI Pooling之前,在Faster RCNN中,它是与RPN共享那个特征图,通常我们常常称之为“share_conv”;

  2. rois:在Fast RCNN中,指的是Selective Search的输出;在Faster RCNN中指的是RPN的输出,一堆矩形候选框框,形状为1x5x1x1(4个坐标+索引index),其中值得注意的是:坐标的参考系不是针对feature map这张图的,而是针对原图的(神经网络最开始的输入)

输出是batch个vector,其中batch的值等于RoI的个数,vector的大小为channel * w * h;RoI Pooling的过程就是将一个个大小不同的box矩形框,都映射成大小固定(w * h)的矩形框;

待补充知识

voxel

ch个vector,其中batch的值等于RoI的个数,vector的大小为channel * w * h;RoI Pooling的过程就是将一个个大小不同的box矩形框,都映射成大小固定(w * h)的矩形框;

待补充知识

voxel

版权声明:本文为CSDN博主「Cwwwws」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43146899/article/details/121779448

Cwwwws

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Offboard 3D Object Detection From Point Cloud Sequences

声明 原文链接 摘要 虽然当前的3D对象识别研究主要集中在实时车载场景中,但许多非车载感知用例在很大程度上没有得到充分的探索,例如使用机器自动生成高质量的3D标签。由于有限的输入和速度限制,现在的

【目标检测】比赛技巧记录

预训练 好的预训练很关键 对比学习 同类型比赛的、更好的训练方法、对比学习(大规模模型,多用于大厂,主要是为了水下的能力,完全无监督)、更新的损失函数。 水下目标检测的