一种基于深度学习的点云补全方法与流程

专利2022-05-09  79


本发明涉及计算机视觉领域,涉及一种基于深度学习的点云补全方法,适用于三维视觉中物体点云数据的补全任务。



背景技术:

三维视觉是当前研究的热点之一。在各种类型的三维数据中,点云以其数据量小、表现能力强等优点被广泛应用于三维数据处理中。现实世界的点云数据通常使用激光扫描仪、立体相机或低成本的rgb-d扫描仪进行捕获。但是,由于遮挡、光反射、表面材料的透明度以及传感器分辨率和视角的限制,会造成几何和语义信息的丢失,导致原始输出点云通常会出现不同程度的缺失区域,导致后续对点云的操作比如点云分类,点云分割,物体位姿估计会出现很大程度的偏差。因此,修复不完整的点云是一项重要的工作。

目前,3d形状补全的实现方法主要是基于三维体素网格和点云。由于基于体素的补全方法其计算量会随着分辨率的增加而急剧增加,因此会限制体素的输出分辨率而无法补全出精细的局部细节。得益于《pointnet:deeplearningonpointsetsfor3dclassificationandsegmentation》提出的pointnet网络,深度神经网络能够直接对无序点云数据进行学习并提取特征,基于学习的补全方法得到了极大的发展。《learningrepresentationsandgenerativemodelsfor3dpointclouds.》介绍了第一个点云的深层生成模型l-gan,虽然l-gan在一定程度上能够完成形状完成任务,但它的体系结构并不是主要用来完成形状完成任务的,因此性能并不理想。随后,《pcn:pointcompletionnetwork》提出点补全网络(pcn),第一个基于学习的专门用于点云补全的网络结构,但它忽略了提取点云的局部细节特征,以致补全的精度还有进步的空间。最近,一种强化学习代理控制的基于gan的网络(rl-gan-net)被提出用于实时点云完成,其网络使用了rl代理,以避免gan复杂的优化过程,但它不注重提高点云的补全精度。本发明所述方法利用局部特征编码器提高了生成点云的局部细节效果,此外通过直接生成点云方法和损失函数的优化,使生成的点云有更高的补全精度。



技术实现要素:

本发明提出一种基于深度学习的点云补全方法,用以解决现有的点云补全方法局部细节差,补全精度不高的问题。

本发明包括以下主要步骤:

(1)对原始点云集进行预处理,

将原始点云数据集进行不同程度的切割预处理,保存切割部分和切割后的残缺点云集。

(2)构建编解码器网络,

构建一个编解码器网络,包括全局特征编码器、局部特征编码器和解码器。

(3)获取输入点云的特征向量,

将预处理得到的残缺点云集输入编码器模块得到包含全局特征和局部特征的特征向量。

(4)得到缺失部分点云,

将特征向量输入解码器网络中,得到残缺点云集缺失区域的那部分点云。

(5)得到完整的补全点云,

将解码器预测的缺失区域的点云和网络输入的残缺点云集进行拼接,最终得到补全后的完整点云。

(6)设置损失函数,优化网络,得到最终优化输出结果,

计算输出点云与保存的切割部分点云的倒角距离损失函数和推土距离损失函数,及补全后的完整点云与原始完整点云的倒角距离损失函数,使用这三种损失函数共同优化整个自动编解码器网络。

可选地,步骤(1)中所述的切割预处理是对原始点云数据集的前后左右上五个面进行不同程度的均匀切割,被切割出来的点云分别占原始点云的25%,50%,70%,并分别保存切割部分和切割后的残缺点云集。

可选地,步骤(2)中所述编解码器网络包括全局特征编码器、局部特征编码器和解码器;其中,编码器主要由卷积层、池化层组成,它的作用是对输入的残缺点云提取特征信息;解码器对主要由全连接层组成,它的作用是对编码器中提取到的特征信息解码,最后生成完整的点云。

全局特征编码器是一个基于pointnet的点云特征提取网络,该网络通过一个1×1的卷积核将每个点映射到[64-128-256-1024]维度上,再用最大池化层提取后面4个维度的最大值,将其串联起来形成一个包含了全局特征的特征向量,其大小为1920;

