CN109887075B - 用于三维模型构建的三维点云模型训练方法 - Google Patents

用于三维模型构建的三维点云模型训练方法 Download PDF

Info

Publication number
CN109887075B
CN109887075B CN201910125766.5A CN201910125766A CN109887075B CN 109887075 B CN109887075 B CN 109887075B CN 201910125766 A CN201910125766 A CN 201910125766A CN 109887075 B CN109887075 B CN 109887075B
Authority
CN
China
Prior art keywords
point data
point
data
prediction
loss function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910125766.5A
Other languages
English (en)
Other versions
CN109887075A (zh
Inventor
鲁继文
周杰
段岳圻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201910125766.5A priority Critical patent/CN109887075B/zh
Publication of CN109887075A publication Critical patent/CN109887075A/zh
Application granted granted Critical
Publication of CN109887075B publication Critical patent/CN109887075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请提出用于三维模型构建的三维点云模型训练方法和装置,其中,方法包括:获取训练集合,将训练集合中每组三维点云数据划分为第一集合和第二集合,将第一集合中的点数据输入预设三维点云模型得到第一预测集合,将第一预测集合中的预测点数据输入同一个模型得到第二预测集合,根据预设的第一损失函数获取第一损失函数值,根据预设的第二损失函数获取第二损失函数值,对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值,根据多组三维点云数据对应的多个第三损失函数值训练预设三维点云模型,以便于根据训练后的预设三维点云模型进行三维模型的构建。由此,训练后的预设三维点云模型提高了点云数据特征学习的效果。

Description

用于三维模型构建的三维点云模型训练方法
技术领域
本申请涉及计算机视觉与机器学习技术领域,尤其涉及一种用于三维模型构建的三维点云模型训练方法。
背景技术
三维点云数据随着深度扫描设备的发展而逐渐增多。相比较二维图像的扁平空间,三维点云数据包含有更多的空间结构信息,其结构的不规则和空间上的可变换等特性造成了分析上具有更大的难度,需要更全面的方式对于三维的点云空间信息进行进一步处理和理解。
随着深度学习在多项视觉分析领域取得了突破性的进展,许多学者通过深度学习的方法对于三维点云进行处理和特征提取分析。首先处理三维点云的深度学习方法是基于监督学习的方法,例如PointNet和PointNet++。然而这种基于监督学习的点云特征提取算法需要消耗大量的人力物力对于数据进行完全标注,严重受到可用的数据量的限制。
随后一系列的改进算法中提出以重构等任务的方式,通过编码-译码的方式对于无标注点云进行无监督学习,从而获取点云特征。该方法能够很大程度上减少标注的人力物力消耗,但是它们并不能够对于点云的所有特征进行更有效的理解。但是,在重构的过程中使用的点-点距离作为损失函数使得神经网络对于随机表面采样的训练集中的点会产生一定过拟合,使得网络不能够在空间结构层面上更有效理解三维点云的全部信息。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请提出一种用于三维模型构建的三维点云模型训练方法,以解决了现有技术中通过计算预测点数据与目标点数据之间距离来计算损失函数的方式,导致三维点云模型产生的点出现过拟合的现象的技术问题。
本申请一方面实施例提出了一种用于三维模型构建的三维点云模型训练方法,包括:
获取训练集合,其中,所述训练集合中包含了多组三维点云数据,每组三维点云数据是通过对同一个训练物品进行三维扫描得到的,所述每组点云数据中包括预设个数的点数据,其中,所述预设个数为预设阈值的两倍;
将所述每组三维点云数据划分为第一集合和第二集合,其中,所述第一集合和所述第二集合中包含的点数据的个数为所述预设阈值;
将所述第一集合中的点数据输入预设三维点云模型的编码器,得到第一特征集合,并将所述第一特征集合输入所述预设三维点云模型的译码器得到第一预测集合,其中,所述第一预测集合中包含了与所述第二集合中的点数据对应的预测点数据;
将所述第一预测集合中的预测点数据输入所述预设三维点云模型的编码器,得到第二特征集合,并将所述第二特征集合输入所述预设三维点云模型的译码器得到第二预测集合,其中,所述第二预测集合中包含了与所述第一集合中的点数据对应的预测点数据;
根据预设的第一损失函数获取所述第一预测集合与所述第二集合的第一损失函数值,并根据所述预设的第二损失函数获取所述第二预测集合与所述第一集合的第二损失函数值;
根据预设的第三损失函数对所述第一损失函数值和所述第二损失函数值计算获取所述每组点云数据对应的第三损失函数值;
根据所述多组三维点云数据对应的多个第三损失函数值训练所述预设三维点云模型,以便于根据训练后的所述预设三维点云模型进行三维模型的构建。
本申请实施例的用于三维模型构建的三维点云模型训练方法,通过获取训练集合,将训练集合中每组三维点云数据划分为第一集合和第二集合,将第一集合中的点数据输入预设三维点云模型得到第一预测集合,将第一预测集合中的预测点数据输入同一个模型得到第二预测集合,根据预设的第一损失函数获取第一损失函数值,根据预设的第二损失函数获取第二损失函数值,对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值,根据多组三维点云数据对应的多个第三损失函数值训练预设三维点云模型,以便于根据训练后的预设三维点云模型进行三维模型的构建。由此,训练后的预设三维点云模型提高了点云数据特征学习的效果。
本申请另一方面实施例提出了一种用于三维模型构建的三维点云模型训练装置,包括:
获取模块,用于获取训练集合,其中,所述训练集合中包含了多组三维点云数据,每组三维点云数据是通过对同一个训练物品进行三维扫描得到的,所述每组点云数据中包括预设个数的点数据,其中,所述预设个数为预设阈值的两倍;
划分模块,用于将所述每组三维点云数据划分为第一集合和第二集合,其中,所述第一集合和所述第二集合中包含的点数据的个数为所述预设阈值;
第一处理模块,用于将所述第一集合中的点数据输入预设三维点云模型的编码器,得到第一特征集合,并将所述第一特征集合输入所述预设三维点云模型的译码器得到第一预测集合,其中,所述第一预测集合中包含了与所述第二集合中的点数据对应的预测点数据;
第二处理模块,用于将所述第一预测集合中的预测点数据输入所述预设三维点云模型的编码器,得到第二特征集合,并将所述第二特征集合输入所述预设三维点云模型的译码器得到第二预测集合,其中,所述第二预测集合中包含了与所述第一集合中的点数据对应的预测点数据;
第一计算模块,用于根据预设的第一损失函数获取所述第一预测集合与所述第二集合的第一损失函数值,并根据所述预设的第二损失函数获取所述第二预测集合与所述第一集合的第二损失函数值;
第二计算模块,用于根据预设的第三损失函数对所述第一损失函数值和所述第二损失函数值计算获取所述每组点云数据对应的第三损失函数值;
训练模块,用于根据所述多组三维点云数据对应的多个第三损失函数值训练所述预设三维点云模型,以便于根据训练后的所述预设三维点云模型进行三维模型的构建。
本申请实施例的用于三维模型构建的三维点云模型训练装置,通过获取训练集合,将训练集合中每组三维点云数据划分为第一集合和第二集合,将第一集合中的点数据输入预设三维点云模型得到第一预测集合,将第一预测集合中的预测点数据输入同一个模型得到第二预测集合,根据预设的第一损失函数获取第一损失函数值,根据预设的第二损失函数获取第二损失函数值,对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值,根据多组三维点云数据对应的多个第三损失函数值训练预设三维点云模型,以便于根据训练后的预设三维点云模型进行三维模型的构建。由此,训练后的预设三维点云模型提高了点云数据特征学习的效果。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种用于三维模型构建的三维点云模型训练方法的流程示意图;
图2为本申请实施例提供的一种预设三维点云模型结构示意图;
图3为本申请实施例中提供的一种计算点面距离的结构示意图;
图4为本申请实施例提供的一种用于三维模型构建的三维点云模型训练装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的用于三维模型构建的三维点云模型训练方法和装置。
图1为本申请实施例提供的一种用于三维模型构建的三维点云模型训练方法的流程示意图。
如图1所示,该用于三维模型构建的三维点云模型训练方法包括以下步骤:
步骤S101,获取训练集合。
本申请实施例中,训练集合中包含了多组三维点云数据,每组三维点云数据是通过对同一个训练物品进行三维扫描得到的,每组点云数据中包括预设个数的点数据,其中,预设个数为预设阈值的两倍。
其中,点云数据,是指通过3D扫描设备扫描资料以点的形式记录,每一个点包含有三维坐标,有些可能含有颜色信息或反射强度信息。扫描设备采用自动化的方式测量在物体表面的大量的点的信息,然后输出点云数据。其中,扫描设备可以为激光雷达(2D/3D),立体摄像头,越渡时间相机等。
步骤S102,将每组三维点云数据划分为第一集合和第二集合,其中,第一集合和第二集合中包含的点数据的个数为预设阈值。
本申请实施例中,对训练集中的每组三维点云数据进行降采样处理,已将每组三维点云数据划分为两组点数据的个数相等的第一集合和第二集合。其中,第一集合和第二集合中包含的点数据的个数为预设阈值。
具体地,通过随机采样的方式在每组三维点云数据中选取一个目标点数据,针对每组三维点云数据中的其他三维点云数据与目标点数据的距离,按照距离由小到大的顺序筛选出N个相邻点数据,生成包含N个相邻点数据和目标点数据的第一集合。其中,N的值为预设阈值减一。进而根据每组三维点云数据中除第一集合包含的点数据之外的其他点数据生成第二集合。
作为一种示例,假如点云训练集中每组三维点云数据均包含有4096个点数据,通过随机采样的方式在每组点云数据中选取一个目标点数据,分别计算剩余的4095个点数据与选取的目标点数据的距离,按照距离由小到大的顺序筛选出2047各点数据,从而生成包含有目标点数据和筛选出的2047个点数据的第一集合,并将每组点云数据中剩余的其余2048个点数据生成第二集合。
步骤S103,将第一集合中的点数据输入预设三维点云模型的编码器,得到第一特征集合,并将第一特征集合输入预设三维点云模型的译码器得到第一预测集合。
其中,预设的三维点云模型,可以为深度卷积神经网路(Deep ConvolutionalNeural Networks,DCNN)。DCNN是深度学习的关键技术,它通过模拟人脑进行分析学习,算法训练时不用人工干预。
本申请实施例中,将每组三维点数据中的第一集合中的点数据输入到预设的三维点云模型的编码器中,以对第一集合中的所有点数据进行特征提取,得到所有点数据的特征向量,并将所有点数据的特征向量存储在第一特征集合中。进一步的,将第一特征集合输入同一预设三维点云模型的译码器中,进而得到第一预测集合。其中,第一预测集合中包含了与第二集合中的点数据对应的预测点数据。
作为一种示例,参见图2,图2中的P为一组三维点云数据,通过降采样后,将该组三维点云数据划分为第一集合Ps和第二集合Pm,其中,第一集合Ps中包含Ns个点数据,将第一集合Ps输入到深度卷积网络的编码器中,以对第一集合中的所有点数据进行特征提取,得到所有点数据的特征向量,并将所有点数据的特征向量存储在第一特征集合中。进一步的,将第一特征集合输入同一深度卷积网络的译码器中,进而得到第一预测集合。
需要说明的是,图2中,MLP为多层感知层(Multi-Layer perceptron)的简称,M-P为最大池化层(Maxpool Layer)的简称,Rep为张量复制,Cat为张量拼接,Nm为第一预测集合中点数据的个数。
步骤S104,将第一预测集合中的预测点数据输入预设三维点云模型的编码器,得到第二特征集合,并将第二特征集合输入预设三维点云模型的译码器得到第二预测集合,其中,第二预测集合中包含了与第一集合中的点数据对应的预测点数据。
本申请实施例中,将步骤S103中得到的第一预测集合中的预测点数据输入到预设的三维点云模型的编码器中,以对第一预测集合中的所有点数据进行特征提取,得到所有点数据的特征向量,并将所有点数据的特征向量存储在第二特征集合中。
进一步的,将第二特征集合输入同一预设三维点云模型的译码器中,进而得到第二预测集合。其中,第二预测集合中包含了与第一集合中的点数据对应的预测点数据。
步骤S105,根据预设的第一损失函数获取第一预测集合与第二集合的第一损失函数值,并根据预设的第二损失函数获取第二预测集合与第一集合的第二损失函数值。
本申请实施例中,根据预设的筛选策略在第二集合中筛选与第一预测集合中每个第一预测点数据对应的三个第一相邻点数据,并根据预设的筛选策略在第一预测集合中筛选与第二集合中每个第一点数据对应的三个第二相邻点数据。
具体地,计算第二集合中的所有点数据与第一预测集合中每个预测点数据的距离,在第二集合中筛选出与第一预测集合中每个第一预测点数据距离最近的三个相邻点数据。同理,计算第一预测集合中的所有预测点数据与第二集合中每个点数据的距离,在第一预测集合中筛选出与第二集合中每个点数据距离最近的三个相邻点数据。
进一步的,计算每个第一预测点数据与对应的三个第一相邻点数据组成的三角形面的第一点面距离,计算每个第一点数据与对应的三个第二相邻点数据组成的三角形面的第二点面距离,并获取每个第一预测点数据对应的第一点面距离,与每个第一预测点数据对应的第一点数据对应的第二点面距离之和,通过计算各个第一预测点数据对应的各个距离之和的平均值获取第一损失函数值。
其中,第一点面距离,为第一预测点数据中的点到在第二集合中确定的三个邻近点数据组成的三角形面的距离的最小值。第二点面距离,为第二集合中的点到第一预测点数据中确定的三个相邻点数据组成的三角形面的距离的最小值。
举例来说,参见图3,计算第二集合中的所有点数据与第一预测集合中每个预测点数据的距离,在第二集合中筛选出与预测点数据距离最近的三个相邻点数据,计算预测点数据到第二集合中筛选出的与预测点数据距离最近的三个相邻点数据组成的三角形面的面距离的最小值。
作为一种示例,可通过公式(1)计算得到第一损失函数值,公式(1)如下:
Figure BDA0001973528430000061
其中,Lr()为第一损失函数值,Nm为所述每组三维点云数据的数量,Pm为第一集合,
Figure BDA0001973528430000062
为第一预测集合,pk是Pm中到
Figure BDA0001973528430000063
点最近的k个点,
Figure BDA0001973528430000064
Figure BDA0001973528430000065
中到p点最近的k个点,θk
Figure BDA0001973528430000066
为距离系数,D为第一预测集合的预测点数据与所述第二集合的点数据间的距离。
同样的道理,根据预设的筛选策略在第一集合中筛选与第二预测集合中每个第二预测点数据对应的三个第二相邻点数据,并根据预设的筛选策略在第二预测集合中筛选与第一集合中每个第二点数据对应的三个第三相邻点数据。
具体地,计算第一集合中的所有点数据与第二预测集合中每个预测点数据的距离,在第一集合中筛选出与第二预测集合中每个第二预测点数据距离最近的三个相邻点数据。同理,计算第二预测集合中的所有预测点数据与第一集合中每个点数据的距离,在第二预测集合中筛选出与第一集合中每个点数据距离最近的三个相邻点数据。
进一步的,计算每个第二预测点数据与对应的三个第二相邻点数据组成的三角形面的第三点面距离,计算每个第二点数据与对应的三个第三相邻点数据组成的三角形面的第四点面距离,并获取每个第二预测点数据对应的第三点面距离,与每个第二预测点数据对应的第二点数据对应的第四点面距离之和,通过计算各个第二预测点数据对应的各个距离之和的平均值获取第二损失函数值。
其中,第三点面距离,为第二预测点数据中的点到在第一集合中确定的三个邻近点数据组成的三角形面的距离的最小值。第四点面距离,为第一集合中的点到第二预测点数据中确定的三个相邻点数据组成的三角形面的距离的最小值。
步骤S106,根据预设的第三损失函数对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值。
作为一种可能的实现方式,可通过公式(2)计算得到第三损失函数,公式(2)如下:
L(P)=Lr(P)+λLc(P)=D(F(Ps),Pm)+λD(F2(Ps),Ps) (2)
其中,L(p)为第三损失函数值,Lr(p)为第一损失函数值,Lc(P)为第二损失函数值,λ为超参数,D(F(Ps),Pm)为第一预测集合的预测点数据与第二集合的点数据间的距离,D(F2(Ps),Ps)为第二预测集合的预测点数据与第一集合的点数据间的距离。
由此,可根据公式(2)对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值,通过此方法得到的第三损失函数值,能够使得产生的第一预测集合的预测点数据与第二预测集合的预测点数据不会受到采样点随机生成的影响,减少了预测点数据在训练集上的过拟合。
步骤S107,根据多组三维点云数据对应的多个第三损失函数值训练预设三维点云模型,以便于根据训练后的预设三维点云模型进行三维模型的构建。
本申请实施例中,根据多组三维点云数据对应的多个第三损失函数值对预设三维点云模型的参数进行优化训练,以便于根据训练后的预设三维点云模型进行三维模型的构建。
本申请实施例的用于三维模型构建的三维点云模型训练方法,通过获取训练集合,将训练集合中每组三维点云数据划分为第一集合和第二集合,将第一集合中的点数据输入预设三维点云模型得到第一预测集合,将第一预测集合中的预测点数据输入同一个模型得到第二预测集合,根据预设的第一损失函数获取第一损失函数值,根据预设的第二损失函数获取第二损失函数值,对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值,根据多组三维点云数据对应的多个第三损失函数值训练预设三维点云模型,以便于根据训练后的预设三维点云模型进行三维模型的构建。由此,训练后的预设三维点云模型提高了点云数据特征学习的效果,更注重对于空间信息的提取和理解,从而实现了在无标注情况下的特征提取的目标。
为了实现上述实施例,本申请实施例还提出用于三维模型构建的三维点云模型训练装置。
图4为本申请实施例提供的一种用于三维模型构建的三维点云模型训练装置的结构示意图。
如图4所示,该用于三维模型构建的三维点云模型训练装置100包括:获取模块110、划分模块120、第一处理模块130、第二处理模块140、第一计算模块150、第二计算模块160以及训练模块170。
获取模块110,用于获取训练集合,其中,训练集合中包含了多组三维点云数据,每组三维点云数据是通过对同一个训练物品进行三维扫描得到的,每组点云数据中包括预设个数的点数据,其中,预设个数为预设阈值的两倍。
划分模块120,用于将每组三维点云数据划分为第一集合和第二集合,其中,第一集合和第二集合中包含的点数据的个数为预设阈值。
第一处理模块130,用于将第一集合中的点数据输入预设三维点云模型的编码器,得到第一特征集合,并将第一特征集合输入预设三维点云模型的译码器得到第一预测集合,其中,第一预测集合中包含了与第二集合中的点数据对应的预测点数据。
第二处理模块140,用于将第一预测集合中的预测点数据输入预设三维点云模型的编码器,得到第二特征集合,并将第二特征集合输入预设三维点云模型的译码器得到第二预测集合,其中,第二预测集合中包含了与第一集合中的点数据对应的预测点数据。
第一计算模块150,用于根据预设的第一损失函数获取第一预测集合与第二集合的第一损失函数值,并根据预设的第二损失函数获取第二预测集合与第一集合的第二损失函数值。
第二计算模块160,用于根据预设的第三损失函数对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值。
训练模块170,用于根据多组三维点云数据对应的多个第三损失函数值训练预设三维点云模型,以便于根据训练后的预设三维点云模型进行三维模型的构建。
作为本申请一种可能的实现方式,划分模块120,具体用于:
通过随机采样的方式在每组三维点云数据中选取一个目标点数据;
针对每组三维点云数据中的其他三维点云数据与目标点数据的距离,按照距离由小到大的顺序筛选出N个相邻点数据,生成包含N个相邻点数据和目标点数据的第一集合;其中,N的值为预设阈值减一;根据每组三维点云数据中除第一集合包含的点数据之外的其他点数据生成第二集合。
作为本申请另一种可能的实现方式,第一计算模块150,具体用于:
根据预设的筛选策略在第二集合中筛选与第一预测集合中每个第一预测点数据对应的三个第一相邻点数据,并根据预设的筛选策略在第一预测集合中筛选与第二集合中每个第一点数据对应的三个第二相邻点数据;
计算每个第一预测点数据与对应的三个第一相邻点数据组成的三角形面的第一点面距离,计算每个第一点数据与对应的三个第二相邻点数据组成的三角形面的第二点面距离,并获取每个第一预测点数据对应的第一点面距离,和,与每个第一预测点数据对应的第一点数据对应的第二点面距离之和,计算各个第一预测点数据对应的各个距离之和的平均值获取第一损失函数值;
根据预设的筛选策略在第一集合中筛选与第二预测集合中每个第二预测点数据对应的三个第二相邻点数据,并根据预设的筛选策略在第二预测集合中筛选与第一集合中每个第二点数据对应的三个第三相邻点数据;
计算每个第二预测点数据与对应的三个第二相邻点数据组成的三角形面的第三点面距离,计算每个第二点数据与对应的三个第三相邻点数据组成的三角形面的第四点面距离,并获取每个第二预测点数据对应的第三点面距离,和,与每个第二预测点数据对应的第二点数据对应的第四点面距离之和,计算各个第二预测点数据对应的各个距离之和的平均值获取第二损失函数值。
作为本申请另一种可能的实现方式,第一损失函数的计算公式为:
Figure BDA0001973528430000091
其中,Lr(p)为第一损失函数值,Nm为每组三维点云数据的数量,Pm为第一集合,
Figure BDA0001973528430000092
为第一预测集合,pk是Pm中到
Figure BDA0001973528430000096
点最近的k个点,
Figure BDA0001973528430000093
Figure BDA0001973528430000094
中到p点最近的k个点,θk
Figure BDA0001973528430000095
为距离系数,D为第一预测集合的预测点数据与第二集合的点数据间的距离。
作为本申请另一种可能的实现方式,根据预设的第三损失函数对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值:
根据如下计算公式对第一损失函数和第二损失函数计算第三损失函数,其中,计算公式为:
L(P)=Lr(P)+λLc(P)=D(F(Ps),Pm)+λD(F2(Ps),Ps)
其中,L(p)为第三损失函数值,Lr(p)为第一损失函数值,Lc(p)为第二损失函数值,λ为超参数,D(F(Ps),Pm)为第一预测集合的预测点数据与第二集合的点数据间的距离,D(F2(Ps),Ps)为第二预测集合的预测点数据与第一集合的点数据间的距离。
需要说明的是,前述对模型训练方法实施例的解释说明也适用于该实施例的模型训练装置,此处不再赘述。
本申请实施例的用于三维模型构建的三维点云模型训练装置,通过获取训练集合,将训练集合中每组三维点云数据划分为第一集合和第二集合,将第一集合中的点数据输入预设三维点云模型得到第一预测集合,将第一预测集合中的预测点数据输入同一个模型得到第二预测集合,根据预设的第一损失函数获取第一损失函数值,根据预设的第二损失函数获取第二损失函数值,对第一损失函数值和第二损失函数值计算获取每组点云数据对应的第三损失函数值,根据多组三维点云数据对应的多个第三损失函数值训练预设三维点云模型,以便于根据训练后的预设三维点云模型进行三维模型的构建。由此,训练后的预设三维点云模型提高了点云数据特征学习的效果。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种用于三维模型构建的三维点云模型训练方法,其特征在于,所述方法包括以下步骤:
获取训练集合,其中,所述训练集合中包含了多组三维点云数据,每组三维点云数据是通过对同一个训练物品进行三维扫描得到的,所述每组点云数据中包括预设个数的点数据,其中,所述预设个数为预设阈值的两倍;
将所述每组三维点云数据划分为第一集合和第二集合,其中,所述第一集合和所述第二集合中包含的点数据的个数为所述预设阈值;
将所述第一集合中的点数据输入预设三维点云模型的编码器,得到第一特征集合,并将所述第一特征集合输入所述预设三维点云模型的译码器得到第一预测集合,其中,所述第一预测集合中包含了与所述第二集合中的点数据对应的预测点数据;
将所述第一预测集合中的预测点数据输入所述预设三维点云模型的编码器,得到第二特征集合,并将所述第二特征集合输入所述预设三维点云模型的译码器得到第二预测集合,其中,所述第二预测集合中包含了与所述第一集合中的点数据对应的预测点数据;
根据预设的第一损失函数获取所述第一预测集合与所述第二集合的第一损失函数值,并根据所述预设的第二损失函数获取所述第二预测集合与所述第一集合的第二损失函数值;
根据预设的第三损失函数对所述第一损失函数值和所述第二损失函数值计算获取所述每组点云数据对应的第三损失函数值;
根据所述多组三维点云数据对应的多个第三损失函数值训练所述预设三维点云模型,以便于根据训练后的所述预设三维点云模型进行三维模型的构建。
2.根据权利要求1中所述的模型训练方法,其特征在于,所述将所述每组点云数据划分为第一集合和第二集合,包括:
通过随机采样的方式在所述每组三维点云数据中选取一个目标点数据;
针对所述每组三维点云数据中的其他三维点云数据与所述目标点数据的距离,按照所述距离由小到大的顺序筛选出N个相邻点数据,生成包含所述N个相邻点数据和所述目标点数据的所述第一集合;其中,N的值为所述预设阈值减一;根据所述每组三维点云数据中除所述第一集合包含的点数据之外的其他点数据生成所述第二集合。
3.根据权利要求1中所述的模型训练方法,其特征在于,所述根据预设的第一损失函数获取所述第一预测集合与所述第二集合的第一损失函数值,并根据所述预设的第二损失函数获取所述第二预测集合与所述第一集合的第二损失函数值,包括:
根据预设的筛选策略在所述第二集合中筛选与所述第一预测集合中每个第一预测点数据对应的三个第一相邻点数据,并根据所述预设的筛选策略在所述第一预测集合中筛选与所述第二集合中每个第一点数据对应的三个第二相邻点数据;
计算所述每个第一预测点数据与对应的所述三个第一相邻点数据组成的三角形面的第一点面距离,计算所述每个第一点数据与对应的所述三个第二相邻点数据组成的三角形面的第二点面距离,并获取所述每个第一预测点数据对应的第一点面距离,和,与所述每个第一预测点数据对应的第一点数据对应的所述第二点面距离之和,计算各个第一预测点数据对应的各个距离之和的平均值获取所述第一损失函数值;
根据所述预设的筛选策略在所述第一集合中筛选与所述第二预测集合中每个第二预测点数据对应的三个第二相邻点数据,并根据所述预设的筛选策略在所述第二预测集合中筛选与所述第一集合中每个第二点数据对应的三个第三相邻点数据;
计算所述每个第二预测点数据与对应的所述三个第二相邻点数据组成的三角形面的第三点面距离,计算所述每个第二点数据与对应的所述三个第三相邻点数据组成的三角形面的第四点面距离,并获取所述每个第二预测点数据对应的第三点面距离,和,与所述每个第二预测点数据对应的第二点数据对应的所述第四点面距离之和,计算各个第二预测点数据对应的各个距离之和的平均值获取所述第二损失函数值。
4.根据权利要求1中所述的模型训练方法,其特征在于,所述第一损失函数值的计算公式为:
Figure FDA0002607184960000021
其中,Lr(p)为第一损失函数值,Nm为所述每组三维点云数据的数量,Pm为所述第一集合,
Figure FDA0002607184960000022
为所述第一预测集合,pk是Pm中到
Figure FDA0002607184960000023
点最近的k个点,
Figure FDA0002607184960000024
Figure FDA0002607184960000025
中到p点最近的k个点,θk
Figure FDA0002607184960000026
为距离系数,D为所述第一预测集合的预测点数据与所述第二集合的点数据间的距离。
5.根据权利要求4中所述的模型训练方法,其特征在于,所述根据预设的第三损失函数对所述第一损失函数值和所述第二损失函数值计算获取所述每组点云数据对应的第三损失函数值:
根据如下计算公式对所述第一损失函数值和所述第二损失函数值计算所述第三损失函数值,其中,所述计算公式为:
L(P)=Lr(P)+λLc(P)=D(F(Ps),Pm)+λD(F2(Ps),Ps)
其中,L(p)为所述第三损失函数值,Lr(p)为所述第一损失函数值,Lc(p)为所述第二损失函数值,λ为超参数,F(Ps)为所述第一预测集合的预测点数据;Pm为所述第二集合的点数据,F2(Ps)为所述第二预测集合的预测点数据,Ps为所述第一集合的点数据,D(F(Ps),Pm)为所述第一预测集合的预测点数据与所述第二集合的点数据间的距离,D(F2(Ps),Ps)为所述第二预测集合的预测点数据与所述第一集合的点数据间的距离。
6.一种用于三维模型构建的三维点云模型训练装置,其特征在于,所述装置包括:
获取模块,用于获取训练集合,其中,所述训练集合中包含了多组三维点云数据,每组三维点云数据是通过对同一个训练物品进行三维扫描得到的,所述每组点云数据中包括预设个数的点数据,其中,所述预设个数为预设阈值的两倍;
划分模块,用于将所述每组三维点云数据划分为第一集合和第二集合,其中,所述第一集合和所述第二集合中包含的点数据的个数为所述预设阈值;
第一处理模块,用于将所述第一集合中的点数据输入预设三维点云模型的编码器,得到第一特征集合,并将所述第一特征集合输入所述预设三维点云模型的译码器得到第一预测集合,其中,所述第一预测集合中包含了与所述第二集合中的点数据对应的预测点数据;
第二处理模块,用于将所述第一预测集合中的预测点数据输入所述预设三维点云模型的编码器,得到第二特征集合,并将所述第二特征集合输入所述预设三维点云模型的译码器得到第二预测集合,其中,所述第二预测集合中包含了与所述第一集合中的点数据对应的预测点数据;
第一计算模块,用于根据预设的第一损失函数获取所述第一预测集合与所述第二集合的第一损失函数值,并根据所述预设的第二损失函数获取所述第二预测集合与所述第一集合的第二损失函数值;
第二计算模块,用于根据预设的第三损失函数对所述第一损失函数值和所述第二损失函数值计算获取所述每组点云数据对应的第三损失函数值;
训练模块,用于根据所述多组三维点云数据对应的多个第三损失函数值训练所述预设三维点云模型,以便于根据训练后的所述预设三维点云模型进行三维模型的构建。
7.根据权利要求6中所述的模型训练装置,其特征在于,所述划分模块,具体用于:
通过随机采样的方式在所述每组三维点云数据中选取一个目标点数据;
针对所述每组三维点云数据中的其他三维点云数据与所述目标点数据的距离,按照所述距离由小到大的顺序筛选出N个相邻点数据,生成包含所述N个相邻点数据和所述目标点数据的所述第一集合;其中,N的值为所述预设阈值减一;根据所述每组三维点云数据中除所述第一集合包含的点数据之外的其他点数据生成所述第二集合。
8.根据权利要求6中所述的模型训练装置,其特征在于,所述第一计算模块,具体用于:
根据预设的筛选策略在所述第二集合中筛选与所述第一预测集合中每个第一预测点数据对应的三个第一相邻点数据,并根据所述预设的筛选策略在所述第一预测集合中筛选与所述第二集合中每个第一点数据对应的三个第二相邻点数据;
计算所述每个第一预测点数据与对应的所述三个第一相邻点数据组成的三角形面的第一点面距离,计算所述每个第一点数据与对应的所述三个第二相邻点数据组成的三角形面的第二点面距离,并获取所述每个第一预测点数据对应的第一点面距离,和,与所述每个第一预测点数据对应的第一点数据对应的所述第二点面距离之和,计算各个第一预测点数据对应的各个距离之和的平均值获取所述第一损失函数值;
根据所述预设的筛选策略在所述第一集合中筛选与所述第二预测集合中每个第二预测点数据对应的三个第二相邻点数据,并根据所述预设的筛选策略在所述第二预测集合中筛选与所述第一集合中每个第二点数据对应的三个第三相邻点数据;
计算所述每个第二预测点数据与对应的所述三个第二相邻点数据组成的三角形面的第三点面距离,计算所述每个第二点数据与对应的所述三个第三相邻点数据组成的三角形面的第四点面距离,并获取所述每个第二预测点数据对应的第三点面距离,和,与所述每个第二预测点数据对应的第二点数据对应的所述第四点面距离之和,计算各个第二预测点数据对应的各个距离之和的平均值获取所述第二损失函数值。
9.根据权利要求6中所述的模型训练装置,其特征在于,所述第一损失函数的计算公式为:
Figure FDA0002607184960000041
其中,Lr(p)为第一损失函数值,Nm为所述每组三维点云数据的数量,Pm为所述第一集合,
Figure FDA0002607184960000042
为所述第一预测集合,pk是Pm中到
Figure FDA0002607184960000043
点最近的k个点,
Figure FDA0002607184960000044
Figure FDA0002607184960000045
中到p点最近的k个点,θk
Figure FDA0002607184960000046
为距离系数,D为所述第一预测集合的预测点数据与所述第二集合的点数据间的距离。
10.根据权利要求9中所述的模型训练装置,其特征在于,所述根据预设的第三损失函数对所述第一损失函数值和所述第二损失函数值计算获取所述每组点云数据对应的第三损失函数值:
根据如下计算公式对所述第一损失函数和所述第二损失函数计算所述第三损失函数,其中,所述计算公式为:
L(P)=Lr(P)+λLc(P)=D(F(Ps),Pm)+λD(F2(Ps),Ps)
其中,L(p)为所述第三损失函数值,Lr(p)为所述第一损失函数值,Lc(p)为所述第二损失函数值,λ为超参数,F(Ps)为所述第一预测集合的预测点数据;Pm为所述第二集合的点数据,F2(Ps)为所述第二预测集合的预测点数据,Ps为所述第一集合的点数据,D(F(Ps),Pm)为所述第一预测集合的预测点数据与所述第二集合的点数据间的距离,D(F2(Ps),Ps)为所述第二预测集合的预测点数据与所述第一集合的点数据间的距离。
CN201910125766.5A 2019-02-20 2019-02-20 用于三维模型构建的三维点云模型训练方法 Active CN109887075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910125766.5A CN109887075B (zh) 2019-02-20 2019-02-20 用于三维模型构建的三维点云模型训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910125766.5A CN109887075B (zh) 2019-02-20 2019-02-20 用于三维模型构建的三维点云模型训练方法

Publications (2)

Publication Number Publication Date
CN109887075A CN109887075A (zh) 2019-06-14
CN109887075B true CN109887075B (zh) 2020-12-15

Family

ID=66928535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910125766.5A Active CN109887075B (zh) 2019-02-20 2019-02-20 用于三维模型构建的三维点云模型训练方法

Country Status (1)

Country Link
CN (1) CN109887075B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111539347B (zh) * 2020-04-27 2023-08-08 北京百度网讯科技有限公司 用于检测目标的方法和装置
CN111882658B (zh) * 2020-07-02 2022-08-09 电子科技大学 一种针对核电厂房内核设施的自动重构方法
CN113313830B (zh) * 2021-05-24 2022-12-16 华南理工大学 基于多分支图卷积神经网络的编码点云特征提取方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120281907A1 (en) * 2011-05-06 2012-11-08 Toyota Motor Engin. & Manufact. N.A.(TEMA) Real-time 3d point cloud obstacle discriminator apparatus and associated methodology for training a classifier via bootstrapping
CN107452062A (zh) * 2017-07-25 2017-12-08 深圳市魔眼科技有限公司 三维模型构建方法、装置、移动终端、存储介质及设备
CN107481313A (zh) * 2017-08-18 2017-12-15 深圳市唯特视科技有限公司 一种基于学习有效点云生成的密集三维物体重建方法
CN108961339A (zh) * 2018-07-20 2018-12-07 深圳辰视智能科技有限公司 一种基于深度学习的点云物体姿态估计方法、装置及其设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239793B (zh) * 2017-05-17 2020-01-17 清华大学 多量化深度二值特征学习方法及装置
CN109299657B (zh) * 2018-08-14 2020-07-03 清华大学 基于语义注意力保留机制的群体行为识别方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120281907A1 (en) * 2011-05-06 2012-11-08 Toyota Motor Engin. & Manufact. N.A.(TEMA) Real-time 3d point cloud obstacle discriminator apparatus and associated methodology for training a classifier via bootstrapping
CN107452062A (zh) * 2017-07-25 2017-12-08 深圳市魔眼科技有限公司 三维模型构建方法、装置、移动终端、存储介质及设备
CN107481313A (zh) * 2017-08-18 2017-12-15 深圳市唯特视科技有限公司 一种基于学习有效点云生成的密集三维物体重建方法
CN108961339A (zh) * 2018-07-20 2018-12-07 深圳辰视智能科技有限公司 一种基于深度学习的点云物体姿态估计方法、装置及其设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
3DCNN-DQN-RNN: A Deep Reinforcement Learning Framework for Semantic Parsing of Large-Scale 3D Point Clouds;Fangyu Liu 等;《2017 IEEE International Conference on Computer Vision (ICCV)》;20171230;第5679-5688页 *
Context-Aware Local Binary Feature Learning for Face Recognition;Yueqi Duan 等;《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》;20180531;第1139-1153页 *

Also Published As

Publication number Publication date
CN109887075A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
CN110110617B (zh) 医学影像分割方法、装置、电子设备和存储介质
CN109887075B (zh) 用于三维模型构建的三维点云模型训练方法
CN109754064B (zh) 执行解卷积的神经网络的方法和装置
CN111860138B (zh) 基于全融合网络的三维点云语义分割方法及系统
CA2998937A1 (en) Optical flow determination system
CN113272827A (zh) 卷积神经网络中分类决策的验证
CN111582105A (zh) 基于局部全局双向推理的无监督点云特征学习方法及装置
CN110728295B (zh) 半监督式的地貌分类模型训练和地貌图构建方法
WO2016119883A1 (en) Generating control data for sub-objects
CN110346808A (zh) 一种激光雷达的点云数据处理方法和系统
CN111145188A (zh) 一种基于ResNet与UNet模型的图像分割方法
US20200356074A1 (en) Method for setting printing properties of a three-dimensional object for additive manufacturing process
CN107206690A (zh) 设置用于增材制造方法的三维物体打印属性的方法
US10997528B2 (en) Unsupervised model evaluation method, apparatus, server, and computer-readable storage medium
CN114399644A (zh) 一种基于小样本目标检测方法及装置
CN115457395A (zh) 基于通道注意力与多尺度特征融合的轻量级遥感目标检测方法
Canellidis et al. Evolutionary computing and genetic algorithms: paradigm applications in 3D printing process optimization
CN107403465B (zh) 基于结构先验与深度学习的城市场景分段平面重建方法
CN113643311A (zh) 一种对边界误差鲁棒的图像分割方法和装置
CN116994245A (zh) 基于深度学习的空间转录组分析方法、装置及可读介质
CN116403062A (zh) 一种点云目标检测方法、系统、设备及介质
WO2023218074A1 (en) Training method for training a machine learning algorithm, segmentation method, computer program product and segmentation device
CN116486071A (zh) 图像分块特征提取方法、装置及存储介质
CN116385369A (zh) 深度图像质量评价方法、装置、电子设备及存储介质
EP4083874A1 (en) Image processing device and operating method therefor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant