社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

一文入门基于三维数据的深度学习

我爱计算机视觉 • 5 年前 • 677 次点击  

本文转载自北京智源人工智能研究院。


这是一篇三维数据深度学习的入门好文,兼顾基础与前沿,值得收藏!为方便大家学习,本文PDF版本和所列出的所有文献提供下载,(2020年7月27日11点后)在我爱计算机视觉公众号后台回复“3DDL”。


众所周知,计算机视觉的目标是对图像进行理解。我们从图像中获取视觉特征,从视觉特征中对图像、场景等进行认知,最终达到理解、感知、交互。


目前,比较主流的计算机视觉基本是基于二维数据进行的,但是回顾计算机视觉的发展历程,我们不难看出特征提取的演化过程是随着计算机的算力条件的不同而发展的。

随着硬件的飞速发展,我们获取三维数据和处理三维数据的成本越来越低,而需求却越来越高,因此基于三维数据进行的计算机视觉也逐渐发展和壮大起来。


本篇文章,小编为大家整理了基于三维数据的深度学习的一些内容,包括

  • 三维数据在产业中的应用、

  • 三维数据采集的硬件设备及其原理、

  • 三维数据(主要是三维点云)在形状分类、目标检测和跟踪、图像分割三大领域中的代表工作

  • 以及目前使用三维数据进行深度学习模型建立和求解的过程中存在的问题。


作者:智源社区 钱小鹅


三维数据的应用综述


所谓三维(3D)数据,是指数据包含了现实三维场景中完整的几何信息的数据,与我们熟悉的二维数据相比,由于3D数据带有深度信息,因此它也成为了实现高精度识别、定位、重建、场景理解等机器视觉的关键。


相对二维数据,3D数据虽然在数据表达上具有天然的优势,但由于在算法处理中需要更多的算力以及更复杂的模型,硬件设备搭建的复杂性以及成本的昂贵性等原因,在发展初期通常只用于军工、医疗等非常专业的领域。


近年来,由于3D的传感器的不断迭代和发展,使得获取的点云数据精度不断提高,同时硬件成本不断下降,以及虚拟网络应用趋向转为物理世界应用的原因,使得3D数据的应用逐渐从专业领域向消费级产品进行过度,以2010年Kinect和2017年iPhoneX的发布为标志,使用3D数据驱动的方法用于对现实世界的理解以及交互显然变得越来越重要。目前,3D数据常被使用的领域包括:


(1) 消费电子:如人脸活体检测及识别;3D感应人体关键骨骼点,进行体感互动游戏;手势识别及控制、构建三维信息进行虚拟和真实世界交互。

 


图1:三维数据在消费电子领域应用

 

(2) 机器人:如精确识别障碍物进行自动避障;获取周围环境深度信息,定位及构建地图;智能导航、无人机定高悬停等。

 


图2:三维数据在机器人领域应用

 

(3) 安防监控&轨道交通:如获取人体深度数据进行人数统计、人员跟踪;通过智能方向识别忽略交错人流;智能停车、车辆识别;增加监控环境三维信息,实时监控车辆等。


图3:三维数据在安防监控&轨道交通应用

 

(4)  无人驾驶&工业自动化:激光雷达将与其他传感器融合用于无人驾驶中;车厢监控,监测驾驶员疲劳状态,监控车内人员情况;仓储分拣,智能识别货物信息 ;物流包裹体积测量,可快速识别包裹长宽高等。

 


图4:三维数据在无人驾驶&工业自动化领域应用

 

三维数据采集设备介绍


现行专业级或者消费级的三维点云数据的采集硬件大体可以分为两大类:3D相机和激光雷达


3D相机是在原有相机成像的原理基础上叠加深度信息,目前3D相机获取深度信息通常采用两种主流技术,三角法(Triangulation)和飞时法(Time-of-Flight, ToF)。


采用三角法的3D视觉技术包括双目技术和结构光技术,基本原理采用三角几何视差来获得目标到相机的距离信息。这种方法在近距离有着很高的精度,但是误差会随着距离增大而快速变大。


