基于交互场景下的手语识别方法与流程

专利检索2022-05-10  13



1.本发明涉及手语识别领域,特别涉及一种跨模态手语识别方法。


背景技术:

2.我国是世界上听力残疾人数最多的国家。据统计,我国的听力残疾人约2780万人,占全国残疾人的30%以上。手语是听障人之间、听障人和非听障人之间进行思想交流和人际交往的主要工具。手语作为一种自然的肢体语言,主要通过手形的变化、手的朝向、手部相对于身体的位置和手部的运动轨迹来表达相应的语义,有部分手语还需要辅以身体姿态和面部表情来共同表达手语含义。由于手语本身吸引力比较小、学习成本比较高,所以目前在健全人范围内的普及程度很低,仍然只是一门小众化的语言。因此,设计手语识别算法,将手语识别为健全人可以理解的文字,可以有效缓解听障人士与健全人的交流鸿沟。
3.目前国内外基于视频的手语识别很少考虑使用交互环境上下文进行跨模态识别。在现有方案中,主要分为直接通过手语视频进行识别和直接通过运动信息进行识别两种。其中,(中国,201310204961.x)使用kinect获取手的深度信息和人体主要部位的骨骼关节点3d坐标信息,通过近邻法和欧氏距离作为相似性度量准则的模板匹配方法进行基元匹配,确定手语含义;(中国,201720816796.7)通过用户手臂上佩戴的臂环,接收用户运动时的肌电信号和运动信息,通过肌电信号和运动信息获取用户手语内容。
4.考虑到手语属于一种用于交流的自然语言,在交互场景下,对话的上下文信息对于当前的对话内容预测必然存在指导意义,而且在交互环境下获取用户之间的对话内容难度不高,因此本专利采用用户间的对话信息作为辅助信息,约束手语视频的识别结果,使当前手语视频的识别结果更贴合对话主题。同时由于并没有现成的交互场景下的手语识别数据集,本专利构建了一套实现了多轮对话的大型交互场景下的手语识别数据集。
5.参考文献
6.[1]zhu,qi,et al."crosswoz:a large

scale chinese cross

domain task

oriented dialogue dataset."transactions of the association for computational linguistics 8(2020):281

295.
[0007]
[2]zhu,qi,et al."convlab

2:an open

source toolkit for building,evaluating,and diagnosing dialogue systems."arxiv preprint arxiv:2002.04793(2020).


技术实现要素:

[0008]
本发明为了克服目前手语识别算法在交互环境下表达生硬,识别结果容易偏离交互主题的问题,提出了一种基于交互场景下的手语识别算法,技术方案如下:
[0009]
一种基于交互场景下的手语识别方法,包括下列步骤:
[0010]
第一步,准备数据集
[0011]
(1)构建交互场景的对话文本数据库:确定交互场景范围,设计交互场景对话剧
本,基于交互场景对话剧本构建用于交互场景下手语识别对话文本数据集;
[0012]
(2)构建交互场景的手语视频数据库:基于交互场景对话剧本,采集对应手语视频内容并对其进行标注,构建用于训练手语视频识别网络的交互场景下的手语视频数据集,
[0013]
第二步,训练交互场景对话预测模型和手语视频识别网络:利用构建好的对话文本数据集对交互场景对话预测模型进行训练,并利用手语视频数据集对手语视频识别网络进行训练,其中交互场景对话预测模型实现基于已有对话内容预测当前对话结果,包括对话模板和对话关键词,手语视频识别网络实现通过分析当前听障人士的手语视频,预测当前听障人士手语表达关键内容,方法如下:
[0014]
(1)训练交互场景对话预测模型,其中交互场景对话预测模型使用convlab

2对话系统模型,使用构建好的交互场景下手语识别对话文本数据集对模型进行调整,使对话系统模型预测结果更符合现实对话内容;
[0015]
(2)训练手语视频识别网络,使用vgg

