CN111191627B - 一种多视点下提高动态手势动作识别准确率的方法 - Google Patents

一种多视点下提高动态手势动作识别准确率的方法 Download PDF

Info

Publication number
CN111191627B
CN111191627B CN202010008782.9A CN202010008782A CN111191627B CN 111191627 B CN111191627 B CN 111191627B CN 202010008782 A CN202010008782 A CN 202010008782A CN 111191627 B CN111191627 B CN 111191627B
Authority
CN
China
Prior art keywords
gesture
value
joint
joint point
probability
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
CN202010008782.9A
Other languages
English (en)
Other versions
CN111191627A (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN202010008782.9A priority Critical patent/CN111191627B/zh
Publication of CN111191627A publication Critical patent/CN111191627A/zh
Application granted granted Critical
Publication of CN111191627B publication Critical patent/CN111191627B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/117Biometrics derived from hands

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Image Analysis (AREA)

Abstract

一种提高动态手势动作识别准确率的方法,包括:步骤一,构建手势关节点坐标识别网络,利用改进的CPM模型对手势视频进行处理,输出双视点下的手势关节点坐标;步骤二,采集双视点视频数据,包括(2.1)定义基本手势元素,(2.2)选取手势关节点,(2.3)准备训练样本数据集;步骤三,对基本手势元素视频样本进行卡尔曼滤波处理;步骤四,输出手势高斯热图和手势关节点坐标;步骤五,构造手势序列识别网络,网络模型构造的具体流程如下:(5.1)定义激活函数,(5.2)选择损失函数,(5.3)建立模型;最后,将步骤四得到的关节点坐标输入标准手势序列识别网络,就可以得到手势动作序列。本发明能够提高对连续动作的识别准确率。

Description

一种多视点下提高动态手势动作识别准确率的方法
技术领域
本发明涉及一种多视点下改善动态手势动作识别准确率的方法。
技术背景
在计算机视觉的发展浪潮下,利用卷积神经网络对人体手势动作进行识别已经成为新的研究方向。在手势动作识别方面,基于卷积神经网络的方法与传统方法相比,具有成本和耗时更低、识别效率更高的优点,省下了手势分割、人工提取特征和模板匹配的步骤,降低了模型的复杂度。但目前的手势识别方法仅仅是识别静态手势或动态手势是属于哪一类手势,属于对单个手势进行识别,没有对连续且有时间上的重叠的动态手势进行识别,究其原因就是因为没有一套针对组合的连续动作的识别框架,这也就导致此类手势识别无法在实际生产应用中发挥作用。
发明内容
本发明要克服现有技术的上述缺点,提出一种基于计算机视觉的手势动作识别方法。
本发明首先对CPM模型进行改进,以构建手势关节点坐标识别网络模型,然后对双视点下采集到的视频进行归一化和卡尔曼滤波处理,接着将预处理后的视频传入标准手势关节点坐标识别网络,得到手势高斯热图和关节点坐标。再把关节点坐标输入标准手势序列识别网络,得到手势动作序列,最终实现对连续动作的识别,解决单视点手势视频对动作识别准确率不高等问题。
为实现上述目的,本发明采用以下技术方案:
一种提高动态手势动作识别准确率的方法,包括如下步骤:
步骤一,构建手势关节点坐标识别网络;
本发明利用改进的CPM模型对手势视频进行处理,输出双视点下的手势关节点坐标,其实现流程如下:
(1)选择手势关节点估计的基础网络模型;
本发明选择VGG-13作为手势关节点估计的基础网络模型。
(2)设置感受野;
感受野的大小与卷积或池化的滑动窗口有关,将两者看成是一个映射,将n层特征图上的k×k范围的像素值压缩到n+1层特征图上的一个像素内,表示为fks,其中s表示滑动窗口的步长,k表示卷积核或池化核的大小,其映射关系为:
Figure BDA0002356347460000011
其中:xn,xn+1为第n层和第n+1层的特征图。
本发明的基本网络结构是基于VGG-13的,对于VGG-13的第一个部分,包含了两个卷积和一个池化,这三个结构形成了一个级联,因此映射过程在网络中多次重复,形成一个多级映射。各环节的感受野与卷积核或池化核的参数如表1所示:
表1级联下各层特征图对应的感受野和卷积核参数
Figure BDA0002356347460000021
记RFn为第n个特征图的感受野,Kn为第n个卷积层的卷积核或池化核的大小,Sn为Kn的步长,由表1中的感受野规律,可以归纳推导出感受野与步长以及卷积核大小的关系。
在第一层卷积后特征图的感受野大小为卷积核的大小:
RF1=K1 (2)
当步长为1时,第n≥2个特征图的感受野大小为:
RFn=RFn-1+(Kn-1) (3)
对于步长不为1的情况,有n≥2:
RFn=RFn-1+(Kn-1)×Sn (4)
(3)提取特征;
本发明利用基础网络模型VGG-13对图像进行特征提取。
首先定义第p个关节在图像像素中的位置坐标为Yp,则有,
Figure BDA0002356347460000024
其中集合Z代表图像中所有像素的位置。
设有P个需要预测的关节点,目标是得到所有P个关节点坐标Y:
Y=(Y1,Y2,…,Yp) (6)
由以上关系可知,Y是Z的子集。
接着定义一个多阶段的预测分类器gt(x),用于预测每个阶段中每个关节点所在位置。在每个阶段t∈{1,2,…T},预测分类器都会将图像中的一点z赋给Yp,并在每个阶段都会给每个手势关节点生成一个热图,具体的表达式为:
Figure BDA0002356347460000022
当分类器在第一阶段预测手势关节点位置时,会产生一个热图和相对应的手势关节点置信得分:
Figure BDA0002356347460000023
其中b1 p(Yp=z)是分类器在第一阶段预测第p个手势关节点在z位置处时的手势关节点置信得分。
对于接下来的每一个阶段,第p个手势关节点在z位置处的置信得分可以表示为:
Figure BDA0002356347460000031
其中,u,v代表图像中某一处位置z的坐标值。
在后续阶段t(t≥2),基于前一阶段的热图和手势关节点的置信得分,继续为每个手势关节点赋更加精确的位置坐标z,这个更加精确的位置z是基于第一阶段分类器所提取的图像特征和前一阶段的分类器所提取到的图片上下文信息共同决定的,同样的,后续每个阶段的预测分类器仍然产生属于每个阶段的手势关节点热图对应的手势关节点置信得分:
Figure BDA0002356347460000032
其中,ψt(z,bt-1)表示一种置信得分与图像上下文信息之间的映射,X′z表示上一阶段在位置z周边所提取到的图像特征。
在以上过程的不断重复下,每个阶段都基于前一阶段的图像上下文信息和第一阶段提取到的图像特征对第p个手势关节点的位置做出修正,这种逐渐微调的过程使得模型最终估计出较为准确的手势关节点坐标位置。
步骤二,采集双视点视频数据;
考虑到目前的单目摄像头是不含深度信息的,并且在单视点下存在着手势的遮挡和自遮挡引起的手势关节点信息缺失以及手势沿着摄像头法向运动时引起的关节点位置坐标难以变化的问题,本发明以双视点的形式对手势视频样本进行采集。为了增强样本数据的多样性,本发明设计了两种视点角度,第一种的两个摄像头角度呈180°,第二种的摄像头角度呈90°。
(1)定义基本手势元素;
本发明重新定义了对视觉识别的基本动作元素,并将确定的具体可识别的基本动作元素,称为基本手势元素,并对其符号进行了定义。
(2)选取手势关节点;
本发明通过对手势关节点进行识别,将识别的关节点按照顺序进行连线、标号,形成一个手姿势的骨架,通过对手骨架姿势的识别实现对手的姿势的识别,且将此过程定义为手势估计。手指弯曲时,手指通常分为三小段,使手指呈现不同的弯曲程度,这三段之间的连接点恰好是手指的关节点,因此,本发明选取每个手指的指尖部位的点作为手指的起始关节点,然后连接各自手指上三小段之间上的关节点,接着每根手指上的末尾关节点都与手腕处的一个关节点相连,选定了模型的关节点之后,将模型的关节点按照一定的顺序标号、连接,以形成手势骨架。
(3)准备训练样本数据集;
基于卷积神经网络对图像或视频内容识别的基础是有标准的数据集。考虑到手势在运动变化的过程中存在关节的自遮挡问题,因此本发明采用双视点对手势视频进行采集,以建立基本手势元素数据库。
同时,对于已有的一个大数据集,通常将其划分为训练集、验证集、测试集。三个子集两两之间无交集,三者的并集为全集,由于来自同一个数据集,因此三个子集是独立同分布的。验证集和测试集均用于测试模型的准确率,且两者均与模型训练时的梯度下降过程无关,但由于验证集的参与,其验证结果调节了模型迭代数和学习率,即模型有了一个参数调整的过程,因此认为验证集参与了模型的训练。
步骤三,对基本手势元素视频样本进行卡尔曼滤波处理;
在图像滤波开始之前,首先任意选择图像中的一个像素点,按照水平或者垂直的方向依次对接下来的点进行卡尔曼滤波,通过预测和更新像素值,实现图像的去噪。
图像在第k个状态的估计值xk为:
xk=Fkxk-1+Bkuk+wk (11)
式中:Fk为第k个状态时的增益矩阵;Bk为输入控制矩阵;uk为控制向量;
wk为白噪声,服从高斯分布,wk~N(0,Qk)。
对第k个状态的观测值zk为:
zk=Hkxk+vk (12)
式中:Hk为观测矩阵;vk为观测噪声,服从高斯分布,vk~N(0,Rk)。
上述初始状态x0与白噪声wk,观测噪声vk相互独立。
有了上一个状态的估计值和当前状态的观测值,就需要对当前状态的估计值进行预测,计算当前状态的估计值包括预测和更新两个步骤。对于预测过程,首先获取上一个状态k-1的估计值xk-1,利用上述公式(11)预测当前状态k的估计值xk;对于更新过程,则将预测好的k状态下的估计值代入公式(12),得到当前k状态的估计值zk,则有公式(13)可以描述一个离散时间线性随机动态系统:
Figure BDA0002356347460000041
在预测开始时,有以下初始条件:
Figure BDA0002356347460000042
其中P0为初始误差的协方差矩阵;
Figure BDA0002356347460000043
为观测值;
Figure BDA0002356347460000044
为首次的估计值。
下一个状态的预测值和预测误差的协方差矩阵分别为:
Figure BDA0002356347460000045
Figure BDA0002356347460000046
在获得新的预测值之后,对新的预测值和预测误差的协方差矩阵进行滤波更新:
Figure BDA0002356347460000047
Pk|k=(I-KkHk)Pk|k-1 (18)
其中
Figure BDA0002356347460000051
为k状态下更新后的估计值;Pk|k为更新后的预测误差协方差矩阵;I为单位矩阵;
Figure BDA0002356347460000052
描述的是观测值和估计值之间偏差,即观测余量,具体的表达式为:
Figure BDA0002356347460000053
Kk为卡尔曼增益,其实质是一个加权值,当上一状态的估计值偏小的时候,当前状态的估计值就会加上卡尔曼增益与公式(19)中的偏差值的乘积;当估计值偏大的时候,当前状态的估计值就会减去卡尔曼增益与偏差值的乘积,保证每一次新的估计都比上一次的估计更准确,循环递归多次以后估计值就会越来越准确,Kk的表达式为:
Figure BDA0002356347460000054
其中Sk为观测余量的协方差,具体表达式为:
Figure BDA0002356347460000055
将公式(19)、(20)、(21)代入更新公式(17)和(18),则有:
Figure BDA0002356347460000056
Figure BDA0002356347460000057
步骤四,输出手势高斯热图和手势关节点坐标;
本发明采用热图的形式对手势关节点的真实值进行标注,同时也采用热图作为模型的输出,其中生成的手势关节点热图是以图像中关节点所在像素区域的某一个点为中心,以具体的像素点个数为半径,画出一个圆域,将关节点所在的区域划分出来,作为关节点出现的概率区域,在该区域的中心颜色最深,表示关节点在这个位置的概率最大,而后区域的颜色由中心向外逐渐变浅。这种颜色会在中心达到尖峰,四周逐渐变浅的图像形式与高斯函数图像有着相似之处,因此可利用高斯函数来生成各个关节点区域的热图。本发明中热图的坐标是(x,y)的形式,即有二维高斯函数的公式:
Figure BDA0002356347460000058
式中,x0,y0表示手势关节点的坐标真实值;x,y表示手势关节点热图区域像素点的坐标值;
Figure BDA0002356347460000059
表示二维高斯函数的幅度值;σ2表示x,y的标准差。
对于手势关节热图的概率区域大小,本发明将其定义为半径为1的圆域,其中对于二维高斯函数的幅度A给定值为1,σ给定值为1.5,则生成一个二维高斯函数的分布图像。
在原图片的基础上生成二维高斯函数分布形态的热点图,该热图基于手势关节点区域的中心坐标,生成一个呈高斯分布的概率区域,在这个区域的中心处的概率值最大,也就是二维高斯函数的尖峰中心点,越向四周扩散,概率值越小。以概率值最大的尖峰点为中心的高斯概率区域中,所有点的总和是超过1的,但在这个概率区域中,所有像素点位置出现手势关节点的概率总和应该为1,为此,对该区域内所有的像素点的函数值进行加和,将每一个像素点对应的函数值除以像素点函数值的总和,以此保证所有点的概率和为1,处理方式如下所示:
Figure BDA0002356347460000061
式中:p(x,y)表示处理后的像素点存在关节点的概率大小;f(x,y)表示概率区域内的像素点对应的二维高斯函数值;∑f(x,y)表示所有像素点的函数值的总和。
在本发明中,将这些基于二维高斯函数生成的热图称为高斯热图,在模型的每一个阶段,都会输出所有关节点的高斯热图,即每一个关节点对应一张高斯热图。
步骤五,构造手势序列识别网络;
网络模型构造的具体流程如下:
(1)定义激活函数;
本发明涉及的循环神经网络的层数并不多,在网络层次不深的情况下梯度消失的问题相对较小,因此在循环神经网络中采用Tanh作为激活函数。
Tanh激活函数是双曲正切函数,Tanh及其导数的表达式如下所示:
Figure BDA0002356347460000062
Figure BDA0002356347460000063
(2)选择损失函数;
本发明在网络的最后一层需要输出基本手势元素的类别,采用多分类的Softmax损失函数计算出输入的视频中的手势分别属于每个类别的概率,最后模型输出对该视频中手势的预测结果为每个类别中概率最大的那个类别。
假设x是循环神经网络输入到Softmax层的一组特征向量,W和b是Softmax的参数,则Softmax的第一步是对每个类别进行打分,计算各类别的分值Logit:
Logit=WTx+b (28)
接着,用Softmax将每个类别的分值转化为各自的概率值:
Figure BDA0002356347460000064
其中,i表示第i个手势类别,ei表示第i个手势的分值。
至此模型输出了每个手势类别的概率分布,这个概率分布是一个预测值,将其称为q(x),而每个手势还带有一个实际标签,也就是一个真正的概率分布,称其为p(x)。由于Softmax函数又称为交叉熵损失函数,而交叉熵描述的是两个概率分布之间的距离问题,其可以定义为:
H(p,q)=-∑p(x)logq(x) (35)
假设p(x)=(A,B,C),q(x)=(u,v,w),且p(x)是真实值,q(x)是预测值,则通过q(x)来表示p(x)的交叉熵为:
H((A,B,C),(u,v,w))=-(Alogu+Blogv+Clogw) (36)
当q(x)和p(x)的位置互换时,两者的交叉熵是不同。交叉熵是通过概率来衡量一个事件的出现可能性的,一个事件出现的可能性越大,这个事件包含的信息量越小,即熵值越小,因此当预测的概率分布q(x)与真实值p(x)之间越靠近,两者的交叉熵就越小,意味着模型的输出与真实值就越接近,模型的预测越准确。
(3)建立模型;
在模型中X=(x1,x2,x3,...,xT)是按照时间序列展开的视频帧,这些时序帧作为循环神经网络的输入,每一帧中包含的信息是每个手势的关节点坐标值,时间序列的长度设为T。第一个隐藏层的隐状态为H=(h1 (1),h2 (1),...,hT (1)),则对第一个隐藏层的隐状态,有:
Figure BDA0002356347460000071
其中,第一个隐藏层隐的第一个序列的隐状态为:
Figure BDA0002356347460000072
对于第二个隐藏层,其输入由前一个时刻的隐状态和上一个隐藏中同样处于当前时刻的隐状态的输入共同决定,则第二个隐藏层的隐状态可以表示为:
Figure BDA0002356347460000073
其中,第二个隐藏层的首个序列的隐状态为:
Figure BDA0002356347460000074
对于最后的输出为每种手势的预测分类结果,Y=(Y1,Y2,Y3,Y4,…,Yn),有:
Yi=Softmax(VhT+c) (41)
其中i=(1,2,3,4,…,n),U、W、V均为参数矩阵,用于对输入和隐藏层的隐状态进行矩阵变换,b、c均为偏置,所有的参数是在网络的各个阶段是共享的。
最后,将步骤四得到的关节点坐标输入标准手势序列识别网络,就可以得到手势动作序列。
本发明的优点是:
本发明基于计算机视觉技术,提出了一种融合循环神经网络的手势识别算法,对生产过程中员工的手势动作进行识别。其突出特点是:针对实际生产中连续的复杂动作难以通过计算机视觉技术识别的问题,对CPM模型进行改进,建立手势关节点坐标识别网络模型来获取双视点下采集的、经过归一化和卡尔曼滤波处理的手势视频样本的手势关节点坐标,并将其输入校正完毕的标准手势序列识别网络,得到手势动作序列,提高对连续动作的识别准确率。
附图说明
图1是本发明的VGG-13的模型结构;
图2是本发明的选取的21个手势关节点示意图;
图3是本发明的手势关节点标号与骨架示意图;
图4a~图4e是本发明的5种基本手势元素视频样本的截图;其中图4a是空手移动,图4b是释放或放置,图4c是旋转,图4d是载荷移动,图4e是抓取;
图5是本发明的两个视点之间的角度为180°的布置方式;
图6是本发明的两个视点之间的角度为90°的布置方式;
图7是本发明的二维高斯函数分布图;
图8a~图8f是本发明的部分手势关节点的高斯热图;其中图8a是1号关节点,图8b是3号关节点,图8c是6号关节点,图8d是10号关节点,图8e是14号关节点;图8f是18号关节点;
图9是本发明的Tanh激活函数及其导函数分布图;
图10是本发明的循环神经网络结构示意图;
图11是本发明的五个手势类别的循环神经网络结构示意图;
图12是本发明的最小化损失函数的梯度下降过程;
图13是本发明的单视点下模型损失函数的收敛情况;
图14是本发明的双视点下模型损失函数的收敛情况;
图15是本发明动态手势动作识别方法的流程图。
具体实施方式
下面结合附图,进一步说明本发明的技术方案。
基于以上问题,本发明提出了一种基于计算机视觉的手势动作识别方法,首先对CPM模型进行改进,以构建手势关节点坐标识别网络模型,然后对双视点下采集到的视频进行归一化和卡尔曼滤波处理,接着将预处理后的视频传入标准手势关节点坐标识别网络,得到手势高斯热图和关节点坐标。再把关节点坐标输入标准手势序列识别网络,得到手势动作序列,最终实现对连续动作的识别,解决单视点手势视频对动作识别准确率不高等问题。
为了验证本发明提出的方法的可行性和优越性,现选取五种基本手势进行验证及测试,包括如下步骤:
步骤一,构建手势关节点坐标识别网络;
本发明利用改进的CPM模型对手势视频进行处理,输出双视点下的手势关节点坐标,其实现流程如下:
(1)选择手势关节点估计的基础网络模型;
本发明选择VGG-13作为手势关节点估计的基础网络模型,VGG-13由5组卷积组、5个池化组、3个全连接和1个softmax分类层构成。
(2)设置感受野;
感受野的大小与卷积或池化的滑动窗口有关,将两者看成是一个映射,将n层特征图上的k×k范围的像素值压缩到n+1层特征图上的一个像素内,表示为fks,其中s表示滑动窗口的步长,k表示卷积核或池化核的大小,其映射关系为:
Figure BDA0002356347460000081
其中:xn,xn+1为第n层和第n+1层的特征图。
本发明的基本网络结构是基于VGG-13的,对于VGG-13的第一个部分,包含了两个卷积和一个池化,这三个结构形成了一个级联,因此映射过程在网络中多次重复,形成一个多级映射。考虑一个原始图像的6×6区域,对于第一种设计过程,卷积的层数是两层,每一层的卷积核的大小都是3×3,步长都为1,池化层是1层,池化核大小为2×2,步长为2。对于第一个卷积层输出的特征图,由于卷积核的大小为3×3,则特征图中的一个像素点在原始图像上的感受野为3×3。对于第二个卷积层输出的特征图,该层卷积核的大小仍为3×3,则第二个特征图上的像素点在第一个特征图上的感受野同样为3×3,此时第一个特征图上的3×3区域需要反推回原始图像,根据第一层与原图像的感受野关系,可以从图像上直观推出第一层特征图的3×3区域对应原图像的5×5区域,即第二个卷积层输出的特征图在原始图像上的感受野是5×5。对于最后一个池化层的特征图,经过池化之后输出的是单个的像素点,则该特征图在第二个特征图上对应的感受野为2×2,同理,此时该区域对应第一个特征图上的感受野是4×4,再次反推,则在原图像上对应的感受野应该是6×6,这也就意味着最后一个池化层输出的特征图对应在原图像的感受野就是6×6。各环节的感受野与卷积核或池化核的参数如表1所示,且原始图像对自己的感受野是1×1:
表1级联下各层特征图对应的感受野和卷积核参数
Figure BDA0002356347460000091
记RFn为第n个特征图的感受野,Kn为第n个卷积层的卷积核或池化核的大小,Sn为Kn的步长,由表1中的感受野规律,可以归纳推导出感受野与步长以及卷积核大小的关系。
在第一层卷积后特征图的感受野大小为卷积核的大小:
RF1=K1 (2)
当步长为1时,第n≥2个特征图的感受野大小为:
RFn=RFn-1+(Kn-1) (3)
对于步长不为1的情况,有n≥2:
RFn=RFn-1+(Kn-1)×Sn (4)
若将这个级联结构的设计改成单个卷积层,也能达到等效的感受野,此时的卷积核的大小为6×6,步长为1,根据公式(2),第一层卷积后输出特征图的感受野等于卷积核的大小,即6×6。而本发明选择VGG-13作为基础网络结构,是因为VGG-13对于感受野结构的利用,即用两个卷积和一个池化的级联结构代替一个6×6的卷积,有以下好处:1)减小网络参数;2)加强网络的非线性结构。
(3)提取特征;
本发明利用基础网络模型VGG-13对图像进行特征提取。
首先定义第p个关节在图像像素中的位置坐标为Yp,则有,
Figure BDA0002356347460000105
其中集合Z代表图像中所有像素的位置。
设有P个需要预测的关节点,目标是得到所有P个关节点坐标Y:
Y=(Y1,Y2,…,Yp) (6)
由以上关系可知,Y是Z的子集。
接着定义一个多阶段的预测分类器gt(x),用于预测每个阶段中每个关节点所在位置。在每个阶段t∈{1,2,…T},预测分类器都会将图像中的一点z赋给Yp,并在每个阶段都会给每个手势关节点生成一个热图,具体的表达式为:
Figure BDA0002356347460000101
当分类器在第一阶段预测手势关节点位置时,会产生一个热图和相对应的手势关节点置信得分:
Figure BDA0002356347460000102
其中b1 p(Yp=z)是分类器在第一阶段预测第p个手势关节点在z位置处时的手势关节点置信得分。
对于接下来的每一个阶段,第p个手势关节点在z位置处的置信得分可以表示为:
Figure BDA0002356347460000103
其中,u,v代表图像中某一处位置z的坐标值。
在后续阶段t(t≥2),基于前一阶段的热图和手势关节点的置信得分,继续为每个手势关节点赋更加精确的位置坐标z,这个更加精确的位置z是基于第一阶段分类器所提取的图像特征和前一阶段的分类器所提取到的图片上下文信息共同决定的,同样的,后续每个阶段的预测分类器仍然产生属于每个阶段的手势关节点热图对应的手势关节点置信得分:
Figure BDA0002356347460000104
其中,ψt(z,bt-1)表示一种置信得分与图像上下文信息之间的映射,X′z表示上一阶段在位置z周边所提取到的图像特征。
在以上过程的不断重复下,每个阶段都基于前一阶段的图像上下文信息和第一阶段提取到的图像特征对第p个手势关节点的位置做出修正,这种逐渐微调的过程使得模型最终估计出较为准确的手势关节点坐标位置。
步骤二,双视点视频数据的采集;
考虑到目前的单目摄像头是不含深度信息的,并且在单视点下存在着手势的遮挡和自遮挡引起的手势关节点信息缺失以及手势沿着摄像头法向运动时引起的关节点位置坐标难以变化的问题,本发明以双视点的形式对手势视频样本进行采集。为了增强样本数据的多样性,本发明设计了两种视点角度,第一种的两个摄像头角度呈180°,第二种的摄像头角度呈90°。
(1)定义基本手势元素;
本发明对视觉识别的基本动作元素在模特法、十八种动素等基础上进行了调整,重新定义了动作识别元素,确定了5项具体可识别的基本动作元素,并称之为基本手势元素,即空手移动、载荷移动、旋转、抓取、释放或放置,并对其符号进行了定义,分别表示Empty Move、With Move、Turn、Grasp、Release,具体如表2所示:
表2基本手势元素表
Figure BDA0002356347460000111
(2)选取手势关节点;
本发明通过对手势关节点进行识别,将识别的关节点按照顺序进行连线,形成一个手姿势的骨架,通过对骨架姿势的识别实现对手的姿势的识别,且将该过程定义为手势估计。
手指弯曲时,可以看到手指分为三小段,使手指呈现不同的弯曲程度,这三段之间的连接点恰好是手指的关节点,因此,本发明选取每个手指的指尖部位的点作为手指的起始关节点,然后连接各自手指上三小段之间上的关节点,最后,每根手指上的末尾关节点都与手腕处的一个关节点相连,形成一个手的姿势的骨架,即共选取21个手势关节点。
选定了模型的关节点之后,将模型的关节点按照一定的顺序标号、连接,以形成手势骨架。手腕处的关节点是每根手指最终的连接点,因此将此关节点作为手势关节点的起始点,标为1号。接着按照关节点的空间距离,从下往上依次对大拇指的四个关节点标为2、3、4、5,即指尖处为每根手指的末端,同样的,按从下往上的顺序以对每根手指进行标号。
(3)准备训练样本数据集;
基于卷积神经网络对图像或视频内容识别的基础是有标准的数据集。由于本发明需要识别的是特定5种基本手势元素,因此建立一个以5种基本手势元素为标准的短视频手势元素样本数据集。
对5种基本手势元素进行视频采集,考虑到手势在运动变化的过程中存在关节的自遮挡问题,因此本发明安排了双视点对手势视频进行采集,每种手势采集500个1到2秒的短视频,由10个不同的人完成,每种手势每人拍摄50个短视频,共两个摄像头,总计5000个手势短视频,以建立基本手势元素数据库。
对于已有的一个大数据集,若想要完成一个有监督学习的模型的训练并对其准确率进行测试,通常会按照一定的比例,如8:1:1,将大数据集划分为训练集、验证集、测试集。三个子集两两之间无交集,三者的并集为全集,由于来自同一个数据集,因此三个子集是独立同分布的。验证集和测试集虽然都用于测试模型的准确率,且两者均与模型训练时的梯度下降过程无关,但由于验证集的参与,其验证结果调节了模型迭代数和学习率,即模型有了一个参数调整的过程,因此认为验证集参与了模型的训练。
基于以上数据集的划分规则,在保证样本是独立同分布的情况下,通过均匀随机抽样的方式,将发明的5000个视频样本按8:1:1划分为训练集、验证集、测试集。划分后的训练集、验证集、测试集的样本组成如下表3,表4,表5所示。
表3基本手势元素训练集样本组成
Figure BDA0002356347460000121
表4基本手势元素验证集样本组成
Figure BDA0002356347460000122
表5基本手势元素测试集样本组成
Figure BDA0002356347460000123
步骤三,对基本手势元素视频样本进行卡尔曼滤波处理;
卡尔曼滤波的本质就是在噪声为高斯分布的情况下,使得对目标物体的估计值的均方误差最小,即受到的扰动最小。在图像滤波开始之前,首先任意选择图像中的一个像素点,按照水平或者垂直的方向依次对接下来的点进行卡尔曼滤波,通过预测和更新像素值,实现图像的去噪。
图像在第k个状态的估计值xk为:
xk=Fkxk-1+Bkuk+wk (11)
式中:Fk为第k个状态时的增益矩阵;Bk为输入控制矩阵;uk为控制向量;
wk为白噪声,服从高斯分布,wk~N(0,Qk)。
对第k个状态的观测值zk为:
zk=Hkxk+vk (12)
式中:Hk为观测矩阵;vk为观测噪声,服从高斯分布,vk~N(0,Rk)。
上述初始状态x0与白噪声wk,观测噪声vk相互独立。
有了上一个状态的估计值和当前状态的观测值,就需要对当前状态的估计值进行预测,计算当前状态的估计值包括预测和更新两个步骤。对于预测过程,首先获取上一个状态k-1的估计值xk-1,利用上述公式(11)预测当前状态k的估计值xk;对于更新过程,则将预测好的k状态下的估计值代入公式(12),得到当前k状态的估计值zk,则有公式(13)可以描述一个离散时间线性随机动态系统:
Figure BDA0002356347460000131
在预测开始时,有以下初始条件:
Figure BDA0002356347460000132
其中P0为初始误差的协方差矩阵;
Figure BDA0002356347460000133
为观测值;
Figure BDA0002356347460000134
为首次的估计值。
下一个状态的预测值和预测误差的协方差矩阵分别为:
Figure BDA0002356347460000135
Figure BDA0002356347460000136
在获得新的预测值之后,对新的预测值和预测误差的协方差矩阵进行滤波更新:
Figure BDA0002356347460000137
Pk|k=(I-KkHk)Pk|k-1 (18)
其中
Figure BDA0002356347460000138
为k状态下更新后的估计值;Pk|k为更新后的预测误差协方差矩阵;I为单位矩阵;
Figure BDA0002356347460000139
描述的是观测值和估计值之间偏差,即观测余量,具体的表达式为:
Figure BDA00023563474600001310
Kk为卡尔曼增益,其实质是一个加权值,当上一状态的估计值偏小的时候,当前状态的估计值就会加上卡尔曼增益与公式(19)中的偏差值的乘积;当估计值偏大的时候,当前状态的估计值就会减去卡尔曼增益与偏差值的乘积,保证每一次新的估计都比上一次的估计更准确,循环递归多次以后估计值就会越来越准确,Kk的表达式为:
Figure BDA0002356347460000141
其中Sk为观测余量的协方差,具体表达式为:
Figure BDA0002356347460000142
将公式(19)、(20)、(21)代入更新公式(17)和(18),则有:
Figure BDA0002356347460000143
Figure BDA0002356347460000144
步骤四,输出手势高斯热图和手势关节点坐标;
本发明采用热图的形式对手势关节点的真实值进行标注,同时也采用热图作为模型的输出,其中生成的手势关节点热图是以图像中关节点所在像素区域的某一个点为中心,以具体的像素点个数为半径,画出一个圆域,将关节点所在的区域划分出来,作为关节点出现的概率区域,在该区域的中心颜色最深,表示关节点在这个位置的概率最大,而后区域的颜色由中心向外逐渐变浅。这种颜色会在中心达到尖峰,四周逐渐变浅的图像形式与高斯函数图像有着相似之处,因此可利用高斯函数来生成各个关节点区域的热图。本发明中热图的坐标是(x,y)的形式,即有二维高斯函数的公式:
Figure BDA0002356347460000145
式中,x0,y0表示手势关节点的坐标真实值;x,y表示手势关节点热图区域像素点的坐标值;
Figure BDA0002356347460000146
表示二维高斯函数的幅度值;σ2表示x,y的标准差。
对于手势关节热图的概率区域大小,本发明将其定义为半径为1的圆域,其中对于二维高斯函数的幅度A给定值为1,σ给定值为1.5,则生成一个二维高斯函数的分布图像。
在原图片的基础上生成二维高斯函数分布形态的热点图,该热图基于手势关节点区域的中心坐标,生成一个呈高斯分布的概率区域,在这个区域的中心处的概率值最大,也就是二维高斯函数的尖峰中心点,越向四周扩散,概率值越小。以概率值最大的尖峰点为中心的高斯概率区域中,所有点的总和是超过1的,但在这个概率区域中,所有像素点位置出现手势关节点的概率总和应该为1,为此,对该区域内所有的像素点的函数值进行加和,将每一个像素点对应的函数值除以像素点函数值的总和,以此保证所有点的概率和为1,处理方式如下所示:
Figure BDA0002356347460000147
式中:p(x,y)表示处理后的像素点存在关节点的概率大小;f(x,y)表示概率区域内的像素点对应的二维高斯函数值;∑f(x,y)表示所有像素点的函数值的总和。
在本发明中,将这些基于二维高斯函数生成的热图称为高斯热图,在模型的每一个阶段,都会输出所有关节点的高斯热图,即每一个关节点对应一张高斯热图。
步骤五,构造手势序列识别网络;
网络模型构造的具体流程如下:
(1)定义激活函数;
本发明涉及的循环神经网络的层数并不多,在网络层次不深的情况下梯度消失的问题相对较小,因此在循环神经网络中采用Tanh作为激活函数。
Tanh激活函数是双曲正切函数,Tanh及其导数的表达式如下所示:
Figure BDA0002356347460000151
Figure BDA0002356347460000152
(2)选择损失函数;
本发明在网络的最后一层需要输出基本手势元素的类别,采用多分类的Softmax损失函数计算出输入的视频中的手势分别属于每个类别的概率,最后模型输出对该视频中手势的预测结果为每个类别中概率最大的那个类别。
假设x是循环神经网络输入到Softmax层的一组特征向量,W和b是Softmax的参数,则Softmax的第一步是对每个类别进行打分,计算各类别的分值Logit:
Logit=WTx+b (28)
接下来,Softmax将每个类别的分数转化为各自的概率值,假设五个手势类别的分值分别为(c,d,e,f,g),则Softmax将其转为概率值的公式可以表达为:
Figure BDA0002356347460000153
其中,i表示第i个手势类别,ei表示第i个手势的分值。则五个手势类别的概率可以表示为:
Figure BDA0002356347460000154
Figure BDA0002356347460000155
Figure BDA0002356347460000156
Figure BDA0002356347460000161
Figure BDA0002356347460000162
至此模型输出了五个手势类别的概率分布,这个概率分布是一个预测值,将其称为q(x),而该手势还带有一个实际标签,也就是一个真正的概率分布,称其为p(x)。由于Softmax函数又称为交叉熵损失函数,而交叉熵描述的是两个概率分布之间的距离问题,其可以定义为:
H(p,q)=-∑p(x)logq(x) (35)
假设p(x)=(A,B,C),q(x)=(u,v,w),且p(x)是真实值,q(x)是预测值,则通过q(x)来表示p(x)的交叉熵为:
H((A,B,C),(u,v,w))=-(Alogu+Blogv+Clogw) (36)
当q(x)和p(x)的位置互换时,两者的交叉熵是不同。交叉熵是通过概率来衡量一个事件的出现可能性的,一个事件出现的可能性越大,这个事件包含的信息量越小,即熵值越小,因此当预测的概率分布q(x)与真实值p(x)之间越靠近,两者的交叉熵就越小,意味着模型的输出与真实值就越接近,模型的预测越准确。
(3)建立模型;
在模型中X=(x1,x2,x3,...,xT)是按照时间序列展开的视频帧,这些时序帧作为循环神经网络的输入,每一帧中包含的信息是每个手势的关节点坐标值,时间序列的长度设为T。第一个隐藏层的隐状态为H=(h1 (1),h2 (1),...,hT (1)),则对第一个隐藏层的隐状态,有:
Figure BDA0002356347460000163
其中,第一个隐藏层隐的第一个序列的隐状态为:
Figure BDA0002356347460000164
对于第二个隐藏层,其输入由前一个时刻的隐状态和上一个隐藏中同样处于当前时刻的隐状态的输入共同决定,则第二个隐藏层的隐状态可以表示为:
Figure BDA0002356347460000165
其中,第二个隐藏层的首个序列的隐状态为:
Figure BDA0002356347460000166
对于最后的输出为五种手势的预测分类结果,Y=(Y1,Y2,Y3,Y4,Y5),有:
Yi=Softmax(VhT+c) (41)
其中i=(1,2,3,4,5),U、W、V均为参数矩阵,用于对输入和隐藏层的隐状态进行矩阵变换,b、c均为偏置,所有的参数是在网络的各个阶段是共享的。
最后,将步骤四得到的关节点坐标输入标准手势序列识别网络,就可以得到手势动作序列。
(4)基于梯度下降法的模型更新;
神经网络利用梯度下降算法,将输出层的损失函数反向传播回网络,求得参数对损失的贡献率,以此实现对网络中的参数进行逐层的更新。梯度即微分中的导数,实际的模型中损失函数的参数是多元的,因此需要对多元函数的参数求偏导数,梯度的定义为:
Figure BDA0002356347460000171
对于最小化优化问题,梯度下降法的原理是损失函数J(θ12,…,θn)沿着其中一个参数梯度下降得最快的方向前进一个步长,损失函数的值下降得最快,这里的步长又称为学习率,则参数的更新过程可以表示为以下过程:
1)选择一个梯度下降的方向作为最小化损失函数的方向。被选择的最快的梯度下降方向为某一个参数的梯度最大方向:
Figure BDA0002356347460000172
2)选择梯度下降的步长,即学习速率η。
3)对权值进行调整和更新:
θi←θi-η·ΔθJ(θi) (44)
梯度按照以上过程逐层向前传播,形成一个链式的求导过程,每一次各层参数都按照以上三个步骤进行更新,直至模型训练完毕,找到最优解。
(5)训练模型;
本发明输入的是视频序列,视频序列是按照时间顺序排列的帧序列,因此每一个状态下的输入是每一时刻输入的视频帧。对于时间长度为T的帧序列,在每一个时刻都有损失函数L(t),则所有时刻的损失之和构成总的损失函数为:
Figure BDA0002356347460000173
紧接着对输入视频进行预测分类,使其与给定的真实标签尽可能一致,因此是一个将预测值与真实值尽量靠近的过程,即最小化损失函数。为了达到最小化损失函数的目的,就要对网络中的参数进行更新。每一个时刻序列的输出为o(t),损失L(t)是由o(t)经过Softmax函数转换而来,因此在损失函数的梯度反向传播的过程中,首先需要对输出o(t)中包含的参数V,c求梯度,分别为:
Figure BDA0002356347460000174
Figure BDA0002356347460000181
对于单个序列上的损失函数只需对这个时刻上的参数V,c求梯度,而参数W,U,b的梯度都与隐藏层的梯度有关,从循环神经网络的结构可以看出,t时刻隐藏层的梯度不仅与当前这个时刻的序列的损失函数有关,还与t+1时刻的损失函数有关。则首先定义t时刻隐藏层的梯度,记为δ(t)
Figure BDA0002356347460000182
则由于t时刻隐藏层的梯度有两个时刻损失函数共同决定的原因,其真实的梯度为t时刻损失函数对隐藏层的偏导数与t+1时刻损失函数对隐藏层的偏导数之和,即:
Figure BDA0002356347460000183
对于最后一个帧序列T,由于该序列已经处于末尾阶段。其隐藏层的梯度不再受到下一个时刻的损失函数的梯度影响,则末尾序列的梯度可以表示为:
Figure BDA0002356347460000184
接下来就可以对参数W、U、b进行梯度的计算了,对于W,有梯度:
Figure BDA0002356347460000185
对于U,其梯度为:
Figure BDA0002356347460000186
对于b,有梯度:
Figure BDA0002356347460000187
经过以上反向传播过程的反复进行,参数值不断得到更新,达到损失函数最优化的目的,最终使模型收敛,达到一个较优的手势分类准确率。
(6)实验结果的分析
本发明的实验开发环境如下表6和表7所示,表6列出了实验电脑的硬件环境,表7列出了实验的开发环境,包括开发语言、开发框架等具体内容,表8列出了模型的参数。
表6实验电脑配置
Figure BDA0002356347460000191
表7实验开发环境
Figure BDA0002356347460000192
表8训练参数
Figure BDA0002356347460000193
首先对单视点下采集到的视频样本进行训练,即将预处理后的单视点下的视频数据按照上文提到的训练集、验证集、测试集8:1:1的比例进行划分,在本发明中,5种手势样本的标签设置为:空手移动、载荷移动、旋转、抓取、释放,然后按照表8设置的参数进行模型的训练,初始化学习率为0.001,学习衰减率为0.94,运用梯度下降法进行反向传播训练,随着训练迭代次数的增加,模型训练后的参数越来越接近真实情况,此时学习率会衰减,衰减后最小的学习率为0.0001。训练时所读取的视频帧的大小为408×720,视频长度在1~2秒之间,因此每次读取的视频帧的长度不定,每完成一步迭代之后会对损失函数的值进行一次输出,一共迭代30000步后可得到训练30000步时单视点下5种基本手势元素的损失函数的收敛情况。同理可得,训练30000步时双视点下5种基本手势元素的损失函数的收敛情况。经对比分析可知,利用双视点采集的视频样本对模型进行训练确实对模型的收敛有所帮助,虽然两者的损失函数在5000步之后都没有明显的下降,但是双视点下的损失函数收敛在10到30之间,对比单视点下收敛在20到40之间的结果有所提升,因此,验证了本发明在双视点下采集视频样本对解决手势的自遮挡、手势的歧义以及手势相对视点的法向运动这三个难点的有效性。
利用验证集和测试集对单、双视点下训练好的模型做进一步的评估,评估结果分别如表9和表10所示。对比两张表可以看出,双视点下五种基本手势元素的验证集准确率比单视点都有所提高,其中空手移动(EM)提高了6.24%,载荷移动(WM)提高了4.86%,旋转(TN)提高了6.92%,抓取(EM)提高了5.35%,释放或放置(RL)提高了4.25%。
表9单视点下五种手势在验证集和测试集上的准确率
Figure BDA0002356347460000201
表10双视点下五种手势在验证集和测试集上的准确率
Figure BDA0002356347460000202
本发明的优点是:
本发明基于计算机视觉技术,提出了一种融合循环神经网络的手势识别算法,对生产过程中员工的手势动作进行识别。其突出特点是:针对实际生产中连续的复杂动作难以通过计算机视觉技术识别的问题,对CPM模型进行改进,建立手势关节点坐标识别网络模型来获取双视点下采集的、经过归一化和卡尔曼滤波处理的手势视频样本的手势关节点坐标,并将其输入校正完毕的标准手势序列识别网络,得到手势动作序列,提高对连续动作的识别准确率。同时,对比了单、双视点下的实验结果,验证了基于双视点的手势识别模型具有更好的识别效果,在验证集和测试集上均达到了大于78%的识别准确率。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (1)

