首页 > 从2D到3D的目标检测综述

从2D到3D的目标检测综述

点云PCL免费知识星球,点云论文速读。

文章:An Overview Of 3D Object Detection

作者:Yilin Wang  Jiayi Ye

翻译:分享者

本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。

论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信[email protected]

论文摘要

基于点云三维目标检测近年来逐渐成为三维计算机视觉领域的一个活跃的研究课题。然而,由于点云的复杂性,在激光雷达(LiDAR)中识别三维物体仍然是一个挑战。行人、骑车或交通要素等目标通常由非常稀疏的点云表示,这使得仅使用点云进行检测变得相当复杂。在本综述文章中,提出一个同时使用RGB和点云数据进行多类别物体识别的架构。利用现有的二维检测模型在RGB图像上定位感兴趣区域(ROI),然后在点云中采用像素映射策略,最后将初始的2D边界框映射到3D空间。我们使用最近发布的nuScenes数据集-一个包含许多数据格式的大型数据集来训练和评估我们提出的体系结构。

● 相关工作与介绍

目标检测的任务是找到图像中的所有感兴趣区域(ROI),并确定它们的位置和类别。由于各种物体的外观、形状和姿态的不同,以及成像过程中光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域的一个具有挑战性的问题。在这篇文献综述中,主要总结了一些最新的目标检测相关工作。

内容精华

数据格式

A、 数据集

在计算机图形学中,深度图是一种包含场景中对象到视点的距离的信息的图像。深度图类似于灰度图像,只是每个像素都是传感器和物体之间的距离信息。一般来说,RGB图像和深度图像像素之间存在一对一的对应关系,RGB-D格式的数据集包括Pascal VOC、COCO、ImageNet等。

雷达数据在目标检测问题中也很有用。雷达数据通过向目标表面发射无线电波来采集距离,然后利用反射信息计算目标的速度和与目标的距离。然而,雷达本身并不能提供足够的信息进行检测和分类,因此不同类型的数据融合非常重要。

点云数据是指三维坐标系中的一组向量。这些矢量通常用X、Y和Z三维坐标表示,通常用来表示物体的外表面形状。不仅如此,除了由(X,Y,Z)表示的几何位置信息外,每个点云还可能包括RGB颜色像素、灰度值、深度和法线。大多数点云数据是由三维扫描设备生成的,如激光雷达(2D/3D)、立体相机和飞行时间相机。这些设备自动测量物体表面上大量点的信息,然后通常以两种标准文件格式输出点云:LAS和.LAZ。这些点云数据由扫描设备采集。在用于训练的数据集中,除了点云数据外,还会有相应的RGB图像。此类数据集包括KITTI、nuScenes、Waymo Open等。

文献中使用nuScenes数据集来训练和评估模型。nuTonomy的nuScenes数据集是一个具有三维对象标注的大型自动驾驶数据集。与许多其他数据集相比,nuScenes数据集不仅具有更大的规模和更多的对象标记,而且提供了包括LIDAR、雷达、GPS和IMU在内的整个传感器套件。图1展示了nuScenes的激光雷达点云示例。

B、 预处理

虽然数据集中的图像质量较高,但在实际应用中,天气等因素会影响图像质量,从而降低检测精度。最近提出的一些交通场景除雾算法可以解决这类问题。有论文提出了一种基于伽马校正和引导滤波的除雾方法。该方法在除雾前对图像进行gamma校正,然后对gamma校正后的图像进行三种不同尺度的引导滤波处理。利用Retinex模型对滤波后的图像进行修正,最后进行加权融合得到去雾效果。该方法得到的除雾图像具有较高的对比度和颜色一致性。除了提高图像质量外,相机校准通常用于确定图像在三维空间中的位置。虽然相机标定一直是一个被广泛研究的问题,但是大多数的标定方法都是固定摄像机的位置并使用一些已知的标定模式。Basu提出了一种利用场景中清晰的边缘和移动摄像机来自动标定摄像机的方法,而不需要预先定义模式。除上述问题外,有些数据集还存在严重的类不平衡问题。有论文提出了一种有效处理这一问题的方法,并在新的数据集中取得了良好的性能。首先采用数据扩充策略,然后对三维特征提取网络进行改进,最后对训练过程和损失评估进行全面改进。

