【3D目标检测】3D Object Detection for Autonomous Driving: A Survey
目录
- 概述
- 细节
- 背景
- 常用数据集及其评价指标
- 基于RGB图像的算法
- 基于点云的算法
- 基于RGB图像与点云模态融合的算法
概述
这是一篇21年的综述,介绍了3D目标检测背景、传感器以及基于传感器的算法分类及其特点。
细节
背景
3D目标检测的地位:
是无人驾驶中感知模块的核心基础
3D目标检测的主要问题:
目标检测的核心是定位+分类,分类的问题其实不大,限制算法性能的最主要因素还是定位误差。
3D目标检测中的传感器:
3D目标检测中使用的传感器主要可以分为两类,一类是无源传感器(passive sensors )另一类是有源传感器(active sensors)。这两类中用的最多的就是单目相机和激光雷达了。
单目相机:
优点:便宜且适用于很多场景,丰富的颜色和纹理特征;缺点:没有深度信息并且视野有限,容易受到光照条件(夜间)或天气条件(阴雨)的影响
激光雷达:
优点:有深度信息,360度视野,受光照影响小,收温度影响大(雪、雾天);缺点:产生的点云数据存在天生的问题,没有颜色和纹理信息,部署昂贵(估计是75000美元)。
其他传感器:
使用的相对偏少,具体特点见下图。
3D目标检测中的数据:
主要是两类,一类是单目相机中得到的RGB图像,另一类是激光雷达中得到的点云。
3D目标检测中的算法分类:
按照模态可以分为:基于RGB图像的、基于点云的以及基于RGB图像与点云模态融合的。
bbox的参数表示:
主要的表示方法有以下的四种,用的最多的是最后一种,即使用中心点的坐标以及框的尺寸+一个偏航角这种7个参数的表示法。
整体的分类结果如下:
常用数据集及其评价指标
上面介绍了很多数据集,但是最常用的是三个:KITTI、nuScenes、Waymo Open。
数据量:
KITTI<nuScenes<Waymo Open;
多样性:
KITTI中有8个类别50个场景,但是只使用3个类别(汽车、行人、自行车)做评估,并根据2D 边界框的高度、遮挡和截断情况分为三个级别(Easy, Moderate, and Hard);nuScenes中有23个类别1000个场景,使用10个类别做评估;Waymo Open中有4个类别1150个场景,同样使用3个类别做评估。值得一提的是
,后两者都有多样的气候和光照,而前者只有晴天白天。
评价指标:
KITTI的下载与评价指标见这里,nuscenes 的评价指标见这里,最后一个数据集我觉得我肯定用不到,就算了吧
评价指标之AP:
之前一直没有怎么搞明白AP,现在有点理解了,首先我们规定一个IOU的阈值,根据这个阈值我们就可以导出混淆矩阵,有了混淆矩阵我们就可以计算Precision和RecallPrecision和RecallPrecision和Recall,有个这两个值我们就可以绘制PR曲线,AP就是PR曲线下方的面积,但是直接算精确面积计算量会比较大,因此就需要做一个平滑操作,做完之后可以选择计算平滑后的精确面积,也可以将横轴做等分,取PrecisionPrecisionPrecision的平均值作为最终的结果。参考:目标检测中的AP,mAP
学位论文基 于 伪 雷 达 点 云 的 单 目 3 D 目 标 检测 方 法 研 宄
对于这一点也有介绍:
KITTI的评价指标:
分别是3D AP,BEV AP以及Average Orientation Similarity (AOS)(3D AP计算3DIOU,而BEV AP计算图像平面上的IOU,最后这个用于偏航角的评价)
基于RGB图像的算法
效果:
准确度相对较低(三种算法中最实惠)
主要的问题:
缺少深度信息
研究方向1-结果提升方法:
将3D目标检测任务分解为2D目标检测和深度估计,最后通过几何属性和约束将估计结果提升到3D空间。这个方法的基本假设是:可以根据视觉外观凭经验推断相关对象的空间位置。依赖于领域专业知识来设计 3D 表示,并借助先验知识进行模板匹配 或几何约束进行恢复
研究方向2-特征提升方法:
将2D图像特征转换到3D空间,通过伪激光雷达或学习潜在深度分布
基于点云的算法
效果:
相对更高的准确性和更低的延迟(三种算法中最优秀)
主要问题:
缺少点云特征学习的方法,因为点云是无序的(输入点云中点的任意顺序都应该对应相同的结果)、非结构化的(无法直接用CNN处理)、稀疏的(虽然是近密远疏,但是总体稀疏。比如用体素方法处理,但是非空体素在Waymo Open中只有1%,在KITTI中只有3%)
研究方向1-基于体素:
将不规则的点云转换成规则的体素(2D或者3D规则网格),然后将其折叠为2D鸟瞰图,接着使用CNN显式特征提取。此时体素的尺寸选择狠重要,放大体素尺寸会损失分辨率降低定位精度,缩小体素尺寸会随着输入分辨率的增加以3次方的速率增加复杂度与内存占用。
研究方向2-基于点:
采用pointNet类似的结构或者GNN直接学习点云特征,没有量化操作,保留了点云的原始几何信息。前者一般都会采用ball-query操作,但是这个过程中,检索点的时间占据了运行时间的80%,因为点云的局部性特别差。
研究方向3-基于点体素:
融合体素和点的特征提取方法的优势
注:
基于体素的方法占据了主流,因为基于体素的硬件很容易实现高效的硬件实现,具有出色的准确性和相对较低的延迟。而基于点的方法很容易保留点云的空间局部结构,但代价是比基于体素的方法花费更长的前馈时间。基于点体素的方法最具有潜力。
基于RGB图像与点云模态融合的算法
效果:
准确性和延迟比不上纯点云的算法,但是比纯图像好(三种算法中最有前景,更适用与现实场景,因为发生故障的时候可以提供备份,不至于系统奔溃。)
主要问题:
融合什么(RGB图像和点云)、怎么融合(就是要进行语义对齐,可以在不同的阶段不同的尺度做融合)、什么时候融合(早融合、深度融合、晚融合)
研究方向1-顺序融合:
数据流只有一条路径,不同模态的数据只有一个路径依次通过网络。
研究方向2-并行融合:
数据流只有多条路径,不同模态数据同时通过网络。这边的话,如果设计得当,一个分支被切断,网络仍可继续工作。根据单一模态数据的融合时机,可以继续分为早融合、深度融合以及晚融合
。
早融合:
在数据预处理的时候融合,但是由于在低级语义特征的情况下做对齐,会有很大的噪声,故不常使用
深度融合:
在中间进行特征融合
晚融合:
在每个模态数据处理完毕之后,得到最终结果之前融合
注:
效果比不上纯点云的原因:主要还是语义对齐问题。1、点云是3D视图而RGB图像是2D视图;2、图像是密集的网格点而点云是不规则的稀疏点;3、目前的融合方法主要是裁剪和特征图大小变换,这或许不是最佳的。
【3D目标检测】3D Object Detection for Autonomous Driving: A Survey相关推荐
- 3D Object Detection for Autonomous Driving: A Survey(自动驾驶中的3D目标检测综述)论文阅读笔记
原文链接:https://arxiv.org/pdf/2106.10823.pdf II.传感器 分为被动传感器(如摄像机)和主动传感器(如激光雷达).优缺点如下: 传感器 优点 缺点 单目摄像机 提 ...
- Multi-Modal 3D Object Detection in Autonomous Driving: a Survey(自动驾驶中的多模态3D目标检测综述)论文笔记
原文链接:https://arxiv.org/pdf/2106.12735.pdf 1.引言 1.1 单一传感器3D目标检测 基于图像的3D目标检测.低费用换来满意的性能.但存在遮挡. ...
- 文献解读-CVPR2019-Stereo R-CNN based 3D Object Detection for Autonomous Driving
小菜鸡最近跟着大佬们学看文献,那就适当地记录一下,当作自己的学习笔记吧.文中也有很多理解不到位的地方的,毕竟还只是个小菜鸟,不懂的地方多得是.所以哪里有问题的还请各位读者好好指点指点. 今天要介绍的论 ...
- 第三周 目标检测(Object detection)
第三周 目标检测(Object detection) 文章目录 第三周 目标检测(Object detection) 3.1 目标定位(Object localization) 3.2 特征点检测(L ...
- 多尺度目标检测 Multiscale Object Detection
多尺度目标检测 Multiscale Object Detection 我们在输入图像的每个像素上生成多个锚框.这些定位框用于对输入图像的不同区域进行采样.但是,如果锚定框是以图像的每个像素为中心生成 ...
- CVPR2018上关于目标检测(object detection)
CVPR2018上关于目标检测(object detection)的论文比去年要多很多,而且大部分都有亮点.从其中挑了几篇非常有意思的文章,特来分享,每篇文章都有详细的博客笔记,可以点击链接阅读. 1 ...
- ECCV2018目标检测(object detection)算法总览
ECCV2018目标检测(object detection)算法总览 原文:https://blog.csdn.net/u014380165/article/details/82025720 1.IO ...
- ssd目标检测训练自己的数据_目标检测Tensorflow object detection API之训练自己的数据集...
构建自己的模型之前,推荐先跑一下Tensorflow object detection API的demo JustDoIT:目标检测Tensorflow object detection APIzh ...
- CVPR2018 目标检测(object detection)算法总览
CVPR2018上关于目标检测(object detection)的论文比去年要多很多,而且大部分都有亮点.从其中挑了几篇非常有意思的文章,特来分享,每篇文章都有详细的博客笔记,可以点击链接阅读. 1 ...
最新文章
- 解放双手!接私活必备的Java开源项目
- 在Excel中世纪秒和时间字符串的转化
- mysql varchar char text
- 下一个更大元素 leetcode-496
- ToolProvider.getSystemJavaCompiler() return null 的解决方法
- http下载异常_百度网站抓取异常的原因有哪些?有什么影响和解决方法?
- linux开启IOMMU方法
- Android 系统(188)---Android开发:ListView、AdapterView、RecyclerView全面解析
- okhttp3图片压缩上传_支持 图片压缩、PDF压缩 合并 分割的网址、极力推荐、超奈斯...
- BZOJ 3240 构造矩阵+矩阵快速幂
- python 捕获多个异常_Python捕获多个异常
- 【每日算法Day 104】偷电瓶的周某今天放出来了,还不赶紧做这道题防范一下!...
- windows XP小技巧
- windows以G为单位整数分区公式(精准)
- MyBatisPlus多表关联查询,返回list
- 二进制与base64
- java发布geoserver样式(sld样式)
- 计算机solidwork实训报告,solid works学习心得范文
- docker镜像完全卸载
- rainbow与freda染旗