3D点云点云分割、目标检测、分类

原标题Deep Learning for 3D Point Clouds: A Survey

作者Yulan Guo, Hanyun Wang, Qingyong Hu, Hao Liu, Li Liu, and Mohammed Bennamoun

原文参考链接:https://arxiv.org/abs/1912.12033

导读

3D点云学*( Point Clouds)作为*年来的研究热点之一,受到了广泛关注,每年在各大会议上都有大量的相关文章发表。当前,点云上的深度学*变得越来越流行,人们提出了许多方法来解决这一领域的不同问题。国防科技大学郭裕兰老师课题组新出的这篇论文对*几年点云深度学*方法进行了全面综述,是第一篇全面涵盖多个重要点云相关任务的深度学*方法的综述论文,包括三维形状分类、三维目标检测与跟踪、三维点云分割等,并对点云深度学*的机制和策略进行全面的归纳和解读,帮助读者更好地了解当前的研究现状和思路。也提供了现有方法在几个可公开获得的数据集上的全面比较,最后也介绍了未来的研究方向。

对于3D点云,数据正在迅速增长。大有从2D向3D发展的趋势,比如在opencv中就已经慢慢包含了3D点云的处理的相关模块,在数据方面点云的获取也是有多种渠道, 无论是源于CAD模型还是来自LiDAR传感器或RGBD相机的扫描点云,无处不在。 另外,大多数系统直接获取3D点云而不是拍摄图像并进行处理。因此,在深度学*大火的年代,应该如何应用这些令人惊叹的深度学*工具,在3D点云上的处理上达到对二维图像那样起到很好的作用呢?

3D点云应用深度学*面临的挑战。首先在神经网络上面临的挑战:

(1)非结构化数据(无网格):点云是分布在空间中的XYZ点。 没有结构化的网格来帮助CNN滤波器。

(2)不变性排列:点云本质上是一长串点(nx3矩阵,其中n是点数)。 在几何上,点的顺序不影响它在底层矩阵结构中的表示方式,例如,
相同的点云可以由两个完全不同的矩阵表示。 如下图所示:

(3)点云数量上的变化:在图像中,像素的数量是一个给定的常数,取决于相机。
然而,点云的数量可能会有很大的变化,这取决于各种传感器。

在点云数据方面的挑战:

(1)缺少数据:扫描的模型通常被遮挡,部分数据丢失。

(2)噪音:所有传感器都是嘈杂的。
有几种类型的噪声,包括点云扰动和异常值。 这意味着一个点有一定的概率位于它被采样的地方(扰动)附*的某一半径范围内,或者它可能出现在空间的任意位置(异常值)。

(3)旋转:一辆车向左转,同一辆车向右转,会有不同的点云代表同一辆车。

摘要

点云学**年来受到越来越多的关注,因为它在许多领域都有广泛的应用,比如计算机视觉、自动驾驶和机器人技术。作为人工智能的主要技术之一,深度学*已经成功地用于解决各种二维视觉问题。然而,由于使用深度神经网络处理点云所面临的独特挑战,对点云的深度学*仍处于起步阶段。最*,点云上的深度学*变得越来越流行,人们提出了许多方法来解决这一领域的不同问题。为了激发未来的研究,本文对点云深度学*方法的最新进展进行了综述。它涵盖了三个主要任务,包括三维形状分类,三维目标检测和跟踪以及三维点云分割。我们还提供了一些可公开获得的数据集的比较结果,以及有见地的观察和启发性的未来研究方向。

引 言

3D数据在不同的领域有许多应用,包括自动驾驶、机器人、遥感、医疗和设计行业[4]。*年来,深度学*技术在计算机视觉、语音识别、自然语言处理(NLP)、生物信息学等研究领域占据主导地位。但是,在三维点云上进行深度学*仍然面临数个重大挑战[5],例如数据集规模小,维数高和三维点云的非结构化性质。在此基础上,本文重点分析了用于处理三维点云的深度学*方法。

一些公开的数据集也被发布,例如ModelNet [6],ShapeNet
[7],ScanNet [8],Semantic3D [9]和KITTI Vision Benchmark Suite
 [10]。这些数据集进一步推动了对三维点云的深度学*研究,提出了越来越多的方法来解决与点云处理相关的各种问题,包括三维形状分类、三维目标检测与跟踪、三维点云分割等。

