论文解读mv3d-net用于自动驾驶的多视图3d目标检测网络

一颗小树x 一颗小树x     2022-12-11     195

关键词:

前言

MV3D-Net融合了视觉图像激光雷达点云信息;它只用了点云的俯视图和前视图,这样既能减少计算量,又保留了主要的特征信息。随后生成3D候选区域,把特征和候选区域融合后输出最终的目标检测框。

论文地址:Multi-View 3D Object Detection Network for Autonomous Driving

开源代码:https://github.com/bostondiditeam/MV3D

目录

一、框架了解

1.1 网络的主体部分

1.2 网络的融合部分

二、MV3D的点云处理

2.1 提取点云俯视图

2.2 提取点云前视图

三、MV3D的图像处理

四、俯视图计算候选区域

五、特征整合

六、特征融合

七、模型效果

八、模型代码


一、框架了解

先看下总体网络结构:(可以点击图片放大查看)

上图中的紫色圆圈中M是表示 :基于元素的均值。

输入的数据:有三种,分别是点云俯视图、点云前视图和二维RGB图像。“点云投影”,其实并非简单地把三维压成二维,而是提取了高程、密度、光强等特征,分别作为像素值,得到的二维投影图片。

输出数据:类别标签、3D边界框、时间戳。

1.1 网络的主体部分

思路流程: 

1)提取特征

  • a. 提取点云俯视图特征
  • b. 提取点云前视图特征
  • c. 提取图像特征

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

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

  • a. 把俯视图候选区域投影到前视图和图像中
  • b. 经过ROI pooling整合成同一维度

1.2 网络的融合部分

这部分网络主要是:把整合后的数据经过网络进行融合

二、MV3D的点云处理

MV3D将点云和图片数据映射到三个维度进行融合,从而获得更准确的定位和检测的结果。这三个维度分别为点云的俯视图、点云的前视图以及图片。

2.1 提取点云俯视图

点云俯视图由高度强度密度组成;作者将点云数据投影到分辨率为0.1的二维网格中。

高度图的获取方式为:将每个网格中所有点高度的最大值记做高度特征。为了编码更多的高度特征,将点云被分为M块,每一个块都计算相应的高度图,从而获得了M个高度图

强度图的获取方式为:每个单元格中有最大高度的点的映射值。

密度图的获取方式为:统计每个单元中点云的个数,并且按照公式:

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

2.2 提取点云前视图

由于激光点云非常稀疏的时候,投影到2D图上也会非常稀疏。相反,作者将它投影到一个圆柱面生成一个稠密的前视图。 假设3D坐标为:

 那么前视图坐标:

 可以通过如下式子计算

三、MV3D的图像处理

采用经典的VGG-16来提取图像特征,这里就不过多说明了。

四、俯视图计算候选区域

物体投射到俯视图时,保持了物体的物理尺寸,从而具有较小的尺寸方差,这在前视图/图像平面的情况下不具备的。在俯视图中,物体占据不同的空间,从而避免遮挡问题。

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

候选区域网络就是熟悉的RPN。参考

五、特征整合

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

流程: 

  • a. 把俯视图候选区域投影到前视图和图像中
  • b. 经过ROI pooling整合成同一维度

六、特征融合

有了整合后的数据,需要对特征进行融合,最终得到类别标签、3D边界框。

作者介绍了三种不同的融合方式,分别为

  • a、Early Fusion 早期融合
  • b、Late Fusion 后期融合
  • c、Deep Fusion 深度融合。

各自的结构如下图所示。

上图中的紫色圆圈中M是表示 :基于元素的均值。C是表示:串接。

 最终选择了Deep Fusion 深度融合。融合的特征用作:分类任务(人/车/...)、更精细化的3D Box回归(包含对物体朝向的估计)。

七、模型效果

和其他模型对比的数据:

检测效果:

八、模型代码

代码地址:https://github.com/bostondiditeam/MV3D

作者使用KITTI提供的原始数据,点击链接

上图是用于原型制作的数据集 。

我们使用了[同步+校正数据] + [校准](校准矩阵)+ [轨迹]()

所以输入数据结构是这样的:

运行 src/data.py 后,我们获得了 MV3D 网络所需的输入。它保存在kitti中。

上图是激光雷达俯视图(data.py后)

上图是将 3D 边界框投影回相机图像中。

输入具体数据格式可以参考'data.py' 'data.py' 网址

本文参考:https://zhuanlan.zhihu.com/p/86312623https://zhuanlan.zhihu.com/p/353955895

https://cloud.tencent.com/developer/news/223860


论文地址:Multi-View 3D Object Detection Network for Autonomous Driving

代码地址:https://github.com/bostondiditeam/MV3D

本文只提供参考学习,谢谢。

论文解读avod-net用于自动驾驶的聚合视图3d对象检测网络

...言AVOD-Net融合了视觉图像和激光雷达点云信息。AVOD-Net和MV3D-Net比较像,AVOD-Net算是MV3D-Net的加强版。该论文通过聚合不同视角的数据,实现了自动驾驶场景下3D物体的实时检测。论文地址:Joint3DProposalGenerationandObjectDetectionfromViewAgg... 查看详情

论文解读avod-net用于自动驾驶的聚合视图3d对象检测网络

...言AVOD-Net融合了视觉图像和激光雷达点云信息。AVOD-Net和MV3D-Net比较像,AVOD-Net算是MV3D-Net的加强版。该论文通过聚合不同视角的数据,实现了自动驾驶场景下3D物体的实时检测。论文地址:Joint3DProposalGenerationandObjectDetec... 查看详情

论文解读smoke单目相机3d目标检测(cvpr2020)