ToF技术测量相机是指主动投射出的光束经过目标表面反射后被相机接收这个过程的来回的飞行时间,基于光速即可获得目标到相机的距离。ToF技术在不同距离的误差相对三角法更稳定,在远距离有着更好的精度。


除3D相机外,经常提及的3D数据采集设备还包括激光雷达。


所谓激光雷达,即激光探测与测距,是一种类似于雷达的主动式遥感技术,利用的是激光光波而非无线电波,具有快速、准确的特点。


激光雷达在自动驾驶、机器人定位及建图、三维重建等领域中通常会搭配视觉相机进行算法集成。接下来,我们为大家具体介绍不同传感器获取三维点云数据的原理。


TOF


TOF工作原理可以分为两类:i-ToF和d-ToF。i-ToF,即indirect ToF,通过传感器在不同时间窗口采集到能量值的比例关系,解析出信号相位,间接测量发射信号和接收信号的时间差,进而得到深度。d-ToF即direct ToF,相比于i-ToF技术用测量信号的相位来间接地获得光的来回飞行时间,d-ToF (direct time-of-flight) 技术直接测量光脉冲的发射和接收的时间差。


图5:TOF工作原理


双目/结构光


双目深度重建利用的是三角测距法计算被测物体到相机的距离。具体的说,就是从两个相机观察同一物体,被观测物体在两个相机中拍摄到的图像中的位置会有一定位置差。正如将一只手指放在鼻尖前,左右眼看到的手指位置会有一个错位的效果。这个位置差称为视差,被摄物离相机越近,视差就越大;距离越远,视差就越小。在已知两个相机间距等相对位置关系的情况下,即可通过相似三角形的原理计算出被摄物到相机的距离。

 


图6:双目工作原理

 

结构光方案是一种主动双目视觉技术。每个结构光相机包括两个基本组件:一个红外激光投射端和一个红外摄像头。其基本思路是将已知的结构化图案投影到被观测物体上,这些结构化图案将根据物体的几何形状和拍摄距离而发生相应的形变。红外摄像头从另一个角度进行观察,通过分析观测图案与原始图案之间发生的形变,可以得到图案上各像素的视差,再根据相机的内外参恢复出深度。

 


图7:结构光工作原理

 

激光雷达[2]


激光测距的方法主要分为两类:一类是连续波测距法;另一类是脉冲测距法。激光雷达可以采用在平面上进行线扫描的二维激光雷达或能够进行面扫描的三维激光雷达。激光雷达主要由激光光源、激光发射与接收光学及机械系统、信号接受采集系统、控制系统等部分组成。激光雷达采用脉冲或连续波两种工作方式,探测方法分为直接探测和外差探测,通过发射一定频率的激光脉冲,激光雷达把短激光脉冲发射到大气层,沿着它的轨迹,光被小粒子以及空气分子散射开。反向散射到激光雷达系统,通过接受空气中的粒子和分子散射回来的信号强度和频移,从而探测物体的三维分布和径向速度。影响激光雷达精度的原因有很多,比如GPS、IMU和激光器内在精度、大气环境、地形起伏、植被覆盖等。

 

三维点云与深度学习


正如上文所述,3D数据在各领域应用非常广泛,而近年来深度学习同样也在计算机视觉中展露头角,因此许多学者将研究投入到基于三维数据的深度学习。3D数据与2D数据最大的区别即在于数据的表现形式。众所周知,2D数据可以表示为一个二维矩阵,但3D数据通常有许多种表现形式(如图8):深度图、点云、网格、体积网格(volumetric grids)

 


图8:三维数据的表达形式


