一种基于点云语义增强的人手姿态回归方法和系统转让专利

申请号 : CN201810758545.7

文献号 : CN109086683B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王贵锦陈醒濠杨华中

申请人 : 清华大学

摘要 :

本发明实施例提供一种基于点云语义增强的人手姿态回归方法和系统,提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息,基于语义分割信息对手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果,利用网络学习来对输入数据和输出进行几何变换的方法,使得人手姿态估计方法对于输入数据的几何变换更加鲁棒,将输入点云逐点分类子网络的语义信息和姿态回归子网络进行有效融合,使得人手姿态估计的性能得到进一步提升。

权利要求 :

1.一种基于点云语义增强的人手姿态回归方法,其特征在于,包括:

提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息;

基于所述语义分割信息对所述手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果;

所述基于所述语义分割信息对所述手部点云数据进行语义增强,还包括:基于变换学习子网络,以手部点云数据为输入,通过三个PointNet层来提取点云特征,并基于三个全连接层学习得到点云特征的输入变换矩阵和输出变换矩阵。

2.根据权利要求1所述的基于点云语义增强的人手姿态回归方法,其特征在于,提取手部点云数据的点云特征,并进行逐点分类,具体包括:基于多个点云抽象层、多个点特征传播层和多层感知器构建点云逐点分类子网络,所述点云抽象层对手部点云数据进行采样和分组,并通过PointNet层对分组后的手部点云数据进行点云特征提取,将点云特征传输入对应的点特征传播层;所述点特征传播层对输入的点云特征进行插值操作,并跟相应的底层逐点特征进行串接融合;所述多层感知器用于基于串接融合后的底层逐点特征生成逐点分类的标签。

3.根据权利要求1所述的基于点云语义增强的人手姿态回归方法,其特征在于,基于所述语义分割信息对所述手部点云数据进行语义增强,具体包括:将所述手部点云数据和所述输入变换矩阵相乘后得到变换后的手部点云数据,将变换后的手部点云数据与所述语义分割信息进行第一次串接融合;提取第一次串接融合后手部点云数据的点云特征,并将提取后的点云特征与语义分割信息进行第二次串接融合。

4.根据权利要求3所述的基于点云语义增强的人手姿态回归方法,其特征在于,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果具体包括:基于所述输出变换矩阵,对所述手姿态预测结果进行几何变换,得到手姿态回归结果。

5.根据权利要求4所述的基于点云语义增强的人手姿态回归方法,其特征在于,基于三个全连接层学习得到点云特征的输出变换矩阵后还包括:基于矩阵互逆性损失函数对所述输入变换矩阵和所述输出变换矩阵进行优化,使所述输出变换矩阵为所述输入变换矩阵的逆矩阵。

6.根据权利要求5所述的基于点云语义增强的人手姿态回归方法,其特征在于,所述矩阵互逆性损失函数为:Lim=||TinTout-I||2

式中,Tin为输入变换矩阵,Tout为输出变换矩阵,I为单位矩阵。

7.一种基于点云语义增强的人手姿态回归系统,其特征在于,包括点云逐点分类子网络和姿态回归子网络;

所述点云逐点分类子网络用于提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息;

所述姿态回归子网络用于基于所述语义分割信息对所述手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果;所述基于所述语义分割信息对所述手部点云数据进行语义增强,还包括:基于变换学习子网络,以手部点云数据为输入,通过三个PointNet层来提取点云特征,并基于三个全连接层学习得到点云特征的输入变换矩阵和输出变换矩阵。

8.一种基于点云语义增强的人手姿态回归设备,其特征在于,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。

9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一所述的方法。

说明书 :

一种基于点云语义增强的人手姿态回归方法和系统

技术领域

[0001] 本发明涉及计算机技术领域,更具体地,涉及一种基于点云语义增强的人手姿态回归方法和系统。

背景技术

