一种基于标签分布学习的三维手部姿态估计方法、存储介质及终端与流程

文档序号:21366051发布日期:2020-07-04 04:41阅读:408来源:国知局
一种基于标签分布学习的三维手部姿态估计方法、存储介质及终端与流程

本发明涉及图像处理技术领域,尤其涉及一种基于标签分布学习的三维手部姿态估计方法、存储介质及终端。



背景技术:

近年来,使用深度相机进行实时3d手部姿势估计的研究稳步增长,因为该技术可以在各种人机交互应用程序中发挥重要作用,尤其是在虚拟现实和增强现实应用程序中。然而,由于3d手势的高维度,手势的变化大,使得3d手势估计仍遭受准确性和鲁棒性的问题。

目前对手部姿态进行估计的现有技术存在缺点有:1、以2d图像作为输入的2dcnn无法充分利用深度图像中的3d空间信息;2、将手部深度图像编码为3d体素,并应用3dcnn推断3d手部姿势;但是,3dcnn的时间和空间复杂度随输入3d体素的分辨率呈立方增长,计算量过大。因此,如何降低计算量、减少计算的复杂度,使得手部姿态估计更加精确,是目前需要解决的问题。



技术实现要素:

本发明的目的在于克服现有技术的缺点,提供了一种基于标签分布学习的三维手部姿态估计方法、存储介质及终端,解决了目前对手部姿态进行估计的方法中存在的问题。

本发明的目的通过以下技术方案来实现:一种基于标签分布学习的三维手部姿态估计方法,所述方法包括:

通过最远点采样法和基于obb的点云归一化法对点云数据进行预处理;

采样特征学习网络将输入点云数据进行处理得到点云数据在高纬度的特征向量;

通过标签分布学习网络将手部姿态各关节点的位置抽象为其概率密度的空间位置分布,并根据各关节点在空间位置部分的概率密度的大小实现对手部姿态各关节点的估计。

所述方法还包括在进行最远点采样法和基于obb的点云归一化法对点云数据进行预处理之前,需要将采集到的手部三维散点深度图像的原始数据转换为三维点云数据的步骤。

所述通过最远点采样法对点云数据进行预处理步骤包括:

从初始点集p={p0,p1,…,pn}中选取任意一点pi,并从剩余点中取出与该点距离最远的pij加入到新的采样点集psa中;

以新加入的采样点集psa中的点pij为基准继续从剩余点钟取出与到采样点集psa距离最远的点继续放入到采样点集psa中;迭代直到采样到目标数量n截止。

所述基于obb的点云归一化法对点云数据进行预处理步骤包括:

对输入的点云数据进行pca主成分分析,得到输入点云数据的特征向量矩阵;

将原始数据乘以特征向量矩阵得到obb坐标系下的原始数据旋转矩阵;

并根据点云数据在obb坐标系下各个坐标方向最大值进行归一化。

为保证输入输出数据在物理意义上相同,在训练阶段各手部关节点的三维坐标经过公式映射到obb参考坐标系中;在测试阶段根据公式将obb参考坐标系中的各手部关节点的三维位置坐标系坐标变换回相机参考坐标系。

所述采样特征学习网络将输入点云数据进行处理得到点云数据再高纬度的特征向量包括:

将输入点云n个点进行第一次最远点采样得到n1个点,并根据采样点进行球查询,按照指定半径下n1个点周围的k个点为一个采样组,得到n1×d×k的点云数据,通过三个卷积核数量为64、64、128的1×1卷积层,将点云数据从d维变为128维,变为了点云数据高纬度的表示,再通过最大池化层得到每个采样点的特征;此时维度为n1×128、物理意义为n1个采样点的128维特征向量,代表了采样点及周围点的特征;

对n1个点进行第二次最远点采样并通过球查询的方式,获得n2×k个点,将每个点对应1中的128维特征向量与该点原始坐标信息合并得到n2×(d+128)×k特征集合,通过三个卷积核数量为128、128、256的1×1卷积层,将特征维度变为256维,再通过最大池化层;此时维度为n2×256、物理意义为n2个采样点的256维特征向量;

将n2个采样点的256维特征与采样点原始坐标信息合并成为n2×(d+256)特征集合,通过三个卷积核数量为256、512、1024的1×1卷积层,将特征维度变为1024维,再通过最大池化层,得到整体点云的特征;此时维度为1024,从而得到点云数据的1024维特征向量。

所述特征学习网络包括pointnet++网络模型,通过在采样时使用最远点采样法以保证局部特征能够被充分学习。

所述通过标签分布学习网络将手部姿态各关节点的位置抽象为其概率密度的空间位置分布,并根据各关节点在空间位置部分的概率密度的大小实现对手部姿态各关节点的估计包括:

将obb空间进行网格化划分,并将手部各关节点在三维坐标中的空间内的概率密度分布表示为

分别计算x,y,z每个维度上的概率密度分布,并将每个维度的概率密度分布当做一个标签;

根据关节点标签的概率密度分布得到关节点标签位置的概率密度最大点,用该点表示标签信息,也就是x,y,z的坐标信息,即关节点位置信息;