二维目标检测

A、 传统方法

传统的目标检测算法通常基于各种特征描述子。一个著名的描述符是定向梯度直方图(HOG)。它统计图像局部渐变方向的出现次数。Hog特征与SVM分类器相结合在目标检测中得到了广泛的应用,特别是在行人检测方面取得了很大的成功。特征检测在传统方法中占有重要地位。近年来,人们对特征提取进行了许多有趣的研究。Hough变换是图像几何形态识别的基本方法之一。例如,在人脸跟踪问题中利用基于梯度的Hough变换来定位眼睛的mask位置。然而,对于具有非单视点(SVP)准则的图像,这种变换不能直接用于特征识别。在地面空中交通场景中,[16]将Radon变换应用于视觉手势识别,获得了很好的识别率。在前人的研究中,提出了一种新的鼻形研究方法。该方法采用面积增长法确定机头所在区域,并通过预先定义的模板分别提取机头和机头翼的形状。最后,利用提取的特征来表示人脸跟踪的效果。一旦检测到感兴趣的特征,就可以使用Kanade–Lucas–Tomasi特征跟踪器(KLT)来跟踪下一帧中的特征。作者在2005年[18]提出了一种利用拉普拉斯高斯(LoG)和高斯加权函数来提高KLT跟踪性能的方法。将边缘特征耦合到加权函数中,得到了选择最优加权函数的确定性公式。这样,在提高跟踪性能的同时,增加了一点计算时间。有时除了特征提取外,还涉及图像分割。[19] 介绍了一种利用梯度矢量流(GVF)snakes在三维切片上提取相关轮廓的方法。对原有的GVF-snake方法进行了改进,利用气道CT切片的先验知识,增加了边缘检测和snake偏移技术,取得了较好的效果。这种技术也可能有用。另一个问题是摄像机运动引起的,随着采集数据的设备类型的增加,来自运动摄像机的数据越来越多。对于背景减法问题,虽然许多方法对从静止相机获得的数据都很有效,例如,在先验知识下,前景和背景在每一帧中有很大的区别,聚类可以在一次迭代中完成,只需要两个簇,[20] 能够实现高精度的背景减法。然而,处理移动摄像机更具挑战性。该方法首先利用鲁棒主成分分析(RPCA)提取背景运动,假设背景场景运动可以描述为一个低秩矩阵,然后将帧分割成子像素,以提高将光流转化为运动幅度和角度的精度,从而提高了结果。

B、 深度学习方法

目标识别是指一组相关的任务,用于识别图像或视频中的对象。目标是找到图像中所有感兴趣的对象并确定它们的二维位置。感兴趣的区域通常由边界框定义。目前,目标检测领域的深度学习方法主要分为两类:一级目标检测算法和一级目标检测算法。前者是由算法生成的一系列候选框作为样本,然后用卷积神经网络对样本进行分类。后者可以直接将目标边界定位问题转化为回归问题,而无需生成候选框。由于两种方法的不同,两种方法的性能也不同。前者在检测精度和定位精度上优于后者,后者在算法速度上优于后者。此外,泛型框架主要有两种类型。第一个是两阶段框架。在这种框架中,区域建议被生成并随后被划分为不同的对象类别。因此也被称为基于区域的方法。这类模型主要包括R-CNN、Fast-RCNN、更快的R-CNN、基于区域的全卷积网络(R-FCN)等。在单阶段,模型将目标检测任务视为一个统一的、端到端的回归问题。在这种框架中,图像被缩放到相同的大小,并被均匀地分成网格。如果目标的中心落在网格单元中,则该网格单元负责预测目标。这样,模型只需对图像进行一次处理,就可以同时得到图像的位置和分类。一级框架主要包括MultiBox、YOLO、Single Shot MultiBox Detector(SSD)。与第一类框架相比,这种框架通常具有更简单的结构和更快的检测速度。