[0002] 在基于视觉的人机交互中,人手姿态估计是指准确预测人手的骨架节点的三维坐标位置,在虚拟现实、增强现实、人机交互等领域有着广阔的应用前景。人手姿态估计问题在过去十几年内都是计算机视觉领域一个热门的研究点。
[0003] 基于视觉的人手姿态估计方法可以分为2类:一类是基于表观的方法;通过机器学习从二维图像特征空间到三维人手姿态空间建立映射来估计人手的状态,基于表观方法的优点在于易于实现实时跟踪,缺点是为保证精度必须具有稠密的学习样本并在庞大的图像数据库中建立起高效的学习和搜索算法;另一类是基于模型的方法,把人手三维模型投影到二维图像空间,通过特征比较和数据估算修正三维模型中估计的姿态参数,[0004] 基于模型方法的优点在于估计结果更加精确,但这种方法的性能依赖于所选的模型,通常将深度图像作为单通道图像输入到二维卷积神经网络(Convolutional Neural Network,CNN)中,然后预测人手姿态。然而,从二维图像映射到三维节点坐标是一个高度非线性的问题,输入和输出空间的不一致使得网络学习非常困难。近年来也有基于三维卷积神经网络(3D CNN)的方法,这类方法首先把深度图像转换成体素表示然后利用3D CNN来回归姿态。然而,3D体素需要把连续的坐标信息进行量化表示,从而引入了量化误差,对精确的人手姿态估计不利。同时,3D CNN的方法对内存占用较大,尤其当3D体素分辨率较高时尤为明显;训练出来的网络对输入的几何变换不鲁棒,且精度受限,此外,现有的方法大多基于热度图预测或者直接回归,姿态回归的性能低。

发明内容

[0005] 本发明提供一种克服上述问题或者至少部分地解决上述问题的一种基于点云语义增强的人手姿态回归方法和系统。
[0006] 根据本发明的第一个方面,提供一种基于点云语义增强的人手姿态回归方法,包括:
[0007] 提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息;
[0008] 基于所述语义分割信息对所述手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果。
[0009] 根据本发明的第二个方面,提供一种基于点云语义增强的人手姿态回归设备,包括:
[0010] 至少一个处理器;以及
[0011] 与所述处理器通信连接的至少一个存储器,其中:
[0012] 所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述基于点云语义增强的人手姿态回归方法。
[0013] 根据本发明的第二个方面,提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述基于点云语义增强的人手姿态回归方法。
[0014] 本发明提出一种基于点云语义增强的人手姿态回归方法和系统,提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息,基于语义分割信息对手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果,利用网络学习来对输入数据和输出进行几何变换的方法,使得人手姿态估计方法对于输入数据的几何变换更加鲁棒,将输入点云逐点分类子网络的语义信息和姿态回归子网络进行有效融合,使得人手姿态估计的性能得到进一步提升。

附图说明

[0015] 图1为本发明实施例的基于点云语义增强的人手姿态回归方法示意图;
[0016] 图2为根据本发明实施例的基于点云语义增强的人手姿态回归方法的网络系统示意图;
[0017] 图3为根据本发明实施例的点云逐点分类子网络结构图;
[0018] 图4为根据本发明实施例的姿态回归子网络结构图;
[0019] 图5为根据本发明实施例的变换学习子网络结构图;
[0020] 图6为根据本发明实施例的基于点云语义增强的人手姿态回归设备结构示意图。

具体实施方式