确定预测估计的关节点位置信息与真实关节点位置信息之间距离差值大小,距离差值越小则预测估计结果越准确。

一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序运行时执行一种基于标签分布学习的三维手部姿态估计方法的步骤。

一种终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于标签分布学习的三维手部姿态估计的控制程序,所述基于标签分布学习的三维手部姿态估计的控制程序运行时执行一种基于标签分布学习的三维手部姿态估计方法的步骤。

本发明具有以下优点:一种基于标签分布学习的三维手部姿态估计方法、存储介质及终端,可以充分利用3d空间信息,可以近似表示3d体素,使得复杂度大大降低,复杂度与分辨率成一维线性关系;通过obb归一化可以使初始点云数据在整体方向上保持一致,而一般归一化只是在简单归一化到0和1之间,增加对输入数据的鲁棒性;相较于传统pointnet网络模型不能有效表示局部特征,通过使用pointnet++网络模型能够有效解决局部特征学习的问题。

附图说明

图1为本发明的整体框架示意图;

图2为特征学习网络结构示意图;

图3为特征提取示意图;

图4为手部关节点标签分布示意图。

具体实施方式

下面结合附图对本发明做进一步的描述,但本发明的保护范围不局限于以下所述。

如图1所示,一种基于标签分布学习的三维手部姿态估计方法,所述方法包括:

s1、通过最远点采样法和基于obb的点云归一化法对点云数据进行预处理;

s2、采样特征学习网络将输入点云数据进行处理得到点云数据在高纬度的特征向量;

s3、通过标签分布学习网络将手部姿态各关节点的位置抽象为其概率密度的空间位置分布,并根据各关节点在空间位置部分的概率密度的大小实现对手部姿态各关节点的估计。

三维手部姿态估计是根据给定的手部深度图来预测相机参考坐标系下各手部关节点的位置信息其中j是要预测的手部关节点总数。本发明使用表示训练样本集合,其中m表示训练样本总数。数据预处理步骤给出了手部三维点云数据的生成方法。特征学习网络采用pointnet++网络模型。pointnet++直接处理点云数据,并已被成功应用于目标分类、检测和场景分割等任务。标签分布学习网络采用全连接网络回归手部关节点的空间位置概率分布。

所述方法还包括在进行最远点采样法和基于obb的点云归一化法对点云数据进行预处理之前,需要将采集到的手部三维散点深度图像的原始数据转换为三维点云数据的步骤。

进一步地,深度传感器采集的是特定视角下的手部的三维散点深度图像,然而因为特征学习网络的输入是点云数据,所以需要将原始数据转换成三维点云数据;传感器保存的深度图像是以像素点的方式组织的。由深度图片中的任意像素点(u,v)∈d转换成相机参考坐标系中点云p坐标(x,y,z),如下式所示:

其中(u0,v0)是深度图像的像素中点坐标,即原点坐标;fx,fy是深度传感器的内部参数,分别为水平和垂直焦距;d是像素点(u,v)处的深度值。

深度学习端到端神经网络要求输入数据的维度一致,使用下采样方法将相机参考坐标系下的点云数据将数据点数量进行统一;三维手部姿态估计存在手部全局方位变化大的问题,使用归一化方法将原始点云经过旋转归一化处理映射到手部点云方向一致的标准坐标系,即obb坐标系下,如图1中(a)部分所示

所述通过最远点采样法对点云数据进行预处理步骤包括:

a1、从初始点集p={p0,p1,…,pn}中选取任意一点pi,并从剩余点中取出与该点距离最远的pij加入到新的采样点集psa中;

a2、以新加入的采样点集psa中的点pij为基准继续从剩余点钟取出与到采样点集psa距离最远的点继续放入到采样点集psa中;迭代直到采样到目标数量n截止。

a3、采样点集psa={pi1,pi1,…,pin},其中点到点集psa距离为到psa中每一点距离的最小值。最远点采样的优点在于相较随机采样,在给定采样点个数的情况下,对于整个点集有着更好的覆盖范围。

所述基于obb的点云归一化法对点云数据进行预处理步骤包括:

b1、对输入的点云数据进行pca主成分分析,得到输入点云数据的特征向量矩阵;

b2、将原始数据乘以特征向量矩阵得到obb坐标系下的原始数据旋转矩阵;

b3、并根据点云数据在obb坐标系下各个坐标方向最大值进行归一化。

基于obb的点云归一化方法对于输入手的全局方向具有健壮性。obb是紧密包裹手部输入点云的一个长方体边界框。通过对于输入点云的三维坐标进行pca主成分分析来确定obb的方向。根据公式将点云所在相机参考坐标系映射到obb参考坐标系下,然后将点平移到以均值为原点的坐标系中,并缩放至单位大小。

其中pcam和pobb分别是点云在相机参考坐标系和obb参考坐标系中的三维坐标,是相机参考坐标系中obb的旋转矩阵,是点云图中采样的n个点在obb参考坐标系中的平均坐标位置,lobb是obb框的最大边长。

