CN110188598B - 一种基于MobileNet-v2的实时手部姿态估计方法 - Google Patents
一种基于MobileNet-v2的实时手部姿态估计方法 Download PDFInfo
- Publication number
- CN110188598B CN110188598B CN201910296212.1A CN201910296212A CN110188598B CN 110188598 B CN110188598 B CN 110188598B CN 201910296212 A CN201910296212 A CN 201910296212A CN 110188598 B CN110188598 B CN 110188598B
- Authority
- CN
- China
- Prior art keywords
- network
- hand
- coordinates
- finger
- thumb
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000006870 function Effects 0.000 claims abstract description 31
- 238000011176 pooling Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 21
- 210000002478 hand joint Anatomy 0.000 claims abstract description 8
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims abstract description 7
- 238000013528 artificial neural network Methods 0.000 claims abstract description 6
- 210000003811 finger Anatomy 0.000 claims description 70
- 210000003813 thumb Anatomy 0.000 claims description 31
- 230000004927 fusion Effects 0.000 claims description 25
- 230000004913 activation Effects 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 9
- 238000007906 compression Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 241000203475 Neopanax arboreus Species 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 claims description 3
- 210000004932 little finger Anatomy 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 230000007306 turnover Effects 0.000 claims description 3
- JLYXXMFPNIAWKQ-UHFFFAOYSA-N γ Benzene hexachloride Chemical compound ClC1C(Cl)C(Cl)C(Cl)C(Cl)C1Cl JLYXXMFPNIAWKQ-UHFFFAOYSA-N 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 2
- 210000001145 finger joint Anatomy 0.000 claims 1
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000013135 deep learning Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 241000282414 Homo sapiens Species 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012850 discrimination method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明属于手部姿态估计、人机交互、计算机视觉手部跟踪技术领域,一种基于MobileNet‑v2的实时手部姿态估计方法,包括以下步骤:(1)获取包含手部关节点3D位置标注的深度图像,(2)对ICVL数据集中的深度图像进行预处理,(3)搭建基于MobileNet‑v2的实时手部姿态估计网络,(4)搭建三分支手指注意力输出网络,(5)确定网络的损失函数,(6)训练搭建的神经网络,(7)得到训练好的模型。本发明具有以下优点:一是,使用数据驱动的深度学习方法,在实际应用时计算复杂度低,速度快;二是,使用轻量级网络MobileNet‑v2作为骨干网络在保证性能的前提下减少了网络参数;三是,使用全局平均池化代替全连接层节省了大量参数。
Description
技术领域
本发明涉及一种基于MobileNet-v2的实时手部姿态估计方法,属于手部姿态估计、人机交互、计算机视觉手部跟踪技术领域。
背景技术
传统的与计算机等设备进行交互的方式主要是依靠一些硬件设备,例如键盘、鼠标、打印机等,这些设备为人们操作计算机等设备提供了巨大的帮助,然而,随着社会的发展与技术的进步,人们已不仅仅满足于通过这些设备,而是希望使用更加自然的手段进行人机交互。通过手势自然地进行人机交互已经成为人们的一种诉求。
伴随着机械自动化技术的蓬勃发展,工业机器人产业日趋成熟,并逐渐的被应用在生产生活中,它能够帮助人类完成特定的行为动作。如果想提高机器人的操作水平,则需要学习人手的操作经验,从而获取对它有用的先验信息。
无论是使用手势的方式进行更加自然的人机交互,为机器人提供人手操作经验还是进行手部追踪,首先需要做的就是估计手部姿态,得到手部关节点3D坐标,并在此基础上给设备传递相关信息。使用带有传感器的数据手套,可以记录手部姿态的准确信息,其缺点是使人手部动作受限,运动不够自然,成本也相对较高,这使得人们考虑采用其他方法获取数据。近年来,深度相机的出现降低了数据采集的成本,使得基于深度数据估计手部姿态成为一种主流方法。
基于深度数据估计手部姿态的方法大致分为三大类:生成类方法、判别类方法和混合方法。生成类方法首先是使用几何结构构建手部模型,建立手部关节与几何模型之间的对应关系;然后,将手部模型的二维投影特征与观测到的图像特征进行匹配;最后,使用优化算法在高维参数空间中寻找目标函数的最优解。这类方法虽然精度较高,但计算复杂,且实时性较差,目前无法满足人们对手部姿态估计实时性的要求。判别类方法的主要思路是首先搭建卷积神经网络 (Convolutional Neural Networks,CNN)提取手部特征,然后使用全连接层回归出手部所有关节点的3D坐标。这类方法在实际应用时,计算复杂度低,速度较快,其结构对输出结果的精确度以及实时性有很大的影响。现有的网络模型计算复杂度较大,网络结构复杂,MobileNet-v2提供了一个非常高效的面向移动设备的模型,可以作为这个任务的基础网络。混合类方法是两种方法的结合。
发明内容
为了克服现有技术中存在的不足,本发明目的是提供一种基于MobileNet-v2 的实时手部姿态估计方法,从而得到关节点的3D坐标。该方法基于MobileNet-v2 网络,借鉴编码器-解码器的架构,进行特征融合,融合后的特征再经过三分支手指注意力输出网络,实时估计出深度图像中手部关节点的3D位置,该方法使用了能快速移植到移动设备的轻量级神经网络MobileNet-v2,能够准确地获得深度图像中手部关节点的3D位置,即便是在设备资源有限的情况下,该方法依然能很快速的估计出关节点3D坐标,同时能保证准确度。
为了实现上述发明目的,解决已有技术中所存在的问题,本发明采取的技术方案是:一种基于MobileNet-v2的实时手部姿态估计方法,包括以下步骤:
步骤1、获取包含手部关节点3D位置标注的深度图像,首先下载ICVL数据集,它由深度相机获得22k深度图像,通过对其进行不同的旋转,形成了由180k 张深度图像组成的训练集,以及由1536张深度图像组成的的测试集构成,本发明的训练集只使用其中的22k原始深度图像,测试集使用全部的1536张深度图像,每张深度图像有J=16个注释关节点(x,y,z),ICVL数据集提供的深度图像具有质量高、噪声小且轮廓清晰等优点;
步骤2、对ICVL数据集中的深度图像进行预处理,具体包括以下子步骤:
(a)在深度图像中分割手部区域,手是最接近相机的物体,从深度图像中提取一个以该物体的质心为中心的立方体,立方体的大小设定为250×250×250 mm,获得手的包围框,实现了从原深度图中分割出手部图像的目的;
(b)将分割出的手部图像大小调整为128×128,深度值归一化为[-1,1],深度不可用的点或者比立方体的背面更深的点的深度被设定为1,这种预处理对于卷积神经网络(Convolutional Neural Networks,CNN)而言很重要;
步骤3、搭建基于MobileNet-v2的实时手部姿态估计网络,该网络是一个编码器-解码器架构,它能够充分利用图像的多尺度特征,从而实现手部姿态的估计,具体包括以下子步骤:
(a)输入为128×128的手部深度图像,通道数为1;
(b)使用TensorFlow框架搭建基于MobileNet-v2的实时手部姿态估计网络,其解码器部分有链式残差池化(Chained Residual Pooling,CRP)、融合(FUSION) 两种操作方式,CRP由一系列的5×5池化层与1×1卷积层构成,以残差的形式排列,进行特征提取;FUSION部分则是对两路输入数据分别执行1×1卷积后,将低分辨率特征进行上采样,形成与高分辨率特征一样的分辨率,然后求和,依次选取MobileNet-v2网络中的特征图为原图像分辨率的1/4,1/8,1/16,1/32的输出特征作为本发明编码器部分的blocks1,blocks2,blocks3和blocks4,将blocks4 经过CRP后与blocks3进行FUSION,实现了低分辨率高语义特征与高分辨率低语义特征的融合,融合后的特征经过CRP后和blocks2进行FUSION,再经过CRP 后和blocks1进行FUSION,最后经过CRP输出最终融合后的特征F,通道数为 256;
步骤4、搭建三分支手指注意力输出网络,由于拇指和食指在抓握、操作中起着重要的作用,而中指,无名指和小指在大多数情况下起着辅助作用,因此将五指结构简化为拇指、食指和其他手指的三分支结构,不同分支的手指注意力模块以浅层低级图像特征作为输入,可以大大降低计算复杂度和训练时间,使用 TensorFlow搭建三分支手指注意力输出网络,从而获得手部16个关节的3D位置 (x,y,z),具体包括以下子步骤:
(a)将步骤3子步骤(b)获得的融合后的特征F经过stride=2的池化层,分辨率降为原始图像分辨率的1/8;
(b)建立拇指注意力输出网络,得到拇指对应的4个关节点的3D坐标,经步骤4子步骤(a)融合后的特征F大小为16×16,通道数为256,再将F送到1 ×1卷积层,使用激活函数sigmoid获得具有尺寸为16×16的权重Mit,Mit中的值被视为F中拇指关节对应像素是关节点的可能性,从而得到注意力机制后的特征,通过公式(1)进行描述,
其中,Fx,y,c为步骤4子步骤(a)融合后的特征F,为拇指对应的像素权重,为拇指注意力机制后的输出特征,得到后经过1×1卷积、BN层、 ReLU函数激活后输出512个特征图,512个特征图进行全局平均池化,再经过1 ×1卷积,形成输出通道数为12的特征图,最后进行维度压缩得到12个坐标值,其中拇指对应4个关节点,每个关节点3个坐标,故一共输出12个坐标;
(c)建立食指注意力输出网络,得到食指对应的3个关节点的3D坐标,经步骤4子步骤(a)融合后的特征F大小为16×16,通道数为256,再将F送到1 ×1卷积层,使用激活函数sigmoid获得具有尺寸为16×16的权重Mii,Mii中的值被视为F中拇指关节对应像素是关节点的可能性,从而得到注意力机制后的特征,通过公式(2)进行描述,
其中,为食指对应的像素权重,为注意力机制后食指的输出特征,得到后经过1×1卷积、BN层、ReLU函数激活后输出512个特征图,512 个特征图进行全局平均池化,再经过1×1卷积,形成输出通道数为9的特征图,最后进行维度压缩得到9个坐标值,食指对应的3个关节点,每个关节点3个坐标,故一共输出9个坐标;
(d)建立其余三指注意力输出网络,得到其余三指对应的9个关节点的3D 坐标,经步骤4子步骤(a)融合后的特征F大小为16×16,通道数为256,再将F送到1×1卷积层,使用激活函数sigmoid获得具有尺寸16×16的权重Mio, Mio中的值被视为F中拇指关节对应像素是关节点的可能性,得到注意力机制后的特征,通过公式(3)进行描述,
其中,为其余三指对应的像素权重,为注意力机制后的其余三指输出特征,得到后经过1×1卷积、BN层、relu函数激活后输出512个特征图, 512个特征图进行全局平均池化,形成输出通道数为27的特征图,最后进行维度压缩得到27个坐标值,其余三指对应的9个关节点,每个关节点3个坐标,故一共输出27个坐标;
步骤5、确定网络的损失函数,网络的损失函数Loss,通过公式(4)进行描述
Loss=L+αR(ω) (4)
其中,αR(ω)是L2范数正则化项,正则化系数α在实验中设定为0.001,L 表示预测值和坐标真实值之间的均方误差,即损失项,通过公式(5)进行描述
L=Lthumb+Lindex+Lothers (5)
其中,Lthumb表示拇指分支的损失项,Lindex表示食指分支的损失项,Lothers表示其余手指分支的损失项,具体的每个分支的损失函数,通过公式(6)进行描述
其中,ci表示预测的第i个关节点的3D坐标(x,y,z),Ci表示真实标注的3D 坐标(x,y,z),Jb表示每个分支关节点的总数;
步骤6、训练搭建的神经网络,网络模型在具有Intel Core i7 CPU,32GB RAM 和NVIDIA GTX1080 GPU的计算机上进行训练,网络基于Tensorflow框架,采用Python编程语言实现,所有权重初始化时均采用均值为0,标准差为0.01的正态分布,使用Adam优化器以batchsize大小为96对网络进行反向传播训练,训练200个epoch,使用初始值为0.001的动态学习率,并在每个epoch后降低为原来的0.95倍,训练过程使用随机数据扩充,即平移、翻转、放缩;
步骤7、得到训练好的模型,将测试数据送入模型,从而估计出手部关节点的3D坐标(x,y,z)。
本发明有益效果是:一种基于MobileNet-v2的实时手部姿态估计方法,包括以下步骤:(1)获取包含手部关节点3D位置标注的深度图像,(2)对ICVL数据集中的深度图像进行预处理,(3)搭建基于MobileNet-v2的实时手部姿态估计网络,(4)搭建三分支手指注意力输出网络,(5)确定网络的损失函数,(6)训练搭建的神经网络,(7)得到训练好的模型。与已有技术相比,本发明具有以下优点:一是,使用数据驱动的深度学习方法,在实际应用时计算复杂度低,速度较快;二是,使用轻量级网络MobileNet-v2,在保证性能的前提下大大减少了网络参数;三是,使用全局池化代替全连接层节省了大量参数,同时也能达到防止训练过拟合的情况;四是,三分支的特征注意力输出网络能充分利用不同尺度融合的特征;本发明能实时准确的估计出手部深度图像关节点的3D位置坐标。
附图说明
图1是本发明方法步骤流程图。
图2是本发明方法基于MobileNet-v2的沙漏特征提取网络图。
图3是本发明方法三分支特征注意力输出网络图。
图4是本发明方法CRP和FUSION结构图。
图中:(a)是CRP结构图,(b)是FUSION结构图。
图5是本发明方法手指注意力机制图。
图6是本发明方法16个手指每个关节的误差和平均误差图。
图7是本发明方法不同误差范围内关节预测结果所占的比例图。
图8是本发明方法得到的最终结果图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,一种基于MobileNet-v2的实时手部姿态估计方法,包括以下步骤:
步骤1、获取包含手部关节点3D位置标注的深度图像,首先下载ICVL数据集,它由深度相机获得22k深度图像,通过对其进行不同的旋转,形成了由180k 张深度图像组成的训练集,以及由1536张深度图像组成的的测试集构成,本发明的训练集只使用其中的22k原始深度图像,测试集使用全部的1536张深度图像,每张深度图像有J=16个注释关节点(x,y,z),ICVL数据集提供的深度图像具有质量高、噪声小且轮廓清晰等优点;
步骤2、对ICVL数据集中的深度图像进行预处理,具体包括以下子步骤:
(a)在深度图像中分割手部区域,手是最接近相机的物体,从深度图像中提取一个以该物体的质心为中心的立方体,立方体的大小设定为250×250×250 mm,获得手的包围框,实现了从原深度图中分割出手部图像的目的;
(b)将分割出的手部图像大小调整为128×128,深度值归一化为[-1,1],深度不可用的点或者比立方体的背面更深的点的深度被设定为1,这种预处理对于卷积神经网络(Convolutional Neural Networks,CNN)而言很重要;
步骤3、搭建基于MobileNet-v2的实时手部姿态估计网络,如图2所示,该网络是一个编码器-解码器架构,它能够充分利用图像的多尺度特征,从而实现手部姿态的估计,具体包括以下子步骤:
(a)输入为128×128的手部深度图像,通道数为1;
(b)使用TensorFlow框架搭建基于MobileNet-v2的实时手部姿态估计网络,其解码器部分有链式残差池化(Chained Residual Pooling,CRP)、融合(FUSION) 两种操作方式,如图4所示,CRP由一系列的5×5池化层与1×1卷积层构成,以残差的形式排列,进行特征提取;FUSION部分则是对两路输入数据分别执行1 ×1卷积后,将低分辨率特征进行上采样,形成与高分辨率特征一样的分辨率,然后求和,依次选取MobileNet-v2网络中的特征图为原图像分辨率的1/4,1/8, 1/16,1/32的输出特征作为本发明编码器部分的blocks1,blocks2,blocks3和 blocks4,将blocks4经过CRP后与blocks3进行FUSION,实现了低分辨率高语义特征与高分辨率低语义特征的融合,融合后的特征经过CRP后和blocks2进行FUSION,再经过CRP后和blocks1进行FUSION,最后经过CRP输出最终融合后的特征F,通道数为256;
步骤4、搭建三分支手指注意力输出网络,如图3所示。由于拇指和食指在抓握、操作中起着重要的作用,而中指,无名指和小指在大多数情况下起着辅助作用,因此将五指结构简化为拇指、食指和其他手指的三分支结构,不同分支的手指注意力模块以浅层低级图像特征作为输入,可以大大降低计算复杂度和训练时间,使用TensorFlow搭建三分支手指注意力输出网络,从而获得手部16个关节的3D位置(x,y,z),具体包括以下子步骤:
(a)将步骤3子步骤(b)获得的融合后的特征F经过stride=2的池化层,分辨率降为原始图像分辨率的1/8;
(b)建立拇指注意力输出网络,得到拇指对应的4个关节点的3D坐标,经步骤4子步骤(a)融合后的特征F大小为16×16,通道数为256,再将F送到1 ×1卷积层,使用激活函数sigmoid获得具有尺寸为16×16的权重Mit,Mit中的值被视为F中拇指关节对应像素是关节点的可能性,从而得到注意力机制后的特征,如图5所示,通过公式(1)进行描述,
其中,Fx,y,c为步骤4子步骤(a)融合后的特征F,为拇指对应的像素权重,为拇指注意力机制后的输出特征,得到后经过1×1卷积、BN层、 ReLU函数激活后输出512个特征图,512个特征图进行全局平均池化,再经过1 ×1卷积,形成输出通道数为12的特征图,最后进行维度压缩得到12个坐标值,其中拇指对应4个关节点,每个关节点3个坐标,故一共输出12个坐标;
(c)建立食指注意力输出网络,得到食指对应的3个关节点的3D坐标,经步骤4子步骤(a)融合后的特征F大小为16×16,通道数为256,再将F送到1 ×1卷积层,使用激活函数sigmoid获得具有尺寸为16×16的权重Mii,Mii中的值被视为F中拇指关节对应像素是关节点的可能性,从而得到注意力机制后的特征,如图5所示,通过公式(2)进行描述,
其中,为食指对应的像素权重,为注意力机制后食指的输出特征,得到后经过1×1卷积、BN层、ReLU函数激活后输出512个特征图,512 个特征图进行全局平均池化,再经过1×1卷积,形成输出通道数为9的特征图,最后进行维度压缩得到9个坐标值,食指对应的3个关节点,每个关节点3个坐标,故一共输出9个坐标;
(d)建立其余三指注意力输出网络,得到其余三指对应的9个关节点的3D 坐标,经步骤4子步骤(a)融合后的特征F大小为16×16,通道数为256,再将F送到1×1卷积层,使用激活函数sigmoid获得具有尺寸16×16的权重Mio, Mio中的值被视为F中拇指关节对应像素是关节点的可能性,得到注意力机制后的特征,如图5所示,通过公式(3)进行描述,
其中,为其余三指对应的像素权重,为注意力机制后的其余三指输出特征,得到后经过1×1卷积、BN层、relu函数激活后输出512个特征图, 512个特征图进行全局平均池化,形成输出通道数为27的特征图,最后进行维度压缩得到27个坐标值,其余三指对应的9个关节点,每个关节点3个坐标,故一共输出27个坐标;
步骤5、确定网络的损失函数,网络的损失函数Loss,通过公式(4)进行描述
Loss=L+αR(ω) (4)
其中,αR(ω)是L2范数正则化项,正则化系数α在实验中设定为0.001,L 表示预测值和坐标真实值之间的均方误差,即损失项,通过公式(5)进行描述
L=Lthumb+Lindex+Lothers (5)
其中,Lthumb表示拇指分支的损失项,Lindex表示食指分支的损失项,Lothers表示其余手指分支的损失项,具体的每个分支的损失函数,通过公式(6)进行描述
其中,ci表示预测的第i个关节点的3D坐标(x,y,z),Ci表示真实标注的3D 坐标(x,y,z),Jb表示每个分支关节点的总数;
步骤6、训练搭建的神经网络,网络模型在具有Intel Core i7 CPU,32GB RAM 和NVIDIA GTX1080 GPU的计算机上进行训练,网络基于Tensorflow框架,采用Python编程语言实现,所有权重初始化时均采用均值为0,标准差为0.01的正态分布,使用Adam优化器以batchsize大小为96对网络进行反向传播训练,训练200个epoch,使用初始值为0.001的动态学习率,并在每个epoch后降低为原来的0.95倍,训练过程使用随机数据扩充,即平移、翻转、放缩;
步骤7、得到训练好的模型,将测试数据送入模型,从而估计出手部关节点的3D坐标(x,y,z)。
本发明得到的最终结果如图8所示,手指的平均关节误差是7.3mm,对于自遮挡不严重的关节点,本方法估计的关节点3D坐标非常准确,如图7所示,所有的估计结果都在2cm的误差内,1cm误差内图像所占的比例达到了90%;本方法比其他深度学习方法的参数量低一个数量级,参数量只有4M,最终的测试结果在单GPU的情况下速度为700fps,达到了实时性的要求。
Claims (1)
1.一种基于MobileNet-v2的实时手部姿态估计方法,其特征在于包括以下步骤:
步骤1、获取包含手部关节点3D位置标注的深度图像,首先下载ICVL数据集,它由深度相机获得22k张深度图像,通过对其进行不同的旋转,形成了由180k张深度图像组成的训练集,以及由1536张深度图像组成的测试集构成,训练集只使用其中的22k张原始深度图像,测试集使用全部的1536张深度图像,每张深度图像有J=16个注释关节点(x,y,z),ICVL数据集提供的深度图像具有质量高、噪声小且轮廓清晰的优点;
步骤2、对ICVL数据集中的深度图像进行预处理,具体包括以下子步骤:
(a)在深度图像中分割手部区域,手是最接近相机的物体,从深度图像中提取一个以手的质心为中心的立方体,立方体的大小设定为250×250×250mm,获得手的包围框,实现了从原深度图中分割出手部图像的目的;
(b)将分割出的手部图像大小调整为128×128,深度值归一化为[-1,1],深度不可用的点或者比立方体的背面更深的点的深度被设定为1,这种预处理对于卷积神经网络(Convolutional Neural Networks,CNN)而言很重要;
步骤3、搭建基于MobileNet-v2的实时手部姿态估计网络,该网络是一个编码器-解码器架构,它能够充分利用图像的多尺度特征,从而实现手部姿态的估计,具体包括以下子步骤:
(a)输入大小为128×128的手部深度图像,通道数为1;
(b)使用TensorFlow框架搭建基于MobileNet-v2的实时手部姿态估计网络,其解码器部分有链式残差池化(Chained Residual Pooling,CRP)、融合(FUSION)两种操作方式,CRP由一系列的5×5池化层与1×1卷积层构成,以残差的形式排列,进行特征提取;FUSION部分则是对两路输入数据分别执行1×1卷积后,将低分辨率特征进行上采样,形成与高分辨率特征一样的分辨率,然后求和,依次选取MobileNet-v2网络中的特征图为原图像分辨率的1/4,1/8,1/16,1/32的输出特征作为编码器部分的blocks1,blocks2,blocks3和blocks4,将blocks4经过CRP后与blocks3进行FUSION,实现了低分辨率高语义特征与高分辨率低语义特征的融合,融合后的特征经过CRP后和blocks2进行FUSION,再经过CRP后和blocks1进行FUSION,最后经过CRP输出最终融合后的特征F,通道数为256;
步骤4、搭建三分支手指注意力输出网络,由于拇指和食指在抓握、操作中起着重要的作用,而中指,无名指和小指在大多数情况下起着辅助作用,因此将五指结构简化为拇指、食指和其他手指的三分支结构,不同分支的手指注意力模块以浅层低级图像特征作为输入,可以大大降低计算复杂度和训练时间,使用TensorFlow搭建三分支手指注意力输出网络,从而获得手部16个关节的3D位置(x,y,z),具体包括以下子步骤:
(a)将步骤3子步骤(b)获得的融合后的特征F经过stride=2的池化层,分辨率降为原始图像分辨率的1/8;
(b)建立拇指注意力输出网络,得到拇指对应的4个关节点的3D坐标,经步骤4子步骤(a)池化后的特征F大小为16×16,通道数为256,再将F送到1×1卷积层,使用激活函数sigmoid获得具有尺寸为16×16的权重Mit,Mit中的值被视为F中拇指关节对应像素是关节点的可能性,从而得到注意力机制后的特征,通过公式(1)进行描述,
其中,Fx,y,c为步骤4子步骤(a)池化后的特征F,为拇指对应的像素权重,为拇指注意力机制后的输出特征,得到后经过1×1卷积、BN层、ReLU函数激活后输出512个特征图,512个特征图进行全局平均池化,再经过1×1卷积,形成输出通道数为12的特征图,最后进行维度压缩得到12个坐标值,其中拇指对应4个关节点,每个关节点3个坐标,故一共输出12个坐标;
(c)建立食指注意力输出网络,得到食指对应的3个关节点的3D坐标,经步骤4子步骤(a)池化后的特征F大小为16×16,通道数为256,再将F送到1×1卷积层,使用激活函数sigmoid获得具有尺寸为16×16的权重Mii,Mii中的值被视为F中食指关节对应像素是关节点的可能性,从而得到注意力机制后的特征,通过公式(2)进行描述,
其中,为食指对应的像素权重,为注意力机制后食指的输出特征,得到后经过1×1卷积、BN层、ReLU函数激活后输出512个特征图,512个特征图进行全局平均池化,再经过1×1卷积,形成输出通道数为9的特征图,最后进行维度压缩得到9个坐标值,食指对应的3个关节点,每个关节点3个坐标,故一共输出9个坐标;
(d)建立其余三指注意力输出网络,得到其余三指对应的9个关节点的3D坐标,经步骤4子步骤(a)池化后的特征F大小为16×16,通道数为256,再将F送到1×1卷积层,使用激活函数sigmoid获得具有尺寸16×16的权重Mio,Mio中的值被视为F中其余三指关节对应像素是关节点的可能性,得到注意力机制后的特征,通过公式(3)进行描述,
其中,为其余三指对应的像素权重,为注意力机制后的其余三指输出特征,得到后经过1×1卷积、BN层、relu函数激活后输出512个特征图,512个特征图进行全局平均池化,形成输出通道数为27的特征图,最后进行维度压缩得到27个坐标值,其余三指对应的9个关节点,每个关节点3个坐标,故一共输出27个坐标;
步骤5、确定网络的损失函数,网络的损失函数Loss,通过公式(4)进行描述
Loss=L+αR(ω) (4)
其中,αR(ω)是L2范数正则化项,正则化系数α在实验中设定为0.001,L表示预测值和坐标真实值之间的均方误差,即损失项,通过公式(5)进行描述
L=Lthumb+Lindex+Lothers (5)
其中,Lthumb表示拇指分支的损失项,Lindex表示食指分支的损失项,Lothers表示其余手指分支的损失项,具体的每个分支的损失函数,通过公式(6)进行描述
其中,ci表示预测的第i个关节点的3D坐标(x,y,z),Ci表示真实标注的3D坐标(x,y,z),Jb表示每个分支关节点的总数;
步骤6、训练搭建的神经网络,网络模型在具有Intel Core i7 CPU,32GB RAM和NVIDIAGTX1080 GPU的计算机上进行训练,网络基于Tensorflow框架,采用Python编程语言实现,所有权重初始化时均采用均值为0,标准差为0.01的正态分布,使用Adam优化器以batchsize大小为96对网络进行反向传播训练,训练200个epoch,使用初始值为0.001的动态学习率,并在每个epoch后降低为原来的0.95倍,训练过程中随机使用了平移、翻转、放缩三种数据扩充方式;
步骤7、得到训练好的模型,将测试数据送入模型,从而估计出手部关节点的3D坐标(x,y,z)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910296212.1A CN110188598B (zh) | 2019-04-13 | 2019-04-13 | 一种基于MobileNet-v2的实时手部姿态估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910296212.1A CN110188598B (zh) | 2019-04-13 | 2019-04-13 | 一种基于MobileNet-v2的实时手部姿态估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110188598A CN110188598A (zh) | 2019-08-30 |
CN110188598B true CN110188598B (zh) | 2022-07-05 |
Family
ID=67714176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910296212.1A Expired - Fee Related CN110188598B (zh) | 2019-04-13 | 2019-04-13 | 一种基于MobileNet-v2的实时手部姿态估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188598B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569817B (zh) * | 2019-09-12 | 2021-11-02 | 北京邮电大学 | 基于视觉实现手势识别的系统和方法 |
CN110852199A (zh) * | 2019-10-28 | 2020-02-28 | 中国石化销售股份有限公司华南分公司 | 一种基于双帧编码解码模型的前景提取方法 |
CN111160197A (zh) * | 2019-12-23 | 2020-05-15 | 爱驰汽车有限公司 | 人脸检测方法、装置、电子设备、存储介质 |
CN111428555B (zh) * | 2020-01-17 | 2022-09-20 | 大连理工大学 | 一种分关节的手部姿态估计方法 |
CN111274954B (zh) * | 2020-01-20 | 2022-03-15 | 河北工业大学 | 基于改进姿态估计算法的嵌入式平台实时跌倒检测方法 |
CN111325797B (zh) * | 2020-03-03 | 2023-07-25 | 华东理工大学 | 一种基于自监督学习的位姿估计方法 |
CN113449570A (zh) * | 2020-03-27 | 2021-09-28 | 虹软科技股份有限公司 | 图像处理方法和装置 |
CN111582058B (zh) * | 2020-04-20 | 2023-04-18 | 中科南京人工智能创新研究院 | 一种使用对抗式3d分层网络进行手部姿态估计的方法 |
CN111597976A (zh) * | 2020-05-14 | 2020-08-28 | 杭州相芯科技有限公司 | 一种基于rgbd相机的多人三维姿态估计方法 |
CN111914639A (zh) * | 2020-06-30 | 2020-11-10 | 吴�荣 | 轻量级卷积时空简单循环单元模型的驾驶动作识别方法 |
CN112149563A (zh) * | 2020-09-23 | 2020-12-29 | 中科人工智能创新技术研究院(青岛)有限公司 | 一种注意力机制人体图像关键点姿态估计方法及系统 |
CN112348883B (zh) * | 2020-11-24 | 2021-06-29 | 中国科学院自动化研究所 | 血管介入手术中介入器械端点实时定位系统、方法、装置 |
CN112446342B (zh) * | 2020-12-07 | 2022-06-24 | 北京邮电大学 | 关键帧识别模型训练方法、识别方法及装置 |
CN112581499A (zh) * | 2020-12-17 | 2021-03-30 | 北京邮电大学 | 基于深度状态空间模型的3d人体运动预测方法 |
CN112686201B (zh) * | 2021-01-11 | 2022-09-30 | 大连理工大学 | 基于双目rgb图像的手部深度及姿态估计方法 |
CN112837367B (zh) * | 2021-01-27 | 2022-11-25 | 清华大学 | 语义分解式物体位姿估计方法及系统 |
CN113177432B (zh) * | 2021-03-16 | 2023-08-29 | 重庆兆光科技股份有限公司 | 基于多尺度轻量化网络的头部姿态估计方法、系统、设备及介质 |
CN113077418A (zh) * | 2021-03-18 | 2021-07-06 | 心医国际数字医疗系统(大连)有限公司 | 基于卷积神经网络的ct影像骨骼分割方法及装置 |
CN113158911A (zh) * | 2021-04-25 | 2021-07-23 | 北京华捷艾米科技有限公司 | 数据生成方法及装置 |
CN113313810B (zh) * | 2021-06-18 | 2022-12-27 | 广东工业大学 | 一种透明物体的6d姿态参数计算方法 |
CN113673313B (zh) * | 2021-07-07 | 2024-04-09 | 华南理工大学 | 一种基于分层卷积神经网络的手势姿态识别方法 |
CN113516232B (zh) * | 2021-08-10 | 2024-05-17 | 中国科学院空天信息创新研究院 | 一种基于自注意力机制的穿墙雷达人体姿态重构方法 |
CN114373222A (zh) * | 2021-12-20 | 2022-04-19 | 大连理工大学 | 基于持续学习的手部姿态及形状估计方法 |
CN114155560B (zh) * | 2022-02-08 | 2022-04-29 | 成都考拉悠然科技有限公司 | 基于空间降维的高分辨率人体姿态估计模型的轻量化方法 |
WO2023159674A1 (zh) * | 2022-02-23 | 2023-08-31 | 中国科学院深圳先进技术研究院 | 手部关节角度估计方法、估计装置、存储介质 |
CN114782931B (zh) * | 2022-04-22 | 2023-09-29 | 电子科技大学 | 改进MobileNetv2网络的驾驶行为分类方法 |
CN117710686A (zh) * | 2022-08-24 | 2024-03-15 | 漳州松霖智能家居有限公司 | 一种头皮头发检测方法、系统和设备 |
CN116880687B (zh) * | 2023-06-07 | 2024-03-19 | 黑龙江科技大学 | 一种基于单目多算法的悬浮触控方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354397A (zh) * | 2011-09-19 | 2012-02-15 | 大连理工大学 | 基于面部特征器官相似性的人脸图像超分辨率重建方法 |
CN107451552A (zh) * | 2017-07-25 | 2017-12-08 | 北京联合大学 | 一种基于3d‑cnn和卷积lstm的手势识别方法 |
US9870056B1 (en) * | 2012-10-08 | 2018-01-16 | Amazon Technologies, Inc. | Hand and hand pose detection |
CN108062754A (zh) * | 2018-01-19 | 2018-05-22 | 深圳大学 | 基于密集网络图像的分割、识别方法和装置 |
CN109035267A (zh) * | 2018-06-22 | 2018-12-18 | 华东师范大学 | 一种基于深度学习的图像目标抠取方法 |
-
2019
- 2019-04-13 CN CN201910296212.1A patent/CN110188598B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354397A (zh) * | 2011-09-19 | 2012-02-15 | 大连理工大学 | 基于面部特征器官相似性的人脸图像超分辨率重建方法 |
US9870056B1 (en) * | 2012-10-08 | 2018-01-16 | Amazon Technologies, Inc. | Hand and hand pose detection |
CN107451552A (zh) * | 2017-07-25 | 2017-12-08 | 北京联合大学 | 一种基于3d‑cnn和卷积lstm的手势识别方法 |
CN108062754A (zh) * | 2018-01-19 | 2018-05-22 | 深圳大学 | 基于密集网络图像的分割、识别方法和装置 |
CN109035267A (zh) * | 2018-06-22 | 2018-12-18 | 华东师范大学 | 一种基于深度学习的图像目标抠取方法 |
Non-Patent Citations (2)
Title |
---|
Dense 3D Regression for Hand Pose Estimation;Chengde Wan etal.;《http:arXiv:1711.08996v1》;20171124;全文 * |
基于Kinet的无标记手部姿态估计系统;周文猛等;《南京大学学报(自然科学)》;20150331;第51卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110188598A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188598B (zh) | 一种基于MobileNet-v2的实时手部姿态估计方法 | |
CN110222580B (zh) | 一种基于三维点云的人手三维姿态估计方法和装置 | |
WO2020108362A1 (zh) | 人体姿态检测方法、装置、设备及存储介质 | |
CN108182728A (zh) | 一种基于Leap Motion的在线体感三维建模方法及系统 | |
CN101154289A (zh) | 基于多目相机的三维人体运动跟踪的方法 | |
CN112329525A (zh) | 一种基于时空图卷积神经网络的手势识别方法和装置 | |
CN110135277B (zh) | 一种基于卷积神经网络的人体行为识别方法 | |
CN113051420A (zh) | 一种基于文本生成视频机器人视觉人机交互方法及系统 | |
CN117218300B (zh) | 三维模型的构建方法、三维构建模型的训练方法及装置 | |
CN114882524A (zh) | 一种基于全卷积神经网络的单目三维手势估计方法 | |
CN111914595B (zh) | 一种基于彩色图像的人手三维姿态估计方法和装置 | |
CN116385667A (zh) | 三维模型的重建方法、纹理重构模型的训练方法以及装置 | |
CN113420606B (zh) | 一种基于自然语言和机器视觉实现机器人自主导航的方法 | |
CN117218246A (zh) | 图像生成模型的训练方法、装置、电子设备及存储介质 | |
Zhang et al. | Digital twin-enabled grasp outcomes assessment for unknown objects using visual-tactile fusion perception | |
CN114529949A (zh) | 一种基于深度学习的轻量级手势识别方法 | |
CN117932713A (zh) | 云原生cad软件手势交互几何建模方法、系统、装置及设备 | |
CN113743247A (zh) | 基于Reders模型的手势识别方法 | |
Chen et al. | Sliding touch-based exploration for modeling unknown object shape with multi-fingered hands | |
CN116449947B (zh) | 一种基于tof相机的汽车座舱域手势识别系统及方法 | |
CN111078008B (zh) | 一种早教机器人的控制方法 | |
CN116185182B (zh) | 一种融合眼动注意力的可控图像描述生成系统及方法 | |
Wu et al. | Internal model control structure inspired robotic calligraphy system | |
CN116912296A (zh) | 一种基于位置增强注意力机制的点云配准方法 | |
CN116079727A (zh) | 基于3d人体姿态估计的人形机器人动作模仿方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220705 |
|
CF01 | Termination of patent right due to non-payment of annual fee |