[0021] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0022] 虚拟操作人机交互过程中采用计算机视觉获取人手信息在交互的自然性与成本上有很大优势,是未来发展的主要趋势。由于人手的信息不能直接被计算机获取,人手姿态参数估计成为一项基础性工作。只有获得准确的人手姿态参数才能驱动场景中的虚拟手,保证人机交互的虚实一致性。
[0023] 现有的人手姿态估算方法需要把深度图像转换成体素表示然后利用3D CNN来回归姿态。然而,3D体素需要把连续的坐标信息进行量化表示,从而引入了量化误差,对精确的人手姿态估计不利。同时,3D CNN的方法对内存占用较大,尤其当3D体素分辨率较高时尤为明显。
[0024] 为了解决上述问题,针对现有技术中较少考虑输入数据的空间变换,导致训练出来的网络对输入的几何变换不鲁棒,且精度受限,且由于基于热度图预测或者直接回归,没有考虑如何结合输入数据的语义分割信息来提高姿态回归的性能,本发明实施例基于点云来对人手姿态进行估计,提出了一种基于点云语义增强的人手姿态回归方法,如图1所示,包括:
[0025] 提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息;
[0026] 基于所述语义分割信息对所述手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果。
[0027] 具体的,在本实施例中,通过点云逐点分类子网络,以手部点云数据为输入,利用PointNet++网络对点云进行点云特征的提取,最后进行逐点的分类,得到点云的语义分割信息。利用姿态回归子网络同样以手部点云数据作为输入,输出人手姿态估计的最终结果,根据本发明实施例的方法建立的网络系统如图2所示。
[0028] 在本实施例中,利用网络学习来对输入数据和输出进行几何变换的方法,使得人手姿态估计方法对于输入数据的几何变换更加鲁棒,将输入点云逐点分类的语义分割信息和姿态回归子网络进行有效融合,使得人手姿态估计的性能得到进一步提升。
[0029] 具体的,在上述实施例的基础上,提取手部点云数据的点云特征,并进行逐点分类,具体包括:
[0030] 基于多个点云抽象层、多个点特征传播层和多层感知器构建点云逐点分类子网络,所述点云抽象层对手部点云数据进行采样和分组,并通过PointNet层对分组后的手部点云数据进行点云特征提取,将点云特征传输入对应的点特征传播层;所述点特征传播层对输入的点云特征进行插值操作,并跟相应的底层逐点特征进行串接融合;所述多层感知器用于基于串接融合后的底层逐点特征生成逐点分类的标签。
[0031] 在本实施例中,如图3所示,为点云逐点分类子网络的结构框图,该结构基于PointNet++网络,共包括三个点云抽象层和三个点特征传播层。点云抽象层包括点云的采样和分组操作,并且利用PointNet层对分组的点云进行点云特征提取。点特征传播层首先将输入点云特征进行插值操作,再跟相应的底层逐点特征进行串接融合。网络最后利用多层感知器生成点云逐点分类的标签。
[0032] 点云的数据结构就是一些三维空间的点坐标构成的点集,点云本质上是一长串点(nx3矩阵,其中n是点数)。在几何上,点的顺序不影响它在空间中对整体形状的表示,例如,相同的点云可以由两个完全不同的矩阵表示。
[0033] 在本实施例中,直接将三维手部点云数据抛入网络进行训练,数据量小,图2是本发明实施例的基于点云语义增强的人手姿态回归方法的网络结构示意图,输入是包含n个点的手部点云数据(nx3),原始数据通过一个3D空间变换学习子网络T-Net,估计出3x3的输入变换矩阵Tin并作用在原始手部点云数据上,实现数据的对齐。
[0034] 图3是点云逐点分类子网络结构图。该结构基于PointNet++网络,主干网络包括三个点云抽象层和三个点特征传播层,点云抽象层包括点云的采样和分组操作,并且利用PointNet层对分组的点云进行特征提取。点特征传播层首先将输入特征进行插值操作,再跟相应的底层逐点特征进行串接融合。网络最后利用多层感知器生成点云逐点分类的标签。
[0035] 图4是姿态回归子网络结构图。该结构基于PointNet++网络,主干网络包括三个点云抽象层,逐点分类网络得到的分类标签信息在输入和输出层都和姿态回归网络进行特征融合。
[0036] 在上述各实施例的基础上,基于所述语义分割信息对所述手部点云数据进行语义增强,还包括:
[0037] 基于变换学习子网络,以手部点云数据为输入,通过三个PointNet层来提取点云特征,并基于三个全连接层学习得到点云特征的输入变换矩阵和输出变换矩阵。
[0038] 如图5所示,在本实施例中,首先利用一个变换学习子网络(T-Net)来从输入点云中学习一个3×3的输入变换矩阵Tin,另外一个变换学习子网络(T-Net)从输入点云中学习一个3×3的输出变换矩阵Tout。
[0039] T-Net是一个预测特征空间变换矩阵的子网络,它从输入数据中学习出与特征空间维度一致的变换矩阵,然后用这个变换矩阵与原始数据向乘,实现对输入特征空间的变换操作,使得后续的每一个点都与输入数据中的每一个点都有关系。通过这样的数据融合,实现对原始点云数据包含特征的逐级抽象。
[0040] 在上述各实施例的基础上,基于所述语义分割信息对所述手部点云数据进行语义增强,具体包括:
[0041] 将所述手部点云数据和所述输入变换矩阵相乘后得到变换后的手部点云数据,将变换后的手部点云数据与所述语义分割信息进行第一次串接融合;提取第一次串接融合后手部点云数据的点云特征,并将提取后的点云特征与语义分割信息进行第二次串接融合。
[0042] 具体的,利用输入变换矩阵Tin,将Tin和手部点云数据进行矩阵相乘后得到变换后的手部点云数据,将变换后的手部点云数据与点云逐点分类子网络分类学习出来的语义分割信息进行第一次串接融合,然后提取第一次串接融合后的手部点云数据的点云特征;并将提取后的点云特征与语义分割信息进行第二次串接融合,得到出手姿态预测结果。
[0043] 另一个变换学习子网络从输入点云中学习一个3×3的输出变换矩阵Tout,输出变换矩阵Tout对手姿态预测结果进行几何变换,得到最终的手姿态预测结果。
[0044] 在上述各实施例的基础上,在本实施例中,还包括对所述点云逐点分类子网络和所述姿态回归子网络进行网络训练,在网络训练过程中,需要同时优化三个损失函数:逐点分类损失函数,姿态回归损失函数以及矩阵互逆性损失函数。其中,逐点分类损失函数为交叉熵损失函数,姿态回归损失函数利用的是smooth L1损失函数,矩阵互逆性损失函数定义如下:
[0045] Lim=||TinTout-I||2
[0046] 该损失函数用来限制输出变换矩阵Tout为输入变换矩阵Tin的逆矩阵,I为单位矩阵,这样就能够使得网络保持了输入数据和输出姿态的几何变换一致性,同时也使得网络对输入数据的几何变换不敏感,且降低了网络的学习难度。
[0047] 本实施例中,基于上述各实施例的基于点云语义增强的人手姿态回归方法,提供了一种基于点云语义增强的人手姿态回归系统,如图2所示,包括点云逐点分类子网络和姿态回归子网络;
[0048] 所述点云逐点分类子网络用于提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息;
[0049] 所述姿态回归子网络用于基于所述语义分割信息对所述手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果。
[0050] 具体的,在本实施例中,点云逐点分类子网络和姿态回归子网络。点云逐点分类子网络以手部的点云数据作为输入,利用PointNet++网络对点云进行特征的提取,最后进行逐点的分类,得到点云的语义分割信息。姿态回归子网络同样以点云作为输入,输出人手姿态估计的最终结果。首先利用一个变换学习子网络(T-Net)来从输入点云中学习一个3×3的输入变换矩阵Tin,Tin和数据点云进行矩阵相乘后得到变换后的点云。变换后的点云跟点云逐点分类子网络学习出来的语义信息进行串接融合,然后进行点云特征的提取。提取后的点云特征再次跟点云的语义分割信息进行串接融合,来预测出手的姿态结果。另外一个变换学习子网络(T-Net)从输入点云中学习一个3×3的输出变换矩阵Tout,Tout对手的姿态估计进行几何变换,得到最终的手姿态估计结果。
[0051] 在本实施例中,如图3所示,为点云逐点分类子网络的结构框图,该结构基于PointNet++网络,共包括三个点云抽象层和三个点特征传播层。点云抽象层包括点云的采样和分组操作,并且利用PointNet层对分组的点云进行点云特征提取。点特征传播层首先将输入点云特征进行插值操作,再跟相应的底层逐点特征进行串接融合。网络最后利用多层感知器生成点云逐点分类的标签。
[0052] 在本实施例中,图4是姿态回归子网络结构图。该结构基于PointNet++网络,主干网络包括三个点云抽象层,点云逐点分类子网络得到的分类标签信息在输入和输出层都和姿态回归网络进行特征融合。T-Net是一个预测特征空间变换矩阵的子网络,它从输入数据中学习出与特征空间维度一致的变换矩阵,然后用这个变换矩阵与原始数据向乘,实现对输入特征空间的变换操作,使得后续的每一个点都与输入数据中的每一个点都有关系。通过这样的数据融合,实现对原始点云数据包含特征的逐级抽象。
[0053] 图6是示出本申请实施例的基于点云语义增强的人手姿态回归设备的结构框图。
[0054] 参照图6,所述基于点云语义增强的人手姿态回归设备,包括:处理器(processor)810、存储器(memory)830、通信接口(CommunicationsInterface)820和总线840;
[0055] 其中,
[0056] 所述处理器810、存储器830、通信接口820通过所述总线840完成相互间的通信;
[0057] 所述通信接口820用于该测试设备与显示装置的通信设备之间的信息传输;
[0058] 所述处理器810用于调用所述存储器830中的程序指令,以执行上述各方法实施例所提供的基于点云语义增强的人手姿态回归方法,例如包括:
[0059] 提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息;
[0060] 基于所述语义分割信息对所述手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果。
[0061] 本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行如上述的基于点云语义增强的人手姿态回归方法,例如包括:
[0062] 提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息;
[0063] 基于所述语义分割信息对所述手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果。
[0064] 本实施例中还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述的基于点云语义增强的人手姿态回归方法,例如包括:
[0065] 提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息;
[0066] 基于所述语义分割信息对所述手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果。
[0067] 综上所述,本发明实施例提出一种基于点云语义增强的人手姿态回归方法和系统,提取手部点云数据的点云特征,并进行逐点分类,得到手部点云数据的语义分割信息,基于语义分割信息对手部点云数据进行语义增强,基于语义增强后的手部点云数据得到手姿态预测结果,并对所述手姿态预测结果进行几何变换,得到手姿态回归结果利用网络学习来对输入数据和输出进行几何变换的方法,使得人手姿态估计方法对于输入数据的几何变换更加鲁棒,将输入点云逐点分类子网络的语义信息和姿态回归子网络进行有效融合,使得人手姿态估计的性能得到进一步提升。
[0068] 以上所描述的显示装置的测试设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0069] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0070] 最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。