局部特征编码器是一个基于pointnet 的局部点云特征提取网络,该网络通过一个分组函数将输入点云均匀的分成16个局部区域,每个区域都是点云的一部分,将分好的局部区域分别输入pointnet提取特征网络,分别得到16个局部区域的局部特征向量,将其串联起来作为包含了输入点云的局部特征的特征向量,其大小为1024;

解码器是4层全连接层结构,将全局特征向量和局部特征向量拼接成一个包含全局和局部特征的向量作为输入,输出m×3点云,表示需要补全的缺失区域的点云,m是缺失点的数量。

可选地,步骤(3)中所述,具体表示为将步骤(1)所述的预处理得到的残缺点云集输入到全局特征编码器和局部特征编码器,获得一个全局特征向量和局部特征向量;而最终的特征向量是由全局特征向量和局部特征向量拼接而得的。

可选地,步骤(4)所述的解码器网络是由四层全连接层组成,最后一层输出残缺点云集中缺失的那部分点云。

可选地,步骤(5)所述的补全后的完整点云是由解码器的输出部分点云和编解码器网络输入的残缺点云拼接后的点云,以补全后的完整点云作为整个网络的补全结果。

可选地,步骤(6)所述的用于优化整个网络的损失函数有3种,前两种为解码器直接输出的缺失区域的点云与步骤(1)中保存的切割部分点云的倒角距离损失函数和推土距离损失函数,其中倒角距离表达式为:

s1表示解码器输出的残缺区域点云,s2表示步骤(1)中保存的切割部分点云,cd(s1,s2)表示s1和s2之间的倒角距离,另推土距离表达式为:

s1表示解码器输出的残缺区域点云,s2表示步骤(1)中保存的切割部分点云,emd(s1,s2)表示s1和s2之间的推土距离,第三种为步骤(5)所述的补全后的完整点云与原始完整点云的倒角距离损失函数,其表达式为:

c1表示步骤(5)所述的补全后的完整点云,c2表示原始完整点云,cd(c1,c2)表示c1和c2之间的倒角距离;综上,总体损失函数设置为:

其中,α,β是调节权重的参数,通过这三种损失函数的共同协助,整个编解码器网络在训练过程中被逐步优化。

与现有技术相比,采用本发明所述的补全方法,能够取得以下有益效果:

1.本发明所提出的添加局部特征编码器的点云补全网络,能够使得补全后的点云更具局部细节特征,从而有效提高点云的补全精度。

2.本发明所提出的直接生成的缺失点云区域的补全方式,可以有效避免生成的点云改变原有点云形状,保留原始点云原有的几何和语义信息。

3.本发明所提出的3种用以优化整体网络的损失函数可以从不同的层次让补全的点云与原始点云接近,提高了点云的补全精度。

4.将补全后的点云输入pointnet网络进行分类,得到较高的分类精度也证实了该发明有效的补全效果。

附图说明

图1为本发明实施例的点云补全流程图。

图2为本发明实施例的原始点云预处理示意图。

图3为本发明实施例的基于深度学习的点云补全方法的网络结构图。

具体实施方式

图1为本发明实施例的点云补全流程图,基于深度学习的点云补全方法按照以下步骤实施:

(1)对原始点云集进行预处理,

图2为本发明实施例的原始点云预处理示意图,切割预处理是对原始点云数据集的前后左右上五个面进行不同程度的均匀切割,被切割出来的点云分别占原始点云的25%,50%,70%,(图2中只演示了25%部分)并分别保存切割部分(点云缺失区域)和切割后的残缺点云集。

(2)构建编解码器网络,

图3为本发明实施例的基于深度学习的点云补全方法的网络结构图,构建一个编解码器网络,包括全局特征编码器、局部特征编码器和解码器。其中,编码器主要由卷积层、池化层组成,它的作用是对输入的残缺点云提取特征信息;解码器对主要由全连接层组成,它的作用是对编码器中提取到的特征信息解码,最后生成完整的点云;

