一种手语互译方法及系统
技术领域
本发明涉及电子
技术领域
,特别是涉及一种手语互译方法及系统。背景技术
手语是一种直观形象的语言,听障人士可以很自然地使用手语来表达思想内容。但在语言文字的教育上,由于手语和书面语之间存在较大差异,使得使用手语的听障人士学生存在书面语学习的困难,大部分听障人士往往很难学会语言文字的逻辑思维特征,对书面语的阅读理解以及表达水平存在一定困难,容易误解或者不理解书面语所表达的思想内容[1]([1]汪飞雪,陈熙.谈听障人士学生的书面语学习[J].辽宁师专学报:社会科学版,2014(3):121-122.)。结合第一语言学习的相关特征与听障人士语言学习的特征,普遍认为自然手语是听障人士的第一语言[2]([2]童琳.关于听障人士汉语学习性质的思考[J].现代特殊教育.2016(10).)。因此,健听人士通过文字的形式与听障人士进行交流,会存在一定的沟通障碍,而通过手语的方式与听障人士交流,是一种比较友好的交流方式。
目前市面上存在有通过文本信息合成手语动画的系统,此类系统能够根据输入的文字信息,通过虚拟动画中小人演示手语的方式翻译出文字的含义,使听障人士可直观形象地理解文字信息。然而,此类系统无法翻译听障人士的手语内容,造成健听人士无法通过听障人士的手语与其进行双向交流,使得此类系统只适用于手语相关教学的情景。
发明内容
本发明旨在至少在一定程度上解决上述技术问题,本发明提供了一种手语互译方法及系统。
本发明采用的技术方案是:
一种手语互译方法,包括手语正译方法和手语反译方法;所述手语正译方法包括以下步骤:
接收手势动作数据,并将手势动作数据转换为第一文字信息;其中,所述手势动作数据包括手指弯曲数据和手势姿态角数据;
对当前第一文字信息进行语音合成处理,得到手语翻译语音信息;
所述手语反译方法包括以下步骤:
接收语音数据,并将语音数据转换为第二文字信息;
接收第二文字信息或外部输入的第三文字信息,并对当前第二文字信息或第三文字信息进行解析,得到分词后第二文字信息或分词后第三文字信息;
接收并处理分词后第二文字信息或分词后第三文字信息,得到与当前分词后第二文字信息或分词后第三文字信息匹配的手语动画信息。
优选地,所述手势动作数据通过数据手套采集,所述数据手套包括用于采集手指弯曲数据的弯曲传感器和与弯曲传感器连接的主控模块;
在所述手语正译方法前,所述手语互译方法还包括手指弯曲数据校准方法,所述手指弯曲数据校准方法基于数据手套的主控模块实现;所述手指弯曲数据校准方法包括以下步骤:
对弯曲传感器进行标定操作,得到当前弯曲传感器的最大角度数据和最小角度数据;
设定标准量程,所述标准量程的范围为[a,b],其中,a为标准量程的最小值,b为标准量程的最大值;
获取当前弯曲传感器实时输出的手指弯曲数据,然后根据当前弯曲传感器的最大角度数据和最小角度数据以及标准量程的最小值和最大值,对当前弯曲传感器实时输出的手指弯曲数据进行归一化处理,得到校准数值。
进一步地,对弯曲传感器进行标定操作时,具体包括以下步骤:
触发弯曲传感器标定指令,进入弯曲传感器标定状态;
接收并处理当前弯曲传感器在不同弯曲状态下输出的手指弯曲数据,得到当前弯曲传感器在不同弯曲状态下的角度数据;
遍历当前弯曲传感器在不同弯曲状态下的角度数据,得到当前弯曲传感器的最大角度数据和最小角度数据;
存储当前弯曲传感器的最大角度数据和最小角度数据,完成当前弯曲传感器的标定操作。
进一步地,触发弯曲传感器标定指令,进入弯曲传感器标定状态后,还包括以下步骤:
启动计时器;
得到当前弯曲传感器在不同弯曲状态下的角度数据后,还包括以下步骤:
判断计时器的计时是否大于标定时长;若是,则遍历当前弯曲传感器在不同弯曲状态下的角度数据,并得到当前弯曲传感器的最大角度数据和最小角度数据,若否,则重新接收并处理当前弯曲传感器在不同弯曲状态下输出的手指弯曲数据。
优选地,所述校准数值为:
其中,X为当前弯曲传感器实时输出的手指弯曲数据,Dmax为当前弯曲传感器的最大角度数据,Dmin为当前弯曲传感器的最小角度数据,a为标准量程的最小值,b为标准量程的最大值。
优选地,所述手势动作数据通过数据手套采集,所述数据手套包括用于采集手势姿态角数据的运动处理组件和与运动处理组件连接的主控模块;
所述手语互译方法还包括视角方位校准方法,所述视角方位校准方法基于主控模块实现,所述视角方位校准方法包括以下步骤:
设定数据手套的航向角偏移量offsetyaw为零;
实时获取运动处理组件初始运行时的四元数,其中四元数Quaternion={q0,q1,q2,q3};
根据四元数的方向余弦阵和欧拉角的转换关系,将四元数转换成欧拉角,其中,欧拉角Eular={roll,pitch,yaw},roll为数据手套的翻转角,pitch为数据手套的俯仰角,yaw为数据手套的航向角;
标记当前航向角输出值为yaw',并判断是否检测到数据手套触发的开始手势,若是,则重新设定数据手套的航向角偏移量offsetyaw=yaw',若否,则不动作;
设定校准后航向角yaw=yaw'-offsetyaw。
一种手语互译系统,用于实现上述任一项手语互译方法,所述手语互译系统包括翻译终端;所述翻译终端包括手语翻译模块、语音识别模块、中文分词模块、语音合成模块和手语动画合成模块;
所述手语翻译模块,用于接收手势动作数据,并将手势动作数据转换为第一文字信息,然后将第一文字信息发送至语音合成模块;
所述语音合成模块,用于接收当前第一文字信息,并对当前第一文字信息进行语音合成处理,得到手语翻译语音信息;
所述语音识别模块,用于接收语音数据,并将语音数据转换为第二文字信息,然后将第二文字信息发送至中文分词模块;
所述中文分词模块,用于接收第二文字信息或外部输入的第三文字信息,并对当前第二文字信息或第三文字信息进行解析,得到分词后第二文字信息或分词后第三文字信息,然后将分词后第二文字信息或分词后第三文字信息发送至手语动画合成模块;
所述手语动画合成模块,用于接收并处理分词后第二文字信息或分词后第三文字信息,得到与当前分词后第二文字信息或分词后第三文字信息匹配的手语动画信息。
优选地,所述手语互译系统还包括数据手套;所述数据手套包括弯曲传感器、运动处理组件和主控模块;
所述弯曲传感器,用于获取手指弯曲数据,然后将手指弯曲数据发送至主控模块;
所述运动处理组件,用于获取手势姿态角数据,然后将手势姿态角数据发送至主控模块;
所述主控模块,用于获取手势动作数据,然后将手势动作数据发送至手语翻译模块;其中,所述手势动作数据包括手指弯曲数据和手势姿态角数据。
优选地,所述手语翻译模块包括特征提取单元、日常手语模板库、自定义手语模板库和手语识别单元;
所述特征提取单元,用于接收手势动作数据,并从手势动作数据提取关键帧集,然后将关键帧集发送至手语识别单元;
所述手语识别单元,用于接收由特征提取单元发送的关键帧集,并将关键帧集与日常手语模板库和/或自定义手语模板库中的手语模板数据进行特征匹配,得到与关键帧集对应手势模板的第一文字信息,然后将第一文字信息发送至语音合成模块。
本发明的有益效果是:
1)具备双向实时沟通的功能,能够以语音信息或文字信息的方式对听障人士的手语进行正译,还能以手语动画的方式对健听人士的语音或文字进行反译,从而便于听障人士与健听人士之间进行无障碍沟通。具体地,本发明可基于手语正译方法将听障人士的手势动作数据转换为文字信息及语音信息,便于健听人士理解手语;听障人士在与健听人士进行语音或文字交谈时,本发明可基于手语反译方法将语音或文字信息转换为便于听障人士理解的手语动画信息,便于听障人士理解健听人士输出的语音或文字信息,从而实现听障人士与健听人士之间的无障碍沟通;
2)通过对弯曲传感器的进行标定操作,在标定操作后设定标准量程,并对当前弯曲传感器实时输出的手指弯曲数据进行归一化处理,得到校准数值。可使得手套能便于不同使用习惯的用户进行使用,同时避免由于弯曲传感器自身机械差异及安装位置偏差,而造成的弯曲传感器输出信息不准确的问题,可有效提高手势动作的识别准确率;
3)通过视角方位校准方法,可实现消除手势姿态角数据出现误差积累的作用,使得听障人士表达的每一套动作都建立在校准后的视角方位上,使得手势姿态角数据更能够反应出听障人士手语所表达的思想含义。
附图说明
图1是本发明中手语正译方法的流程图;
图2是本发明中手语反译方法的流程图;
图3是本发明中手指弯曲数据校准方法的流程图;
图4是本发明中对弯曲传感器进行标定操作时的流程图;
图5是本发明中翻译终端的结构框图;
图6是本发明中手语翻译模块的结构框图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况。
应当理解,还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。
实施例1:
本实施例提供一种手语互译方法,包括手语正译方法和手语反译方法,所述手语正译方法和手语反译方法均基于翻译终端实现;
如图1所示,所述手语正译方法包括以下步骤:
A1.接收手势动作数据,并将手势动作数据转换为第一文字信息;其中,所述手势动作数据包括手指弯曲数据和手势姿态角数据;
A2.对当前第一文字信息进行语音合成处理,得到手语翻译语音信息;
如图2所示,所述手语反译方法包括以下步骤:
B1.接收语音数据,并将语音数据转换为第二文字信息;
B2.接收第二文字信息或外部输入的第三文字信息,并对当前第二文字信息或第三文字信息进行解析,得到分词后第二文字信息或分词后第三文字信息;
B3.接收并处理分词后第二文字信息或分词后第三文字信息,得到与当前分词后第二文字信息或分词后第三文字信息匹配的手语动画信息。应当理解的是,在得到对应的手语动画信息后,翻译终端可对手语动画信息进行渲染播放。
具体地,所述手语反译方法包括以下步骤:
B101.接收语音数据,并将语音数据转换为第二文字信息;
B201.接收第二文字信息,并对当前第二文字信息进行解析,得到分词后第二文字信息;
B301.接收并处理分词后第二文字信息,得到与当前分词后第二文字信息匹配的手语动画信息;
或,所述手语反译方法包括以下步骤:
B102.接收外部输入的第三文字信息,并对当前第三文字信息进行解析,得到分词后第三文字信息;
B202.接收并处理分词后第三文字信息,得到与当前分词后第三文字信息匹配的手语动画信息。
本实施例具备双向实时沟通的功能,能够以语音信息或文字信息的方式对听障人士的手语进行正译,还能以手语动画的方式对健听人士的语音或文字进行反译,从而便于听障人士与健听人士之间进行无障碍沟通。具体地,本实施例可基于手语正译方法将听障人士的手势动作数据转换为文字信息及语音信息,便于健听人士理解手语;听障人士在与健听人士进行语音或文字交谈时,本实施例可基于手语反译方法将语音或文字信息转换为便于听障人士理解的手语动画信息,便于听障人士理解健听人士输出的语音或文字信息,从而实现听障人士与健听人士之间的无障碍沟通。
本实施例中,所述手势动作数据通过数据手套采集,所述数据手套包括用于采集手指弯曲数据的弯曲传感器和与弯曲传感器连接的主控模块;
在所述手语正译方法前,所述手语互译方法还包括手指弯曲数据校准方法,所述手指弯曲数据校准方法基于数据手套的主控模块实现;
如图3所示,所述手指弯曲数据校准方法包括以下步骤:
C1.对弯曲传感器进行标定操作,得到当前弯曲传感器的最大角度数据Dmax和最小角度数据Dmin;其中,当前弯曲传感器与数据手套中的指定手指对应设置;
C2.设定标准量程,所述标准量程的范围为[a,b],其中,a为标准量程的最小值,表示手指处于平直状态,b为标准量程的最大值,表示手指处于最大弯曲状态;
C3.获取当前弯曲传感器实时输出的手指弯曲数据,然后根据当前弯曲传感器的最大角度数据Dmax和最小角度数据Dmin以及标准量程的最小值和最大值,对当前弯曲传感器实时输出的手指弯曲数据进行归一化处理,得到校准数值。
需要说明的是,本实施例中的弯曲传感器配合数据手套进行使用,弯曲传感器用于感应用户手指的弯曲程度并输出手指弯曲数据,同一手套上可设置多个弯曲传感器,从而可根据同一手套上不同弯曲传感器输出的手指弯曲数据,获取手势对应的具体信息。
具体地,本实施例通过对弯曲传感器的进行标定操作,在标定操作后设定标准量程,并对当前弯曲传感器实时输出的手指弯曲数据进行归一化处理,得到校准数值。可使得手套能便于不同使用习惯的用户进行使用,同时避免由于弯曲传感器自身机械差异及安装位置偏差,而造成的弯曲传感器输出信息不准确的问题,可有效提高手势动作的识别准确率。
本实施例中,对弯曲传感器进行标定操作时,如图4所示,具体包括以下步骤:
C101.触发弯曲传感器标定指令,进入弯曲传感器标定状态,并启动计时器;应当理解的是,可以但不仅限于在首次启动运行时,触发弯曲传感器标定指令。
C101a.启动计时器;
C102.接收并处理当前弯曲传感器在不同弯曲状态下输出的手指弯曲数据,得到当前弯曲传感器在不同弯曲状态下的角度数据;
C102a.判断计时器的计时是否大于标定时长;若是,则进入步骤C103,若否,则重新接收并处理当前弯曲传感器在不同弯曲状态下输出的手指弯曲数据;当前弯曲传感器的最大角度数据代表了目标手指处于最大弯曲状态时弯曲传感器输出的手指弯曲数据,当前弯曲传感器的最小角度数据代表了目标手指处于平直状态时弯曲传感器输出的手指弯曲数据;
C103.遍历当前弯曲传感器在不同弯曲状态下的角度数据,得到当前弯曲传感器的最大角度数据Dmax和最小角度数据Dmin;
C104.存储当前弯曲传感器的最大角度数据Dmax和最小角度数据Dmin,完成当前弯曲传感器的标定操作。默认地,数据手套用数据处理系统同步对多个手指对应的弯曲传感器进行标定,并同时存储多个弯曲传感器的最大角度数据Dmax和最小角度数据Dmin,由此可提高对弯曲传感器进行标定操作的效率。
本实施例中,每个手指均对应设置有弯曲传感器,对每个手指对应的弯曲传感器进行标定操作过后,都会产生唯一的Dmax和Dmin,并且每个手指之间的Dmax和Dmin具有相互独立性、互不适用。
需要说明的是,得到当前弯曲传感器在不同弯曲状态下的角度数据后,如手指由握拳状态变为伸直状态过程中对应弯曲传感器的角度数据后,当前弯曲传感器完成一次弯曲及伸直变化,即可根据当前动作直接得到当前弯曲传感器的最大角度数据Dmax和最小角度数据Dmin;此时,由于弯曲传感器仅经历一次的变化,容易造成无法充分体现手指弯曲状态的问题。为解决该技术问题,本实施例进一步设定标定时长,用户可在标定时长内多次进行手指的弯曲及伸直,当前弯曲传感器的最大角度数据Dmax至最小角度数据Dmin间的预设标准量程可以充分展现手指从平直状态弯曲到最大弯曲状态的特征变化。
具体地,在进行弯曲传感器标定操作时,系统分配一定的标定时间(即标定时长)给用户完成标定动作,如10秒。用户穿戴数据手套进行弯曲传感器的标定操作时,可将手指伸直,再将手指弯曲进行握拳。用户在标定时长内,可多次重复伸直手指,再握拳,弯曲传感器可实时测量并输出手指关节在不同弯曲状态下的手指弯曲数据。
具体地,所述校准数值为:
其中,X为当前弯曲传感器实时输出的手指弯曲数据,Dmax为当前弯曲传感器的最大角度数据,Dmin为当前弯曲传感器的最小角度数据,a为标准量程的最小值,b为标准量程的最大值。
需要说明的是,步骤C3中,获取当前弯曲传感器实时输出的手指弯曲数据后,还可对当前弯曲传感器实时输出的手指弯曲数据进行非线性校准,得到非线性校准数值;所述非线性校准数值为:
其中,X为当前弯曲传感器实时输出的手指弯曲数据,Dmax为当前弯曲传感器的最大角度数据,Dmin为当前弯曲传感器的最小角度数据,a为标准量程的最小值,b为标准量程的最大值。
需要说明的是,采用非线性校准的处理方法,以得到非线性校准数值,可使得校准数值与数据手套中弯曲传感器的特性更贴合,从而可进一步提高手势动作的识别准确率,使得手势的判定结果更为可靠。
本实施例中,所述手势动作数据通过数据手套采集,所述数据手套包括用于采集手势姿态角数据的运动处理组件和与运动处理组件连接的主控模块;
应当理解的是,数据手套与翻译终端之间可以但不仅限于采用蓝牙连接、USB串口连接或WiFi连接等方式进行连接,此处不予限制。
现有技术中,数据手套在随着用户表达手语动作的过程中,主控模块可通过运动处理组件对数据手套绕世界坐标系旋转的欧拉角进行实时采样,数据手套三个世界坐标系轴线上的欧拉角分为翻转角roll、俯仰角pitch和航向角yaw。但由于涉及到手部姿态以及方位信息,数据手套在使用过程中往往会涉及到初始视角方位具有随机性的问题,其中,航向角yaw用于测量的是用户手部在地理方位上的变化,是手部动作中一个重要的测量参数。数据手套在使用过程中,航向角yaw会随着用户所处的地理方位变化而变化,使得用户在使用数据手套表达手语时,由于所站立的方位具有随机性原因,导致数据手套正面视角起始的方位也具有随机性,呈现出来的效果是用户在做同一个手语动作时,由于所处的地理视角方位不一致,所表达出来的手语动作信号特征在视角方位上截然不同。从而无法达到使用同一个动作信号特征,去解释不同方位的同一种手语动作。为解决上述技术问题,本实施例中,所述手语互译方法还包括视角方位校准方法,所述视角方位校准方法基于主控模块实现,所述视角方位校准方法包括以下步骤:
D1.设定数据手套的航向角偏移量offsetyaw为零;
D2.实时获取运动处理组件初始运行时的四元数,其中四元数Quaternion={q0,q1,q2,q3};
D3.根据四元数的方向余弦阵和欧拉角的转换关系,将四元数转换成欧拉角,其中,欧拉角Eular={roll,pitch,yaw},roll为数据手套的翻转角,pitch为数据手套的俯仰角,yaw为数据手套的航向角;
对欧拉角中的角度数据roll、pitch和yaw基于滤波公式分别进行一阶平滑滤波处理,得到处理后角度数据;其中,滤波公式为:Yn=0.7Xn+0.3Yn-1。其中,Yn为目标角度的输出值,Xn为目标角度的本次采样值,Yn-1为目标角度的上一次滤波输出值,滤波系数为0.7;
D4.标记当前航向角输出值为yaw',并判断是否检测到数据手套触发的开始手势,若是,则重新设定数据手套的航向角偏移量offsetyaw=yaw',若否,则不动作;其中,开始手势由用户佩戴数据后套后触发,开始手势如为手臂从自然下垂状态时手指紧握的手势;
D5.设定校准后航向角yaw=yaw'-offsetyaw,以偏移量offsetyaw对输出航向角yaw进行校准,进而完成数据手套的视角方位校准;
通过视角方位校准方法,可实现消除手势姿态角数据出现误差积累的作用,使得听障人士表达的每一套动作都建立在校准后的视角方位上,使得手势姿态角数据更能够反应出听障人士手语所表达的思想含义。具体地,在实施过程中,主控模块可以在用户即将开始表达手语时,将偏移后航向角yaw'方向上的视角数据定义为初始视角数据,为后续动作的航向角方向上的视角方位校准提供偏移量。在此过程中,主控模块不仅可以对航向角角度数据进行校准,同时也可计算出翻转角roll和俯仰角pitch的角度值。因此通过周期性循环执行视角方位校准方法的步骤,主控模块即能够实时获取用户当前手势的欧拉角Eular={roll,pitch,yaw}。
具体地,本实施例中,弯曲传感器采用电流式双向弯曲传感器,运动处理组件采用型号为MPU9250的9轴运动处理组件,在手指弯曲数据校准方法和视角方位校准方法步骤的执行过程中,数据手套通过主控模块,对弯曲传感器和运动处理组件进行自动化实时在线读取数据,并对弯曲传感器读值进行归一化,以及对运动处理组件的视角方位校准,为整个手语翻译过程,提供了具有更高标准的手势动作数据。
具体地,本实施例中,电流式双向弯曲传感器采用如公开号为CN110095086A的中国专利所公开的电流式双向弯曲传感器实现,其应用场合范围广,在角度测量上十分方便,同时还具有较高的测量精度。该电流式双向弯曲传感器的两端分别为电流输入端和电流输出端,其中,电流式双向弯曲传感器的两端通过采集接口与主控模块电连接,此处不予赘述。
其中,主控模块通过驱动MPU9250内部的数字运动处理器(DMP),实现实时解算出表征姿态信息的四元数。主控模块将四元数转换成欧拉角之前,需预先将四元数的每个元素除以230还原为浮点数,再根据四元数方向余弦阵和欧拉角的转换关系,通过asin()和atan2()函数表达式,将四元数转换成欧拉角数据,转换表达式如:
在本实施例中,数据手套以逐帧的方式,通过信息采集交换接口进行周期性的发送手势动作数据。示例性的,数据手套在t0时刻,采集并对外发送的数据帧格式为:
Framet0={F1t0,F2t0,F3t0,F4t0,F5t0,pitcht0,rollt0,yawt0},共计8个通道数据,其中F1到F5分别为5根手指的手指弯曲数据,F1t0,F2t0,F3t0,F4t0,F5t0为5根手指在t0时刻的手指弯曲数据,pitch、roll、yaw为不同欧拉角的手势姿态角数据。
其中,数据手套检测到用户开始表达手语时,开始向翻译终端发送手指弯曲数据和/或手势姿态角数据;数据手套检测到用户结束表达手语时,结束对翻译终端发送数据手指弯曲数据和/或手势姿态角数据。
在此过程中,为实现检测用户开始与结束表达手语的功能,数据手套采用触发特定手势的方式,通过主控模块实时检测用户手部姿态和手指弯曲状态。示例性的,设校准弯曲传感器读值的标准量程为[0,100],当检测到手指弯曲数据为Frame={F1∈[90,100],F2∈[90,100],F3∈[90,100],F4∈[90,100],F5∈[90,100],P∈[-50,-90],R∈[-180,180),Y∈[-180,180)}时,表示手部自然下垂的状态下,五根手指弯曲握拳,则根据该手指弯曲数据得到的非线性校准数值,判定手势结果为当前用户开始表达手语,并将该手势结果定义为开始手势;当检测到手指弯曲数据为Frame={F1∈[90,100],F2∈[0,10],F3∈[0,10],F4∈[0,10],F5∈[0,10],P∈[-50,-90],R∈[-180,180),Y∈[-180,180)}时,表示手部自然下垂的状态下,拇指紧握,其余四指展开伸直,则根据该手指弯曲数据得到的非线性校准数值,判定手势结果为当前用户结束表达手语,并将该手势结果定义为结束手势;等。应当理解的是,手势结果还可为不同含义手语对应的手势结果,此处不予赘述。其中,开始手势和结束手势设定为特定手势。
实施例2:
本实施例提供一种手语互译系统,用于实现实施例1中的手语互译方法,所述手语互译系统包括翻译终端;如图5所示,所述翻译终端包括手语翻译模块、语音识别模块、中文分词模块、语音合成模块和手语动画合成模块;
所述手语翻译模块,用于接收手势动作数据,并将手势动作数据转换为第一文字信息,然后将第一文字信息发送至语音合成模块;
所述语音合成模块,用于接收当前第一文字信息,并对当前第一文字信息进行语音合成处理,得到手语翻译语音信息;
所述语音识别模块,用于接收语音数据,并将语音数据转换为第二文字信息,然后将第二文字信息发送至中文分词模块;
所述中文分词模块,用于接收第二文字信息或外部输入的第三文字信息,并对当前第二文字信息或第三文字信息进行解析,得到分词后第二文字信息或分词后第三文字信息,然后将分词后第二文字信息或分词后第三文字信息发送至手语动画合成模块;本实施例中,中文分词模块对第二文字信息或第三文字信息进行解析时,可实现对自然语言的语法解析及中文分词;
所述手语动画合成模块,用于接收并处理分词后第二文字信息或分词后第三文字信息,得到与当前分词后第二文字信息或分词后第三文字信息匹配的手语动画信息。
本实施例中,所述手语互译系统还包括数据手套;所述数据手套包括弯曲传感器、运动处理组件和主控模块,本实施例中,所述主控模块与弯曲传感器和运动处理组件电连接;
所述弯曲传感器,用于获取手指弯曲数据,然后将手指弯曲数据发送至主控模块;
所述运动处理组件,用于获取手势姿态角数据,然后将手势姿态角数据发送至主控模块;
所述主控模块,用于获取手势动作数据,然后将手势动作数据发送至手语翻译模块;其中,所述手势动作数据包括手指弯曲数据和手势姿态角数据。
本实施例中,如图6所示,所述手语翻译模块包括特征提取单元、日常手语模板库、自定义手语模板库和手语识别单元;
所述特征提取单元,用于接收手势动作数据,并从手势动作数据提取关键帧集,然后将关键帧集发送至手语识别单元;
所述手语识别单元,用于接收由特征提取单元发送的关键帧集,并将关键帧集与日常手语模板库和/或自定义手语模板库中的手语模板数据进行特征匹配,得到与关键帧集对应手势模板的第一文字信息,然后将第一文字信息发送至语音合成模块。应当理解的是,日常手语模板库和自定义手语模板库内均含有多个与手势动作数据对应的手势模板,以及与手势模板匹配的第一文字信息。
具体地,本实施例中,经特征提取单元从数据手套中主控模块接收手势动作数据,并提取出具备高信息量的关键帧集。再由手语识别单元将关键帧集分别与日常手语模板库和自定义手语模块库中的所有手语模板数据进行特征匹配;若能够从日常手语模板库或自定义手语模块库中甄别出与关键帧集在数据特征上具有较高吻合度,且匹配置信度最优的手语模板,则将该手语模板作为所述手语识别结果,然后将该手语模板对应的第一文字信息进行输出,并将第一文字信息发送至语音合成模块转换成手语翻译语音信息,以通过移动设备显示和播放出来。
本实施例中,特征提取单元通过信息交换接口接收由数据手套中主控模块发送的手势动作数据,具体地,信息交换接口用于缓存数据手套上传的手势动作数据。由于数据手套周期性上传的每一帧数据都固定为8个通道数,因此采用二维数组A[n][8]的数据结构,对手势动作数据进行缓存,其中,
其中,A[n][8]的行向量序列[[F1t0,…,Rt0,Yt0],[F1t1,…,Rt1,Yt1],…,[F1tn,…,Rtn,Ytn]]表示每个元素以一帧数据为单位,共有n个元素的序列;A[n][8]的列向量序列[[F1t0,F1t1,…,F1n-1,F1n],[F2t0,F2t1,…,F2n-1,F2n],…,[Yt0,Yt1,…,Yn-1,Yn]]表示每个元素以单通道时序数据为单位,共有8个元素的序列。
由于手语在表述时,用户的手部动作具有连贯性,而手语中一些关键的动作,往往具有重要的信息。如,用户在表述“一二三四五六七八九十”这句话的手语连贯动作时,用户在表达“一”的特定手势动作之后,手势上会从“一”趋向于“二”的特定动作。其中,“一”和“二”这类特定的手势动作属于关键手势,而从“一”手势动作变化到“二”手势动作的过程中,属于过渡手势。在手语表达中,关键手势往往被清晰的表达出来,而过渡手势在动作变化趋势上相对模糊。因此,用户在表达手语时,数据手套所采集到的手势动作数据中,关键手势部分的数据变化趋势相对稳定,而过渡手势部分的数据变化趋势相对起伏。由此,特征提取单元用于从手势动作数据中提取出具备高信息量的关键帧集,即为手势动作中关键动作的特征数据。
本实施例中,将一段连续时间内的手势动作数据指代为手语时序数据,根据手语时序数据的波动特性,特征提取单元通过对每一维通道的时序数据进行一阶求导,可计算出该维度时序数据的变化率。并根据每个维度上时域数据的变化率,通过标准差公式计算出离散程度相对较小的多个关键帧。其中的关键帧,是指从手语时序数据提取到的关键手势动作数据,具有在时域数据上变化趋势相对较小的特征。
具体地,对手语时序数据进行特征提取的方法具体包括以下步骤:
E1.收到的手语时序二维数组A[n][8],通过特征提取单元对A[n][8]提取出列向量序列的每个元素,并对每个元素分别进行一阶求导计算,将求导后计算出的数据按时序秩序组生成二维数组B[n-1][8];
E2.将二维数组B行向量序列的每个元素分别进行标准差计算,计算结果体现了该元素数据集的离散程度。依据计算的秩序将每个标准差计算结果值组合生成一维数组a[n-1];
E3.设定阈值K,遍历数组a[n-1],并逐个元素与K值对比,对低于阈值K的元素值的索引进行标记;
E4.将标记后的索引集导入二维数组A[n][8]中,根据索引位置提取出数组A[n][8]中行向量的关键帧数据;其中,关键帧数据不为零。
本实施例中,手语数据库包括日常手语模板库和自定义手语模板库。其中,日常手语模板库为手语翻译模块预置的一个固定手语模板库,集成了听障人士日常交流的多个手语模板,且每个手语模板都由8个通道的时序数据组成,如二维数组A[n][8],并可通过网络通信单元接入云服务器进行数据更新。而自定义手语模板库是面对用户开放性的增量库,每个手语模板都由8个通道的时序数据组成,如二维数组A[n][8],自定义手语模板库允许用户自由录入自定义的手语动作,由用户进一步对手语数据库模板的个性化补充,使得手语模板库数据能进一步满足用户个性化需求,让手语翻译系统能够兼容多用户的手语表达习惯,使得手语翻译过程具有更高的可拓展性和灵活性,给用户带来良好的体验效果。
手语识别单元具有分析手势动作数据特征、识别手语动作、统计手语识别结果等功能。具体的,当用户手势动作经特征提取单元提取到的关键帧集之后,手语识别单元能够结合手语模板库对关键帧集进行匹对识别,并将识别结果输出为第一文字信息,然后将第一文字信息发送至语音合成模块。随着用户进行手语翻译次数的增多,手语识别单元逐渐积累大量的手语翻译结果,并统计每一次手势动作和手语识别结果的特征差异,能够分析出用户进行手语表达时的动作习惯,深度挖掘数据特征去拟合用户动作习惯。并能够根据用户上一次识别结果,提取相关时序信号的最小值,最大值,极大值和极小值,修正手语数据库数据特征辨别权重,使得数据库不断趋向于用户手语动作习惯,为下一次手语识别提供经验值。当用户进行新的一轮手语动作表达时,手语翻译模块能够根据历史数据学习到的经验值,强化手语翻译模块对用户手语识别的可靠性。
进行手语动作识别过程中,包括如下步骤:
F1.将待处理的手势动作数据输入到特征提取单元,提取出关键帧集A;
F2.遍历自定义手语库与日常手语库中所有的手语模型,对每个时序数据帧的数据点设定容忍区间。根据容忍区间的上限与下限,将每个手语模型的时序数据帧由线扩大成面;
F3.遍历关键帧集A,取出其中一项关键帧f;
F4.将自定义手语库和日常手语库中的所有手语模板与关键帧f进行匹配,如果某一项手语模板的数据帧容忍区间涵盖关键帧f,则对该手语模板进行置信度累加;
F5.循环重复步骤F3与步骤F4,直至将关键帧集A中所有的关键帧都与手语库中所有模板完成匹配;
F6.统计手语库中所有手语模板与关键帧集A的匹配结果,将置信度最优的手语模板作为本次手语识别结果。
F7.将手语识别结果的文字信息进行显示,及合成语音播报。
本实施例中,所述手语动画合成模块包括手语动画组合单元和手语动画数据库;
当语音识别模块检测到语音输入时,将待处理的语音信息进行识别,识别结果以文字的形式传输到中文分词模块中;类似的,系统也支持外部手动输入文字,输入的文字信息被直接传输到中文分词模块中;所述中文分词模块将输入的文字信息(第二文字信息或第三文字信息)进行分词操作,形成多个独立的词语,即分词后第二文字信息或分词后第三文字信息;调用手语动画合成模块,将分词后第二文字信息或分词后第三文字信息去检索出手语动画库中与之对应文字标签的动画数据,根据文字标签一一对应的关系,匹配出每个关键词语的手语动画数据;手语动画组合单元把相互独立的动画数据,使用过渡动作插帧的方式,将多个独立的手语动画数据组合成一组连贯的手语动画结果。所述手语动画结果代表了所述输入语音及文字的思想内容。
本实施例中,通过语音识别模块将外部输入的话音识别成自然语言L,或者通过键盘等媒介输入自然语言L。将自然语言L通过中文分词模块进行分词,生成Words={Word1,Word2,...,Wordn},其中n≥0。如自然语言L=“今天是星期五”输入到中文分词模块进行分词,生成Words={“今天”,“是”,“星期”,“五”}。随后,手语动画模块中的手语动画组合单元能够根据Words的词语信息,检索本地手语动画数据库,并将检索到的动画数据,经过手语动画组合单元生成一组连贯的手语动画结果,其动画结果抽象表述为虚拟动画小人在显示屏上播放连贯的手语动作。
所述手语动画数据库涵盖多个独立的手语动画序列。每一个动画序列包含多个动画关键帧,这些动画关键帧表述为虚拟动画小人在周期性的时间点上,其手指弯曲状态的数据,以及手臂关节旋转状态的数据。每一个手语动画序列由系统预先录入并存储在ROM内存上。每个动画序列都存在唯一的文字标签,其文字内容所表达的思想与虚拟动画小人的手语意思一致。同时,文字标签还适用于和输入的词语进行匹配。
所述手语动画组合单元负责将多个独立的手语动画数据,进行插帧组合。由于每个独立的手语动画数据具有边界性和高内聚的特征,直接对两个独立的手语动画进行增量组合时,容易出现两个手语动画的数据边界具有突变性,导致手语动画在表达过程出现手势动作跳变,使得手语动画的动作不具备连贯效果。因此,手语动画组合单元把相互独立的动画数据,使用过渡动作插帧的方式,将多个独立的手语动画数据组合成一组连贯的手语动画结果。
本实施例中,手语动画组合单元对两组数据进行补帧组合的步骤如下:
G1.将自然语言L输入到中文分词模块,生成Words={Word1,Word2,...,Wordn},其中n≥1;
G2.根据Words的词汇信息输入到手语动画数据库,检索出手语动画序列集合Sequence={S1,S2,...,Sn},其中n≥1。其中每个动画序列S分别存在若干个关键帧F,即Sn={Fn1,Fn2,...,Fnk},其中k≥1;
G3.读取手语动画序列集合Sequence,对两两相邻的动画序列之间分别插入过渡帧占位符T;
G4.遍历手语动画序列集合Sequence,依据排列次序读取出所有动画序列的关键帧,组合成集合K;
G5.将关键帧集合K中的所有关键帧数据通过三阶样条插帧法,实现对过渡帧占位符进行赋值插帧;
G6.依据时序次序将所有关键帧数据与过渡帧数据组合成一组连贯的手语动画数据;
G7.对手语动画组合结果渲染到虚拟动画小人进行播放。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
最后应说明的是,本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。