三维目标检测

在这一部分中,我们简要地讨论了一些现有的与三维物体检测相关的工作。我们根据不同的数据信息将这些作品分为三大类。

A、 利用RGB图像进行目标检测RGB图像具有丰富的语义信息,在目标检测中具有重要的应用价值。2是使用2D图像的对象检测示例。3D-GCK[29]等方法只使用单眼RGB图像,可以实现实时车辆检测。它首先预测二维边界框,然后利用神经网络估计缺失的深度信息,将二维边界框提升到三维空间。

B、 基于点云的目标检测

主要有两种类型的分类网络只使用点云数据。第一种方法直接使用三维点云数据。这种方法不会损失信息,但由于三维数据的复杂性,计算量往往很高。第二种方法通过将点云处理成二维数据来减少计算量,但不可避免地会丢失原始数据的某些特征。图3显示了三维激光雷达点云数据中的检测示例。

基于yolo实现的3D点云的目标检测

有很多方法可以将点云处理为二维数据。詹森的方法是通过使用几个二维透视图来表示三维点云。在数据预处理阶段,以图像中心为原点,以固定半径旋转,从64个不同角度截取点云图像。由于在分类过程中加入了额外的旋转和大量的实例,因此该方法在一定程度上减少了信息的丢失。尽可能多地把信息留给其他人。BirdNet+是BirdNet的一个改进,BirdNet是一个对象检测框架。BirdNet+为激光雷达数据上的3D目标检测提供了端到端解决方案。它采用由LiDAR点云变换而成的具有三个通道的二维结构的鸟瞰图表示,采用两级结构来获得面向三维的盒体。最近,论文提出了一种基于无监督深度学习的计算效率高的端到端鲁棒点云对齐和目标识别方法,即deep point cloud Mapping Network(DPC-MN)。该模型无需标注即可训练,有效地实现了从三维点云表示到二维视图的映射功能。

C、 结合RGB图像和点云

Frustum PointNets目标检测同时使用RGB图像和激光雷达点云数据进行三维目标检测。该算法充分利用了成熟的二维目标检测器,减少了搜索空间。该算法通过从图像检测器中挤出二维边界盒,提取物体的三维包围体,然后在被三维视锥分割的三维空间中进行三维物体实例分割。

MV3D 实现的目标检测

MV3D还使用RGB图像和激光雷达点云数据作为输入。它将三维点云投影到鸟瞰视图和前视图。鸟瞰图由高度、强度和密度编码而成,而正视图是通过将点云投影到圆柱面上而生成的。利用鸟瞰图生成三维先验框,然后将三维先验框投影到正视图和图像上。所有三个输入都生成一个特征映射。采用ROI池技术将三个特征映射集成到同一个维度上。融合后的数据通过网络融合,输出分类结果和边界盒。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

往期线上分享录播汇总

第一期B站录播之三维模型检索技术

第二期B站录播之深度学习在3D场景中的应用

第三期B站录播之CMake进阶学习

第四期B站录播之点云物体及六自由度姿态估计

第五期B站录播之点云深度学习语义分割拓展

第六期B站录播之Pointnetlk解读

[线上分享录播]点云配准概述及其在激光SLAM中的应用

[线上分享录播]cloudcompare插件开发

[线上分享录播]基于点云数据的 Mesh重建与处理

[线上分享录播]机器人力反馈遥操作技术及机器人视觉分享

[线上分享录播]地面点云配准与机载点云航带平差

点云PCL更多活动请查看:点云PCL活动之应届生校招群

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作:微信“920177957”(需要按要求备注)联系邮箱:[email protected],欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