全局特征编码器是一个基于pointnet的点云特征提取网络,该网络通过一个1×1的卷积核将每个点映射到[64-128-256-1024]维度上,再用最大池化层提取后面4个维度的最大值,将其串联起来形成一个包含了全局特征的特征向量,其大小为1920;

局部特征编码器是一个基于pointnet 的局部点云特征提取网络,该网络通过一个分组函数将输入点云均匀的分成16个局部区域,每个区域都是点云的一部分,将分好的局部区域分别输入pointnet提取特征网络,分别得到16个局部区域的局部特征向量,将其串联起来作为包含了输入点云的局部特征的特征向量,其大小为1024;

解码器是4层全连接层结构,将全局特征向量和局部特征向量拼接成一个包含全局和局部特征的向量作为输入,输出m×3点云,表示需要补全的缺失区域的点云,m是缺失点的数量。

(3)获取输入点云的特征向量,

将预处理得到的残缺点云集输入编码器模块得到包含全局特征和局部特征的特征向量,具体表示为将步骤(1)所述的预处理得到的残缺点云集输入到全局特征编码器和局部特征编码器,获得一个全局特征向量和局部特征向量,然后将全局特征向量和局部特征向量拼接得到最终的特征向量。

(4)将特征向量输入解码器网络中,得到残缺点云集缺失区域的那部分点云,

将融合了全局特征和局部特征的特征向量输入到解码器中,经过4层全连接层的计算,最后一层输出m×3的点云,表示需要补全的缺失区域的点云,m是缺失点的数量。

(5)得到完整的补全点云,

将解码器预测的缺失区域的点云和网络输入的残缺点云集进行拼接,最终得到补全后的完整点云,以补全后的完整点云作为整个网络的补全结果。

(6)设置损失函数,优化网络,得到最终优化输出结果,

计算输出点云与保存的切割部分点云的倒角距离损失函数和推土距离损失函数,及补全后的完整点云与原始完整点云的倒角距离损失函数,使用这三种损失函数共同优化整个自动编解码器网络;

前两种为解码器直接输出的缺失区域的点云与步骤(1)中保存的切割部分点云的倒角距离损失函数和推土距离损失函数,其中倒角距离表达式为:

s1表示解码器输出的残缺区域点云,s2表示步骤(1)中保存的切割部分点云,cd(s1,s2)表示s1和s2之间的倒角距离,另推土距离表达式为:

s1表示解码器输出的残缺区域点云,s2表示步骤(1)中保存的切割部分点云,emd(s1,s2)表示s1和s2之间的推土距离,第三种为步骤(5)所述的补全后的完整点云与原始完整点云的倒角距离损失函数,其表达式为:

c1表示步骤(5)所述的补全后的完整点云,c2表示原始完整点云,cd(c1,c2)表示c1和c2之间的倒角距离;综上,总体损失函数设置为:

其中,α,β是调节权重的参数,通过这三种损失函数的共同协助,整个编解码器网络在训练过程中被逐步优化。


技术特征:

1.一种基于深度学习的点云补全方法,其特征在于,包括以下主要步骤:

(1)对原始点云集进行预处理

将原始点云数据集进行不同程度的切割预处理,保存切割部分和切割后的残缺点云集;

(2)构建编解码器网络

构建一个编解码器网络,包括全局特征编码器、局部特征编码器和解码器;

(3)获取输入点云的特征向量

将预处理得到的残缺点云集输入编码器模块得到包含全局特征和局部特征的特征向量;

(4)得到缺失部分点云

将特征向量输入解码器网络中,得到残缺点云集缺失的那部分点云;

(5)得到完整的补全点云

将解码器预测的缺失的部分点云和网络输入的不完全点云集进行拼接,最终得到补全后的完整点云;

(6)设置损失函数,优化网络,得到最终优化输出结果

计算输出点云与保存的切割部分点云的倒角距离(cd距离)损失函数和推土距离(emd距离)损失函数,及补全后的完整点云与原始完整点云的倒角距离损失函数,使用这三种损失函数共同优化整个自动编解码器网络。