1.一种提高动态手势动作识别准确率的方法,包括如下步骤:
步骤一,构建手势关节点坐标识别网络;
利用改进的CPM模型对手势视频进行处理,输出双视点下的手势关节点坐标,其实现流程如下:
(1.1)选择手势关节点估计的基础网络模型;
选择VGG-13作为手势关节点估计的基础网络模型;
(1.2)设置感受野;
感受野的大小与卷积或池化的滑动窗口有关,将两者看成是一个映射,将n层特征图上的k×k范围的像素值压缩到n+1层特征图上的一个像素内,表示为fks,其中s表示滑动窗口的步长,k表示卷积核或池化核的大小,其映射关系为:
Figure FDA0003331365480000011
其中:xn,xn+1为第n层和第n+1层的特征图;
基本网络结构基于VGG-13,对于VGG-13的第一个部分,包含了两个卷积和一个池化,这三个结构形成了一个级联,因此映射过程在网络中多次重复,形成一个多级映射;各环节的感受野与卷积核或池化核的参数如表1所示:
表1 级联下各层特征图对应的感受野和卷积核参数
Figure FDA0003331365480000012
记RFn为第n个特征图的感受野,Kn为第n个卷积层的卷积核或池化核的大小,Sn为Kn的步长,由表1中的感受野规律,可以归纳推导出感受野与步长以及卷积核大小的关系;
在第一层卷积后特征图的感受野大小为卷积核的大小:
RF1=K1 (2)
当步长为1时,第n≥2个特征图的感受野大小为:
RFn=RFn-1+(Kn-1) (3)
对于步长不为1的情况,有n≥2:
RFn=RFn-1+(Kn-1)×Sn (4)
(1.3)提取特征;
利用基础网络模型VGG-13对图像进行特征提取;
首先定义第p个关节在图像像素中的位置坐标为Yp,则有,
Figure FDA0003331365480000024
其中集合Z代表图像中所有像素的位置;
设有P个需要预测的关节点,目标是得到所有P个关节点坐标Y:
Y=(Y1,Y2,…,Yp) (6)
由以上关系可知,Y是Z的子集;
接着定义一个多阶段的预测分类器gt(x),用于预测每个阶段中每个关节点所在位置;在每个阶段t∈{1,2,…T},预测分类器都会将图像中的一点z赋给Yp,并在每个阶段都会给每个手势关节点生成一个热图,具体的表达式为:
Figure FDA0003331365480000021
当分类器在第一阶段预测手势关节点位置时,会产生一个热图和相对应的手势关节点置信得分:
Figure FDA0003331365480000022
其中b1 p(Yp=z)是分类器在第一阶段预测第p个手势关节点在z位置处时的手势关节点置信得分;
对于接下来的每一个阶段,第p个手势关节点在z位置处的置信得分可以表示为:
Figure FDA0003331365480000023
其中,u,v代表图像中某一处位置z的坐标值;
在后续阶段t(t≥2),基于前一阶段的热图和手势关节点的置信得分,继续为每个手势关节点赋更加精确的位置坐标z,这个更加精确的位置z是基于第一阶段分类器所提取的图像特征和前一阶段的分类器所提取到的图片上下文信息共同决定的,同样的,后续每个阶段的预测分类器仍然产生属于每个阶段的手势关节点热图对应的手势关节点置信得分:
Figure FDA0003331365480000025
其中,ψt(z,bt-1)表示一种置信得分与图像上下文信息之间的映射,X′z表示上一阶段在位置z周边所提取到的图像特征;
在以上过程的不断重复下,每个阶段都基于前一阶段的图像上下文信息和第一阶段提取到的图像特征对第p个手势关节点的位置做出修正,这种逐渐微调的过程使得模型最终估计出较为准确的手势关节点坐标位置;
步骤二,采集双视点视频数据;
考虑到目前的单目摄像头是不含深度信息的,并且在单视点下存在着手势的遮挡和自遮挡引起的手势关节点信息缺失以及手势沿着摄像头法向运动时引起的关节点位置坐标难以变化的问题,以双视点的形式对手势视频样本进行采集;为了增强样本数据的多样性,设计了两种视点角度,第一种的两个摄像头角度呈180°,第二种的摄像头角度呈90°;
(2.1)定义基本手势元素;
重新定义了对视觉识别的基本动作元素,并将确定的具体可识别的基本动作元素,称为基本手势元素,并对其符号进行了定义;
(2.2)选取手势关节点;
通过对手势关节点进行识别,将识别的关节点按照顺序进行连线、标号,形成一个手姿势的骨架,通过对手骨架姿势的识别实现对手的姿势的识别,且将此过程定义为手势估计;手指弯曲时,手指分为三小段,使手指呈现不同的弯曲程度,这三段之间的连接点恰好是手指的关节点,因此,选取每个手指的指尖部位的点作为手指的起始关节点,然后连接各自手指上三小段之间上的关节点,接着每根手指上的末尾关节点都与手腕处的一个关节点相连,选定了模型的关节点之后,将模型的关节点按照一定的顺序标号、连接,以形成手势骨架;
(2.3)准备训练样本数据集;
基于卷积神经网络对图像或视频内容识别的基础是有标准的数据集;考虑到手势在运动变化的过程中存在关节的自遮挡问题,因此采用双视点对手势视频进行采集,以建立基本手势元素数据库;
同时,对于已有的一个大数据集,将其划分为训练集、验证集、测试集;三个子集两两之间无交集,三者的并集为全集,由于来自同一个数据集,因此三个子集是独立同分布的;验证集和测试集均用于测试模型的准确率,且两者均与模型训练时的梯度下降过程无关,但由于验证集的参与,其验证结果调节了模型迭代数和学习率,即模型有了一个参数调整的过程,因此认为验证集参与了模型的训练;
步骤三,对基本手势元素视频样本进行卡尔曼滤波处理;
在图像滤波开始之前,首先任意选择图像中的一个像素点,按照水平或者垂直的方向依次对接下来的点进行卡尔曼滤波,通过预测和更新像素值,实现图像的去噪;
图像在第k个状态的估计值xk为:
xk=Fkxk-1+Bkuk+wk (11)
式中:Fk为第k个状态时的增益矩阵;Bk为输入控制矩阵;uk为控制向量;wk为白噪声,服从高斯分布,wk~N(0,Qk);
对第k个状态的观测值zk为:
zk=Hkxk+vk (12)
式中:Hk为观测矩阵;vk为观测噪声,服从高斯分布,vk~N(0,Rk);
上述初始状态x0与白噪声wk,观测噪声vk相互独立;
有了上一个状态的估计值和当前状态的观测值,就需要对当前状态的估计值进行预测,计算当前状态的估计值包括预测和更新两个步骤;对于预测过程,首先获取上一个状态k-1的估计值xk-1,利用上述公式(11)预测当前状态k的估计值xk;对于更新过程,则将预测好的k状态下的估计值代入公式(12),得到当前k状态的估计值zk,则有公式(13)可以描述一个离散时间线性随机动态系统:
Figure FDA0003331365480000041
在预测开始时,有以下初始条件:
Figure FDA0003331365480000042
其中P0为初始误差的协方差矩阵;
Figure FDA0003331365480000043
为观测值;
Figure FDA0003331365480000044
为首次的估计值;
下一个状态的预测值和预测误差的协方差矩阵分别为:
Figure FDA0003331365480000045
Figure FDA0003331365480000046
在获得新的预测值之后,对新的预测值和预测误差的协方差矩阵进行滤波更新:
Figure FDA0003331365480000047
Pk|k=(I-KkHk)Pk|k-1 (18)
其中
Figure FDA0003331365480000048
为k状态下更新后的估计值;Pk|k为更新后的预测误差协方差矩阵;I为单位矩阵;
Figure FDA0003331365480000049
描述的是观测值和估计值之间偏差,即观测余量,具体的表达式为:
Figure FDA00033313654800000410
Kk为卡尔曼增益,其实质是一个加权值,当上一状态的估计值偏小的时候,当前状态的估计值就会加上卡尔曼增益与公式(19)中的偏差值的乘积;当估计值偏大的时候,当前状态的估计值就会减去卡尔曼增益与偏差值的乘积,保证每一次新的估计都比上一次的估计更准确,循环递归多次以后估计值就会越来越准确,Kk的表达式为:
Figure FDA0003331365480000051
其中Sk为观测余量的协方差,具体表达式为:
Figure FDA0003331365480000052
将公式(19)、(20)、(21)代入更新公式(17)和(18),则有:
Figure FDA0003331365480000053
Figure FDA0003331365480000054
步骤四,输出手势高斯热图和手势关节点坐标;
采用热图的形式对手势关节点的真实值进行标注,同时也采用热图作为模型的输出,其中生成的手势关节点热图是以图像中关节点所在像素区域的某一个点为中心,以具体的像素点个数为半径,画出一个圆域,将关节点所在的区域划分出来,作为关节点出现的概率区域,在该区域的中心颜色最深,表示关节点在这个位置的概率最大,而后区域的颜色由中心向外逐渐变浅;这种颜色会在中心达到尖峰,四周逐渐变浅的图像形式与高斯函数图像有着相似之处,因此可利用高斯函数来生成各个关节点区域的热图;中热图的坐标是(x,y)的形式,即有二维高斯函数的公式:
Figure FDA0003331365480000055
式中,x0,y0表示手势关节点的坐标真实值;x,y表示手势关节点热图区域像素点的坐标值;
Figure FDA0003331365480000056
表示二维高斯函数的幅度值;σ2表示x,y的标准差;
对于手势关节热图的概率区域大小,将其定义为半径为1的圆域,其中对于二维高斯函数的幅度A给定值为1,σ给定值为1.5,则生成一个二维高斯函数的分布图像;
在原图片的基础上生成二维高斯函数分布形态的热点图,该热图基于手势关节点区域的中心坐标,生成一个呈高斯分布的概率区域,在这个区域的中心处的概率值最大,也就是二维高斯函数的尖峰中心点,越向四周扩散,概率值越小;以概率值最大的尖峰点为中心的高斯概率区域中,所有点的总和是超过1的,但在这个概率区域中,所有像素点位置出现手势关节点的概率总和应该为1,为此,对该区域内所有的像素点的函数值进行加和,将每一个像素点对应的函数值除以像素点函数值的总和,以此保证所有点的概率和为1,处理方式如下所示:
Figure FDA0003331365480000061
式中:p(x,y)表示处理后的像素点存在关节点的概率大小;f(x,y)表示概率区域内的像素点对应的二维高斯函数值;∑f(x,y)表示所有像素点的函数值的总和;
在中,将这些基于二维高斯函数生成的热图称为高斯热图,在模型的每一个阶段,都会输出所有关节点的高斯热图,即每一个关节点对应一张高斯热图;
步骤五,构造手势序列识别网络;
网络模型构造的具体流程如下:
(5.1)定义激活函数;
涉及的循环神经网络的层数并不多,在网络层次不深的情况下梯度消失的问题相对较小,因此在循环神经网络中采用Tanh作为激活函数;
Tanh激活函数是双曲正切函数,Tanh及其导数的表达式如下所示:
Figure FDA0003331365480000062
Figure FDA0003331365480000063
(5.2)选择损失函数;
在网络的最后一层需要输出基本手势元素的类别,采用多分类的Softmax损失函数计算出输入的视频中的手势分别属于每个类别的概率,最后模型输出对该视频中手势的预测结果为每个类别中概率最大的那个类别;
假设x是循环神经网络输入到Softmax层的一组特征向量,W和b是Softmax的参数,则Softmax的第一步是对每个类别进行打分,计算各类别的分值Logit:
Logit=WTx+b (28)
接着,用Softmax将每个类别的分值转化为各自的概率值:
Figure FDA0003331365480000064
其中,i表示第i个手势类别,ei表示第i个手势的分值;
至此模型输出了每个手势类别的概率分布,这个概率分布是一个预测值,将其称为q(x),而每个手势还带有一个实际标签,也就是一个真正的概率分布,称其为p(x);由于Softmax函数又称为交叉熵损失函数,而交叉熵描述的是两个概率分布之间的距离问题,其可以定义为:
Figure FDA0003331365480000071
假设p(x)=(A,B,C),q(x)=(u,v,w),且p(x)是真实值,q(x)是预测值,则通过q(x)来表示p(x)的交叉熵为:
H((A,B,C),(u,v,w))=-(Alogu+Blogv+Clogw) (36)
当q(x)和p(x)的位置互换时,两者的交叉熵是不同;交叉熵是通过概率来衡量一个事件的出现可能性的,一个事件出现的可能性越大,这个事件包含的信息量越小,即熵值越小,因此当预测的概率分布q(x)与真实值p(x)之间越靠近,两者的交叉熵就越小,意味着模型的输出与真实值就越接近,模型的预测越准确;
(5.3)建立模型;
在模型中X=(x1,x2,x3,...,xT)按照时间序列展开的视频帧,这些时序帧作为循环神经网络的输入,每一帧中包含的信息是每个手势的关节点坐标值,时间序列的长度设为T;第一个隐藏层的隐状态为H=(h1 (1),h2 (1),...,hT (1)),则对第一个隐藏层的隐状态,有:
Figure FDA0003331365480000072
其中,第一个隐藏层隐的第一个序列的隐状态为:
Figure FDA0003331365480000073
对于第二个隐藏层,其输入由前一个时刻的隐状态和上一个隐藏中同样处于当前时刻的隐状态的输入共同决定,则第二个隐藏层的隐状态可以表示为:
Figure FDA0003331365480000074
其中,第二个隐藏层的首个序列的隐状态为:
Figure FDA0003331365480000075
对于最后的输出为每种手势的预测分类结果,Y=(Y1,Y2,Y3,Y4,…,Yn),有:
Yi=Softmax(VhT+c) (41)
其中i=(1,2,3,4,…,n),U、W、V均为参数矩阵,用于对输入和隐藏层的隐状态进行矩阵变换,b、c均为偏置,所有的参数是在网络的各个阶段是共享的;
最后,将步骤四得到的关节点坐标输入标准手势序列识别网络,就可以得到手势动作序列。
CN202010008782.9A 2020-01-06 2020-01-06 一种多视点下提高动态手势动作识别准确率的方法 Active CN111191627B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010008782.9A CN111191627B (zh) 2020-01-06 2020-01-06 一种多视点下提高动态手势动作识别准确率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010008782.9A CN111191627B (zh) 2020-01-06 2020-01-06 一种多视点下提高动态手势动作识别准确率的方法