m模型提取视频特征,以保证获取视频的时域与空间域特征,使用encoder

decoder结构识别手语结果,其中encoder使用金字塔式lstm结构,用以从视频关键帧中获取手语关键词信息;decoder模型采用lstm对encoder信息进行解码,解码得到的结果使用ctc进行软对齐,最终得到识别关键词;
[0016]
第三步,通过训练好的交互场景对话预测模型和手语视频识别网络,得到当前对话的预测结果和手语视频识别关键词信息;然后使用相似度匹配算法,将全部预测结果的对话模板与手语视频识别关键词组合得到手语关键词预测句子,然后将手语关键词预测句子和语言模型预测句子进行余弦相似度计算,将得到的相似度最高的结果作为对话的预测结果中与当前手语识别关键词匹配度最高的结果,并将结果返回。
[0017]
本发明使用交互场景对话预测模型的预测结果对手语视频识别网络得到的识别结果进行约束,保证识别结果贴近对话主题,同时使识别结果更加贴近日常对话习惯。
附图说明
[0018]
图1为交互场景下的手语识别算法流程图。
[0019]
图2为交互场景的手语视频数据库展示图。
[0020]
图3为对话预测模型缓存更新流程图。
[0021]
图4为对话预测结果与手语识别结果匹配融合流程图。
具体实施方式
[0022]
本发明提供了一种通过对话预测模型的预测结果约束手语识别结果的方法,在保证识别结果的语义准确性的同时,保证识别结果贴近对话主题,同时使识别结果更加贴近日常对话习惯。按以下方法具体实现:
[0023]
第一步,准备数据集
[0024]
(1)构建交互场景的对话文本数据库
[0025]
对话数据主要围绕北京市朝阳区、东城区与西城区的餐馆,酒店和景点构建,内容包括但不限于询问地址,餐馆点菜,景点推荐,查询电话等问题,涉及到的酒店有650个,餐馆有268个,景点有195个,对话内容超过10万条数据。平均对话轮数超过4轮,能够实现开放式提问与回答。
[0026]
(2)构建交互场景的手语视频数据库
[0027]
参考对话文本数据库,提取其中的回答进行手语数据拍摄,采集600个不同的手语词和句子。为了规范手语打法,特邀请手语老师按照《国家通用手语常用词表》制作手语示范视频,并选取十位听障人士志愿者进行拍摄,每名志愿者每句手语拍摄十遍,最终得到60000条手语视频数据。同时,通过对不同的句子与词语拼接匹配,本数据库可以覆盖到的句子超过3000句,可以满足训练模型的需要,采集数据样例如图2所示。
[0028]
第二步,训练交互场景对话预测模型和手语视频识别网络
[0029]
(1)训练交互场景对话预测模型
[0030]
本发明采用的交互场景对话模型是清华大学提出的基于crosswoz数据集的convlab

2对话模型[1][2](背景技术里列出的参考文献),该模型可以实现多轮对话,而且可以获得每轮对话的关键词与对话模板。其中每轮对话中的关键词是指在本次对话中用户想要表达或想要知道的信息,包括但不限于地名,电话号码,地址等信息;对话模板则指在一轮对话中为了完整的表意所需要使用的句式。
[0031]
在本发明中,首先将设计好的交互场景的对话文本数据库按照convlab

2对话模型的数据规范要求,生成对应的数据库json文件,然后利用在crosswoz数据集上训练好的对话模型,在新的数据库json文件上进行微调训练,从而实现对本发明交互场景对话内容的支持。
[0032]
(2)训练手语视频识别网络
[0033]
首先利用vgg

m模型进行特征提取,输入的视频经过压缩,为视频帧序列长度l*112*112,经过特征提取后,得到特征维度为l*1024维的特征向量。随后将提取得到的特征输入到我们自己搭建的手语识别深度学习模型中进行训练,我们搭建的深度学习模型在传统的encoder

decoder结构上进行了优化,encoder模型中添加了金字塔式的3层bi