3D数据的表达形式通常由应用驱动,例如在计算机图形学中做渲染和建模通常我们选择网格化数据,而将空间进行三维划分我们一般使用体积网格等,而在3D场景理解时,我们一般使用点云。三维点云具有许多优势[4]:


  • 点云非常接近原始传感器的数据集,激光雷达扫描之后输出的数据即为点云,深度传感器(深度图像)只不过是一个局部的点云,原始的数据可以做端到端的深度学习,挖掘原始数据中的模式;

  • 点云在表达形式上是更为简单,原始的点云信息是一组无序的三维点坐标。相比较来说,网格需要选择面片类型、体积网格需要根据分辨率选择网格的大小等,深度图需要注意拍摄的角度,表达也不全面;


当然,三维点云数据同样具有许多的缺点:


  • 如果直接使用3D的卷积神经网络,其复杂度为O(),计算复杂度很高。通常大家会刻意的降低分辨率来减少复杂度,而降低分辨率会带来量化的噪声错误;

  • 如果考虑不计复杂度的栅格,由于传感器只能扫描到表面,因此会导致大量的体积网格都是空白,所以体积网格并不是对3D点云很好的一种表达方式;如果用3D点云数据投影到2D平面上用2D卷积神经网络进行训练,这样会损失3D的信息;

  • 在深度学习大热之前,多数研究倾向于在点云中提取手工的特征,再接FC,由于手工特征的局限性,限制了点云信息的表达。

 

目前三维点云在深度学习领域中的应用大体框架如图9[1],主要分为:三维形状分类、三维目标检测及跟踪、三维点云分割。随着一些三维点云数据集的发布,例如:ModelNet,ShapeNet,ScanNet,Semantic3和KITTI Vision Benchmark Suite等,进一步推动了对三维点云的深度学习的研究。


图9:基于三维点云的深度学习分类图

 

与二维相比,基于三维点云的深度学习一般需要在我们通常熟悉的网络结构之前进行点云表示的处理。


点云数据在欧式空间中具有三个特征:

①无序性,点云是一个集合,因此对顺序不敏感。目前文献中使用的方法包括将数据重排列、使用对称函数保证派别的不变性、用数据的所有排列进行数据增强;

②点与点之间包含有意义的空间关系,为了有效使用这种空间关系,目前文献主张将局部特征和全局特征进行串联、特征直接聚合;

③不变性,点云数据所代表的目标对某些空间转换具有不变性,比如旋转和平移。目前文献主张使用的方法包括引入各种具有不变性特征的算子、通过训练一个小型的网络来得到旋转矩阵,在特征提取之前对点云数据进行对齐。


基于上文中我们提到的点云特征和对应的技术,我们将点云在深度学习中的表示及处理方法大体分为如下:


1.基于投影方法:基于投影的方法通常将非结构化的点云投影至中间的规则表示(即不同的表示模态),接着利用2D或者3D卷积来进行特征学习,实现最终的模型目标。目前学术界提出的表示模态包括:多视角表示、鸟瞰图表示、球状表示、体素表示、超多面体晶格表示以及混合表示。


2.基于点的方法:基于点的方法直接在原始数据上进行处理,并不需要体素化或是投影。基于点的方法不引入其它的信息损失且变得越来越流行。根据网络结构的不同,这类方法可以被分为以下几类,包括:点光滑的MLP(PointWise);基于卷积的方法;基于图的方法;基于数据索引的方法以及其它网络。总体而言,这类方法可被简单的分为以下几类:基于各个点的MLP方法,基于点卷积的方法,基于RNN的方法和基于图的方法。

 

下面我们对三维点云在深度学习中的三大应用领域分别做详细介绍。

 

三维形状分类

 


图10:3D形状分类方法发展史


在三维形状分类中,最早的文献可以追溯到2015年的MVCNN[3],该方法是将多视角的特征进行最大池化,从而得到全局的描述子。然而由于其中的max pooling,最大元素仅仅来自于某个特定的视角,因此造成了一定的信息损失。


从2017年开始,基于点方法的先驱--PointNet系列工作逐渐流行起来。PointNet[4]使用MLP学习Pointwise特征,接着使用最大池化层来提取全局的形状特征,最后的分类结果也使用MLP来得到。