Publications (2)

Publication Number Publication Date
CN111191627A CN111191627A (zh) 2020-05-22
CN111191627B true CN111191627B (zh) 2022-02-11

Family

ID=70708740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010008782.9A Active CN111191627B (zh) 2020-01-06 2020-01-06 一种多视点下提高动态手势动作识别准确率的方法

Country Status (1)

Country Link
CN (1) CN111191627B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882408B (zh) * 2020-09-27 2021-07-09 北京达佳互联信息技术有限公司 虚拟试用方法、装置、电子设备及存储介质
CN113033428A (zh) * 2021-03-30 2021-06-25 电子科技大学 一种基于实例分割的行人属性识别方法
CN113255470B (zh) * 2021-05-06 2024-04-02 李岱勋 基于手部姿态估计的多模态钢琴陪练系统及方法
US20240161494A1 (en) * 2021-06-22 2024-05-16 Intel Corporation Methods and devices for gesture recognition
CN113378772B (zh) * 2021-06-28 2024-03-29 西安理工大学 一种基于多特征融合的手指灵活检测方法
US11983327B2 (en) * 2021-10-06 2024-05-14 Fotonation Limited Method for identifying a gesture
CN115953839B (zh) * 2022-12-26 2024-04-12 广州紫为云科技有限公司 一种基于循环架构与关键点回归的实时2d手势估计方法
CN116974369B (zh) * 2023-06-21 2024-05-17 广东工业大学 术中医学影像操作方法、系统、设备及存储介质
CN116959120B (zh) * 2023-09-15 2023-12-01 中南民族大学 一种基于手部关节的人手姿态估计方法及系统
CN117894072B (zh) * 2024-01-17 2024-09-24 北京邮电大学 一种基于扩散模型的手部检测和三维姿态估计方法及系统
CN117687517B (zh) * 2024-02-02 2024-09-20 北京思路智园科技有限公司 一种用于化工教培的增强现实教学改进方法及系统
CN118298514B (zh) * 2024-06-06 2024-08-13 华东交通大学 一种基于深度学习的工人危险动作识别方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019006473A1 (en) * 2017-06-30 2019-01-03 The Johns Hopkins University ACTION RECOGNITION SYSTEMS AND METHOD USING MICRO-DOPPLER SIGNATURES AND RECURRING NEURAL NETWORKS
CN110210426A (zh) * 2019-06-05 2019-09-06 中国人民解放军国防科技大学 基于注意力机制从单幅彩色图像进行手部姿态估计的方法
CN110287844A (zh) * 2019-06-19 2019-09-27 北京工业大学 基于卷积姿势机和长短时记忆网络的交警手势识别方法
CN110530365A (zh) * 2019-08-05 2019-12-03 浙江工业大学 一种基于自适应卡尔曼滤波的人体姿态估计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019006473A1 (en) * 2017-06-30 2019-01-03 The Johns Hopkins University ACTION RECOGNITION SYSTEMS AND METHOD USING MICRO-DOPPLER SIGNATURES AND RECURRING NEURAL NETWORKS
CN110210426A (zh) * 2019-06-05 2019-09-06 中国人民解放军国防科技大学 基于注意力机制从单幅彩色图像进行手部姿态估计的方法
CN110287844A (zh) * 2019-06-19 2019-09-27 北京工业大学 基于卷积姿势机和长短时记忆网络的交警手势识别方法
CN110530365A (zh) * 2019-08-05 2019-12-03 浙江工业大学 一种基于自适应卡尔曼滤波的人体姿态估计方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Applying hand gesture recognition and joint tracking to a TV controller using CNN and Convolutional Pose Machine;Yueh Wu等;《2018 24th International Conference on Pattern Recognition (ICPR)》;20181129;第3086-3091页 *
Real-time Hand Gesture Recognition Based on Deep Learning in Complex Environments;Wu,WX等;《2019 Chinese Control And Decision Conference (CCDC)》;20190912;第5950-5955页 *
一种类人机器人手势识别算法及其实现;卢兴沄;《中国优秀硕士学位论文全文数据库信息科技辑》;20180715;第I138-1620页 *