lstm提取关键帧信息,并在每层bi

lstm层后进行最大池化,最后将特征维度压缩至l*256维;decoder模型采用lstm对encoder信息进行解码,解码得到的结果使用ctc进行软对齐,最终得到识别关键词。具体的网络结构如表1所示。
[0034]
[0035][0036]
表1手语识别网络结构
[0037]
第三步,通过训练好的交互场景对话预测模型和手语视频识别网络,得到当前对话的预测结果和手语视频识别结果后,进行相似度检测返回最优结果,具体流程如图1所示。
[0038]
在交互场景下,对话是随时间一轮一轮进行的,所以在对话预测模型中,需要实现对话信息的缓存更新或删除,具体实施方式如下:
[0039]
算法在缓存区存有当前场景的对话信息,当收到新的对话信息时,算法通过检查新上传的对话信息时间戳time
update
与当前缓存的对话信息时间戳time
current
对缓存中的对话信息进行更新,流程如图3所示:
[0040]
1.当两个时间戳之间的时间差大于等于预设阈值时,即time
update

time
current
≥δt,可以视为先前的对话已结束,缓存清理已存储的当前对话信息,将新的对话信息存储于缓存中,更新时间戳;
[0041]
2.当两个时间戳之间的时间差小于预设阈值时,即time
update

time
current
<δt,可以视为对话仍在进行,缓存直接将新的对话信息添加到现有缓存中,更新时间戳。
[0042]
在具体实施例中,对话终止时间阈值δt被设置为2分钟,即在两分钟内没有新的对话输入,则算法默认对话终止。
[0043]
在经过交互场景对话预测模型与手语视频识别网络后,可以得到对话关键词,对话模板和手语识别结果,需要对其进行相似度匹配,得到最终的交互场景下的手语识别结果。如图4所示具体步骤如下:
[0044]
1.将当前对话模型得到的对话关键词与对话模板分别记为e,t,当前手语识别模型得到的识别关键词记为s,其中e,t有多个可选项,s是唯一结果:
[0045]
e={e
i
|i=1...m},#
ꢀꢀ
(1)
[0046]
t={t
i
|i=1...m},#
ꢀꢀ
(2)
[0047]
其中,m≤k,k为对话模型能够返回的最多可能选项个数。
[0048]
2.将t
i
与e
i
组合,得到语言模型预测句子l
p
,将t
i
与和s组合,得到手语关键词预测句子l
s
,对l
p
与l
s
进行相似度计算,得到识别结果的相似度sim
i
,相似度的计算方法为计算两个句子全部词向量平均值的余弦相似度:
[0049][0050][0051][0052]
3.比较所有的sim,相似度最大的结果即为最符合手语表达者表意的自然语言句
子,将对应的e
i
,t
i
进行组合,作为最终最优的识别结果输出。
[0053]
4.对于其他的sim,将其e
i
,t
i
组合,作为备选答案输出。
[0054]
第四步,测试本算法的识别结果
[0055]
测试时,通过模拟不同场景的对话内容,以其他人提问,用户使用手语方式回答的形式进行,具体步骤如下:
[0056]
(1)首先由其他人进行提问,提问结果以文字形式输入到算法中。用户针对提问的问题做出正确的手语回答。
[0057]
(2)算法按上述步骤三所述流程,对用户输入文字和手语视频进行预测和识别,并得到最终的识别结果。
[0058]
(3)检验识别结果与预期结果关键词的相似度作为准确率,并计算响应时间。
[0059]
按照上述流程对算法进行测试,在测试数据集与真实环境中对听障人士的手语进行识别,共测试139条手语,识别正确的为123条,平均识别准确率为88.5%。平均响应速度为1.05秒,基本可以满足正常对话的需要。测试结果样例如表2所示。
[0060][0061]
表2交互场景下的手语识别算法测试样例。
转载请注明原文地址:https://win.8miu.com/read-150427.html

最新回复(0)