点云学习记录

(50 封私信 / 79 条消息) 三维点云数据的语义分割方法除了pointnet还有哪些呢? - 知乎 (zhihu.com)

(50 封私信 / 80 条消息) 点云特征提取 - 搜索结果 - 知乎 (zhihu.com)

(50 封私信 / 80 条消息) 点云提取特征如何进行关键点匹配? - 知乎 (zhihu.com)

1、图像语义分割

1.1、基于全卷积网络的方法

自2012年AlexNet[1]问世以来,CNN在图像分类和目标检测中均取得了巨大的成功。这受益于CNN强大的图像识别能力,并且目标检测问题也能够较为容易地转换为分类问题。CNN分类网络一般具有相似的设计方案,即若干卷积层抽取随深度而增强语义的层级特征,最后接入若干全连接层作为分类器。然而,语义分割任务要求网络对图像进行像素级别的语义理解,这与常规的分类任务相当不同。众多国内外的研究者们认为:语义分割需要一种让CNN能够直接进行像素理解的网络设计方法。

图1-a 全卷积网络示意图

图1-b 全卷积网络FCN-8示意图

全卷积网络(FCN)[2]是将CNN分类网络拓展至语义分割任务上的开山之作。如图1-A所示,FCN将经典分类网络AlexNet中的全连接层替换为具有同等尺度感受野的卷积层,即替换后的卷积层卷积核大小与全连接层的前一层特征图大小保持一致。以这种方式,替换后的卷积层能够保留图像中的空间位置信息,因此FCN能够在网络单次前向计算的情况下实现图像块分类的效果,即实现了粗糙的语义分割。这避免了常规图像块分类方法中的多次前向计算,极大地提升了CNN网络在语义分割上的效率。为了完整地进行像素理解,FCN采用反卷积将网络输出的粗糙分割概率图上采样至输入图像大小,由此实现了端到端地语义分割。此外,全卷积的设计思想使得网络在理论上可以接收任意大小的输入图像,这十分有利于像素级别的视觉任务。由于CNN中存在的大量下采样操作,网络输出的分割概率图往往十分粗糙,不利于进行准确地语义分割。因此,如图1-B所示,FCN提出再利用网络浅层高分辨率信息的思想,将高分辨率特征预测的分割图逐级引入网络后端进行融合,取得了更为精细的分割结果。

全卷积网络开创了CNN直接处理语义分割任务的先河,从那时至今的研究均在它的基础上进行扩展。举例来说,Sherrah[3]等人成功地将FCN应用至遥感图像语义分割领域。为了解决下采样操作导致的细节信息丢失问题,该方法重新设计CNN网络使得其所有层级特征图的分辨率一致,因此取得了边界较为清晰明确的分割效果。DeepLab[4]在基于FCN的语义分割框架后接入全连接的CRF对结果进行后处理,由此显著提升了细节部分的分割精度。

然而,与传统方法一致,该方法中的CRF仅仅只是一种后处理工具,无法与网络一起进行端到端地训练。为了解决此问题,Zheng等人[5]利用循环神经网络(RNN)实现了可学习的CRF方法,将其搭配FCN框架取得了精细程度更为优异的分割效果。

图2 全卷积网络FCN[2]分割效果图。其中,FCN-8s表示8倍下采样。

尽管全卷积网络作为语义分割领域中的里程碑式工作显著推动了其发展进程,然而该方法也存在十分棘手的缺点,即难以取得精细的分割结果。如图2所示,即使分割结果在引入浅层高分辨率的分割图后得到了显著改善,但仍然较为粗糙。上述去除下采样操作的方法以及加入CRF的策略能够部分提升分割的精准性,但去除下采样降低了深度模型的视觉识别鲁棒性,而CRF多是发挥后处理的作用,且采用RNN代替CRF的方案会显著增加模型的复杂度。

1.2、基于自编码器的方法

图3 基于自编码器的语义分割方法框架图,以SegNet[6]为例

自编码器[7]采用编码器-解码器的网络架构,它是无监督学习中非常有代表性的一类方法。其中,编码器从输入图像中抽取一系列特征,解码器根据这些特征恢复出原始图像。研究者们发现,自编码器经过扩展可以很好地适应图像分割任务。具体来说,如图3所示,这类方法先从图像中提取分辨率逐级减低但语义性逐渐增强的层级特征,然后采取上采样策略将低分辨率特征恢复到原始图像分辨率大小。最后,代替自编码器的图像重构任务,该类方法直接输出分割的预测结果。从图中还可以看到,该类架构的一个显著优势是,编码器中的高分辨率特征可通过长跨度连接引入解码器中,从而在解码器的分辨率恢复过程中加入图像的细节信息。

