[cvpr17]Multi-View 3D Object Detection Network for Autonomous Driving

3D点云做detection的一篇milestone paper。经典的two-stage方法(region proposal-based method)。思路来自于经典的faster rcnn。

 

整个模型如下图

 图一. 整体模型

3D Point Cloud Representation

这篇文章可以归纳为是multiview-based method,multi-view的方法是指将三维点云按照不同view进行映射,得到很多的2D图像,因为2D图像的CNN很强大,这样就可以用2D CNN处理。最后将不同view得到的feature进行融合(fusion),再进行后续的不同task,如classification、detection、segmentation等等。这种方法优缺点都很明显,优点是CNN处理2D图像很强大也更成熟,缺点是有限的views会造成信息的损失。

这篇文章映射的角度包括Bird's Eye View(鸟瞰图)和Front View(前视图)。

Bird’s Eye View Representation.

对整个点云按照鸟瞰的视角,按照0.1米的分辨率进行网格化(grid)采样。每个网格(cell)在高度这一特征(height feature)取该网格里所有点云的最大值。特别地,作者并不是仅仅只取一个鸟瞰图,而是对整个点云按照不同高度,均匀切片成M片(M slices)。每个切片产生一张height map,里面记录了每个切片里面每个cell的最大高度。采样的每个网格(cell)的intensity feature就是max height的那个点的intensity。点云的density feature指每个cell的点数量(记为N),按照min(1.0,log(N+1log(64))进行归一化。因此共有M个height map,1个density feature和1个intensity feature,共N+2维的特征。

 Front View Representation.

前视图作为鸟瞰图的补充信息。但是由于点云数据稀疏程度是不均匀的,很多地方非常稀疏,因此作者并不是将点云投射到图像平面(image plane),而是投射到圆柱平面(cylinder plane)来产生密集的前视图。

极坐标投影转换关系如下图,得到前视图极坐标Pfc=(r,c)

图二. 前视图圆柱投影

3D Proposal Network

首先用一个网络生成region proposals. 该文用鸟瞰图作为输入,由3D prior boxes生成3D proposal boxes。3D box定义为(x,y,z,l,w,h),分别代表中心点三维坐标和尺寸。鸟瞰图中的anchor box可由3D box离散化得到,即xbv,ybv,lbv,wbv。在faster RCNN中,每个像素点产生的anchor有三种大小、三种比例共计九个,而在该文里prior box即anchor,针对车辆检测问题,prior box的(l,w)设定为{(3.9,1.6),(1.0,1.6)}两种(聚类得到),高h设定为1.56m。对prior box(按Z轴)旋转90°,共得到N=4种prior boxes (两种大小,两种角度即横竖摆放)。鸟瞰图中(x,y)是变化的,z则由相机高度和物体高度计算得到。

由于0.1米的采样距离使得车辆只占5~40个像素,小目标很难被发现,因此网络中有一个上采样的过程,以保证feature map足够大。

3D box的回归是回归t=(δx,δy,δz,δl,δw,δh。同样用cross-entropy loss做分类,smooth l1 loss 做回归。anchor和ground truth的IoU>0.7就是positive,IoU<0.5为negative。 

Region-based Fusion Network

结合不同view,做object proposals的分类和坐标回归。

Multi-View ROI Pooling.

对于每个产生的3D proposal, 分别求鸟瞰图、前视图(圆柱投影)和Image plane RGB图,然后分别求ROI polling得到特征。

Deep Fusion.

特征融合的方式,如下图

 

 图三. deep fusion for multi-view.

Oriented 3D Box Regression

在stage-two,回归的坐标发生了变化,直接回归3D box的八个顶点的坐标。作者表明尽管24D向量存在冗余,但实际效果更好。这样,box的方位就直接由八个点确定,不需要再回归。

Network Regularization

 

整个模型是针对KITTI数据集。结果视频

posted @   拎壶冲AR  阅读(881)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示