基于深度学习的高精度点云补全算法

2023-04-21 13:10刘心维
计算机技术与发展 2023年4期
关键词:特征向量注意力卷积

黄 丽,刘心维,肖 建

(南京邮电大学 电子与光学工程学院、柔性电子学院,江苏 南京 210046)

0 引 言

点云补全,顾名思义,就是将一个残缺的点云,通过某个算法模型补全完整,它是三维视觉领域的一项基础技术。在点云数据的采集过程中,由于采集设备本身以及外界因素等诸多原因导致采集的原始点云数据不完整。点云模型形状上的缺损,极大地限制了视觉和AI的感知能力。点云补全是获得三维对象完整点云模型的必要步骤,是后续相关工作的基础,对残缺点云的补全直接影响着后续工作的效果,因此点云补全工作有着很重要的意义。

1 相关工作

点云补全的研究方法分为三大类,分别是基于几何、基于对齐和基于学习的方法。Mitra、Sipiran和Sung[1-3]等人提出了一些基于几何假设的方法,这些方法较为简单但补全效果很大程度依赖输入点云的质量且泛化性较差。Han、Kalogeralfis[4-5]等人基于数据库匹配的方法要求输入的3D物体形状中含有很小的噪声,并且匹配和补全的准确性很依赖数据库的大小规模以及丰富程度。基于学习的方法是通过构建参数化模型[6-7]来学习输入点云的特征,此方法分为两个阶段,最初出现的基于学习的方法大多是使用体素[8]来表示三维形状,但是成本高且补全精度不理想,无法达到大多数点云补全任务的要求。“点网络”出现后,通过深度学习的方法进行点云补全开始被人们普遍使用。PointNet[9]作为首个可以直接处理点云数据的深度模型算法被提出,在此之后,很多学者在其基础上提出新的改进算法[10-11]。PointNet通过一个简单的对称函数即最大池化对点云的每一个点进行独立处理,通过获得每个点的全局特征来消除数据顺序的影响。Achlioptas等人[12]提出LGAN-AE(latent-space GAN autoencoder)网络模型算法,这是首先使用深度学习实现三维点云补全的算法,证明深度学习对点云补全任务的有效性,但其解码器在恢复稀有几何结构时效果较差。Yuan等人[13]提出PCN(Point Completion Network)网络模型,直接对原始点云进行操作,没有任何结构假设或对底层形状的注释,无法恢复精细的几何细节。Hinton[14]提出3D-Capsule(3D Point Capsule Network)网络模型,使用胶囊网络处理点云数据,局部特征提取效果取得了一定的提升。罗开乾[15]等人提出一种基于多分支结构的点云补全网络,采用编码器对点云的全局特征和局部特征进行综合提取。Huang等人[16]提出PF-Net(Point Fractal Network)网络结构,创新性地设计了点云分形网络,采用类似分形几何的思想,同样以不完整的点云作为输入,仅输出缺失部分点云,较好地保留物体的个体特征,但仍缺乏基于部分观察的条件生成能力。Pan L等人[17]提出VRCNet,由概率模型网络PMNet和关系增强网络RENet两个子网络级联构成,可以基于观测到的不同的残缺点云结合关系性架构,从而推测生成合理的完整点云,但对局部细节特征补全仍存在缺限。

为了弥补基于深度学习的点云补全方法在局部特征提取上的欠缺,从而提高补全的精度,该文提出一种新的基于深度学习的点云补全算法。该算法创造性地在特征提取模块引入卷积层DOConv,可以通过附加的深度卷积来增强卷积层,其中每个输入通道都使用不同的二维内核进行卷积,两个卷积的组成构成了过参数化卷积层,增加了可学习的参数,同时生成的线性运算可以由单个卷积层表示,可提升特征提取模块的特征提取能力,且不会增加计算复杂度。此外,还在特征融合模块添加了结合空间注意力机制和通道注意力机制的双重注意力机制,可以帮助解码器更好地学到多种特征之间的相互关系,融合不同层次的特征,从而更好地表示这些特征信息,提高点云补全的精度。在大型开源数据集ShapeNet上进行了大量的实验与性能评估,结果表明,与当前比较主流的点云补全算法相比,提出的点云补全算法具有更高的补全精度。

2 网络模型基本原理

2.1 网络整体框架

点云补全算法整体框架由多分辨率编码器、金字塔解码器和注意力鉴别器构成。

整体网络框架如图1所示。

图1 整体网络框架示意图

将最远点采样(FPS)生成的不同尺度的缺失点云作为网络框架的整体输入,最远点采样是Pointnet++[18]中应用的一种采样策略,通过不断迭代地选择距离已有采样点集合的最远点,用于获取一组骨架点。这可以更好地均匀表示点集的分布,并且不会破坏点云模型的结构,最远点采样效果如图2所示。

图2 最远点采样效果