[5]提出了一种分层次的网络PointNet++,从各个点之间的邻居来获取细粒度的几何特征。因为PointNet的简单和有效性,许多工作都基于PointNet开展。


[6]引入了深度自编码网络在学习点云表示。它的编码是在PointNet之后,并且使用1-D卷积、ReLU非线性激活、BN和最大池化来提取各个点的特征。


[7]中,使用每个点的绝对坐标以及相对其邻居的相对坐标对其进行表示。接着使用Group Shuffle Attention来获取点与点之间的关系,再使用具有置换不变性、可微分、端到端可训练的Gumbel Subset Sampling层来训练层级特征。


[8]首次将点云投影来获得旋转不变性的表示,并且利用基于PointNet的backbone来提取全局特征,基于图的集成方法来提取局部特征。


基于点的方法中的另一大类网络是3D卷积神经网络,与2D卷积神经网络不同,3D点云的卷积核更难设置。根据卷积核的不同,目前的3D卷积网络可以被分为连续卷积网络和离散卷积网络。


3D连续卷积神经网络,其本质是在连续的空间中定义卷积核,其中邻点的权重与它和中心点的空间分布有关。这部分的文献也非常丰富(具体可参见图10中绿色的部分)。


比较有代表性的工作包括:


[9]中卷积核的元素是在单位球中随机选取的,接着使用基于MLP的连续函数来确定核元素的位置与点云的关系。


DensePoint[10]的核心思想为:卷积被定义为单层感知机(Single-Layer Perceptron)。某层的特征是将其之前所有层的特征级联起来,从而使得空间信息被充分利用。


2018年的工作PointConv[11],卷积被定义为对重要性采样的连续3D卷积的蒙特卡洛估计。卷积核由加权函数(由MLP层学到)和密度函数(由核密度估计和MLP层学到)组成。为了提升内存和计算效率,3D卷积被简化成两部分:矩阵乘法和2D卷积,在相同的参数设置下,内存消耗可减小64倍。3D离散卷积神经网络,其核心是在标准的网格上定义卷积核,其中领点的权重是其关于中心点的补偿(offset)。


[12]将非归一化的点云变换至归一化的网格,接着在各个网格上定义卷积核。与2D卷积不同(在各个像素上分配权重),所提的3D卷积核在网格内的所有点赋予相同的权重。对于给定点,邻域内所有点(在相同网格上)的平均特征通过之前的层来计算得到。接着,所有网格的平均特征通过加权和产生当前层的输出。


[13]定义了球状的卷积核,通过将3D球体邻域分成多个体素bins,并且将各个bin通过学到的加权矩阵联系到一起。球状卷积核的输出由其邻域点的加权均值 通过非线性激活层得到。


 图11:连续卷积和离散卷积的实例

(a)表示局部的邻居;(b)表示3D连续卷积;(c)表示3D离散卷积

 

三维目标检测及跟踪


 图12:三维目标检测及跟踪方法发展史


与普通2D中的目标检测方法类似,3D中的目标检测方法也可分为两类:基于候选区域的方法和直接映射的方法。


基于候选区域的方法,其原理是首先产生一些可能包含物体的区域(Proposals),接着对各个区域提取特征,来决定各个候选区域的物体类别。根据不同的产生候选区域的方法,这些方法可进一步分为三类:基于多视角的方法、基于分割的方法以及基于锥体的方法。

 

①基于多视角方法,最具有代表性的工作应该当属MV3D[14],Chen等人从鸟瞰图中产生一组准确的3D候选框,并且将其投影到其它视角中(雷达前景图,RGB图像),接着将各个区域的特征组合到一起,来预测有方向的3D bounding boxes。MV3D尽管在0.25IOU,300个候选框设置时达到了99.1%的recall,但是速度非常慢。因此,后续大量的工作都在MV3D的基础上继续做改进,学者们提出了很多方法来有效的融合不同模态之间的信息,或致力于提取更加鲁棒性的信息。值得一提的是,2019年CVPR的论文[15]提出了多任务,多感知器的3D物体检测网络来进行端到端的训练。该方法利用多种任务(2D物体检测,背景估计,深度补偿),帮助网络学习到更好的特征表示。学习到的跨模态的表示,可进一步用来产生更准确的物体检测结果。实验证明这类方法在2D、3D、BEV识别任务上有着非常好的提升,在TOR4D基准上超越了之前的SOTA。

 