Zeiler等人[8]通过特征可视化的方式解释了CNN的特征学习机理,即浅层高分辨率的特征大多响应图像中的高频边角细节,而深层中的低分辨率特征往往蕴含着与认知相关的语义表征响应。以该研究为背景,如图1-B所示,全卷积网络FCN将高分辨率的分割概率图引入解码器中进行融合,由此显著提升了分割的效果(见图2)。然而,FCN中的细节恢复过程不可学习(虽然FCN中使用了反卷积操作,但实际上该反卷积学习率为0,并且滤波器初始化为双线性滤波器,即仅仅发挥双线性插值的作用)。与此不同,DeconvNet[9]使用了可学习的反卷积来构建解码器,整个框架以若干卷积层和等量反卷积层组成。尽管取得了较好的分割效果,DeconvNet因大量的可学习反卷积设计而具有极高的模型复杂度。并且,DeconvNet缺乏对编码器中细节特征的利用,因此该架构仍然有较多的改良空间。考虑到CNN中的不同特征层具有不同级别的语义,Hypercolumn[10]直接将每一个像素对应的所有层特征串接起来形成超列特征,并利用该超列特征对目标进行细粒度任务的分析,如目标定位、关键点分析和目标分割。尽管效果显著,该方法对细节的处理仍有待提升,可能的原因是直截了当地多级特征串接难以充分地整合不同级别的信息,尤其是所在层数相差较多的级别。

U-Net[11]和SegNet[6]是此类方法中的代表性工作,前者针对医学图像分割,后者集中于街景图像分割,两者均逐级地从最低分辨率特征恢复至与输入图像对应的最高分辨率特征。与FCN和DeconvNet均不同,U-Net的核心操作是在特征级别上将浅层细节特征引入解码器中进行特征融合,随后使用可学习的反卷积实现上采样过程。以这种方式,U-Net既缓解了FCN中分割概率图融合可学习性差的缺陷,又解决了DeconvNet中浅层特征未得到利用的问题。SegNet主要提升了分割网络的运行效率,并且它的编码解码思路具有独创性。如图3所示,为了在保持高效的前提下恢复分割的细节信息,SegNet直接记录下池化操作的位置索引,然后在解码器中按索引进行上采样得到稀疏的特征,接着使用卷积操作将该稀疏的特征转换为密集的特征。以这样的方式,SegNet实现了分割精度与运行效率的良好平衡,具有较高的实用性。与U-Net相似,为了更好地在特征空间中融入CNN浅层的细节信息,Pinheiro等人[12]将特征金字塔网络从目标检测领域拓展至目标分割领域,并首次提出了修正学习的思想。具体来说,先获得输入图像的粗糙特征响应,随后逐级引入浅层高分辨率的细节信息对粗糙特征进行精修。该方法主要在特征融合上提出了级联融合方法,并且融合前后均使用卷积层进行变换。

总结而言,基于自编码器的语义分割方法一般是以恢复分割的细节为出发点,并且在分割效果上通常能取得显著的领先,尤其是对于精细结构的物体。因此,时至今日,先进的语义分割模型仍然广泛沿用自编码器架构。然而,现存的方法通常在不同级别的特征融合过程中采用直接堆叠的方式,这显著削弱了融合后的特征表达力,不利于有效地引入高分辨率细节信息以提升分割的精细程度,一些方法 [13, 14]在网络设计中强行加入额外的边缘指导信息,尽管能取得一些性能提升,但这些方法通常会增加模型的复杂度,并且需要额外的边缘标注信息。

1.3、基于多尺度学习的方法

图4 基于多尺度学习的语义分割方法示意图

在场景语义分割任务中,除了分割的精细程度,另一个十分重要的方面是分割的连贯性。连贯的语义分割要求模型对各结构尺度物体具有强健鲁棒的识别力,同时能够处理好场景中广泛存在的类内差异大、类间差异小问题。尤其是在高度复杂的遥感城区场景中,实现连贯性地语义分割非常具有挑战性。针对此难点,研究者们认为场景上下文信息是提升分割连贯性的关键因素。因此,时至今日,利用神经网络进行多尺度学习的语义分割方法受到了国内外研究人员的广泛青睐。如图4所示,该类方法通常分为两个流派,即输入多尺度图像和采用多尺度特征,两种方法均可引入上下文信息以提升模型的识别能力,由此显著改善语义分割的连贯性。

多尺度的图像构建策略在传统计算机视觉方法中应用广泛,例如著名的图像金字塔。深度学习流行后,大量的研究工作集中于将多尺度图像与神经网络相互结合,尤其是在目标检测和图像分割领域。Farabet等人[15]成功地将图像金字塔与神经网络应用于图像分割问题。该方法首先构建拉普拉斯金字塔图像,然后对每个尺度分别使用CNN提取特征,接着将所有尺度的特征通过上采样进行对齐并级联,由此设计分类器获得神经网络的预测结果。与此同时,为了利用图像的边缘轮廓信息,该方法并行地构建超像素或者分割树分支以获得另一组分割预测。最后,该方法针对结果融合探究了多种融合策略,均取得了较好的分割效果。然而,该方法有两个缺陷,一是每个尺度均对应一个神经网络,这导致复杂度较高;二是尽管超像素分支能够引入边缘信息,但未与神经网络深入结合,在方法层面仅仅是一种集成策略。