再将输入点云送入多分辨率编码器进行特征提取,该算法在共享权重的多层感知机(MLP)中嵌入了深度过参数化卷积层DOConv,生成的特征向量为V1、V2、V3,且同时在特征融合部分引入结合空间注意力机制和通道注意力机制的双重注意力机制,将融合后的特征向量V作为输入送入金字塔解码器,最终得到三个尺度的点云补全结果。损失函数包括生成损失和对抗损失两部分,Fan等人[19]提出了两种衡量两个点云之间的差异指标:倒角距离CD(Chamfer Distance)和推土距离EMD(Earth Mover’s Distance),这里采用CD作为生成损失。对抗损失受生成对抗网络[20](GAN)的启发,借鉴了GAN思想,由注意力鉴别器计算得到。

2.2 多分辨率编码器

多分辨率编码器的输入是三个不同尺度的缺失点云,是由最远点采样(FPS)对完整点云进行操作得到,点的数量分别为N、N/K、N/K2,N取值2 048,K取值2。然后通过双重注意力机制层,输出注意力向量Va,最后通过多层感知机得到最终的特征向量V。

输入点云通过嵌入DOConv的共享权重的多层感知机,将输入点云的点的维度编码为[64-128-256-512-1 024],得到多维的特征向量V1、V2、V3。DOConv在一个普通的卷积层中加入了额外的深度卷积操作,构成一个过参数化(over-parameterized)的卷积层。DOConv首先将深度卷积核的参数和标准卷积核的参数相乘得到新的W'权重,再用权重W'对输入特征P做传统卷积操作,得到最终的卷积操作结果O。具体计算公式为:

W'=DT∘W,O=W'*P

(1)

结构如图3所示,D为深度卷积核的权重张量,W为普通卷积核的权重张量,Cin为输入特征通道数,Cout为输出特征通道数,Dmul是深度倍增器,M、N为卷积核作用的窗口尺寸。DOConv的引入提升了网络补全的性能,并且不会导致推理计算复杂性增加。至此,DOConv完成了其所有工作,它可以灵活地捕获输入特征局部区域的信息,输出具有局部关联性的特征。

图3 DOConv结构

然后将输出的多维特征向量V1、V2、V3输入结合空间注意力机制和通道注意力机制[21]的双重注意力机制的特征融合模块。如图4所示,首先,使用空间注意力机制学习综合局部特征和全局信息的1 024维抽象特征,实现空间维度上的特征聚焦,输出加权后每个位置的特征。其次,使用通道注意力机制学习综合局部特征和全局信息的1 024维抽象特征,捕获任意两个通道特征之间的映射关系,输出加权后每个通道的特征。再以深度学习中的concatenate数组拼接操作将3个1×1 024维的抽象特征拼接成1个1×3 072维的特征,最后使用MLP将潜在特征映射整合到最终的特征向量V,维度为1 024。

图4 双重注意力机制示意图

2.3 金字塔解码器

金字塔解码器由全连接层和重组层构成,如图5所示,这里借鉴了特征金字塔网络[22](Feature Pyramid Network )的思想,按照从粗到细的步骤来完成缺失点云补全的操作,输出也同样是与之前对应的三个尺度的生成点云。金字塔点生成器的输入是多分辨率编码器的输出特征向量V,通过全连接层得到三个不同分辨率的子特征向量U1、U2、U3,维度为1 024、512和256,然后按照U1、U2、U3的顺序预测出P3、P2距离P3中心点的相对坐标、P1距离P2中心点的相对坐标,最终获得补全的点云。

图5 缺失点云补全过程

2.4 注意力鉴别器

注意力鉴别器模块借鉴了生成对抗网络的思想,模型主要通过框架中的生成模型和判别模型互相博弈学习来产生好的输出。将生成点云与真实点云送入鉴别器,通过其中的自编码器获得维度为512的特征向量,再通过连续的全连接层降低维度[512-256-128-16-1],输出最终fake或real的二值结果。

3 实验结果与分析

3.1 数据集

为测试该算法的有效性,在大型开源的数据集ShapeNet上进行实验,使用具有13个类别的ShapeNet数据集。该文采用的ShapeNet数据集是一个由对象的三维CAD模型表示的丰富注释的,大规模的形状存储库。ShapeNet包含来自多种语义类别的3D模型,并按照WordNet分类法组织它们。该数据集包含多种类别的点云模型,包括飞机、椅子、吉他、帽子、滑板和桌子等,数据量达到32 913个。同时将该算法与LGAN-AE、PCN、3D-CAPSULE、PF-Net等当前主流算法进行对比,LGAN-AE、PCN、3D-CAPSULE的各项测试性能指标参考文献[16]中的数据,而PF-Net以及文中算法的各项测试性能指标均在自己的电脑上实现。

3.2 环境及参数设置

训练的硬件配置为Intel®CoreTMi9-9900kCPU@3.60 GHz和一块NVIDIA GeForce RTX 2080 Ti GPU。实验在Ubuntu18.04环境下运行,采用PyTorch1.4.0作为深度学习框架。