②基于分割的方法,可以理解为首先利用现有的语义分割技术来移除多数的背景点,接着在前景点上,产生大量的高质量的候选框来节约计算。与多视角的方法相比,这类方法达到了更好的物体recall,并且更适合一些复杂的场景。这部分中代表性的工作我们着重介绍PointRCNN[16]的框架。具体而言,他们直接对3D点云进行分割,得到前景点,并且将语义特征和局部空间特征融合从而得到高质量的3D boxes。

 

③基于椎体的方法,可以理解为首先利用现有的2D物体检测子,产生2D的候选矩形框,接着对每个2D的候选框提取3D的锥体候选框。F-PointNets[17]为此类方向的先驱工作。它在每个2D区域上产生锥形的候选框,并且应用PointNet[4](或PointNet++[5])来学习各个3D锥体的点云特征,从而进行3D box的估计。在随后的工作中,[18]提出了Point-SENet模块,来预测一系列的缩放因子,从而被用来突出有用特征和抑制无用特征。同时他们也将PointSIFT[19]模块集成至网络中,来获取点云的方向信息,其可以得到对形状尺度的强鲁棒性。该方法在与F-PointNets[17]相比得到了显著的提高。

 

第二大类方法为直接映射法,这类方法一般是将点云转换为通用的表示(例如2D map),接着使用CNN来预测各个类别和3D boxes;或者将点云转化为体素,使用体素训练端到端的框架。


在这类方法中,无论是点云自身的稀疏性还是体素带来的稀疏性,都不可避免的将工作重点转移到提高训练和推理的效率中。目前文献中给出的方法包括:堆叠多个洗漱3D 卷积神经网络,构建3D的backbone;提取非空体素,对每一个非空体素进行单独处理,产生votes降低复杂度。


2018的论文[20]提出了3D物体检测子称为PointPillars。该方法利用了PointNet来学习点云的特征,将这些学到的特征编码成pesudo images。利用2D的物体检测pipeline来预测3D bounding boxes。PointPillars在Average Precision的指标上,超越了大多数的融合方法,并且在3D和BEV KITTI benchmarks上达到了62fps。


图13:3维点云在目标检测中的经典网络框架

 

三维点云分割

 

图14:三维点云分割方法发展史


3D点云分割要求了解全局的几何结构以及各个点的细粒度的细节。根据分割的细粒度,3D 点云分割方法可分为以下三类:语义分割(场景级)、实例分割(物体级)和part segmentation(part level)


①语义分割,其目标是根据语义信息,将各个点分成一定的子集。与3D形状分类的分类类似,语义分割可分为两种方法:基于投影的方法和基于点的方法。


这部分内容与上文中的形状分类思路相似,比较值得一提的是注意力机制(Attention-based aggregation)以及局部-全局级联(Local-global concatenation)


为了进一步提升分割的准确率,[22]针对点云分割,提出了基于注意力的机制。


[21]提出了组随机注意力机制(group shuffle attention)来建模点之间的关系,并且提出了具有置换不变性、task-agnostic以及可微分的Gumbel Subset Sampling(GSS)来替代被广泛应用的Furthest Point Sampling(FPS)方法。该方法对离群点不敏感,并且可以选择具有代表性的点的子集。


与CRF类似,[23]提出了Attention-based Score Refinement(ASR)模块对分割的结果进行后处理。初始分割结果通过pooling的方式进行修正。该模块很容易被集成至其他的深度网络中来提升分割效果。


Local-global concatenation[24]提出了置换不变性的PS2-Net,将点云的局部结构和全局信息合并。Edgeconv与NetVLAD重复的级联起来,来获取局部信息和场景级别的全局特征。