于是,Mostajabi[16]等人提出直接将超像素作为单一的分类识别单元。为了提升识别的准确性,该方法在超像素周围划分多个尺度的图像框以综合丰富的场景上下文信息。不同于常规方法,Chen等人[17]深入分析多个尺度间的互补性,即小尺度图像应当集中于占比较大的对象,而大尺度图像能够提供占比较小物体的诸多视觉线索。因此,该方法引入了注意力机制,利用CNN实现了多尺度图像间良好的信息互补性。Gidaris等人[18]指出,除了多尺度图像,物体和场景的多区域图像对提升视觉识别的鲁棒性也很有助益。于是,该方法从图像中切分出包含不同占比目标信息的多区域框,随后利用CNN综合多尺度且多区域的视觉信息,由此显著地提升了分割效果。

尽管输入多尺度图像能大幅改善分割效果,但该类方法要求网络进行多次前向计算,因此整体方案的时间复杂度较高。为了解决此问题,近年来的研究集中于在CNN网络内部开展多尺度学习技术。其中,多尺度卷积核是该方案流行早期常用的一种方法。Audebert等人[19]在遥感图像分割任务中成功地引入了多核卷积层,取得了十分优异的分割效果。该方法在CNN分割网络的解码器后端设计了多个不同卷积核尺度的反卷积操作,分别用来捕获小、中、大尺度上的语义上下文信息,最后将三者的输出进行平均。尽管有效,但多个卷积核会带来较多的额外模型参数,尤其是大尺度卷积核。为了缓解此问题,DeepLab与Fisher等人[20]提出了膨胀卷积操作。该方法在网络深层中对卷积操作采取跳采样技术,在不改变参数量的情况下可以显著增大卷积的感受野。并且,当使用不同膨胀率的膨胀卷积后,模型能够自然地生成多尺度特征,由此大幅提升了模型的识别能力。