更多相关:

  • 本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:【公众号dotNet工控上位机:thinger_swj】基于Socket访问西门子PLC系列教程(一)在完成上述步骤后,接下来就是编写上位机软件与PLC之间进行通信。上位机UI界面设计如下图所示:从上图可以看出...

  • 我有一个大型数据集,列出了在全国不同地区销售的竞争对手产品。我希望通过使用这些新数据帧名称中的列值的迭代过程,根据区域将该数据帧分成几个其他区域,以便我可以分别处理每个数据帧-例如根据价格对每个地区的信息进行排序,以了解每个地区的市场情况。我给出了以下数据的简化版本:Competitor Region ProductA Product...

  • 作为一名IT从业者,我来回答一下这个问题。首先,对于具有Java编程基础的人来说,学习Python的初期并不会遇到太大的障碍,但是要结合自己的发展规划来制定学习规划,尤其要重视学习方向的选择。Java与Python都是比较典型的全场景编程语言,相比于Java语言来说,当前Python语言在大数据、人工智能领域的应用更为广泛一些,而且大...

  • 这段时间通过学习相关的知识,最大的变化就是看待事物更加喜欢去了解事物后面的本质,碰到问题后解决问题思路也发生了改变。举个具体的例子,我在学习数据分析,将来会考虑从事这方面的工作,需要掌握的相关专业知识这个问题暂且按下不表,那哪些具体的问题是我需要了解的呢,以下简单罗列:1、了解数据分析师这个岗位在各个地区的需求情况?2、数据分析师的薪...

  • 这一节将开始学习python的一个核心数据分析支持库---pandas,它是python数据分析实践与实战的必备高级工具。对于使用 Python 进行数据分析来说,pandas 几乎是无人不知,无人不晓的。今天,我们就来认识认识数据分析界鼎鼎大名的 pandas。目录一. pandas主要数据结构 SeriesDataFrame二...

  • 点云PCL免费知识星球,点云论文速读。标题:三维点云分割综述(上)排版:particle欢迎各位加入免费知识星球,获取PDF文档,欢迎转发朋友圈,分享快乐。这是一篇综述性论文,以下只做概述性介绍,介绍文章已共享在微信群和免费知识星球中,文章在公众号将分成三个部分:第一部分介绍点云的获取以及各种传感器获取点云的特性,以及分割概念的区别...

  • 点云PCL免费知识星球,点云论文速读。文章:DLL: Direct LIDAR Localization. A map-based localization approach for aerial robots作者:Fernando Caballero1 and Luis Merino编译:点云PCL代码:https://githu...

  • CloudCompare是一个三维点云(网格)编辑和处理软件。最初,它被设计用来对稠密的三维点云进行直接比较。它依赖于一种特定的八叉树结构,在进行点云对比这类任务时具有出色的性能【1】。此外,由于大多数点云都是由地面激光扫描仪采集的,CloudCompare的目的是在一台标准笔记本电脑上处理大规模的点云——通常超过1000万个点云。...

  • 点云PCL免费知识星球,点云论文速读。文章:Open3DGen: Open-Source Software for Reconstructing Textured 3D Models from RGB-D Images作者:Teo T. Niemirepo, Marko Viitanen, and Jarno Vanne编译:点云P...

  • 点云PCL免费知识星球,点云论文速读。标题:Real-Time Spatio-Temporal LiDAR Point Cloud Compression作者:Yu Feng , Shaoshan Liu , and Yuhao Zhu来源:2020IROS本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF...

  • 无论是aruco还是apriltag二维码标定板检测的思路是提取一块四边形的区域,这个区域具有比周围亮度更低的特点。这个思路的主要优点是尽可能多的检测出所有可能的二维码,但是根据采集数据的环境极有可能出现异常线段,然后再根据二维码的编码值可以对野值进行剔除实现识别与定位。ArUcoArUco是一个开源的小型的AR虚拟现实增强库,已经...

  • 首先我们知道Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主,那么PCL中也是利用这一思想来进行行人的检测, 总体思路: 1、提取...

  • 文章目录环检测在图数据结构中的应用深度/广度优先 检测环并查集数据结构 (Union-Find)基本概念初始化合并 union查找祖先优化1: 合并过程 利用 rank 优化路径优化2: 路径压缩(Path Compression)并查集 解决图中检测环问题...