②实例分割,与语义分割相比,实例分割更具有挑战性因为它需要更准确和更小的细粒度,具体而言,它不仅需要将有着不同语义的点分辨出来,还需要将有着相同语义的实例分出来。


总体而言,目前的方法可分为两个方向:基于候选框的方法以及不需要候选框的方法。


基于候选框的主要研究思路与2D mask的发展思路非常类似,2019-2020年发表的最新的两篇相关的文章,其模型的表现非常值得一提:


[25]提出了单阶段的,不需要anchor的可训练网络称为3D-BoNet,来实现点云上的实例分割。该方法对所有可能的实例直接回归大致的3D bounding boxes,接着利用点级别的二分类器来获取实例标签。特别地,该bounding boxe的任务是被当做是最优分配问题。同时,使用了multi-criteria 损失函数来正则化生成的bounding boxes。该方法不需要任何的后处理操作,并且有很高的计算效率。


[26]提出了针对大规模户外LiDAR点云进行实例分割的网络。该方法使用self-attention blocks,在点云的鸟瞰图上学习特征表示,最后获取的实例分割标签基于预测的水平中心和高度限制。基于候选框的方法较为直观,并且实例分割的结果通常较好。然而该方法需要多阶段的训练并且需要对多余候选框进行裁剪。因此通常都需要更多的时间和计算资源。


另一类为不需要候选框的方法,作为先驱性的工作,


[27]首次提出了Similarity Group Proposal Network(SGPN)。该方法首先对每个点学习特征和语义map,接着引入相似度矩阵来表示各对点之间的相似度。为了学习到更多的判别式特征,使用了double-hinge loss来互相适应相似度矩阵和语义分割的结果。最后使用启发式的NMS方法将相似的点归并进一个实例中。由于相似度矩阵的构建需要大量的内存消耗,该方法应用的规模受到了限制。


为了实现在整个3D场景上的实例分割,[28]提出了混合的2D-3D网络,该网络学习全局一致性的实例特征和局部的几何特征。学习到的特征被组合起来实现语义和实例分割。在将点聚集成实例时,并非使用GroupMerging算法,而是更灵活的Meanshift。


[29]同时学习了每个实例的独特的特征表示,以及对于物体中心的方向信息。使用feature embedding loss and directional loss在隐空间中学习特征。Mean-shift 聚类和NMS用来将体素积聚成实例。该方法在ScanNet基准上达到了SOTA性能。


③零件分割,主要困难来自于两方面。第一,有相同语义标签的部件有着较大的几何变化和不确定性;第二,该方法需要对噪声和采样具有鲁棒性。


[30]提出了VoxSegNet,在3D体素数据上来实现细粒度的零件分割。Spatial Dense Extraction(SDE)模块用来在稀疏体素数据上提取大规模的具有判别性的e特征。学习到的特征被重新赋予权重,并且使用Attention Feature Aggregation (AFA)模块进行融合。


[31]提出了Branched Auto-encoder network (BAE-NET)用来无监督,one-shot和弱监督3D形状分割。该方法将形状分割任务看做是特征学习问题并试图找到最简单的零件表示(通过最小化形状重建损失函数)。基于编码-解码的结构,该网络的每个分支都在学习特定零件形状的相容表示。学到的特征与点坐标一起送入解码器中,产生二进制的值(该值表示该点是否属于这一part)。该方法有着良好的繁华性,并且可以处理大规模的3D形状几何。然而该方法对处值较为敏感,并且并未利用到形状的语义信息,妨碍了该方法在每次迭代中得到鲁棒、稳定的估计。

 

三维数据+深度学习=未来可期


回顾三维数据在产业中的发展,我们不难看出从2015年起,三维数据与深度学习关联在一起建立了全新的三维卷积神经网络分支,并且这只分支越发的壮大起来。


当然,由于三维数据本身的特性,基于三维数据的深度学习仍然存在着不少亟待解决的问题,我们也为读者整理了一些典型的问题:


