MV3D-Net 学习笔记

本文介绍了用于自动驾驶的MV3D网络,它将LIDAR点云和RGB作为输入,预测带方向的3D边界框。先阐述相关工作及改进思路,再详细介绍MV3D网络架构,包括特征提取、3D候选网络、特征整合和融合等步骤,最后给出实验结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Multi-View 3D Object Detection Network for Autonomous Driving》CVPR2017


前言

MV3D将LIDAR point cloud 和RGB 作为网络输入,预测带有方向的3D bounding box,和以往基于voxel的方法不同,它只用了点云的俯视图和前视图,这样既能减少计算量,又不至于丧失过多的信息。 网络包含两部分:1. 3D 目标proposal 生成; 2. 多视角特征融合。proposal 网络以3D point clound鸟瞰图作为输入,生成3D候选框。并且设计一种深度融合机制结合多视角的region-wise 特征,并且进行不同路径下中间层的信息交流。

一、相关工作及改进

作者列出以上这些传统方法,也是为了显示自己提出的方法的优越性,针对这积累算法的缺点,作者也提出了相应的改进思路,这些思路就是的实现就是本文的核心内容。

1. 基于点云的3D目标检测

方法描述:将3D点云体素化,提取结构特征之后送入到SVM或者神经网络中进行分类,还有的使用了点云的前视图,包含2D点云图,使用了一个全链接的卷积网络作用在2D点云图上从而预测出3D的boxes。
尚存缺点:计算量太大
改进思路:3D点云编码为多视角的特征图,应用与基于区域的多模式表示。

2. 基于Images的3D目标检测

方法描述:通过3D体素模式(例如3DVP)运用一系列的ACF检测器去做2D的检测和3D姿态的估计。
尚存缺点:Image-based的方法通常都依赖于精确的深度估计或标记检测。
改进思路:融合雷达点云去提高3D localization的效果。

3. 多模态融合

方法描述:结合图像,深度,甚至光流应用于2D的行人检测。
尚存缺点:这方面工作太少,方法发展还不完善(作者这种描述,已经说明了他的态度,认为这是一个好思路)。
改进思路:本文是受到了FractalNet和Deeply-Fused Net的启发。在FractalNet中,基础模块使用不断增加的通道迭代地构建网络,相似地,通过联合浅层和深层子网络去构建深度融合的网络。文章的工作区别与他们的地方在于对于每一栏使用了相同的基础网络,为了正则化增加了辅助的路径和损失。

4. 3D目标候选区

方法描述:基于立体的点云设计一些深度的特征来产生一些3D候选框(例如3DOP),或者利用地平面和一些语义信息生成3D候选区(例如Mono3D)。
尚存缺点:3DOP和Mono3D都使用了手工的特征。
改进思路:文中提出了使用点云的俯视图表达,应用2D的卷积来生成3D的候选区。(使用俯视图的原因后面会有介绍)

二、MV3D 网络架构

1. 整体介绍

网络的输入为多视角的点云输入以及RGB图像,首先从鸟瞰图生成3D proposal,基于region特征表示进行多视角的特征融合,融合的特征用于分类和带有方向的3D box 回归。
在这里插入图片描述1)提取特征

a. 提取点云俯视图特征
b. 提取点云前视图特征
c. 提取图像特征
在这里插入图片描述
2)从点云俯视图特征中计算3D候选区域
在这里插入图片描述

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

a. 把俯视图候选区域投影到前视图和图像中
b. 经过ROI pooling整合成同一维度
在这里插入图片描述
4)把整合后的数据经过网络进行融合
在这里插入图片描述
后面就是对上面每一步进行详细介绍了

2. 提取特征

在这里插入图片描述
1)提取俯视图特征

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

a. 高度

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

b. 强度

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

c. 密度

表示每个单元格中点的数目,为了归一化特征,被计算为:
在这里插入图片描述
其中N为单元格中的点的数目。强度和密度特征计算的是整个点云,而高度特征是计算M切片,所以,总的俯视图被编码为(M + 2)个通道的特征