2.根据权利要求1所述的方法,其特征在于,在所述步骤(1)中,所述的切割预处理是对原始点云数据集的前后左右上五个面进行不同程度的均匀切割,被切割出来的点云分别占原始点云的25%,50%,70%,并分别保存切割部分和切割后的残缺点云集。

3.根据权利要求2所述的方法,其特征在于,在所述步骤(2)中,所述的编解码器网络包括全局特征编码器、局部特征编码器和解码器;

其中全局特征编码器是一个基于pointnet的点云特征提取网络,该网络通过一个1×1的卷积核将每个点映射到[64-128-256-1024]维度上,再用最大池化层提取后面4个维度的最大值,将其串联起来形成一个包含了全局特征的特征向量,其大小为1920;

局部特征编码器是一个基于pointnet 的局部点云特征提取网络,该网络通过一个分组函数将输入点云均匀的分成16个局部区域,每个区域都是点云的一部分,将分好的局部区域分别输入pointnet提取特征网络,分别得到16个局部区域的局部特征向量,将其串联起来作为包含了输入点云的局部特征的特征向量,其大小为1024;

解码器是4层全连接层结构,将全局特征向量和局部特征向量拼接成一个包含全局和局部特征的向量作为输入,输出m×3点云,表示需要补全的缺失区域的点云,m是缺失点的数量。

4.根据权利要求1所述的方法,其特征在于,在所述步骤(3)中,直接将步骤(1)预处理得到的残缺点云集输入到全局特征编码器和局部特征编码器,获得一个全局特征向量和局部特征向量;而最终的特征向量是由全局特征向量和局部特征向量拼接而得的。

5.根据权利要求1所述的方法,其特征在于,所述步骤(4)中,所述的解码器网络是由四层全连接层组成,最后一层输出残缺点云集中缺失的那部分点云。

6.根据权利要求1所述的方法,其特征在于,所述步骤(5)中,所述的补全后的完整点云是由解码器的输出部分点云和编解码器网络输入的残缺点云拼接后的点云,以补全后的完整点云作为整个网络的补全结果。

7.根据权利要求1所述的方法,其特征在于,所述步骤(6)中,所述的用于优化整个网络的损失函数有3种,前两种为解码器直接输出的缺失区域的点云与步骤(1)中保存的切割部分点云的倒角距离损失函数和推土距离损失函数,其中倒角距离表达式为:

s1表示解码器输出的残缺区域点云,s2表示步骤(1)中保存的切割部分点云,cd(s1,s2)表示s1和s2之间的倒角距离,另推土距离表达式为:

s1表示解码器输出的残缺区域点云,s2表示步骤(1)中保存的切割部分点云,emd(s1,s2)表示s1和s2之间的推土距离,第三种为步骤(5)所述的补全后的完整点云与原始完整点云的倒角距离损失函数,其表达式为:

c1表示步骤(5)所述的补全后的完整点云,c2表示原始完整点云,cd(c1,c2)表示c1和c2之间的倒角距离;综上,总体损失函数设置为:

其中,α,β是调节权重的参数,通过这三种损失函数的共同协助,整个编解码器网络在训练过程中被逐步优化。

技术总结
本发明公开了一种基于深度学习的点云补全方法,该方法包括:对原始点云集进行预处理;构建编解码器网络;将预处理后的点云数据输入编码器中获取输入点云的特征向量;将输入点云的特征向量输入解码器得到缺失部分点云;将缺失部分点云与输入残缺点云拼接得到完整的补全点云;设置损失函数,优化网络,得到最终优化输出结果。本发明通过添加局部特征编码器、直接生成缺失部分的补全方法和三种损失函数的构建,使补全的点云既有明显的局部细节又能保留原始点云原有的几何和语义信息,从而有效提升网络的补全精度。将补全后的点云输入PointNet网络进行分类,得到高精度的分类结果也证实了该发明有优秀的补全效果。

技术研发人员:高放;石蓬勃;王家宝;孙晴艺;殷林飞;李勇;双丰
受保护的技术使用者:广西大学
技术研发日:2021.04.23
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-7341.html

最新回复(0)