第一,基于点的网络是最常见的方法,然而,点的表示通常没有明确的邻域信息,大多数基于点的方法不得不试图使用好非自愿的邻域查找方法(KNN, ball query,而由于领域查找方法需要很高的计算资源和内存,自然也限制了这类方法的有效性;


第二,在点云分割中,从不平衡的数据中学习仍然是具有挑战性的问题,尽管许多方法达到了不错的结果,但性能在较小类别的数据上仍然较差;


第三,由于三维数据处理占用了大量的算力,大多数的方法在较少点的点云上进行,但实际上从深度sensor上得到的点云是非常稠密的,因此需要寻求处理大规模点云的有效方法;

第四,最近一些工作开始在动态点云中学习空间-时间的信息,空间-时间信息可以帮助提高3D目标检测,分割和补全是值得期待的。


在我们上述总结的三大应用领域之外,三维数据也在其他的领域中崭露头角。比如:

  • 在文物修复、新零售等行业中,使用基于三维点云的深度学习进行三维重建也非常热门;

  • 在机器人、无人机等行业中,学术界也将三维点云应用到SLAM中,使用三维点云进行聚类、分割后将结果融合到SLAM的回环检测中,用于解决RGB图像中高相似度不同位置及低相似度相同位置时回环不准确的问题。


不难理解,真正意义上的计算机视觉要超越识别,感知三维环境。我们活在三维空间里,要做到交互和感知,就必须将世界恢复到三维,因此使用三维数据来驱动各个领域是未来必然的发展之路,我们希望大家在阅读完本篇综述后,会对三维数据+深度学习这样一个模式会更加感兴趣,也呼吁更多的读者加入到这个分支的研究中。

 

参考文献:


[1] Yulan Guo, Hanyun Wang, Qingyong Hu, Hao Liu, Li Liu, and Mohammed Bennamoun,“Deep Learning for 3D Point Clouds: A Survey”, arXiv:1912.12033v1, 27 Dec 2019.


[2] 于金霞,蔡自兴,邹小兵,段琢华,移动机器人导航中激光雷达测距性能研究,传感技术学报,2006年4月第19卷第2期.


[3] H. Su, S. Maji, E. Kalogerakis, and E. Learned-Miller, “Multiview convolutional neural networks for 3D shape recognition,” in ICCV, 2015, pp. 945–953.


[4] C.R.Qi,H.Su,K.Mo,andL.J.Guibas,“PointNet:Deeplearning on point sets for 3D classification and segmentation,” in CVPR, 2017, pp. 652–660.


[5] C. R. Qi, L. Yi, H. Su, and L. J. Guibas, “PointNet++: Deep hierarchical feature learning on point sets in a metric space,” in NeurIPS, 2017, pp. 5099–5108.


[6] P. Achlioptas, O. Diamanti, I. Mitliagkas, and L. Guibas, “Learning representations and generative models for 3D point clouds,” arXiv preprint arXiv:1707.02392, 2017.


[7] J. Yang, Q. Zhang, B. Ni, L. Li, J. Liu, M. Zhou, and Q. Tian, “Modeling point clouds with self-attention and gumbel subset sampling,” arXiv preprint arXiv:1904.03375, 2019.


[8] Y. Duan, Y. Zheng, J. Lu, J. Zhou, and Q. Tian, “Structural relational reasoning of point clouds,” in CVPR, 2019, pp. 949– 958.


[9]  A. Boulch, “Generalizing discrete convolutions for unstructured point clouds,” arXiv preprint arXiv:1904.02375, 2019.


[10] Y. Liu, B. Fan, G. Meng, J. Lu, S. Xiang, and C. Pan, “DensePoint: Learning densely contextual representation for efficient point cloud processing,” in ICCV, 2019, pp. 5239–5248.


[11] W. Wu, Z. Qi, and L. Fuxin, “PointConv: Deep convolutional networks on 3D point clouds,” arXiv preprint arXiv:1811.07246, 2018.


[12] B.-S. Hua, M.-K. Tran, and S.-K. Yeung, “Pointwise convolutional neural networks,” in CVPR, 2018. 4, 7, 16.


[13] H.Lei, N.Akhtar, A.Mian,“Octree guided CNN with spherical kernels for 3D point clouds,” arXiv preprint arXiv:1903.00343, 2019. 4, 6, 7.


[14] X. Chen, H. Ma, J. Wan, B. Li, and T. Xia, “Multi-view 3D object detection network for autonomous driving,” in CVPR, 2017, pp. 1907–1915.


[15] M. Liang, B. Yang, Y. Chen, R. Hu, and R. Urtasun, “Multi-task multi-sensor fusion for 3D object detection,” in CVPR, 2019, pp. 7345–7353.


[16] S. Shi, X. Wang, and H. Li, “PointRCNN: 3D object proposal generation and detection from point cloud,” arXiv preprint arXiv:1812.04244, 2018.


[17]  C. R. Qi, W. Liu, C. Wu, H. Su, and L. J. Guibas, “Frustum pointnets for 3D object detection from RGB-D data,” in CVPR, 2018, pp. 918–927.


[18] X. Zhao, Z. Liu, R. Hu, and K. Huang, “3D object detection using scale invariant and feature reweighting networks,” arXiv preprint arXiv:1901.02237, 2019.


[19] M. Jiang, Y. Wu, and C. Lu, “PointSIFT: A sift-like network module for 3D point cloud semantic segmentation,” arXiv preprint arXiv:1807.00652, 2018. 10, 15, 17.


[20] A. H. Lang, S. Vora, H. Caesar, L. Zhou, J. Yang, and O. Beijbom, “PointPillars: Fast encoders for object detection from point clouds,” arXiv preprint arXiv:1812.05784, 2018.


[21] P. Achlioptas, O. Diamanti, I. Mitliagkas, and L. Guibas, “Learning representations and generative models for 3D point clouds,” arXiv preprint arXiv:1707.02392, 2017.


[22] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, Ł. Kaiser, and I. Polosukhin, “Attention is all you need,” in NeurIPS, 2017, pp. 5998–6008.


[23] C. Zhao, W. Zhou, L. Lu, and Q. Zhao, “Pooling scores of neighboring points for improved 3D point cloud segmentation,” in ICIP, 2019, pp. 1475–1479.


[24] Y. Zhao, T. Birdal, H. Deng, and F. Tombari, “3D point capsule networks,” in CVPR, 2019.


[25] B. Yang, J. Wang, R. Clark, Q. Hu, S. Wang, A. Markham, and N. Trigoni, “Learning object bounding boxes for 3D instance segmentation on point clouds,” arXiv preprint arXiv:1906.01140, 2019. 18.


[26] F. Zhang, C. Guan, J. Fang, S. Bai, R. Yang, P. Torr, and V. Prisacariu, “Instance segmentation of lidar point clouds,” in ICRA, 2020. 18.


[27] W. Wang, R. Yu, Q. Huang, and U. Neumann, “SGPN: Similarity group proposal network for 3D point cloud instance segmentation,” in CVPR, 2018, pp. 2569–2578.


[28] C.Elich, F. Engelmann, J. Schult, T. Kontogianni, and B. Leibe, “3D-BEVIS: Birds-eye-view instance segmentation,” arXiv preprint arXiv:1904.02199, 2019.


[29]  J. Lahoud, B. Ghanem, M. Pollefeys, and M. R. Oswald, “3D instance segmentation via multi-task metric learning,” arXiv preprint arXiv:1906.08650, 2019.


[30]  Z. Wang and F. Lu, “VoxSegNet: Volumetric CNNs for semantic part segmentation of 3D shapes,” IEEE transaction son visualization and computer graphics, 2019.  


[31] Z. Chen, K. Yin, M. Fisher, S. Chaudhuri, and H. Zhang, “BAENET: Branched autoencoder for shape co-segmentation,” arXiv preprint arXiv:1903.11228, 2019. 




Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/71903
 
677 次点击