...,也是基于这个模型改进的;于是令我产生了一些兴趣。论文名称:SMOKE:Single-StageMonocular3DObjectDetectionviaKeypointEstimation论文地址:https://arxiv.org/ 查看详情

论文阅读用于自动驾驶的高清地图生成技术(代码片段)

High-DefinitionMapGenerationTechnologiesforAutonomousDriving回顾了最近利用2D和3D地图生成的高清地图生成技术。介绍了高清地图的概念及其在自动驾驶中的作用,并对高清地图生成技术进行了详细概述。introduction高清地图包含自动驾驶所... 查看详情

stereor-cnn解读基于立体r-cnn的自动驾驶三维目标检测

摘要本文充分利用立体图像中的稀疏、密集、语义和几何信息,提出了一种用于自动驾驶的三维目标检测方法。我们的方法,称为StereoR-CNN,扩展了FasterR-CNN用于立体输入,以同时检测和关联左右图像中的目标。我... 查看详情

ida-3d解读基于实例深度感知的自动驾驶立体视觉三维目标检测

摘要三维目标检测是自动驾驶和虚拟现实中重要的场景理解任务。基于激光雷达技术的方法具有高性能,但激光雷达昂贵。考虑更一般的场景,没有3d激光雷达数据的数据集,我们提出一个3d对象立体视觉检测的方法&#... 查看详情

自动驾驶激光点云3d目标检测voxelnet论文简述(代码片段)

...#xff0c;本文分析激光雷达视觉当中经典的算法模型VoxelNet。论文:VoxelNet:End-to-EndLearningforPointCloudBased3DObjectDetection这是2017年的论文出自苹果公司算法团队,这篇论文对于刚学习激光雷达目标检测的同学来讲非常有参考价 查看详情

cvpr2019论文解读:单眼提升2d检测到6d姿势和度量形状

CVPR2019论文解读:单眼提升2D检测到6D姿势和度量形状ROI-10D:MonocularLiftingof2DDetectionto6DPoseandMetricShape论文链接地址:https://arxiv.org/pdf/1812.02781.pdf  摘要内容:本文提供了基于端到端单目3D目标检测和度量形状检索的深度学习... 查看详情

multinet用于自动驾驶的多模态多任务学习网络

本文发表于2019年的IEEE计算机视觉应用冬季会议上,是一篇有关自动驾驶领域多模态多任务网络应用的文章。本文将多模态学习与MTL(Multi-taskLearning)相结合,提出了一种多行为模式下非结构化自动驾驶的新方法... 查看详情

长篇自动驾驶技术综述论文(下)

长篇自动驾驶技术综述论文(下)三维目标检测 鉴于经济性,可用性和研究的广泛性,几乎所有的算法都使用相机作为主要的感知方式。把相机应用在ADS中,限制条件除了前面讨论到的光照等因素外,还有一个问题就是目标... 查看详情

自动驾驶感知算法实战3——自动驾驶2d和3d视觉感知算法概述

自动驾驶感知算法实战专栏:https://blog.csdn.net/charmve/category_12097938.html目录导读一、2D视觉感知1.目标检测1.1两阶段检测1.2单阶段检测1.3Anchor-free检测(无Anchor检测)1.4Transformer检测2.目标跟踪3.语义分割二、3D视觉感知1.单目3D感知... 查看详情

自动驾驶感知算法实战3——自动驾驶2d和3d视觉感知算法概述

自动驾驶感知算法实战专栏:https://blog.csdn.net/charmve/category_12097938.html目录导读一、2D视觉感知1.目标检测1.1两阶段检测1.2单阶段检测1.3Anchor-free检测(无Anchor检测)1.4Transformer检测2.目标跟踪3.语义分割二、3D视觉感知1.单目3D感知... 查看详情

自动驾驶激光点云3d目标检测pointpillar论文简述(代码片段)

之前有针对VoxelNet这篇论文做过简述,今天的主题是PointPillar。PointPillar是2019年提出来的模型,相比于之前的点云处理模型,它有3个要点:提出Pillar这个概念,将类PointNets模型能够以Pillar为基础单位学习点云特... 查看详情

cvpr2023|旷视研究院入选论文亮点解读

近日,CVPR2023论文接收结果出炉。近年来,CVPR的投稿数量持续增加,今年收到有效投稿9155篇,和CVPR2022相比增加12%,创历史新高。最终,大会收录论文2360篇,接收率为25.78%。本次,旷视研究院有13... 查看详情

smoke单目相机3d目标检测训练模型(代码片段)

...原理和搭建开发环境,可以参考之前的博客:【论文解读】SMOKE单目相机3D目标检测(CVPR2020)_一颗小树x的博客-CSDN博客_smoke论文CVPR2020SMOKE单目相机3 查看详情

smoke单目相机3d目标检测训练模型(代码片段)

...原理和搭建开发环境,可以参考之前的博客:【论文解读】SMOKE单目相机3D目标检测(CVPR2020)_一颗小树x的博客-CSDN博客_smoke论文CVPR2020SMOKE单目相机3 查看详情

论文解读+实践yolop全景驾驶感知同时处理三大视觉任务

...团队,在全景驾驶感知方面提出的模型,致敬开源精神。论文地址:https://arxiv.org/abs/2108.11250开源代码:https://github.com/hustvl/YOLOP目录 查看详情

论文解读sortdeep-sort多目标跟踪算法

前言基于视觉的目标跟踪在智能监控、动作与行为分析、自动驾驶等领域都有重要的应用。例如,在自动驾驶系统中,目标跟踪算法要对运动的车、行人、其他物体的运动进行跟踪,对它们的未来的位置、速度等信息作出预测。... 查看详情