为保证输入输出数据在物理意义上相同,在训练阶段各手部关节点的三维坐标经过公式映射到obb参考坐标系中;在测试阶段根据公式将obb参考坐标系中的各手部关节点的三维位置坐标系坐标变换回相机参考坐标系。

其中表示第j个关节点在obb参考坐标系中三维位置坐标的预测值,表示对应相机参考坐标系中三维位置坐标的预测值。

如图2所示,所述采样特征学习网络将输入点云数据进行处理得到点云数据再高纬度的特征向量包括:

s21、将输入点云n个点进行第一次最远点采样得到n1个点,并根据采样点进行球查询,按照指定半径下n1个点周围的k个点为一个采样组,得到n1×d×k的点云数据,通过三个卷积核数量为64、64、128的1×1卷积层,将点云数据从d维变为128维,变为了点云数据高纬度的表示,再通过最大池化层得到每个采样点的特征;此时维度为n1×128、物理意义为n1个采样点的128维特征向量,代表了采样点及周围点的特征;

s22、对n1个点进行第二次最远点采样并通过球查询的方式,获得n2×k个点,将每个点对应1中的128维特征向量与该点原始坐标信息合并得到n2×(d+128)×k特征集合,通过三个卷积核数量为128、128、256的1×1卷积层,将特征维度变为256维,再通过最大池化层;此时维度为n2×256、物理意义为n2个采样点的256维特征向量;

s23、将n2个采样点的256维特征与采样点原始坐标信息合并成为n2×(d+256)特征集合,通过三个卷积核数量为256、512、1024的1×1卷积层,将特征维度变为1024维,再通过最大池化层,得到整体点云的特征;此时维度为1024,从而得到点云数据的1024维特征向量。

所述特征学习网络包括pointnet++网络模型,通过在采样时使用最远点采样法以保证局部特征能够被充分学习。

与pointnet不同的是在采样和分组时,采样使用最远点采样方法,在进行点集映射的时候用分组集合代替了直接使用点集p,其中gi={pi0,pi1,…,pik}是由pi点通过k近邻算法选取的周围的点表示的gi分组。

此外,对于分组后的点云数据依旧采用多层感知机的方式进行特征学习。如图3所示,点集的某一层特征是由两部分特征向量组成,左边是每个分组所表示的原始采样点的原始特征向量,右边是本层每个分组的从上一层学习到的特征向量。以图1中(b)部分中第二个部分举例,图中n1×(d+c1)中n1表示采样点个数,d表示本层采样点的原始特征向量,c1代表本层分组的特征向量。在学习过程中,同时学习了整体和局部的特征。

所述通过标签分布学习网络将手部姿态各关节点的位置抽象为其概率密度的空间位置分布,并根据各关节点在空间位置部分的概率密度的大小实现对手部姿态各关节点的估计包括:

s31、将obb空间进行网格化划分,每个维度88等分,整个空间被划分为883个空间立方体,并将手部各关节点在三维坐标中的每个空间立方体内的概率密度分布表示为

s32、分别计算x,y,z每个维度上的概率密度分布,并将每个维度的概率密度分布当做一个标签;其目的是由于关节点位置信息可以表示为x、y、z方向上的值,即每个维度的值。我们将直接学习x、y、z的值(x、y、z可视为三个不同标签)变成学习关节点在x、y、z上的概率分布(即将每个维度的概率分布当做是一个标签),使得深度学习的非线性降低,使得网络学习更加容易,更加精确。

s33、根据关节点标签的概率密度分布得到关节点标签位置的概率密度最大点,用该点表示标签信息,也就是x,y,z的坐标信息,即关节点位置信息;

s34、确定预测估计的关节点位置信息与真实关节点位置信息之间距离差值大小,距离差值越小则预测估计结果越准确。

其中(xj,yj,zj)是第j个关节点的真实位置,σ=1.7是高斯分布的标准差。由于为了方便神经网络快速收敛,故h的概率密度和不为1,而是最大概率密度为1。为了减小网络的空间复杂度,根据公式:

h(x,y,z)在x,y,z三个维度上是独立同分布的,所以可以分别计算x,y,z每个维度上的概率密度分布。每个维度的概率分布是一个标签,关节点标签分布如图4所示,该图分别选取了两个不同手部姿态下两个不同关节点的下x,y,z标签概率分布情况,由于实际所用网格划分数量较多,该图采用求均值方式降低了网格数量。图中明亮的格子表示概率密度较高。采用均方误差作为损失函数引导网络进行学习,loss如下:

其中hj和分别是第j个关节点概率分布的真实值和预测值。

本发明最后一层的复杂度由883×j降低为3×88×j,如图1中(c)部分所示,本模块的网络采用多个全连接网络相连接的方式对标签进行学习,使用包含2048、4096、3×88×j个神经元的全连接网络相连接的方式构成标签分布学习网络。

本发明的另一实施例包括一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序运行时执行一种基于标签分布学习的三维手部姿态估计方法的步骤。

本发明的又一实施例包括一种终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于标签分布学习的三维手部姿态估计的控制程序,所述基于标签分布学习的三维手部姿态估计的控制程序运行时执行一种基于标签分布学习的三维手部姿态估计方法的步骤。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1