一种基于LSTM和NLP的手语识别方法及系统

未命名 07-22 阅读:123 评论:0

一种基于lstm和nlp的手语识别方法及系统
技术领域
1.本发明属于手语识别技术领域,具体的说涉及一种基于lstm和nlp的手语识别方法及系统。


背景技术:

2.手语是听障人士是使用的主要沟通工具,是听障人士群体在彼此交流中自发创造出来的视觉空间语言,然而在现今社会中客观存在着与他人沟通交流的壁垒。手语识别工具是帮助听障人士融入环境、增强社会归属感与自我价值感的有力手段。
3.当前已有的手语识别技术主要分为两大类,基于数据手套的手语识别和基于视觉的手语识别。基于数据手套的手语识别系统能获得精准的手语识别效果,但是使用时需要穿戴笨重的传感设备,在实际生产生活中使用非常不便。在信息技术高速发展的今天,数字摄像头采集数据的质量得到了保证,因此基于视觉的手语识别系统能够实现在保证实用性的基础上获取同样优质的结果。
4.依据系统的识别对象,手语识别任务可以被分类为孤立词手语识别和连续手语识别。在复杂的自然语言系统中,词是语义表达的基本单元。孤立词手语识别即是识别出一个个相互独立的词,这是一种离散型的识别方式。而连续手语识别则是识别一个完整的句子,它包含着文本序列之间的上下文关系。孤立词识别注重模型识别手势的准确率,而连续识别更加注重视频帧序列的特征提取方式及文本的上下文关系,将两者相结合可以得到更好的识别效果。
5.对于连续语句的输出,目前大多数方法是提取最大概率单词再组成句子,面对长句难句时可能会在语意上存在较大的偏差。词嵌入是一种基于上下文的、以词向量的形式量化比较词与词之间的关系的模型,能够很好地计算出孤立词的序列文本与语言模型在语料库的语义距离,以此来搜寻最符合语境的连续手语句子。目前存在的连续手语识别系统尚没有研究出将连续手语识别与语义距离度量相结合的技术。


技术实现要素:

6.为了克服上述技术缺陷,本发明提供了一种基于lstm和nlp的手语识别方法及系统,该手语识别方法用于从手语视频或实时手语画面中识别手语词汇序列,并通过自然语言生成技术输出符合语言规范的手语语句,主要包含模型训练和手语识别两个阶段。在模型训练阶段,利用手语词元数据集与姿态检测模型获取时序关键点序列样本,训练lstm-sl模型、利用手语常用语料库分词获得手语表征四元组,训练w2v-sl模型;手语识别阶段包括将待识别的手语视频或实时手语画面通过lstm-sl转换为手语词元预测序列,并利用滑动窗口机制和w2v-sl模型输出符合语言规范的手语语句。
7.为了达到上述目的,本发明是通过以下技术方案实现的:
8.本发明是基于lstm和nlp的手语识别方法和系统,该手语识别方法包括如下步骤:
9.模型训练阶段:
10.(1)给定手语词元数据集d={d1,d2,

,dn},其中di={vedioi,wordi},vedioi表示手语词元di对应的手语动作视频,wordi表示与手语词元对应的自然语言词元。将d中的每个手语词元di转换为时序关键点序列数据ti,从而生成与原始手语词元数据集d对应的时序关键点序列样本数据集t={t1,t2,

,tn}。
11.具体步骤如下:
12.(1a)将di中的手语视频vedioi提取固定帧数长度k的图片序列,生成与手语词元di相对应的帧图片序列表示,即pici={pic
i,1
,pic
i,2
,

,pic
i,k
},其中pic
i,j
为di的第j帧图片。
13.(1b)利用手语姿态关键点检测模型即mediapipe提供的姿态检测工具中提供的模型,从pici中的每一张图片提取表示手语词元对应的手语姿态特征的关键点,构建与pici对应的时序关键点序列数据pi={kp
i,1
,kp
i,2
,

,kp
i,k
},其中kp
i,j
表示第j帧图片的手语姿态关键点坐标张量。
14.(1c)为手语词元di中的wordi构造相对于d的独热码张量gi,根据公式(2-1)计算:
[0015][0016]
(1d)为手语词元di构造对应的时序关键点序列数据ti,表示为ti={pi,gi}。
[0017]
(2)以时序关键点序列样本数据集t为输入,训练lstm神经网络模型,生成基于lstm的手语词元识别模型lstm-sl。
[0018]
(3)给定由若干手语文本集构建的手语常用语料库k={k1,k2,

,kn},其中ki为包含若干手语词元的文本,根据手语常用语料库k计算手语词元表征四元组序列样本数据集q。具体步骤如下:
[0019]
(3a)利用分词技术提取k中每个文本ki中的词元构成与k对应的手语相关自然语言词元集nw={wordi|wordi∈k};计算nw中各手语词元wordi在k中索引位置idxi和出现频率freqi,进而构造词元-词频三元组序列p,其中p[i]=(idxi,wordi,freqi)。
[0020]
(3b)以词元-词频三元组序列p为输入,对于p中的每个元素p[i]=(idxi,wordi,freqi),根据其词频大小freqi计算对应的手语词元wordi的权重按照公式(2-2)计算:
[0021][0022]
其中α为平滑常数,k为权重系数,sw为手语相关自然语言词元集。公式(1-2)能改变手语相关自然语言词元集sw中词元的权重值,增加手语相关词元与手语词元识别模型lstm-sl的耦合度。最终生成与p对应的手语词元表征四元组序列样本数据集q,其中q[i]=(idxi,wordi,freqi,weighti)。
[0023]
(4)以手语词元表征四元组序列样本数据集q为输入,训练word2vec模型,生成基于word2vec的手语语句自然语言生成模型w2v-sl。
[0024]
手语识别阶段:
[0025]
(1)对于待识别的手语视频或实时手语画面,把连续的手语动作转换为对应的手语词元时序关键点序列tw={tw1,tw2,

,twn},输入到lstm-sl模型中,生成手语词元预测序列s=(s1,s2,

,sn),其中si表示模型预测的手语词元。具体步骤如下:
[0026]
(1a)将待识别的手语视频或实时手语画面中连续的手语动作,以固定帧数长度k为间隔,通过手语姿态关键点检测模型(如模型训练阶段的步骤(2)所述)转换为对应的手语词元时序关键点序列tw={tw1,tw2,

,twn},将tw代入lstm-sl模型,得到手语词元预测序列s。
[0027]
(1b)由于实际应用中手语速度因人而异,对于待识别的手语动作,假设手语单词的长度为m帧,取k《m,则以固定帧数k为长度划分手语词元后,获得的手语词元预测序列s长度大于实际的手语视频中表示的手语句子长度,从而获取更多待选的手语词元,确保语义不被遗漏。
[0028]
(2)利用滑动窗口机制优化手语词元预测序列s语义,生成手语预测序列sw=(s1,s2,

,sk),具体为:
[0029]
(2a)对于手语词元预测序列s=(s1,s2,

,sn)中的手语词元si,在将手语词元序列组合成通顺手语语句的过程中,使用滑动窗口在预测序列s中进行滑动,在每个窗口中组合手语词元形成语句,具体步骤如下:
[0030]
(2a1)初始化滑动窗口长度为h,滑动步长为1,滑动序列为手语词元预测序列s=(s1,s2,

,sn)。
[0031]
(2a2)如果预测序列长度小于h,即n《h,则直接输出手语词元预测序列sw=s。否则,移动滑动窗口。
[0032]
(2a3)当前窗口中手语词元si出现重复的预测时,仅保留第一个词元,移动滑动窗口,滑动完成后,得到手语预测序列sw=(s1,s2,

,sk),其中k≤n。
[0033]
(3)将手语预测序列sw=(s1,s2,

,sk)转化为句向量v,输入词嵌入模型w2v-sl,通过与手语常用语句相似度比较,输出通顺度最高的符合语言规范的手语语句。具体步骤如下:
[0034]
(3a)对于手语预测序列sw=(s1,s2,

,sk)的每个手语词元si,计算对应的词向量vi=word2vec(si),表示以词元si为中心词时w2v-sl模型对应的向量,其中word2vec()是用于将手语词元转换为向量的算法。根据公式(2-3),生成手语预测序列的句向量v:
[0035][0036]
(3b)对于常用的手语语句,建立手语常用语句语料库e,计算出e中每个语句的句向量ei,根据公式(2-4),计算v与手语常用语句语料库中的语句ei的余弦相似度:
[0037][0038]
其中vi,ei分别代表向量v和e的各分向量。输出余弦相似度最高的语句作为最终得到的通顺的符合语言规范的手语语句。
[0039]
本发明的有益效果是:本发明能够通过摄像头与姿态检测模型提取手语人员的动作信息,通过深度学习模型对采集的数据进行处理和训练
[0040]
本发明还加入了自然语言生成模型,在手语预测过程中改善预测的语义内容,能够准确识别输入的手语动作的语义并生成符合语言规范的手语语句。
[0041]
本发明通过简化手语识别对时序特征的采集难度,增强了手语文本最终效果,使手语识别系统鲁棒性更强,检测速度更快,准确性更高。
附图说明
[0042]
图1为手语姿态关键点检测模型的示意图。
[0043]
图2为lstm-sl神经网络的结构示意图。
[0044]
图3为基于lstm和nlp的手语识别系统的整体框架图。
具体实施方式
[0045]
以下将以图式揭露本发明的实施方式,为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就是说,在本发明的部分实施方式中,这些实务上的细节是非必要的。
[0046]
如图3所示,本发明提出了一种基于lstm和nlp的手语识别系统,该系统包含针对两个阶段的处理过程,具体包括:
[0047]
一、模型训练子系统:
[0048]
(1)数据采集模块:采集通过摄像头读取的手语视频或给定手语视频。
[0049]
(2)手语词元数据集生成模块:将手语视频以固定帧数长度为一个信息点表述特定独立手语短语意思,独立采集某个手语短语,并将采集到的手语视频以独立手语短语作为切分条件划分成有监督形式的手语词元数据集。
[0050]
(3)关键点提取模块:输入手语视频图像,以固定帧数长度k为间隔,通过手语姿态关键点检测模型如mediapipe-holistic等转换为对应的图像关键点,具体包括34个躯干关键点及左右手关键点各21个,检测结果如图1所示。
[0051]
(4)时序关键点序列生成模块:通过关键点提取模块,得到k帧关键点序列,pi={kp
i,1
,kp
i,2
,

,kp
i,k
},其中kp
i,j
表示第j帧图片的手语姿态关键点坐标张量,为手语词元di中的wordi构造相对于d的独热码张量gi,生成最终的时序关键点序列数据ti={pi,gi}与时序关键点序列样本数据集t={t1,t2,

,tn}。
[0052]
(5)lstm模型架构模块:以时序关键点序列样本数据集t为输入,训练lstm神经网络模型,lstm-ls。由于在姿态检测过程中已经对数据进行空间上的建模,因此直接使用长短期记忆神经网络lstm,3个门控对长短期记忆神经网络单元的内部状态建立了自循环(self-loop)以分析时间跨度更多样的信息,通过对序列特征的提取获得单一手语短语帧之间的上下文关系,获得手语文本的语义特征,选用relu作为激活函数,消除线性;将手语序列的语义特征在预设稠密网络(densenet)中连接,模型架构如图2所示。
[0053]
(6)手语特征四元组构建模块:给定由若干手语文本集构建的手语常用语料库k,利用分词技术提取k中每个文本中的词元构成与k对应的手语相关自然语言词元集nw={wordi|wordi∈k};计算nw中各手语词元wordi在k中索引位置idxi和出现频率freqi,进而构造词元-词频三元组序列p,其中p[i]=(idxi,wordi,freqi)。为每个词元根据其出现频率设置权重weight,对在训练lstm-sl中出现的词元做降权处理,以确保词元能够在w2v-sl训练中的下采样中取得优势,使预测结果更容易击中lstm-sl中训练过的词元。最终获得手语词元表征四元组序列样本数据集q。
[0054]
(7)w2v-sl训练模块:输入手语词元表征四元组序列样本数据集q,训练词嵌入语言模型w2v-sl。
[0055]
二、手语识别子系统
[0056]
手语识别子系统包括:
[0057]
1.准备阶段:导入视频或实时摄像头画面,通过姿态检测工具提取其中人体的关键骨骼点,生成待预测手语词元时序关键点序列tw={tw1,tw2,

,twn}。
[0058]
2.运行阶段:
[0059]
(1)lstm-sl预测模块:将tw代入lstm-sl模型,得到手语词元预测序列s。由于实际应用中手语速度因人而异,对于待识别的手语动作,假设手语单词的长度为m帧,取k《m,则以固定帧数k为长度划分手语词元后,获得的手语词元预测序列s长度大于实际的手语视频中表示的手语句子长度,从而获取更多待选的手语词元,确保语义不被遗漏,此举将造成手语词元的反复识别、误判别等问题。同时考虑到该手语识别系统的人机交互性,系统将预测的词元实时展示给使用者,对于不准确的识别,使用者可以通过调整手语的动作来重新识别,增加预测的准确性。此举也将造成手语词元的反复识别、误判别等问题。为了解决上述共同问题,对于识别成功的词元,建立滑动窗口模块,如下所述:
[0060]
(2)滑动窗口模块:当前窗口中手语词元出现重复的预测时,仅保留第一个词元并移动滑动窗口。本实例将滑动窗口长度设为g,即每g个词元将使用滑动窗口检测一次。滑动完成后,得到手语预测序列sw。
[0061]
(3)w2v-sl预测模块:将手语预测序列sw输入词嵌入模型w2v-sl,转化为句向量v。
[0062]
(4)相似匹配模块:通过将句向量v与手语常用语句句向量进行相似度比较如比较余弦相似度,取出相似程度最高的一组进行匹配,最终输出符合语言规范的手语语句。
[0063]
基于本发明提供的手语识别系统,运行本发明的手语识别方法,该手语识别方法用于从手语视频或实时手语画面中识别手语词汇序列,并通过自然语言生成技术输出符合语言规范的手语语句,具体包括如下步骤:
[0064]
步骤1、模型训练阶段,具体包括如下步骤:
[0065]
步骤1-1、给定手语词元数据集d={d1,d2,

,dn},其中di表示手语词元,di={vedioi,wordi},vedioi表示手语词元di对应的手语动作视频,wordi表示与手语词元对应的自然语言词元,将定手语词元数据集d中的每个手语词元di转换为时序关键点序列数据ti,从而生成与原始手语词元数据集d对应的时序关键点序列样本数据集t={t1,t2,

,tn}。
[0066]
对于手语词元di={vedioi,wordi}转换为时序关键点序列数据ti的具体如下:
[0067]
步骤1-1-1、将手语词元di中的手语视频vedioi提取固定帧数长度k的图片序列,生成与手语词元di相对应的帧图片序列表示,即pici={pic
i,1
,pic
i,2
,

,pic
i,k
},其中pic
i,j
为di的第j帧图片;
[0068]
步骤1-1-2、利用手语姿态关键点检测模型,从pici中的每一张图片提取表示手语词元对应的手语姿态特征的关键点,构建与pici对应的时序关键点序列数据pi={kp
i,1
,kp
i,2
,

,kp
i,k
},其中kp
i,j
表示第j帧图片的手语姿态关键点坐标张量;
[0069]
步骤1-1-3、为手语词元di中的wordi构造相对于给定手语词元数据集d的独热码张量gi,根据公式(1-1)计算:
[0070][0071]
步骤1-1-4、为手语词元di构造对应的时序关键点序列数据ti,表示为ti={pi,gi}。
[0072]
步骤1-2、以步骤1-1得到的时序关键点序列样本数据集t为输入,训练lstm神经网
络模型,生成基于lstm的手语词元识别模型lstm-sl;
[0073]
步骤1-3、给定由若干手语文本集构建的手语常用语料库k={k1,k2,

,kn},其中ki为包含若干手语词元的文本,根据手语常用语料库k计算手语词元表征四元组序列样本数据集q,具体为:
[0074]
步骤1-3-1、利用分词技术提取手语常用语料库k中每个文本ki中的词元构成与手语常用语料库k对应的手语相关自然语言词元集nw={wordi|wordi∈k};计算手语相关自然语言词元集nw中各手语词元wordi在手语常用语料库k中索引位置idxi和出现频率freqi,进而构造词元-词频三元组序列p,其中p[i]=(idxi,wordi,freqi);
[0075]
步骤1-3-2、以步骤1-3-1构造的词元-词频三元组序列p为输入,对于p中的每个元素p[i]=(idxi,wordi,freqi),根据其词频大小freqi计算对应的手语词元wordi的权重按照公式(1-2)计算:
[0076][0077]
其中α为平滑常数,k为权重系数,sw为手语相关自然语言词元集,公式(1-2)能改变手语相关自然语言词元集sw中词元的权重值,增加手语相关词元与手语词元识别模型lstm-sl的耦合度,最终生成与p对应的手语词元表征四元组序列样本数据集q,其中q[i]=(idxi,wordi,freqi,weighti)。
[0078]
步骤1-4、以步骤1-3得到的手语词元表征四元组序列样本数据集q为输入,训练word2vec模型,生成基于word2vec的手语语句自然语言生成模型w2v-sl。
[0079]
步骤2、手语识别阶段,具体包括如下步骤:
[0080]
步骤2-1、对于待识别的手语视频或实时手语画面,把连续的手语动作转换为对应的手语词元时序关键点序列tw={tw1,tw2,

,twn},输入到步骤1-2的手语词元识别模型lstm-sl中,生成手语词元预测序列s=(s1,s2,

,sn),其中si表示模型预测的手语词元。
[0081]
生成手语词元预测序列s具体包括:
[0082]
步骤2-1-1、将待识别的手语视频或实时手语画面中连续的手语动作,以固定帧数长度k为间隔,通过手语姿态关键点检测模型转换为对应的手语词元时序关键点序列tw={tw1,tw2,

,twn},将tw代入lstm-sl模型,得到手语词元预测序列s;
[0083]
步骤2-1-2、对于待识别的手语动作,假设手语单词的长度为m帧,取k《m,则以固定帧数k为长度划分手语词元后,获得的手语词元预测序列s长度大于实际的手语视频中表示的手语句子长度,从而获取更多待选的手语词元,确保语义不被遗漏。
[0084]
步骤2-2、利用滑动窗口机制优化手语词元预测序列s语义,生成手语预测序列sw=(s1,s2,

,sk)。
[0085]
其中,利用滑动窗口优化手语词元预测序列s的语义性具体为:对于手语词元预测序列s=(s1,s2,

,sn)中的手语词元si,在将手语词元序列组合成通顺手语语句的过程中,使用滑动窗口在预测序列s中进行滑动,在每个窗口中组合手语词元形成语句,具体包括如下步骤:
[0086]
步骤2-2-1、初始化滑动窗口长度为h,滑动步长为1,滑动序列为手语词元预测序列s=(s1,s2,

,sn);
[0087]
步骤2-2-2、如果预测序列长度小于h,即n《h,则直接输出手语词元预测序列sw=s,否则,移动滑动窗口;
[0088]
步骤2-2-3、当前窗口中手语词元si出现重复的预测时,仅保留第一个词元,移动滑动窗口,滑动完成后,得到手语预测序列sw=(s1,s2,

,sk),其中k≤n。
[0089]
步骤2-3、将步骤2-2生成的手语预测序列sw=(s1,s2,

,sk)转化为句向量v,输入词嵌入模型w2v-sl,通过与手语常用语句相似度比较,输出通顺度最高的符合语言规范的手语语句,具体包括如下步骤:
[0090]
步骤2-3-1、对于手语预测序列sw=(s1,s2,

,sk)的每个手语词元si,计算对应的词向量vi=word2vec(si),表示以词元si为中心词时w2v-sl模型对应的向量,其中word2vec()是用于将手语词元转换为向量的算法,。根据公式(1-3),生成手语预测序列的句向量v:
[0091][0092]
步骤2-3-2、对于常用的手语语句,建立手语常用语句语料库e,计算出e中每个语句的句向量ei,根据公式(1-4),计算v与手语常用语句语料库中的语句ei的余弦相似度:
[0093][0094]
其中vi,ei分别代表向量v和e的各分向量。输出余弦相似度最高的语句作为最终得到的通顺的符合语言规范的手语语句。
[0095]
本发明简化了手语识别对时序特征的采集难度,有效增强了自然语句的输出效果,提高了手语识别系统的鲁棒性和准确性。
[0096]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种基于lstm和nlp的手语识别方法,用于从手语视频或实时手语画面中识别手语词汇序列,并通过自然语言生成技术输出符合语言规范的手语语句,其特征在于:所述手语识别方法包括如下步骤:步骤1、模型训练阶段,具体包括如下步骤:步骤1-1、给定手语词元数据集d={d1,d2,

,d
n
},其中d
i
表示手语词元,d
i
={vedio
i
,word
i
},vedio
i
表示手语词元d
i
对应的手语动作视频,word
i
表示与手语词元对应的自然语言词元,将定手语词元数据集d中的每个手语词元d
i
转换为时序关键点序列数据t
i
,从而生成与原始手语词元数据集d对应的时序关键点序列样本数据集t={t1,t2,

,t
n
};步骤1-2、以步骤1-1得到的时序关键点序列样本数据集t为输入,训练lstm神经网络模型,生成基于lstm的手语词元识别模型lstm-sl;步骤1-3、给定由若干手语文本集构建的手语常用语料库k={k1,k2,

,k
n
},其中k
i
为包含若干手语词元的文本,根据手语常用语料库k计算手语词元表征四元组序列样本数据集q;步骤1-4、以步骤1-3得到的手语词元表征四元组序列样本数据集q为输入,训练word2vec模型,生成基于word2vec的手语语句自然语言生成模型w2v-sl;步骤2、手语识别阶段,具体包括如下步骤:步骤2-1、对于待识别的手语视频或实时手语画面,把连续的手语动作转换为对应的手语词元时序关键点序列t
w
={tw1,tw2,

,tw
n
},输入到步骤1-2的手语词元识别模型lstm-sl中,生成手语词元预测序列s=(s1,s2,

,s
n
),其中s
i
表示模型预测的手语词元;步骤2-2、利用滑动窗口机制优化手语词元预测序列s语义,生成手语预测序列s
w
=(s1,s2,

,s
k
);步骤2-3、将步骤2-2生成的手语预测序列s
w
=(s1,s2,

,s
k
)转化为句向量v,输入词嵌入模型w2v-sl,通过与手语常用语句相似度比较,输出通顺度最高的符合语言规范的手语语句。2.根据权利要求1所述的一种基于lstm和nlp的手语识别方法,其特征在于:步骤1-1中,对于手语词元d
i
={vedio
i
,word
i
}转换为时序关键点序列数据t
i
的具体步骤如下:步骤1-1-1、将手语词元d
i
中的手语视频vedio
i
提取固定帧数长度k的图片序列,生成与手语词元d
i
相对应的帧图片序列表示,即pic
i
={pic
i,1
,pic
i,2
,

,pic
i,k
},其中pic
i,j
为d
i
的第j帧图片;步骤1-1-2、利用手语姿态关键点检测模型,从pic
i
中的每一张图片提取表示手语词元对应的手语姿态特征的关键点,构建与pic
i
对应的时序关键点序列数据p
i
={kp
i,1
,kp
i,2
,

,kp
i,k
},其中kp
i,j
表示第j帧图片的手语姿态关键点坐标张量;步骤1-1-3、为手语词元d
i
中的word
i
构造相对于给定手语词元数据集d的独热码张量g
i
,根据下式计算:步骤1-1-4、为手语词元d
i
构造对应的时序关键点序列数据t
i
,表示为t
i
={p
i
,g
i
}。3.根据权利要求1所述的一种基于lstm和nlp的手语识别方法,其特征在于:步骤1-3中
根据手语常用语料库k计算手语词元表征四元组序列样本数据集q的具体步骤如下:步骤1-3-1、利用分词技术提取手语常用语料库k中每个文本k
i
中的词元构成与手语常用语料库k对应的手语相关自然语言词元集nw={word
i
|word
i
∈k};计算手语相关自然语言词元集nw中各手语词元word
i
在手语常用语料库k中索引位置idx
i
和出现频率freq
i
,进而构造词元-词频三元组序列p,其中p[i]=(idx
i
,word
i
,freq
i
);步骤1-3-2、以步骤1-3-1构造的词元-词频三元组序列p为输入,对于p中的每个元素p[i]=(idx
i
,word
i
,freq
i
),根据其词频大小freq
i
计算对应的手语词元word
i
的权重按照下式计算:其中α为平滑常数,k为权重系数,sw为手语相关自然语言词元集,最终生成与p对应的手语词元表征四元组序列样本数据集q,其中q[i]=(idx
i
,word
i
,freq
i
,weight
i
)。4.根据权利要求1所述的一种基于lstm和nlp的手语识别方法,其特征在于:步骤2-1中生成手语词元预测序列s具体包括如下步骤:步骤2-1-1、将待识别的手语视频或实时手语画面中连续的手语动作,以固定帧数长度k为间隔,通过手语姿态关键点检测模型转换为对应的手语词元时序关键点序列t
w
={tw1,tw2,

,tw
n
},将t
w
代入lstm-sl模型,得到手语词元预测序列s;步骤2-1-2、对于待识别的手语动作,假设手语单词的长度为m帧,取k<m,则以固定帧数k为长度划分手语词元后,获得的手语词元预测序列s长度大于实际的手语视频中表示的手语句子长度,从而获取更多待选的手语词元,确保语义不被遗漏。5.根据权利要求4所述的一种基于lstm和nlp的手语识别方法,其特征在于:步骤2-2中,利用滑动窗口优化手语词元预测序列s的语义性具体为:对于手语词元预测序列s=(s1,s2,

,s
n
)中的手语词元s
i
,在将手语词元序列组合成通顺手语语句的过程中,使用滑动窗口在预测序列s中进行滑动,在每个窗口中组合手语词元形成语句,具体包括如下步骤:步骤2-2-1、初始化滑动窗口长度为h,滑动步长为1,滑动序列为手语词元预测序列s=(s1,s2,

,s
n
);步骤2-2-2、如果预测序列长度小于h,即n<h,则直接输出手语词元预测序列s
w
=s,否则,移动滑动窗口;步骤2-2-3、当前窗口中手语词元s
i
出现重复的预测时,仅保留第一个词元,移动滑动窗口,滑动完成后,得到手语预测序列s
w
=(s1,s2,

,s
k
),其中k≤n。6.根据权利要求1所述的一种基于lstm和nlp的手语识别方法,其特征在于:步骤2-3中手语预测序列s
w
=(s1,s2,

,s
k
)输入w2v-sl模型,并输出通顺的符合语言规范的自然语句,具体包括如下步骤:步骤2-3-1、对于手语预测序列s
w
=(s1,s2,

,s
k
)的每个手语词元s
i
,计算对应的词向量v
i
=word2vec(s
i
),表示以词元s
i
为中心词时w2v-sl模型对应的向量,其中word2vec()是用于将手语词元转换为向量的算法,根据下式,生成手语预测序列的句向量v:
步骤2-3-2、对于常用的手语语句,建立手语常用语句语料库e,计算出e中每个语句的句向量e
i
,根据下式计算句向量v与手语常用语句语料库中的语句e
i
的余弦相似度:其中v
i
,e
i
分别代表向量v和e的各分向量,输出余弦相似度最高的语句作为最终得到的通顺的符合语言规范的手语语句。7.一种基于lstm和nlp的手语识别系统,其特征在于:所述手语识别系统用于运行如权利要求1-6任一项所述的手语识别方法,所述手语识别系统包括模型训练子系统和手语识别子系统。8.根据权利要求7所述的一种基于lstm和nlp的手语识别系统,其特征在于:所述模型训练子系统包括:(1)数据采集模块:采集通过摄像头读取的手语视频或给定手语视频;(2)手语词元数据集生成模块:将手语视频以固定帧数长度为一个信息点表述特定独立手语短语意思,独立采集某个手语短语,并将采集到的手语视频以独立手语短语作为切分条件划分成有监督形式的手语词元数据集;(3)关键点提取模块:输入手语视频图像,以固定帧数长度k为间隔,通过手语姿态关键点检测模型转换为对应的图像关键点;(4)时序关键点序列生成模块:通过关键点提取模块,得到k帧关键点序列,p
i
={kp
i,1
,kp
i,2
,

,kp
i,k
},其中kp
i,j
表示第j帧图片的手语姿态关键点坐标张量,为手语词元d
i
中的word
i
构造相对于d的独热码张量g
i
,生成最终的时序关键点序列数据t
i
={p
i
,g
i
}与时序关键点序列样本数据集t={t1,t2,

,t
n
};(5)lstm模型架构模块:以时序关键点序列样本数据集t为输入,训练lstm神经网络模型,lstm-ls;(6)手语特征四元组构建模块:给定由若干手语文本集构建的手语常用语料库k,利用分词技术提取k中每个文本中的词元构成与k对应的手语相关自然语言词元集nw={word
i
|word
i
∈k};计算nw中各手语词元word
i
在k中索引位置idx
i
和出现频率freq
i
,进而构造词元-词频三元组序列p,其中p[i]=(idx
i
,word
i
,freq
i
);为每个词元根据其出现频率设置权重weight,对在训练lstm-sl中出现的词元做降权处理,最终获得手语词元表征四元组序列样本数据集q;(7)w2v-sl训练模块:输入手语词元表征四元组序列样本数据集q,训练词嵌入语言模型w2v-sl。9.根据权利要求8所述的一种基于lstm和nlp的手语识别系统,其特征在于:所述手语识别子系统(1)lstm-sl预测模块:将待预测手语词元时序关键点序列t
w
={tw1,tw2,

,tw
n
}代入lstm-sl模型,得到手语词元预测序列s;(2)滑动窗口模块:当前窗口中手语词元出现重复的预测时,仅保留第一个词元并移动滑动窗口,滑动完成后,得到手语预测序列s
w
;(3)w2v-sl预测模块:将手语预测序列s
w
输入词嵌入模型w2v-sl,转化为句向量v;(4)相似匹配模块:通过将句向量v与手语常用语句句向量进行相似度比较,取出相似
程度最高的一组进行匹配,最终输出符合语言规范的手语语句。

技术总结
本发明属于手语识别技术领域,公开了一种基于LSTM和NLP的手语识别方法和系统,该方法包含模型训练和手语识别两个阶段,在模型训练阶段,利用手语词元数据集与姿态检测模型获取时序关键点序列样本,训练LSTM-SL模型、利用手语常用语料库分词获得手语表征四元组,训练W2V-SL模型;手语识别阶段包括将待识别的手语视频或实时手语画面通过LSTM-SL转换为手语词元预测序列,并利用滑动窗口机制和W2V-SL模型输出符合语言规范的手语语句,并在此方法上提出了手语识别系统。本发明简化了手语识别对时序特征的采集难度,有效增强了自然语句的输出效果,提高了手语识别系统的鲁棒性和准确性。提高了手语识别系统的鲁棒性和准确性。提高了手语识别系统的鲁棒性和准确性。


技术研发人员:管振凯 戴华 李惠 陆雨欣 高慧婷 陈玉 陈燕俐 杨庚
受保护的技术使用者:南京邮电大学
技术研发日:2023.04.21
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