这篇论文是第一个专门针对点云的深度学*方法的综述。此外,论文全面涵盖了分类,检测,跟踪和分割等不同应用。图1显示了三维点云的现有深度学*方法的分类。

图1:三维点云深度学*方法分类。

这项工作的主要贡献可以概括如下:

·      
1)据我们所知,这是第一篇全面涵盖多个重要点云相关任务的深度学*方法的综述论文,包括三维形状分类、三维目标检测与跟踪、三维点云分割等。

·      
2)相对于已有的综述[11],[12],我们特别关注三维点云的深度学*方法,而不是所有类型的三维数据。

·      
3)本文介绍了点云深度学*的最新进展。因此,它为读者提供了最先进的方法。

·      
4)提供了现有方法在几个可公开获得的数据集上的全面比较(例如,表1、2、3、4),并提供了简要的总结和深入的讨论。

本文的结构如下。第2节回顾了三维形状分类的方法。第3节概述了现有的三维目标检测和跟踪方法。第4节介绍了点云分割的方法,包括语义分割、实例分割和部件分割。最后,第5节总结了论文。

论文还在以下网址上提供了定期更新的项目页面:

https://github.com/QingyongHu/SoTA-Point-Cloud


图2:三维形状分类网络的时间顺序概览。

图3:PointNet的体系结构。

图4:点的局部邻居的连续和离散卷积的图解。(a)代表一个局部邻居;(b)和(c)分别表示三维连续卷积和离散卷积。

图5:基于图的网络的图解。

表1:在ModelNet10/40基准上比较三维形状分类结果。这里,我们只关注基于点的网络,“#params”表示相应模型的参数数量。“OA”表示总体精度,“mAcc”表示表中的平均精度。符号“-”表示结果不可用。

图6:按时间顺序概述的最相关的基于深度学*的三维目标检测方法。

图7:三类三维目标检测方法的典型网络。从上到下:(a)基于多视图,(b)基于分割,(c)基于视锥的方法。

表2:在KITTI测试三维检测基准上的三维目标检测结果对比。

表3:在KITTI test BEV检测基准上三维目标检测结果对比。

图8:按时间顺序概述了一些最相关的基于深度学*的点云语义分割方法。

图9:基于投影方法的中间表示图。

图10:PointNet++[27]框架的示意图。

图11:有代表性的三维点云实例分割方法的年代概述。


未来方向

表4展示了现有方法在公共基准测试上的结果,包括S3DIS[176]、Semantic3D[9]、ScanNet[102]、SemanticKITTI[177]。需要进一步研究的问题有:

·      
基于点的网络是最常被研究的方法。然而,点表示自然不具有显式的邻*信息,现有的大多数基于点的方法不得不借助于昂贵的邻*搜索机制(如KNN[52]或ball query
[27])。
这从本质上限制了这些方法的效率,因为邻居搜索机制既需要很高的计算成本,又需要不规则的内存访问[214]。

·      
从不平衡数据中学*仍然是点云分割中一个具有挑战性的问题。虽然有几种的方法取得了显著的综合成绩[42]、[170]、[182],但它们在类标很少的情况下表现仍然有限。例如,RandLA-Net[95]在Semantic3D的reduced-8子集上获得了76.0%的整体IoU,而在hardscape类上获得了41.1%的非常低的IoU。

·      
大多数现有的方法[5]、[27]、[52]、[170]、[171]都适用于小点云(如1m*1m,共4096个点)。在实际中,深度传感器获取的点云通常是巨大的、大规模的。因此,有必要进一步研究大规模点云的有效分割问题。

·      
已有少数文献[145]、[146]、[167]开始研究动态点云的时空信息。预期时空信息可以帮助提高后续任务的性能,如三维目标识别、分割和完成

表4:S3DIS(包括Area5和6-fold
cross validation)[176]、Semantic3D(包括semantic-8和reduced-8子集)[9]、ScanNet[8]和SemanticKITTI[177]数据集的语义分割结果对比。


结论

本文介绍了最先进的三维理解方法,包括三维形状分类,三维目标检测和跟踪,以及三维场景和目标分割。对这些方法进行了全面的分类和性能比较。介绍了各种方法的优缺点,并提出了今后的研究方向。