2)提取前视图特征

前视图给俯视图提供了额外的信息。由于激光点云非常稀疏的时候,投影到2D图上也会非常稀疏。相反,我们将它投影到一个圆柱面生成一个稠密的前视图。 假设3D坐标为
在这里插入图片描述
那么他的前视图坐标
在这里插入图片描述
可以通过如下式子计算
在这里插入图片描述
其中∆θ和∆φ分别是激光束的水平和垂直分辨率。 我们使用三通道特征(高度,距离和强度)对前视图地图进行编码,如图2所示。

3)提取图像特征

VGG-16。。。。

3. 3D候选网络

利用鸟瞰图作为输入,进行候选区域计算,在3D 目标检测网络中,相比于前视图和image,鸟瞰图有如下优势:

  1. 投影到鸟瞰图时,保留了目标的物理size,从而具有较小的尺寸方差,这在前视图/图像平面的情况下不具备的。
  2. 鸟瞰图中的目标占据了不同的空间,因此避免了遮挡问题;
  3. 在道路场景中,由于目标通常位于地面平面上,并在垂直位置的方差较小,可以为获得准确的3Dbounding box提供良好基础。

4. 把候选区域分别与提取的特征进行整合

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

给定鸟瞰图,网络从3D先验框(prior boxes) 生成3D 候选框(box proposals),每个3D box的参数为(x,y,z,l,w,h),该参数表示目标在点云坐标系统下的中心位置以及目标的size,对于每一个3D先验框,对应鸟瞰图的anchor在这里插入图片描述
能够通过离散化(x,y,l,w)得到。本文通过聚类训练集的ground truth sizes设计N个3D先验框,对于car,(l,w)的值为{(3.9, 1.6),(1.0, 0.6)},高度为1.56m。

由于激光点云是稀疏的,导致了不少的空anchor,本文移除这些空anchor降低计算量。对于每个非空anchor,网络会生成3D box,为了较少冗余,采用NMS进行抑制。

通过这种思路,我们就可以得到前视图和图像中的锚点。

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

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

5. Region-based 融合网络

多视角ROI Pooling

来自不同视角与模态的特征具有不同的分辨率,利用ROI Pooling来得到每个视图同样长度的特征向量,在本文中,将生成的3D proposals投影到3个视图:鸟瞰图(BV),前视图(FV) 和image plane(RGB),给定3D proposal,利用下面模型得到每个视图的ROIs:
在这里插入图片描述
给定每个视图的前端网络的输入要素图x,我们通过ROI池获得定长要素fv:
在这里插入图片描述
深度融合

有了整合后的数据,要想得到最终的检测框,那不就很简单了吗。

不过值得注意的是,作者在这里做了一个讨论,它尝试了三种融合方法,最终才选择了现在使用的这一种。
在这里插入图片描述
图3:不同融合方案的体系结构:我们使用串联操作实例化早期/晚期融合中的联接节点,并使用逐元素均值操作实例化深度融合。

带方向的3D box regression

回归3D box的8个顶点。t=在这里插入图片描述
使用多任务损失来预测目标的类别和朝向,类别的损失使用交叉熵损失,3D box的损失使用l1损失。3D proposals 为正样本的条件是:proposals与真值的IOU 大于0.5,否则为负样本,在推理阶段,使用NMS作用在3D box上,阈值是0.05.

网络的正则化

对于每次迭代,我们随机选择执行全局放置路径或局部放置路径,概率为50%,若是global-drop-path,随机选择3个视图中的一个视图,若是local-drop-path,输入的path 有50%的可能性被drop.确保至少有一个输入。

add auxiliary paths and losses to the network
在这里插入图片描述
图4:基于区域的融合网络的培训策略:在培训过程中,添加了最下面的三个路径和损失以使网络正规化。 辅助层与主网络中的相应层共享权重。

实验结果

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
参考(感谢)
https://www.cnblogs.com/ahuzcl/p/12691286.html
https://zhuanlan.zhihu.com/p/86312623

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值