为保证实验的科学性,设置了随机种子,确保每次随机生成的变换矩阵相同。所有输入点云都是以原点为中心,坐标数值均被归一化到区间[-1,1]。地面真实值的点云数据均通过在每个样本上均匀采样2 048个点创建,而不完整点云则通过在预设的多个视点中随机选择一个点作为中心,并从完整点云数据中去除一定半径范围内的点来生成。采用Adam梯度下降优化器用于网络训练,初始学习率为0.001,训练集和测试集的批量大小均设置为16,共训练200步。在多分辨率编码器和GAN鉴别器中使用批处理归一化和RELU激活函数,在金字塔解码器中只使用RELU激活函数。在多分辨率编码器中,将采样和领域聚合操作重复2次,双重注意力层重复2次。在金字塔解码器中,通过改变m来设置生成的点云的点数,m1=512,m2=128,m3=64。

3.3 评价指标

该算法的损失函数包括两个部分:生成损失和对抗损失。倒角距离CD计算生成点云和地面真实点云之间的平均最短点距离,其计算效率更高,计算公式为:

(2)

式中,CD计算了生成点云S1和真实点云S2之间的平均最近平方距离,由于最终的生成结果是三个不同尺度的生成点云P1、P2、P3,所以总损失也由三部分构成,dCD1、dCD2、dCD3分别对应三个不同尺度生成点云的CD值,其中α表示生成损失中的求和权重。总损失表达式如下:

Lcom=dCD1(P1,P1gt)+αdCD2(P2,P2gt)+

2αdCD3(P3,P3gt)

(3)

式中,P1gt、P2gt、P3gt分别为三个不同尺度的生成点云所对应的真实点云。文中的对抗损失借鉴对抗性网络GAN,计算公式如下:

G(E(D(xi))))

(4)

式中,yi和xi分别属于原始残缺点云和真实点云。E、D、G分别表示多尺度特征提取器、金字塔点生成器和注意力鉴别器。总损失是由生成损失和对抗损失共同构成,计算公式如式(5)所示:

L=βLcom+λLadv

(5)

式中,Lcom和Ladv分别是完成损失和对抗性损失的权重,满足以下条件:β+λ=1。β和λ分别表示总损失函数中的完成损失和对抗性损失的权重。同时,倒角距离CD也在文中作为测试补全性能的评估指标。

3.4 结果与分析

为了更好地评估该算法的性能,采用dCD(S1→S2)和dCD(S2→S1)来综合衡量算法的补全性能。其中dCD(S1→S2)计算的是从生成点云中的每个点到其最接近的真实点云中的点的平均平方距离,它衡量的是生成点云与真实点云的差异程度;dCD(S2→S1)计算的是从真实点云中的每个点到其最接近的生成点云中的点的平均平方距离,它衡量的是真实点云被生成点云的覆盖的程度。这些值越小,表示点云补全效果越好。在ShapeNet 数据集上的测试结果如表1和表2所示,以表1中的Airplane为例,0.229/0.176分别表示dCD(S1→S2)和dCD(S2→S1)的数值。表1是基于整体点云的补全效果,表2是基于缺失点云的补全效果,表中加粗字体为最优值。

表1 整体点云的点云补全效果

表2 缺失点云的点云补全效果

从表1和表2可以看出,文中算法在整体效果平均值上优于PF-Net等主流算法,与PF-Net算法相比,在整体点云补全和缺失点云补全结果上性能分别提升7.81%和4.60%。除了以上实验结果,图6还给出了文中算法与PF-Net算法在ShapeNet数据集上部分类别补全效果的可视化结果对比。

图6 文中算法与PF-Net算法在ShapeNet数据集部分类别上的补全效果

从图6可以看出,如飞机的机翼、椅子的腿及椅背、灯的灯罩等细节结构处特征恢复较为完整,可以看出文中算法可以更有效地保持点云模型的精细结构。此外,还针对25%、50%、75%的缺失比例,使用ShapeNet数据集进行三次训练并将文中算法在不同缺失比例上的点云补全结果可视化,用以测试文中算法补全的稳健性,可视化结果如图7所示。

图7 不同缺失比例点云补全效果

图7中黑色部分点云为输入的缺失模型,白色部分点云为文中算法补全的效果,可以看出在缺失比例为25%及50%时的模型补全效果相近且补全效果较好,即便是在缺失比例为75%时也可以将残缺飞机形状补全完整。可以看出,文中算法在点云补全任务中具有更高的稳健性及更好的泛化性能。

4 结束语

为了弥补基于深度学习的点云补全方法在局部特征提取上的欠缺,提高补全的精度,提出了一种新的基于深度学习的高精度点云补全算法。实验结果表明,该算法可以更灵活地提取点云局部细节特征。同时,与LGAN-AE、PCN、3D-Capusule、PF-Net这些同类主流算法相比,该算法在ShapeNet数据集上的点云补全效果取得了显著提升,与PF-Net算法相比在基于整体点云补全效果和基于缺失点云的补全效果两方面分别提升7.81%和4.60%,这证明该算法在点云补全任务中的有效性,且有更高的精度及泛化性能。但是该算法仅在特征提取阶段做出了有效改进,如何更好地在关注全局特征的同时也不忽略局部特征以及如何使生成的点云更平滑,将成为接下来的主要研究方向之一。

猜你喜欢
特征向量注意力卷积
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
让注意力“飞”回来
克罗内克积的特征向量
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
一类特殊矩阵特征向量的求法
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
A Beautiful Way Of Looking At Things