3D点云点云分割、目标检测、分类的更多相关文章

  1. 转载:点云上实时三维目标检测的欧拉区域方案 ----Complex-YOLO

    感觉是机器翻译,好多地方不通顺,凑合看看 原文名称:Complex-YOLO: An Euler-Region-Proposal for  Real-time 3D Object Detection ...

  2. 多目标检测分类 RCNN到Mask R-CNN

    最近做目标检测需要用到Mask R-CNN,之前研究过CNN,R-CNN:通过论文的阅读以及下边三篇博客大概弄懂了Mask R-CNN神经网络.想要改进还得努力啊... 目标检测的经典网络结构,顺序大 ...

  3. CVPR2020论文解读:3D Object Detection三维目标检测

    CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...

  4. Comparison of SIFT Encoded and Deep Learning Features for the Classification and Detection of Esca Disease in Bordeaux Vineyards(分类MobileNet,目标检测 RetinaNet)

    识别葡萄的一种虫害,比较了传统SIFT和深度学习分类,最后还做了目标检测 分类用的 MobileNet,目标检测 RetinaNet MobileNet 是将传统深度可分离卷积分成了两步,深度卷积和逐 ...

  5. ICCV2019论文点评:3D Object Detect疏密度点云三维目标检测

    ICCV2019论文点评:3D Object Detect疏密度点云三维目标检测 STD: Sparse-to-Dense 3D Object Detector for Point Cloud 论文链 ...

  6. 点云3D 目标检测

    点云 点云是雷达采集到的信息. 关于点云基本介绍参考https://zhuanlan.zhihu.com/p/22581673 ros中的点云消息结构:http://docs.ros.org/jade ...

  7. CVPR2020论文介绍: 3D 目标检测高效算法

    CVPR2020论文介绍: 3D 目标检测高效算法 CVPR 2020: Structure Aware Single-Stage 3D Object Detection from Point Clo ...

  8. CVPR2020:三维实例分割与目标检测

    CVPR2020:三维实例分割与目标检测 Joint 3D Instance Segmentation and Object Detection for Autonomous Driving 论文地址 ...

  9. CVPR2020|3D-VID:基于LiDar Video信息的3D目标检测框架

    作者:蒋天园 Date:2020-04-18 来源:3D-VID:基于LiDar Video信息的3D目标检测框架|CVPR2020 Brief paper地址:https://arxiv.org/p ...

随机推荐

  1. Vue学习(二)-Vue中组件间传值常用的几种方式

    版本说明:vue-cli:3.0 主要分为两类: 1.父子组件间的传值 2.非父子组件间的传值 1.父子组件间传值 父组件向子组件传值 第一种方式: props 父组件嵌套的子组件中,使用v-bind ...

  2. hdu4807枚举费用流

    题意:      给你一个有向图,每条边上都有每一时刻的最大流量,有k个人在点0,他们要去点n-1,问你最晚到达的那个人最快要多久. 思路:      这个题目做了很多次,用过费用流,也用过最大流,结 ...

  3. AliCrackme_2题的分析

    作者:Fly2015 AliCrackme_2.apk运行起来的注册界面,如图. 首先使用Android反编译利器Jeb对AliCrackme_2.apk的Java层代码进行分析. 很幸运,就找到了该 ...

  4. 基于Xposed Hook实现的Android App的协议算法分析小工具-CryptoFucker

    本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80962121 在进行Android应用的网络协议分析的时候,不可避免涉及到网络传 ...

  5. [CTF]当铺密码

    [CTF]当铺密码 ---------------------  作者:adversity`  来源:CSDN  原文:https://blog.csdn.net/qq_40836553/articl ...

  6. 教你用SQL实现统计排名

    前言: 在某些应用场景中,我们经常会遇到一些排名的问题,比如按成绩或年龄排名.排名也有多种排名方式,如直接排名.分组排名,排名有间隔或排名无间隔等等,这篇文章将总结几种MySQL中常见的排名问题. 创 ...

  7. 04.06 UCF Local Programming Contest 2017

    A.Electric Bill 题意:简单计算题,超过1000部分额外算 1 #include<stdio.h> 2 int main(){ 3 int money1,money2; 4 ...

  8. React中diff算法的理解

    React中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DO ...

  9. C++ primer plus读书笔记——第4章 复合类型

    第4章 复合类型 1. 如果将sizeof运算符用于数组名,得到的将是整个数组中的字节数. 2. 如果对数组的一部分进行初始化,则编译器把其他元素设置为0.因此,将数组中的所有元素初始化为0,只要显式 ...

  10. qsort和sort学习与比较

    阅读另一篇博文Uva 642 - Word Amalgamation sort qsort 1.qsort函数: 原 型: void qsort(void *base, int nelem, int ...