Also Published As

Publication number Publication date
CN111191627A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111191627B (zh) 一种多视点下提高动态手势动作识别准确率的方法
CN111209861B (zh) 一种基于深度学习的动态手势动作识别方法
CN107679491B (zh) 一种融合多模态数据的3d卷积神经网络手语识别方法
CN107169435B (zh) 一种基于雷达仿真图像的卷积神经网络人体动作分类方法
Chaudhary et al. Intelligent approaches to interact with machines using hand gesture recognition in natural way: a survey
CN105975931B (zh) 一种基于多尺度池化的卷积神经网络人脸识别方法
Amor et al. Action recognition using rate-invariant analysis of skeletal shape trajectories
CN111310659B (zh) 基于增进式图卷积神经网络的人体动作识别方法
Barros et al. A dynamic gesture recognition and prediction system using the convexity approach
KR100421740B1 (ko) 객체 활동 모델링 방법
CN108182447B (zh) 一种基于深度学习的自适应粒子滤波目标跟踪方法
CN111695457B (zh) 一种基于弱监督机制的人体姿态估计方法
CN110298865B (zh) 基于阈值分离聚类器的天基星空背景弱小点目标跟踪方法
CN109448023B (zh) 一种卫星视频小目标实时跟踪方法
CN110458046B (zh) 一种基于关节点提取的人体运动轨迹分析方法
CN109508686B (zh) 一种基于层次化特征子空间学习的人体行为识别方法
Luo et al. Multi-person pose estimation via multi-layer fractal network and joints kinship pattern
CN109940614A (zh) 一种融合记忆机制的机械臂多场景快速运动规划方法
CN111027586A (zh) 一种基于新型响应图融合的目标跟踪方法
Kowdiki et al. Adaptive hough transform with optimized deep learning followed by dynamic time warping for hand gesture recognition
Zhang et al. 3D human pose estimation from range images with depth difference and geodesic distance
Kumar et al. Effectiveness of Vision Transformers in Human Activity Recognition from Videos
CN114973305A (zh) 一种针对拥挤人群的精确人体解析方法
Dong et al. An improved deep neural network method for an athlete's human motion posture recognition
Mozafari et al. A novel fuzzy hmm approach for human action recognition in video

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