然而,虽然膨胀卷积具有较低的复杂度,但也存在一定量的卷积参数。因此,一些研究工作集中于利用无参数的池化操作来捕获多尺度上下文特征。空间金字塔池化SPPNet[21]是该路线上的先锋者,它在卷积输出的特征图上将不同大小的区域池化为等长度的特征向量,拼接后生成固定长度的上下文特征表示,由此显著提升了目标检测的效果。ParseNet[22][提出引入更广的上下文视觉线索可显著改善物体识别的准确性,因此它在中间特征层上使用全局池化以获取全局上下文,接着将该全局特征级联至CNN输出的特征层上进行分割。相似地,Inside-Outside网络[23]也在中间特征层上采用池化操作捕获上下文信息。但该方法认为不同特征层本身具有不同尺度的感受野,因此它直接在多个特征层上池化,并将获得的特征级联。Zhao等人[24]在SPPNet的启发下提出了专门针对语义分割任务的PSPNet。该方法在CNN的最后一层上采用金字塔池化的方式获得嵌入丰富视觉上下文的特征,由此在语义分割上取得了极佳的性能,并获得了ImageNet世界挑战赛坛场景解析的冠军。

1.4、图像语义分割总结

总结而言,基于多尺度学习的语义分割方法十分有效,但同时也会带来棘手的问题,即复杂度较高。此外,尽管研究者们研究出多种在CNN内部学习多尺度特征的方法,但大多数方法在特征融合时采用直接堆叠的方式。该方式忽略了不同级别特征间的语义鸿沟,大幅降低了融合后特征的视觉识别力,因此这些方法在场景更为复杂的环境中往往难以奏效。

2、点云语义分割

尽管基于图像数据的深度学习方法显著推动了场景语义分割的发展,但图像数据缺乏3D形状结构信息,因此在很多场景中的应用有限。一些方法将具有深度信息的高程数据,如数字表面模型(DSM),转换为图像形式并利用神经网络进行处理[25]。虽然能够提升分割效果,但所使用的DSM数据一般情况下或者来自于立体视觉匹配,或者来自于点云处理。前者方法成本高昂,作业流程周期较长,而后者则需要有效的点云处理技术和手段。并且,以DSF数据构建的图像仍然不能完整地反映物体的3D结构。因此,近年来研究者们集中于直接利用原始点云数据进行场景语义理解。在发展早期,领域内提出了许多点云上的特征描述子,如自旋图(spin image)、形状上下文(shape context)、快速点特征直方图(FPFH)等(详情见笔者之前文章)。

计算机视觉AI:点云局部特征与匹配的研究现状介绍61 赞同 · 4 评论文章​编辑

与图像领域的发展相似,这些点云描述子为传统的手工设计特征,不具有可学习性,因此对具体任务的自适应性不强,效果难以满足实际需求。

继深度学习兴起流行后,大量的国内外研究致力于将其在图像领域中获得的成功拓展至3D点云领域。目前,这些研究可粗略分为两大类方法:基于多层感知机的方法与基于卷积的方法。由于卷积具有较高的灵活性,将其应用于点云特征学习的拓展方法千变万化。为了更好地总结梳理,本节将基于卷积的方法进一步细分为基于规则卷积的方法、基于连续卷积的方法、基于空域卷积的方法和基于谱域卷积的方法。此外,点云语义分割核心是不规则点集上的特征学习,因此本节以深度点集特征学习为主线来梳理相关研究。

2.1、基于多层感知机的方法

这一类方法在早期成功地将深度学习应用于点云特征提取,因此受到了国内外的广泛关注。该类方法利用多层感知机坍坌坐将每一个孤立点映射至高维的特征表示,接着使用对称函数聚集各点特征得到点集的整体表达。为了实现无序点集上的置换不变性,多层感知机在各点上共享其权重参数。

图5-a PointNet网络框架图

图5-b PointNet++网络框架图

PointNet[26]是该类方法的开创性研究工作。如图5-a所示,它使用若干个共享权重的MLP层逐点学习高维的特征,接着采用最大池化获得输入点集的全局形状表达。为了增强逐点特征的表达力以实现分割任务,它将全局高维特征与每一点的中间特征进行级联。尽管该方法十分简单,但相比于传统的点云识别方法,它取得了显著领先的识别性能。并且,该方法提出了一种新的点集学习范式,具有良好的可扩展性,因此为后续工作给出了有潜力的研究方向。然而,该方法存在一个较大的缺陷,即没有对局部形状模式进行挖掘。局部模式已经在图像视觉识别中被证明非常有效,最经典的案例就是卷积神经网络。于是,如图5-b所示,为了在PointNet中引入局部模式挖掘,PointNet++[27]通过采样的方式从输入点云中划分出若干局部邻域,然后直接利用PointNet从每点的局部邻域中学习归纳局部点集。同时,在架构上,该方法显式地模仿经典的CNN框架,由局部到全局地学习多级别点集特征表示。此外,该方法基于自编码器结构设计了一个与经典图像分割网络(比如SegNet)高度类似的点云分割架构,取得了优异的场景分割效果。并且,PointNet系列方法具有较强的理论保证。后续Zaheer等人[28]也在理论上证明了PointNet操作的合理性,即实现点集置换不变性的前提是:聚合所有学习到的点云表征,并应用非线性变换给予映射。

考虑到PointNet方法的简洁性以及它强健的点集表征能力,后续的许多工作以它为基础开展研究。Achlioptas等人[29]基于PointNet提出无监督的深度自编码网络来学习点云表征,并利用该表征在点云识别上取得了十分优异的效果。受到Transformer[30]的启发,PATs[31]结合滤波器分组[32]技术和通道洗牌技术[33]提出了Group Shuffle Attention模块来捕获点间的关联依赖性,并基于gumbel softmax技术[34]提出了可微分的下采样层。Mo-Net[35]的网络架构与PointNet相似,但该方法将输入修改为以三维坐标构建的多项式函数,由此增强了特征的几何表达力。PointWeb[36]以PointNet++框架为基础,提出了自适应地特征调整模块来增强局部特征学习。Duan等人[37]提出了结构关联网络,利用多层感知机学习不同局部邻域间的结构关联,由此显著提升了点云特征的判别力。Liu等人[38]对输入数据以及PointNet学习到的函数空间同时建立查询表,由此显著加快了点云识别的推理速度。SRINet[39]将输入点云先映射为具有旋转不变性的表示,再搭建类似PointNet的网络提取点云的全局特征,同时构建局部图以抽取局部特征。该方法将两者结合后在语义分割任务中取得了显著的性能领先。此外,许多以视觉任务为导向的应用型工作也采用PointNet学习基本的点云特征表示,比如目标检测[40, 41]、点云分割[42]、光流估计[43]。

总结而言,尽管以PointNet为代表的多层感知机映射法成就显著,但该类方法往往缺乏对局部几何结构的建模。其主要原因是共享权重的MLP映射难以充分表达点云的空间分布。虽然搭配最大池化等启发式特征聚集策略能在一定程度上缓解此问题,但网络仍然缺乏几何结构建模能力。此外,一些方法在网络后端加入结构建模[44],期望以此补足PointNet的缺陷。尽管部分有效,但这些方法通常会引入额外的复杂度,并且方案的可学习性不强。

2.2、基于规则卷积的方法

图6-a 3D点云多视角处理示意图

图6-b 3D点云体素处理示意图,以3D ShapeNets为例

该类方法一般将不规则的点云数据转换为某种规则的数据表示,从而可直接应用经典的栅格CN进行处理。最常用的两种规则数据转换方式为多视角变换和体素变换,分别如图6-a和图6-b所示。

Su等人[45]提出了多视角卷积神经网络,如图6-a所示,其核心思想是通过虚拟的快照相机将原始点云数据转换为一系列2D图像,然后使用经典的图像CN从每一个视角中提取特征。为了更好地进行多视角信息融合,该方法提出了多视角池化策略,即从多个视角中提取最具有判别力的特征,从而生成强健的点云形状表征。受到该方法的启发,GVCNN[47]在该方法上进行了扩展,主要集中于两方面,即使用更强有力的CNN骨架模型和更充分的视角池化。为此,GVCNN提出分组视角池化策略,即在多视角池化过程中对视角进行分组,先进行组内池化,再进行组间池化。Guo等人[48]利用多视角图像搭配CNN与三元组损失(triplet loss)实现了高性能的3D形状检索。相似地,Xie等人[49]也采用多视角图像进行3D形状匹配,但该方法使用CNN构建自编码器来学习形状描述子。Han等人[50]利用RNN搭配attention机制实现了对多视角信总的有效聚集,从而生成了强判别力的全局描述子。 Charles等人[51]同时结合多视角图像与体素表示构建CNN,由此在3D形状分类上取得了优异的性能。Huang等人[52]利用部件之间的对应关系,采用多视角CNN学习强健的局部描述子。该方法在各种细粒度形状分析任务上均具备较高的适用性,包括语义分割。

受到上述方法的启发,一些研究将多视角处理策略应用至遥感场景的点云语义分割上。Zhao等人[53]手工选取并构造点云数据的属性,然后将点云按照规则划分为格点并转换为图像格式。为了提升性能,该方法在图像上构建多尺度集成学习的CNN方案,由此取得了十分优异的语义分割效果。Sun等人[54]将点云数据转换为标准化的数字表面模型(normalized digital surface model, NDSM)图像,然后将其与光谱图像数据相结合,并采用经典的自编码器分割框架进行语义分割。相似地,Huang等人[55]也将点云数据转换为NDSM图像,但该方法基于CN设计了一种有效的门控残差模块,因此在遥感场景点云中取得了显著领先的分割性能。Qin等人[56]由输入点云及其属性生成多视角图像和多模态表示,并在CNN中提出两阶段的信息融合策略,即中间特征融合与输出概率融合,由此在地形场景分割中取得了优异的分割结果。Yang等人[57]提出窗口划分的方法将原始点云栅格化2D图像数据。为了获取有判别力的图像像素特征,该方法在每点的局部邻域中构建丰富的描述特征,包括局部几何描述、全局几何描述以及全波形(full-waveform)特征。

另一类集中于规则变换的研究将点云转换为体素表示。VoxNet[58]首次提出占有栅格(occupancy grid)将点云转换为体素,并成功地应用3DCNN[59]处理体素数据,实现了有效地点云形状识别。受到该方法的启发,3D Shape Nets在点云体素上构建CNN,获得了较佳的形状识别效果,并且可预测出具有高判别性的形状图像视角。SEGCloud[60]将3DCNN与全连接的CRF相结合,首先使用3DCNN获得点云体素的分割预测,并通过三线性插值(trilinear interpolation)获得原始点云的分割结果,然后将此结果作为CRF的一元项对分割细节进行优化。该方法在大型室内场景中实现了高效的分割性能。Xù等人[61]成功地将VoxNet应用于遥感场景分割中。该方法将原始点云通过预处理后进行体素化,接着将其切块后送入3DCNN提取深度特征,最后采用多类支持向量机获得分割结果。Wang等人[62]在SEGCloud的启发下将3DCNN与CRF相结合应用于遥感点云分割中。为了捕获更丰富的上下文信息,该方法对原始点云采用多尺度的体素化策略,并构建共享权值的多尺度3DCNN来提取强健的深度点云特征。与此同时,该方法并行地构建CRF分支进行全局上下文推理,最后将两分支的结果融合后获得分割结果。

除了上述直观的变换方法,一些研究将点云隐式地转换或映射为规则分布的数据,然后定义点云上的卷积操作。Hu等人[63]将点云均匀转换为3D栅格并在其上定义了高效的卷积策略,尽管十分简单,但该方法取得了较佳的分割效果。Lei等人[64]提出了球形卷积核,即将球形邻域划分为多个规则的空间箱,并对每个箱子分配一个可学习的权重矩阵。PointCNN[65]提出了x卷积变换,它先利用MLP将不规则点云加权映射到规则的隐特征空间,实现了置换不变,然后直接采用经典的卷积进行处理。Mao等人[66]基于线性插值的理念提出了插值卷积方法。

Zhang等人[67]巧妙地构建旋转不变的几何特征作为网络输入,并通过分箱策略将卷积变为简单的一维操作,实现了旋转不变的特征学习。A-CNN[68]提出了环形卷积方法,即先将局部邻域点投影到中心点的切平面上,并制定环形规则按顺序排列所有点,接着利用经典卷积进行处理。Kumawat等人[69]基于3D短时傅里叶变换提出了精馏局部相位体积(rectified local phase volume)方法,有效地从局部邻域中提取到相位信总。该方法显著减少了经典3DCNN的计算和内存开销。SplatNet[70]先将输入点云映射到规则的高维晶格空间,随后建立哈希表并结合双边卷积(bilateral convolution)[71]实现了高效地点云语义分割。SFCNN[72]通过PointNet将点云映射到规则的正二十面体晶格上,随后在晶格上定义卷积操作,实现了对旋转和扰动均十分鲁棒的语义分割性能。PRIN[73]在点云的体素表示上提出了球形卷积方法,由此学习具有旋转不变性的点云特征。

总结而言,尽管基于规则卷积的方法相当有效,但该类方法存在本身固有的缺陷,具体来说:(i)多视角图像变换由于存在严重的自遮挡效应,物体的3D信总会显著丢失。于是,为了保证性能,这类方法通常需要综合大量的视角信总,由此显著增加了模型的复杂度;(ii)体素表示方法对转换精度要求较高,否则难以保持物体的几何细节。然而,高精度体素表示中存在大量空白栅格,这极大地降低了3DCNN模型运行的效率。尽管基于树的方法[74]能够部分缓解此缺陷,但仍然是在局部体积框内制定规则划分点云数据,这种方式难以充分地捕获几何结构。

2.3、 基于连续卷积的方法

这一类方法将点云上的卷积视为空间上的数学函数,通过在连续空间上建立学习函数并以此搭建神经网络来进行点云特征提取。

ConvPointl[75]将经典的离散卷积核进行泛化,设计出连续的卷积核来处理点云数据。该方法十分简单,但允许网络处理任意规模的输入点云,并且具有较小的空间复杂度。PointConv[76]在点云数据中引入连续3D卷积的蒙特卡洛估计,其中卷积核由权重函数与核密度函数两部分组成,前者学习几何结构,后者在卷积中加入局部点云密度。与此同时,该方法在工程上显著优化了其深度模型,将内存开销减少了64倍。相似地,MCCNN[77]将卷积操作视为与局部邻域密度相关的蒙特卡洛积分过程,该方法也在卷积中引入密度项,从而显著提升了不均匀采样点云上的识别性能。SpiderCNN[78]将卷积定义为阶跃函数与局部近邻点泰勒展开的乘积,其中阶跃函数旨在编码局部测地距离,泰勒展开则集中于捕获局部几何变化,两者相互结合使得该方法具有优异的点云识别性能。

PCNN[79]提出了点云上的径向基函数,并将该函数与点云的体素表示相结合,在理论上保证了无任何离散化的卷积操作过程。基于此方法,SPHNet[80]引入球面谐核(spherical harmonic kernels.)实现了具有旋转不变性的点云特征学习。KPConv[81]在点云的局部邻域中引入一组可学习的核点(kernel point),由此提出了刚性以及可变形的核点卷积算子,前者对一般点云的识别更加有效,而后者更适合大规模点云的语义理解。此外,一些方法利用球面谐函数定义点云卷积,实现了等变表示(equivalent representation)学习,比如Spherical CNN[82]、Tensor field networks[83]。

尽管该类方法或者具有较强的理论保证,或者巧妙地规避了直接在点云上实现卷积,但它们通常识别性能不强,尤其是对于大规模点云,比如遥感场景中的点云数据。一个可能的原因是该类方法对点云几何结构的建模并不足够充分,因此在稀疏点云的识别中难以奏效。而且,这些方法通常具有特殊的性质,比如分布密度鲁棒性、旋转不变性和等变性。一般来说,深度模型在保特特殊性质的同时难以实现强有效的识别力。

2.4、基于空域卷积的方法

图7 基于空域卷积的点云特征学习方法示意图

如图7所示,该类方法在局部邻域中构建图,定义点与点之间的边,并且显式地将边信息引入卷积操作中以建模几何结构。

Simonovsky等人[94]在滤波器生成网络[85]的启发下,针对点云特征学习提出了边缘条件卷积。该方法采用最大池化聚集局部邻域信息,并利用Voxl-Grid算法[86]实现图粗化(graph coarsening),在点云识别中取得了显著领先的性能。DGCNN[87]提出在高维特征空间寻找k近邻,由此构建出随每一层动态更新的图网络。此外,该方法还提出边缘卷积(EdgeConv),即利用MLP学习与边相关的高维拼接特征。尽管在点云分割中获得了优异的效果,但该方法复杂度较高。为了缓解此问题,LDGCNN[88]移除了高维的特征变换操作,采取链接不同层的多级特征策略以保证模型的识别性能。受DGCNN和Inception模型的启发,Hassani等人[89]提出了针对点云数据的无监督多任务自编码器,其中编码器基于多尺度图网络构建,解码器由聚类、自监督分类以及重建模块所组成。Li等人[106]将DGCNN成功地应用至大型室外场景的植被分割中。该方法采用超体素(super voxel)策略获得局部邻域,随后应用边缘卷积对每一个超体素邻域提取整体特征。接着,为了捕获上下文信息,该方法在non-local网络[90]的启发下,采用k近邻策略结合边缘卷积获取全局信息。

ClusterNet[91]在理论上构建了具有旋转不变性的点云表示,并利用DGCNN提出的边缘卷积搭建分层的聚类网络,以该网络学习旋转不变的点云特征。文献[92]采用向量化的协方差矩阵加强局部图特征学习中的几何表达力,并由此提出了端到端的无监督自编码网络进行形状重建。Liu等人[93]提出了一种单步图卷积方法,通过优化矩阵乘法将点云卷积中的采样、分组和池化三步操作简化为一步,提高了卷积效率。GeoConv[94]提出在卷积中引入向量分解以建模几何特性。具体地,该方法将参考点与邻居点的边向量分解到局部坐标系的三个正交轴上,并在特征变换中以向量间的夹角进行加权。KCNt[95]基于核关联(kernel correlation)理念设计了一个与局部结构进行匹配的可学习核,通过计算该核与局部邻域间的亲和度实现卷积。Point22Node[96]提出从不同级别上动态建模点间相关性的方法,由此整合了包括自身、局部以及全局的信息,获得了更为强健的点云表征。

总结而言,基于空域卷积的方法最接近经典的图像卷积,同时也取得了相当优异的点云形状识别性能。然而,这些方法与经典卷积在核心操作上仍然存在较大差异,因此难以将卷积在图像处理中取得的成功拓展至点云领域。另一方面,现存的空域卷积方法在几何结构建模上缺乏可学习性,虽然显式地强行加入局部几何描述能够缓解此问题,但并未形成方法上的有效解决方案。此外,该类方法通常具有较高的复杂度,难以适用于大规模点云识别,比如遥感场景中的点云语义分割。

2.5、基于谱域卷积的方法

图8 基于谱域卷积的点云特征学习方法示意图

这一类方法将卷积定义为谱滤波(spectral filtering),如图8所示。根据信号处理相关理论[98, 99],空域中的卷积操作可等效为谱域中的逐点哈达玛积(Hadamard product).。因此,该方法通过傅里叶变换将点集变换到谱域,然后在谱域中定义可学习的卷积滤波器[100]。

RGCNN[101]在高维特征空间中寻找近邻点,因此能够动态更新图拉普拉斯矩阵。为了更好地适配点云几何结构特性,该方法在损失函数中添加图信号平滑先验作为正则化,即让空间相邻点的高维特征更加相似。AGCN[102]构建可学习的距离度量来参数化各点间的相似性,并借助于高斯核以及学习的距离来归一化图的邻接矩阵,使得谱域中的滤波学习更加其有自适应性。Feng等人[103]提出超图(hypergraph)神经网络,通过在超图上应用谱卷积[100]来构建超边卷积层,在点云识别中取得了优异的性能。以上方法均在全图上进行操作,缺乏对局部结构的充分表达。为了更好地挖掘局部信息,Wang等人[97]采用近邻策路提出了一个端到端的谱卷积网络。该方法避免了对图拉普拉斯矩阵和图粗化层级的离线计算。PointGCN[104]使用高斯核对局部邻域中的每一条边进行加权,并在图谱域定义切比雪夫多项式(Chebyshev polynomials)来近似滤波器学习,显著地降低了模型复杂度。3DTI-Net[105]在谱域近邻图上构建卷积,并采用从欧氏距离以及方向距离中学习滤波器的策略,由此实现了具有几何变换不变性的点云特征学习。

基于谱域卷积的点云特征学习方法具备坚实的理论基础,然而通常复杂度较高,尤其是在大型场景点云学习中,计算图拉普拉斯矩阵的特征分解将十分耗时。虽然采用局部图处理能缓解此问题,但该类方法获得的点云表征一般判别性不强。一个可能的原因是该类方法使用的多项式近似方案表达力不足,难以充分建模点云的几何结构,尤其是对于稀疏的大规模点云。

3、总结

较为全面地梳理了与场景理解相关的深度学习研究方法,并按照各方法核心思想的不同进行分门别类。首先,简要概述了有关深度神经网络的基础知识(上一篇文章,场景理解相关内容整理(一)——深度学习简介 - 计算机视觉AI的文章 - 知乎 https://zhuanlan.zhihu.com/p/535521009),包括发展历程、基本组件与经典的网络结构。这些内容是场景理解相关研究的重要支撑。接着,按照时间发展的顺序整理了有关语义分割的深度学习方法,包括以开山之作全卷积网络为代表的方法、基于自编码器架构恢复分割细节的方法,以及基于多尺度学习捕获视觉上下文的方法。最后,以特征学习为主线综合性地梳理了与点云语义分割相关的深度学习方法,主要包括两大类,即以PointNet为代表的多层感知机方法和灵活多变的卷积方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/131142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五种IO模型

目录 一、对IO的重新认识 二、IO的五种模型 1.阻塞IO 2.非阻塞IO 3.信号驱动IO 4.IO多路转接 5.异步IO 6.一些概念的解释 三、非阻塞IO的代码实现 1.fcntl 2.实现工具类 3.实现主程序 一、对IO的重新认识 如果有人问你IO是什么,你该怎么回答呢&#xf…

LeetCode题:83删除排序链表中的重复元素 141环形链表

83删除排序链表中的重复元素 题目内容 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2]示例 2: 输入&#xf…

2023-2024-1高级语言程序设计-一维数组

7-1 逆序输出数组元素的值 从键盘输入n个整数存入一维数组中,然后将数组元素的值逆序输出。 输入格式: 第一行输入整数个数n; 第二行输入n 个整数,数据之间以空格隔开。 输出格式: 逆序输出数组元素的值,每个数据之后跟一个空…

基于野狗算法的无人机航迹规划-附代码

基于野狗算法的无人机航迹规划 文章目录 基于野狗算法的无人机航迹规划1.野狗搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用野狗算法来优化无人机航迹规划。 1.野狗搜索算法 …

SpringBoot整合RabbitMQ学习笔记

SpringBoot整合RabbitMQ学习笔记 以下三种类型的消息,生产者和消费者需各自启动一个服务,模拟生产者服务发送消息,消费者服务监听消息,分布式开发。 一 Fanout类型信息 . RabbitMQ创建交换机和队列 在RabbitMQ控制台,新…

JS逆向爬虫---请求参数加密① 【某度翻译】

接口定位 抓包输入翻译关键词 全局搜索关键词,定位到接口https://fanyi.baidu.com/v2transapi 全局搜索sign 多次尝试定位变化参数sign 断点调试b函数 复制整个function,并测试函数运行结果。 需要把function改写成如下的数据: function(t) {var o…

reactor(百万并发服务器) - 2

这是连续剧般的文章,请关注,持续更新中... 系列文章: http://t.csdnimg.cn/Os83Qhttp://t.csdnimg.cn/Os83Q这篇文章将我们的reactro转变成http服务器... HTTP HTTP介绍 HTTP是一个基于TCP通信协议的基础上的应用层协议。接下来我们需要解析HTTP请求消息…

【2024最新】PE工具箱【下载安装】零基础到大神【附下载链接】

下载链接:点这里 1.PE (Portable Executable) 工具箱通常用于处理Windows可执行文件和动态链接库(DLL)的二进制文件格式。这些工具对于进行逆向工程、软件分析和系统维护等任务非常有用。以下是PE工具箱的一些常见功能和用法: 查…

VR博物馆:让博物馆传播转化为品牌影响力

随着VR技术的不断进步,VR全景技术已经成为了文化展示和传播的一项重要工具,相较于传统视频、图文等展现方式,VR全景体验更加直观、便捷,其中蕴涵的信息量也更加丰富,这也为公众了解博物馆和历史文化带来了更为深刻的体…

洗衣洗鞋柜洗衣洗鞋小程序

支持:一键投递、上门取衣、自主送店、多种支付方式 TEL: 17638103951(同V) -----------------用户下单-------------- -------------------------多种支付和投递方式------------------------- -----------------商家取鞋--------------

Transformer的最简洁pytorch实现

目录 前言 1. 数据预处理 2. 模型参数 3. Positional Encoding 4. Pad Mask 5. Subsequence Mask 6. ScaledDotProductAttention 7. MultiHeadAttention 8. FeedForward Networks 9. Encoder Layer 10. Encoder 11. Decoder Layer 12. Decoder 13. Transformer 1…

基于STM32HAL库看门狗(独立看门狗)-简述

目录 概述 一、开发环境 二、STM32CubeMx配置 三、编码 四、运行结果 五、总结 概述 一个成熟靠谱的项目,离不开“看门狗”的必选项,凡是人写的程序多少都会有出现bug的情况(或芯片外设受外界干扰导致故障程序卡死、跑飞的情况&#xf…

AI:58-基于深度学习的猫狗图像识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

【LeetCode】每日一题 2023_11_5 重复的DNA序列

文章目录 刷题前唠嗑重复的DNA序列题目描述代码和解题思路偷看大佬题解结语 刷题前唠嗑 LeetCode? 启动!!! 重复的DNA序列 题目链接:187. 重复的DNA序列 题目描述 代码和解题思路 func findRepeatedDnaSequences(s string) …

基于SpringBoot+Vue的旅游系统、前后端分离

博主24h在线,想要源码文档部署视频直接私聊,低价有偿! 基于SpringBootVue的旅游系统、前后端分离 开发语言:Java 数据库:MySQL 技术:SpringBoot、Vue、Mybaits Plus、ELementUI 工具:IDEA/Eci…

使用脚手架创建项目,使用组件开发

单文件组件 单文件组件就是一个文件对应一个组件, 单文件组件的名字通常是xxx.vue(命名规范和组件名的命名规范相同),这个文件是Vue框架规定的只有它能够认识,浏览器无法直接打开运行 Vue框架可以将xxx.vue文件进行编译为浏览器能识别的html js css的代码 xxx.vu…

蒙哥马利算法模乘(四)

一 蒙哥马利算法模乘介绍 蒙哥马利模乘算法主要为了进行大数运算a*b mod n,在介绍蒙哥马利模乘之前,先让我们来了解蒙哥马利约减。 1.1 蒙哥马利约减 a mod n 如果a是一个2048位的整数,n是一个1024位的整数,如果直接采用相除的方式,不论在空间还是时间上都会产生非常大…

Swift 和 Python 两种语言中带关联信息错误(异常)类型的比较

0. 概览 如果我们分别在平静如水、和谐感人的 Swift 和 Python 社区抛出诸如“Python 是天下最好的语言…” 和 “Swift 是宇宙第一语言…”之类的言论会有怎样的“下场”? 我们并不想对可能发生的“炸裂”景象做出什么预测,也无意比较 Swift 与 Pytho…

安吉寻梦桃花原

安吉——西湖边的那片竹海 安吉县,地处浙江西北部,湖州市辖县之一,北靠天目山,面向沪宁杭。建县于公元185年,县名出自《诗经》“安且吉兮”之意。 安吉县生态环境优美宜居,境内“七山一水二分田”&#xf…

Java锁常见面试题

图片引用自:不可不说的Java“锁”事 - 美团技术团队 1 java内存模型 java内存模型(JMM)是线程间通信的控制机制。JMM定义了主内存和线程之间抽象关系。线程之间的共享变量存储在主内存中,每个线程都有一个私有的本地内存,本地内存中存储了该…