邱云飞,赵 静,方 立
1.辽宁工程技术大学 软件学院,辽宁 葫芦岛125100
2.中国科学院海西研究院泉州装备制造研究中心 遥感信息工程实验室,福建 泉州362216
随着三维视觉技术的发展,三维数据被广泛应用于不同领域,例如计算机视觉[1]、遥感[2]、机器人[3]等。在不同类型的三维数据中,点云因为数据量较小并且表现物体能力细腻,所以在三维目标分类[4]、三维场景分割[5-7]以及三维表面重建等任务中扮演着重要的角色。然而在采集点云数据时,由于传感器的限制、采集数据时的光线差异、物体表面的材质差异等,导致获取的数据变得稀疏或者残缺,从而影响三维目标分类、三维场景分割等下游任务。因此,对残缺点云进行高质量的补全是至关重要的。
传统的3D 形状补全方法大概可以分为两种:基于几何的方法、基于对齐的方法。基于几何的方法是通过原始点云的几何规律进行形状补全。在几何补全方法中,Berger 等人[8]采用插值思想对残缺点云的空洞进行补全;Thrun等人[9]通过检测输入点云的对称性,然后不断重复规则结构,以预测其缺失部分。虽然这些方法在特定情况下是可行的,但对原始点云的完整性和对称性要求较高,不适合真实场景采集的残缺点云数据。基于对齐的方法是从大型模型数据库中寻找匹配模型,从而实现形状补全。在基于对齐的方法中,Li等人[10]通过直接检索相匹配的模型来作为点云补全结果;为了适应输入点云的不同结构,Pauly 等人[11]将检索的模型先形变再进行点云补全。然而这些方法看似有效,但检索模型产生的庞大运算代价使其很难迁移到实时补全,并且对含噪声度高的原始点云补全效果较差。
相较于传统补全方法的局限性,基于学习的点云补全网络具有泛化性。其通过学习原始点云的特征,训练具有形状补全效果的模型,以此实现点云补全任务。FoldingNet(point cloud auto-encoder via deep grid deformation)[12]引入了一种基于折叠的解码器,通过在点云3D曲面上叠加2D网格以输出补全点云,但是在补全过程中难以补全物体尖锐表面。PCN(point completion network)[13]采用编码器-解码器结构,首先在编码器中提取全局特征并形成特征向量,然后在解码器中利用特征向量进行由粗略到精细的补全,但是在补全过程中缺少局部特征。PMPNe(tpoint cloud completion by learning multi-step point moving paths)[14]在提取的全局特征基础上,通过逐点位移的方式进行点云补全。近些年,基于注意力机制的Transformer结构由于具有提取点关联特征的优势,被引入相关点云处理任务中[15]。
综合上述问题和思路,提出一种结合残差网络的多尺度特征点云补全方法。网络整体采用端到端的思想。为关注不同层次具有代表性的特征点,以提高网络鲁棒性,采用最远点采样(farthest point sampling,FPS)[16]方法获取三种不同尺度点云。区别于传统补全网络,有效弥补仅关注全局特征造成的语义信息丢失问题,MFNet提出采用不同特征提取方式并行提取点云特征。首先采用在MLP(multi-layer perceptron)基础上进行改进的MCMLP(multi-layer combined MLP)提取低分辨率点云的全局信息,通过将数据逐层映射在不同的特征维度进行级联,并采用并行池化整合特征,以保证特征完整性,增强感知特征信息能力;然后利用EdgeConv[17]动态提取点之间的空间立体几何结构信息,以提高模型对点云空间结构的敏感度;最后采用MLP 融合全局特征和局部特征,促使对输入点云进行有效特征编码。为充分利用融合的特征向量,预测骨架点云,网络采用全连接层将其解码为具有1 024个点的粗糙点云。为避免受残缺点云的影响,MF-Net 在精细重构单元将粗糙点云与原始点云串联,并在引入折叠机制[12]的过程中融合注意力机制,以在充分保留点特征的同时促进补全点云形状变得更加平滑;此外,在细化的过程中采用残差网络[18]的连接方式,不断预测点位移,进而提高输出点云的点分布均匀性;最后,通过计算粗点云、稠密点云分别与真实点云之间的CD值,不断回溯训练过程,以校正的方式进行网络优化。实验结果证明,MF-Net 不但对输入点云能够进行充分的特征提取,做到关注全局特征信息的同时灵活捕获空间几何结构信息,还可对得到的特征编码进行高效利用,进而生成更加精细、稠密且完整的补全点云形状。除此之外,实验采用不同的数据集,更好地证明了网络不仅具有泛化性,还具有良好的鲁棒性。
网络处理流程中各阶段的处理结果如图1所示,将原始残缺点云输入网络,然后通过由残缺到完整的补全过程,生成具有1 024 个点的粗糙点云以及16 384 个点的精细完整点云。
图1 网络阶段处理图Fig.1 Network phase processing diagram
近年来,基于深度学习的点云补全研究取得了较大进展。与二维图像不同的是点云具有无序性,因此传统的卷积神经网络(convolutional neural network,CNN)很难应用在点云补全领域。基于体素的点云补全算法通过模拟图像像素的排列方式将点云划分在规则的三维网格内,再应用卷积神经网络实现点云补全[19-20]。然而在转换高分辨率体素栅格的过程中不仅丢失细节特征,还会一直消耗大量的内存空间。为解决点云转换为欧几里德结构数据带来的高内存消耗,PointNet[21]提出直接将无序点云作为网络输入,然后利用共享多层感知机(shared MLP)和最大池化提取点云全局特征。FoldingNet 引入基于折叠的解码器,完成由2D 到3D 的形状映射。受PointNet和FoldingNet的启发,Yuan等人提出具有开创性的点云补全网络PCN。首先利用两层PointNet提取残缺点云的全局特征并形成特征向量,然后根据特征向量生成粗糙点云,最后引入FoldingNet进行点云细化。TopNet[22]在无需假定任何拓扑结构的基础上,提出采用分层树状结构实现点云补全。PF-Net[23]在具有输入点云的先验信息的前提下,采用多尺度点云补全网络只对残缺点云的缺失部分进行预测。最近,PMPNet 采用逐步迭代的思想,根据迭代点特征以获得全局信息,从而进行形状补全。
由于点云是一种非欧氏结构数据,图卷积将其转换为图结构,其中顶点是经过特殊采样的点,边则承载该点与相邻点的特征[24]。Shen 等人[25]提出一种内核关联层和基于图形池化层的操作,以考虑相邻数据点的几何相似性。PointNet++[16]在PointNet基础上采用球查询的方法对其邻近点进行采样,然后自适应组合多尺度局部特征。然而PointNet++忽略了点之间的空间几何关系。为解决该问题,DGCNN(dynamic graph CNN)[17]提出了一种自适应局部特征学习机制边缘卷积(EdgeConv)模块,根据某种距离度量方式动态选择邻近点,构建局部邻域图,从而更好地捕获局部几何结构。
网络的完整架构如图2所示,整体采用端到端的思想,通过搭建编码器-解码器结构进行点云补全。其中,编码器为了兼顾整体结构和邻域信息,将原始点云采样为多尺度点云,并采用MCMLP提取低分辨率点云的全局特征,同时嵌入EdgeConv 提取的原始点云的局部特征;然后采用递归形的级联方式融合特征,形成特征向量并输送给解码器。解码器分为两阶段:首先利用全连接网络将特征向量解码为粗点云;然后在精细重构单元将粗点云和原始残缺点云拼接,以避免破坏原始点云结构,最后引入折叠网络和注意力机制并以残差网络形式连接以进行逐点细化,即输出分布均匀的完整点云。
图2 结合残差网络的多尺度特征点云补全网络Fig.2 Multi-scale feature point cloud completion network combined with residual network
编码器的作用是提取点云特征并映射为特征向量。目前基于深度学习的点云补全网络通常只是单纯地提取原始输入中每个点的特征,从而忽略点与点的邻域信息。为了得到更丰富的点云特征,MF-Net 采用多尺度特征提取方法。首先通过FPS获得分辨率为(512,1 024,2 048)的输入点云,然后通过级联的方式利用MLP融合MCMLP提取的全局信息以及采用EdgeConv提取高分辨率原始点云的局部特征,从而得到最终的特征向量,进而为完整点云的生成奠定基础。
2.1.1 特征点采样
在点云中,通常利用较少的点描述点云框架,而这些点被定义为特征点。MF-Net通过采用迭代下采样策略选取高低层次具有代表性的特征点,促使网络关注多尺度点云中蕴含的关键特征信息,进而提高网络鲁棒性。
常用下采样方法有体素下采样、随机下采样、曲率下采样、最远点采样。体素下采样方法将点云数据置于长方体内,然后寻找与该长方体质心最近的点作为采样点。该方法虽然采样点分布较为均匀,但不能准确控制采样点数。随机下采样方法按照一定的比例或者数量对原始点云进行采样。该方法虽然能准确控制采样点数,但采样点分布不均匀。曲率下采样方法通过设定夹角阈值的方式选取采样点。该方法虽然稳定性高,但采样点数会受曲率大小影响,更适合对具有丰富特征的点云进行采样操作。相比其他下采样方法,最远点采样方法能够依据事先设定的采样点数,对点云进行均匀采样,并且通过该方法选取的采样点能更好地表示整个点云分布。鉴于最远点采样方法的采样优势,MF-Net 将其作为获取不同分辨率点云的手段。首先从原始点云中随机选取一个点作为初始点,然后在循环中计算剩余原始点到距离它最近的最远点的距离,接着从这些点中选择距离最大的点作为下个最远点,其中循环次数为需要下采样的点的个数。
2.1.2 特征提取模块MCMLP
现有的点云补全网络通常利用MLP 提取底层特征。首先将输入点云逐层映射到不同的特征维度,然后在最终的特征维度层上利用最大池化选取点云特征,形成潜在特征向量。然而,只提取最后单层特征不仅会忽略低维和中维的特征信息,还会受其维度数的强烈影响。此外,仅依靠最大池化对最后单层卷积处理会丢失输入点云的语义轮廓信息。因此,为了有效提取输入点云特征,MF-Net 在原有MLP 基础上进行改进,提出了一种新的特征提取模块,称为MCMLP。如图3 所示,首先将输入点云映射到不同的特征维度f=[64,64,128,256,512,1 024],并且每一层均使用批量归一化(batch normalization,BN)和ReLU 激活函数来进行非线性操作;然后为了避免底层和中层特征信息的缺失,将得到的多维特征在最后一层进行拼接(concat);接着为了更好地兼顾整体结构,MCMLP将拼接后的特征分别送入全局最大池化和全局平均池化;最后通过串联池化后的特征以形成潜在特征向量。其计算公式表示为:
图3 MCMLP结构图Fig.3 MCMLP structure diagram
其中,i=0,1,2,3,4,5,fi为f中的元素,GMP 为全局最大池化,GAP 为全局平均池化,⊕是将二者进行串联(若论文其他处没有多加说明,即⊕均表示串联),因此MCMLP的特征通道数为2 048。
MCMLP 通过在最后一层级联映射的多维特征以保证由低级到高级映射特征的完整性,从而规避低层特征和中层特征间接性缺失问题,促使网络在提取全局特征的同时兼顾输入点云的局部信息。此外,全局最大池化擅长把握细节信息,而全局平均池化适用于提取点云整体架构信息,故将二者并行作用在拼接后的特征信息上,以增强其特征提取能力。
MF-Net 采用MCMLP 分别提取两个低分辨率点云的特征,以获取更完整的特征信息,然后利用MLP进行特征融合形成全局特征Fg,其计算表示为:
其中,PN=1024和PN=512分别表示点数为1 024和512的输入点云。
2.1.3 特征提取模块EdgeConv
若单纯通过MCMLP 对两个低分辨率点云做特征提取,会丢失原始点云之间的拓扑关系。以往补全网络大多利用PointNet++提取局部特征以弥补不足,其主要思想是利用球查询的方式,以通过最远点采样方法选取的中心点为中心坐标进行分组,然后采用PointNet进行特征提取。虽然PointNet++在PointNet基础上增加了抽样、分组的策略以学习局部结构特征,但是忽略了空间几何结构信息。为解决这一问题,MF-Net采用DGCNN提出的EdgeConv对原始点云进行局部特征提取。
EdgeConv 通过构建局部邻域图,得到点与邻近点之间的边特征,然后将边特征进行聚合后以更新该点的特征值,其中每层的局部邻域图是由距离度量方式动态选择每个节点的邻域构成,因此它在保持点的排列不变性的同时还能捕获局部邻域信息。如图4 为EdgeConv结构图。首先利用K-近邻算法(K-nearest neighbor,KNN)在某点xi周围选取与它最近的k个点并构成有向边(i,ji1),(i,ji2),…,(i,jik),然后计算该点与它最近k个点的边特征eij=h(xi,xj),其中h为特征提取函数;最后利用聚合操作动态更新点xi的特征。
图4 EdgeConv结构图Fig.4 EdgeConv structure diagram
为了得到更详细的点云邻域信息,MF-Net 通过在叠加两层EdgeConv的基础上并行使用最大池化和平均池化,以提取原始点云的局部特征Fl,其计算表达式为:
其中,F′为利用两次EdgeConv提取的特征,GMP 为全局最大池化,GAP 为全局平均池化,PN=2048表示点数为2 048的输入点云。
最后,MF-Net 将提取到的全局特征和局部特征利用MLP 进行特征融合,再通过最大池化提取融合后的特征,从而获得最终特征向量F,其输出维度是(B,2 048),B为batch_size。计算表达式为:
其中,GAP 为全局平均池化,Fg为全局特征,Fl为局部特征。
MF-Net 将原始输入采样为三种不同尺度点云,然后借鉴级联的思想融合多尺度特征,以此帮助网络注意到多分辨率点云的特征信息,促使网络灵活应对具有不同缺失程度的残缺点云,提高补全效果。接着利用MLP 融合多分辨率点云的全局特征和局部特征,从而实现渐进式的特征学习方式,有效解决传统补全网络缺失局部特征的问题,达到优化网络性能的目的。
解码器分为两阶段:粗点云的生成以及点云的精细重构。首先利用三层全连接将特征向量F输出粗糙点云;其次将原始点云与粗点云拼接,形成合成点云;然后为了使点的分布更接近原始点云的同时使补全的点云形状更具平滑性,将合成点云、特征向量以及2D网格进行拼接并采用注意力机制处理;最后通过Shared MLP进行特征融合后输出。鉴于残差网络的优越性,在点云精细重构单元中结合残差网络,预测粗点云的点位移,从而保证稠密点云的完整性以及点分布的均匀性。
2.2.1 粗点云的生成
粗点云通常是点云补全网络中完整点云的框架。有效地将编码器传送的特征向量映射到三维空间,从而生成粗点云是至关重要的。借鉴现有点云补全网络预测粗糙点云的思想,对于稀疏点的集合,MF-Net采用擅长预测全局几何结构的全连接网络生成粗糙点云。在特殊情况下,若只依靠单层全连接层处理特征向量很难解决非线性问题,因此MF-Net 采用三层全连接层一同作用在获得的特征向量上。
网络首先将编码器中提取的特征向量F作为输入,然后通过维度分别为2 048、1 024、1 024的三层全连接将特征向量F映射到1 024×3 的输出单元上,最后利用矩阵重置1 024×3 的粗点云Pcoarse。计算表达式为:
其中,FC 表示全连接操作,R表示矩阵重置,F表示特征向量。
2.2.2 点云的精细重构
多数点云补全网络在生成稠密点云时,会忽视原始输入的坐标信息,导致最终补全形状与基准点云形状存在细节差别。为解决上述问题,MF-Net 在进行点云细化时,通过添加原始残缺输入以更好地保留原始点云几何细节,提高补全性能。受文献[26]的启发,网络在精细重构单元时将原始点云与粗点云合并,以作为合成点云。但是时因为原始残缺点云和粗点云存在高度密度差,所以直接将原始点云和粗点云进行拼接,会导致点分布不均匀以及合并处出现间隙。因此,为了规避合并点云分布存在密度差的情况,MF-Net 利用最远点采样分别对原始残缺点云和粗点云下采样为512个点,然后将二者拼接,形成合成点云Pcombine[27]。在对原始点云最远点采样的同时融合镜像操作(Mirror),其目的在于既能兼顾到原始点云的整体对称性,也能避免一些特征点被忽略。计算表达式为:
其中,Mirror 为镜像操作,FPS 为最远点采样算法。
最远点采样方法虽然可以解决密度不均匀问题,但是对合并处的间隙问题却无能为力。为解决该问题,网络首先以合成点云Pcombine的每个点作为中心点,通过折叠4×4的2D网格,使其每点周围生成16个点。接着,避免利用合成点云以及2D网格直接进行补全所导致的全局特征缺失问题,将特征向量F扩展为F×16 进行嵌入。
点云处理任务中,点与点之间存在一定的位置联系。为加强位置联系,保留重要特征,MF-Net在串联的合成点云、2D 网格以及全局特征之后增加了自注意力模块。与常规注意力机制不同的是,自注意力模块可找寻数据内部联系,令输出数据与输入数据息息相关。其主要思想为:以拼接后的点云作为自注意力模块(selfattention)的输入;通过线性变换得到查询矩阵(Q)、键矩阵(K)和值矩阵(V),并将Q与K的转置相乘;为防止梯度过大,将上步所得的乘积除以键的维度大小的平方根倒数,最后通过softmax归一化与V相乘得到最终的特征向量。计算表达式为:
其中,Wq、Wk、Wv表示线性转换权重,R是矩阵重置;seed是2D网格;Expand表示扩展维度。
最后,结合残差网络的优势,将Fattention输送至Shared MLP 进行特征融合,再在输出时添加(addition)粗点云,作为最终的完整点云Pdense。计算表示为:
其中,SMLP 是共享感知机,由三个一维卷积、两个批量归一化层和两个激活层组成。
为证明实验的有效性,本文在ShapeNet 数据集和KITTI数据集上进行点云补全实验。
ShapeNet数据集是通过CAD进行模型合成所创建的数据集,包含残缺点云和真实点云训练对。该数据集包含飞机(airplane)、橱柜(cabinet)、汽车(car)、椅子(chair)、灯具(lamp)、沙发(sofa)、桌子(table)、船舶(vessel)共8个类别数据,30 974个模型。ShapeNet是通过2.5D深度图像利用反方向,投影到3D深度图像中生成残缺点云。真实点云则是通过网格采样对模型表面均匀采样为16 384 个点。残缺点云并不是完整点云的子集,其中每个模型是由8个不同分布位置的视点所产生,且可采样为不同尺度,本文采样为2 048个点。
KITTI 数据集是利用激光雷达扫描现实世界而获得的数据,是用来测试自动驾驶场景下的计算机视觉算法。该数据集拥有多个不同场景的实际点云数据,并且每个采集的点云数据中均包含10辆左右的汽车。具体而言,KITTI数据集通过采用一系列的Velodyne扫描点云场景,从而提取多个残缺的汽车点云,值得注意的是,这些残缺点云没有真实点云作基准。
网络使用Pytorch框架在NVIDIA RTXA6000显卡,ubuntu16.04运行环境下进行训练,优化器选用Adam[28],初始学习率设置为0.000 1,每迭代50 个epoch,学习率降低0.7,batch_size设置为32。
点云具有无序性,因此选择的损失函数对点云的坐标应具有置换不变性。Fan等人[29]提出两种计算点云分布差异的损失函数,分别为CD 和EMD。EMD 计算复杂度高,运行速度缓慢,CD 的计算速率高,并且更注重点云的全局信息,因此论文采用CD作为损失函数及评价指标,EMD只作为评价指标。CD是计算生成点云S1和真实点云S2之间的平均最近平方距离。计算表示为:
式中,第一项的计算是为了让生成点云形状靠近真实点云形状,第二项的计算则是为了让生成点云尽可能地覆盖真实点云。在整个实验中,网络将两个CD进行线性组合,以作为网络的联合损失函数。Loss值越小,其网络补全的性能就越好。计算表达式为:
式中,Pcoarse、Pdense和Pgt分别表示粗点云、稠密点云以及真实点云。dCD1表示计算Pcoarse和Pgt的倒角距离,dCD2表示计算Pdense和Pgt的倒角距离;μ则是调节dCD1和dCD2线性关系的权重参数。
网络在ShapeNet数据集中将CD、EMD和F-Score[30]作为评价指标,在KITTI 数据集中将Consistency[30]作为评价指标。
CD 作为评价指标用来验证补全点云的全局结构,而EMD则是用来评价补全点云的点分布均匀性。EMD通过构建一个双射函数,来惩罚两个点云之间的稠密差。由于在计算过程中需要点与点之间存在一对一的关系,故实验中EMD的值会比CD值高。EMD越低,点分布越均匀。计算表达式为:
其中,ϕ为一个双射函数,用来最小化生成点云S1和真实点云S2中对应点的平均距离。
F-score是用来评价模型补全质量的指标,它主要计算物体表面间的距离,其大小是精确率和召回率的调和平均值。即F-score 越高,点云补全的准确率就越高。计算表达式为:
其中,P为精确率,R为召回率,d为距离。
因为KITTI数据集没有真实点云作基准,所以本文采用Consistency 作为评价指标。Consistency 是指在连续帧下,相同实例的补全结果的平均CD值。Consistency值越低,表示一致性越高。计算表达式为:
实验采用ShapeNet 数据集的8 个子类进行训练和测试,并选择其中的7 类进行可视化。因为KITTI 数据集没有实际点云作基准,所以本文利用该数据集验证网络补全性能,并展示可视化结果。为证明网络的有效性,将PCN、FoldingNet、PointFCAE[22]和PMPNet 这几种主流补全网络与MF-Net 进行定性和定量的比较。其中,PCN 采用PointNet 算法提取全局特征,然后通过全连接网络和网格变形输出点数为16 384 的完整点云;FoldingNet在提取点云特征的基础上,利用共享连接层和两组128×128的2D栅格对输入点云进行补全;Point-FCAE与PCN不同之处在于解码器,它通过全连接网络直接输出完整点云;PMPNet 首先通过PointNet++提取全局特征,然后每次移动2 048个点,接着再将每个形状预测8次,最后输出具有16 384个点的稠密点云。为了保证实验的公平性,文中提出的补全网络和对比网络将使用相同的实验设置进行训练和测试,并报告最优结果。
3.3.1 ShapeNet数据集的补全结果
为了验证本文提出的点云补全性能,在ShapeNet数据集上进行测试,并与其他补全网络进行定性、定量的对比。
如表1、表2 和表3 所示,为CD、EMD 和F-score 作为评价指标的实验结果,最佳补全结果用黑体加粗表示。从表1、表2和表3中可以看出,相较于FoldingNet、PCN、PointFCAE和PMPNet,MF-Net的评价指标均值表现出较优结果。由表1 可知,MF-Net 除了Lamp 类CD值略高于PMP-Net外,其余各类CD值均优于所有对比网络,且其平均CD 值较最优的PMPNet 降低了8.3%。相比于其他补全方法,MF-Net 通过特征点采样方法将输入转换为多分辨率,并且采用MCMLP 提取全局特征,以此保证残缺点云的特征全面性及其完整性。此外,利用全连接层生成粗糙点云,以更好地预测输出点云的全局几何结构。因此,本文提出的方法在输入是非完整点云的情况下,能够有效补全点云,提高网络的泛化性,降低CD值。由表2可知,MF-Net的EMD值除了略高于PMPNet的Lamp类外,其余各类EMD值均优于所有对比网络,且其平均EMD值较最优的PCN降低了10%。MFNet通过采用EdgeConv捕获局部几何结构的同时结合残差网络细化稠密点云,避免了局部信息丢失问题,有效控制了局部邻域信息,提高了生成点云的点分布均匀性,进而降低了EMD值。由表3可知,MF-Net的F-score 值除了略低于PMPNet 的Lamp 类外,其余各类F-score值均优于所有对比网络,且其平均F-score值较最优的PMPNet提高了12.3%。MF-Net在相关补全网络的基础上,将传统的单分辨率特征提取方式优化为采用多尺度特征提取模式,令网络充分关注不同尺度特征,为后续的特征解码、恢复完整点云形状提供了很好的帮助。此外,在细化过程中通过合并粗点云和残缺输入以保留原始点云信息,并融合自注意力机制以过滤无效特征,进而提高网络准确率,促使网络补全性能达到最优。
表1 不同网络的点云补全结果对比(CD)Table 1 Comparison of point cloud completion results of different networks(CD)
表2 不同网络的点云补全结果对比(EMD)Table 2 Comparison of point cloud completion results of different networks(EMD)
表3 不同网络的点云补全结果对比(F-score)Table 3 Comparison of point cloud completion results of different networks(F-score)
图5是不同补全网络的可视化结果对比,由图可归结MF-Net的以下两点补全优势。
图5 不同网络的点云补全结果的可视化对比(ShapeNet)Fig.5 Visual comparison of point cloud completion results of different networks(ShapeNet)
(1)对局部细节具有更好的补全能力。FoldingNet虽然可以补全点云的整体轮廓,但因为其网络细化部分是由2D网格叠加组成,所以输出的点云缺少细节信息,并且存在网格扭曲现象,例如飞机的引擎。PointFCAE和PCN 虽然有较高的补全精度,但对局部细节的恢复具有一定的难度。对于PointFCAE,在提取全局特征的基础上,利用全连接网络直接对提取的特征进行补全,因此输出的点云缺少细节特征,导致补全的形状曲面不够平滑,噪声点多,例如椅子的底部支架。对于PCN,虽然是利用全连接和网格变形进行由粗到细的补全,但是在编码器中它仅关注点云全局特征,因此在点云空间结构的细节方面仍有缺失,存在点分布不均匀情况,例如椅子的扶手。PMPNet由于是通过逐点移动的方式进行补全,补全的形状会存在局部间隙过大的问题,例如橱柜的橱壁。相比于上述补全网络,MF-Net 具有良好的补全性能,通过采用多种特征提取方式把控特征信息,并且在折叠的2D网格基础上融合自注意力的同时结合残差网络,令模型生成的目标点云具有合理形状的同时避免了细节的丢失,例如飞机的引擎和机尾、椅子底部支架的结构、小汽车的车身弧度等都更接近真实点云。
(2)面对不同类别的点云数据具有良好的泛化能力。由图5 可得,FoldingNet 更擅长补全具有平滑曲面结构类别的点云数据,例如小汽车。PCN和PointFCAE擅长补全对细节信息要求较少类别的点云数据,例如飞机。PMPNet 擅长预测缺失程度较低类别的点云数据,例如椅子。相比于其他补全网络,MF-Net 通过采用最远点采样方法获取多分辨率点云以关注不同尺度点云特征,进而有效捕捉输入点云的关键点特征信息,并且在细化点云过程中引入原始点云坐标,使网络在进行补全时有效保留残缺输入的细节特征,从而打破对补全类别的局限性,提高网络泛化能力,优化补全性能,如小汽车、橱柜、椅子等都更近似于基准点云。
3.3.2 KITTI数据集的补全结果
KITTI 数据集是通过激光雷达扫描地面车辆而形成的仅具有残缺点云的数据集,因此实验仅展现模型补全后的可视化结果。在实验中,首先将标记为车辆的点云归置在三维包围盒内,从而产生2 401 个残缺的目标点云,然后通过坐标转换将残缺点云的坐标转换为包围盒的坐标,最后利用在ShapeNet数据集上训练好的模型进行补全。
表4 为不同补全网络在KITTI 数据集中补全结果一致性的比较,最佳补全结果用黑体加粗表示。原始输入一致性较高是因为相同实例在不同帧下经过扫描所形成的外观不同。相比输出一致性,MF-Net 相较于FoldingNet、PCN、PointFCAE 和PMPNet 分别提升了28.9%、15.8%、13.6%、30.8%。MF-Net 将原始输入采样为多尺度点云,然后应用不同的特征提取方式捕获多尺度点云特征信息,并在合并原始点云坐标信息的同时融入自注意力机制,最后在整个精细重构单元结合残差网络进行细化。由表4可得,该网络结构有效降低了输出一致性,提高了点云补全精度,促使生成点云具有更为完整的全局结构。
表4 不同网络的点云补全结果对比(Consistency)Table 4 Comparison of point cloud completion results of different networks(Consistency)
如图6 所示,为进一步验证输出一致性,实验对两种不同连续帧下的车辆点云进行补全。由图可知,FoldingNet补全的车辆存在网格过度变形情况;PCN补全的车尾过于平滑;PointFCAE补全的车辆在曲面衔接部分过于生硬,并且周围噪声点较多;PMPNet补全的车辆存在点分布不均匀情况。相比于上述补全网络,MFNet 补全的形状更接近真实车辆,原因在于它采用特征点采样的策略令网络关注不同尺度且具有代表性的特征点,并利用多种特征提取方式提取相应尺度结构信息,使网络在面对缺失程度较大的输入点云时,仍能进行有效补全,进而提高网络的鲁棒性;然后在点云细化处添加原始点云信息并融合注意力机制,以此保留有用特征,从而预测更为合理且细节更加饱满的点云形状。
图6 不同网络的点云补全结果的可视化对比(KITTI)Fig.6 Visual comparison of point cloud completion results of different networks(KITTI)
KITTI数据集和ShapeNet数据集不同,其原始输入的点数更少,残缺程度更大,并且没有基准数据集。通过网络在KITTI数据集上的实验结果证明,本文提出的补全网络不仅具有良好的泛化性,还具有较高的鲁棒性。
为进一步证明本文提到的多尺度点云、MCMLP模块、EdgeConv模块、精细重构单元中的注意力机制及原始点云拼接的可用性、有效性,在ShapeNet 数据集上进行消融实验。对于MCMLP 模块和EdgeConv 模块,实验分别将它们替换为MLP 和PointNet++的特征提取模块进行点云补全;对于精细重构单元中注意力机制及原始点云的拼接,网络将去除相应部分,直接进行点云细化;对于多尺度点云,网络将删除对原始点云的最远点采样策略,仅对输入点云做特征提取。
表5为消融实验结果,最佳补全结果用黑体加粗表示。[A]组是将MCMLP替换MLP的实验结果。传统补全网络在对输入点云进行特征提取时,采用MLP 直接对最后一层的特征维度进行最大池化操作,以此生成潜在特征向量。但是MLP在提取特征过程中会丢失部分特征信息,并且只利用最大池化进行特征收集会忽略全局结构。与MLP不同的是,MCMLP将映射在逐层特征维度上的信息进行级联,有效避免了特征信息丢失问题,保证了特征完整性。此外,并行使用最大池化和平均池化能更好搜集点云特征,兼顾输入点云的局部几何结构。因此,当MCMLP更换为MLP时,平均CD值、平均EMD 值分别提高了16.7%、11.2%,平均F-score 下降了21.6%。[B]组是将EdgeConv替换PointNet++的实验结果。以往补全网络大多利用PointNet++提取局部特征,然而在提取特征时会忽略输入点云的立体几何特征。为更好提取输入点云的局部特征,控制其邻域信息,MF-Net采用EdgeConv动态提取点与点之间的邻域信息。EdgeConv 主要采用KNN 动态选择空间中节点的邻近点并构造局部邻域图,然后计算点与邻域点间的多维边特征,接着利用聚合函数将得到的边特征进行综合后更新该点的特征值。因此,将EdgeConv 替换为PointNet++,其平均CD 值、平均EMD 值分别提高16%、11.2%,平均F-score 下降20.4%。[C]组是去除精细重构单元中原始点云的实验结果。在进行点云细化时结合原始残缺点云,有效恢复其全局结构及局部细节。因此,当去除精细重构单元中原始点云的加入时,其平均CD 值、平均EMD 值分别提高了12.3%、11.6%,平均F-score下降了16.4%。[D]组是去除注意力机制的实验结果。通过融合注意力机制,网络可以更加关注有效信息,过滤无用特征。因此,当去除注意力机制时,其平均CD 值、平均EMD 值分别提高了8.3%、8.7%,平均F-score 下降了11.9%。[E]组是将多尺度点云更换为单分辨率点云的实验结果。传统点云补全网络直接对输入数据进行特征提取,然而仅关注单分辨率点云特征会造成网络鲁棒性下降,补全效果变差。MF-Net 采用最远点采样策略将原始点云采样为多尺度点云并进行特征提取,有效关注高低层次具有代表性的特征点,从而提高网络鲁棒性,并为后续的特征提取提供帮助。因此,当更换为单分辨率点云时,其平均CD值、平均EMD值分别提高了17.6%、12.2%,平均F-score 下降了23.4%。[F]组是完整的MF-Net 的实验结果,取得所有评价指标的最低值。通过对比发现,只有提出的模块均存在时,网络的补全能力才会达到最佳状态。
表5 消融实验结果对比Table 5 Comparison of results of ablation experiments
针对目前点云补全网络只保留全局结构忽略局部细节,从而造成语义信息丢失的问题,提出了一种结合残差网络的多尺度特征点云补全网络。为了关注更具代表性的特征点,网络将三种不同尺度点云作为输入,以提高网络鲁棒性。通过设计MCMLP和EdgeConv并行提取特征结构,可以更好地挖掘点云全局特征和局部特征,从而提高网络补全性能。在解码器中,网络将粗点云和原始点云等进行合成,并在细化过程中融合自注意力的同时结合残差网络,以关注有效点特征逐步细化点坐标,从而提高了形状补全的完整性和点分布的均匀性。在ShapeNet 数据集和KITTI 数据集上与多个补全网络进行对比可知,本文提出的方法在保证点云整体结构的同时还对局部细节信息有更好的把控,并且具有良好的泛化性和鲁棒性。值得注意的是,解码器中点云精细重构单元由于添加2D 网格进行细化,造成输出点云的点排列过于规则化。因此,如何使补全点云的点排列具有随机性是下一步的研究目标。