专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
一种基于达芬奇技术的手语识别翻译方法

一种基于达芬奇技术的手语识别翻译方法

IPC分类号 : G06K9/66

申请号
CN201410764770.3
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日: 2014-12-12
  • 公开号: CN104463250A
  • 公开日: 2015-03-25
  • 主分类号: G06K9/66
  • 专利权人: 广东工业大学

专利摘要

本发明提出一种基于达芬奇技术的手语识别翻译方法,所述方法包括以下步骤:采集手语者的动作视频;在前景图像中提取肤色块;计算提取到的肤色块的深度信息,并根据肤色块的深度信息对脸部区域进行定位;根据肤色块的深度信息对手部进行定位并提取关键帧并修补填充肤色块;提取关键帧的一种或多种手型特征;根据提取的手型特征,使用单个分类器进行分类或者使用多个分类器进行投票表决,得到静态手势识别结果;对手势的运动轨迹进行识别,得到轨迹识别结果;对静态手势识别结果和轨迹识别结果进行纠错与拼接,得到手语的识别翻译结果。本发明具有识别率高、实时性强的优点。

权利要求

1.一种基于达芬奇技术的手语识别翻译方法,其特征在于,所述方法包括以下步骤:

S1:采集手语者的动作视频,对视频流建立背景,当前帧与背景作差得到前景图像;

S2:在前景图像中提取肤色块;

S3:计算提取到的肤色块的深度信息,并根据肤色块的深度信息对脸部区域进行定位;

S4:根据肤色块的深度信息对手部进行定位并提取关键帧,并对关键帧的手部区域肤色块进行修补填充,所述关键帧为手部在一个区域内停留达到预设帧数的帧;

S5:提取关键帧的一种或多种手型特征;

S6:根据提取的手型特征,使用单个分类器进行分类或者使用多个分类器进行投票表决,得到静态手势识别结果;

S7:对手势的运动轨迹进行识别,得到轨迹识别结果;

S8:对静态手势识别结果和轨迹识别结果进行纠错与拼接,得到手语的识别翻译结果。

2.根据权利要求1所述的基于达芬奇技术的手语识别翻译方法,其特征在于,所述方法还包括:步骤S1中,使用2个摄像头同时采集手语者的动作视频,首先调整摄像头使2个摄像头水平,然后分别对2个摄像头采集的视频流建立背景,选取某一帧图像作为初始的背景,当前帧与背景作差得到前景图像,使用均值漂移的方法对背景进行更新。

3.根据权利要求1所述的基于达芬奇技术的手语识别翻译方法,其特征在于,所述方法还包括:步骤S2中,使用高斯肤色模型在前景图像中提取肤色块。

4.根据权利要求2所述的基于达芬奇技术的手语识别翻译方法,其特征在于,所述方法还包括:步骤S3中,2个摄像头采集到的肤色块的重心点相互对应,计算这些相互对应的重心点之间的欧氏距离,即可得到这些肤色块的深度信息;

相对应的肤色块的重心点距离越大,则该肤色块离摄像头越近,在准备阶段,脸部和手部与摄像头的距离一样,而使用者背后的肤色物体的深度信息明显与脸部区域的不同,再根据双手和脸部区域的相对位置,即可对脸部区域进行定位。

5.根据权利要求1所述的基于达芬奇技术的手语识别翻译方法,其特征在于,所述方法还包括:步骤S4中,在做手语手势时,离摄像头最近的运动肤色块为手部,而远的运动肤色块为脸部或其他运动的肤色物体,根据这一特性对手部进行定位,然后提取关键帧,并使用感知器算法对手部区域肤色块进行修补填充,所述关键帧为手部在一个区域内停留达到预设帧数的帧。

6.根据权利要求1所述的基于达芬奇技术的手语识别翻译方法,其特征在于,所述方法还包括:步骤S5中,提取关键帧的归一化傅里叶描述子、手型骨架和指尖数目的特征,具体方法为:

首先提取手型骨架特征:将手势图像用最小的矩形包围住,把该矩形四等分,计算出各块图像的重心点,将四个重心点连接成一个四边形,计算出该四边形的各边长、对角线长、矩形度、角度共同作为手型骨架的特征;

然后提取归一化傅里叶描述子特征;

最后提取指尖数目特征,计算手势轮廓的曲率,若某段轮廓的曲率大于预设的阈值则该段为指尖,判断出该手势伸出了多少根手指,即为指尖数目特征。

7.根据权利要求1所述的基于达芬奇技术的手语识别翻译方法,其特征在于,步骤S6中,投票表决的方法如下:

先对每个分类器所能投的票数进行初始化;统计各个先前训练好的分类器的识别结果,采用奖惩方式调整各分类器所能投出的票数;根据各分类器所能投的票数,按手势特征与分类器各类的相似程度进行分散投票,最相似者票数最多,票数最多的一类作为为识别结果。

8.根据权利要求1所述的基于达芬奇技术的手语识别翻译方法,其特征在于,步骤S7中,采用分层的轨迹识别方法对手势的运动轨迹进行识别,其具体方法包括以下步骤:

(1)先进行第一层的轨迹识别,以两个关键帧之间的轨迹点坐标,使用Freeman链码对这些轨迹点进行编码,使其连成一个链码序列用于短轨迹的识别;

(2)将轨迹点数分成4、8、12、16个点四种,对于实际的短轨迹段的长度则按这四种情况进行轨迹点数的调整,即根据各坐标点的间距,进行补点或删点,使长度达到四种点数的其中一种;

(3)设定多种基本情况的短轨迹类型,如向左、向上、向坐上等类型,使这些短轨迹能组成各种各样的长轨迹,并根据短轨迹首末坐标点进行轨迹的移动方向的分类;

(4)根据短轨迹的长度,将目标短轨迹与事先训练好的有可能与之相匹配的短轨迹类型使用简单的欧氏距离公式计算相似度,以完成短轨迹识别,得到短轨迹的识别结果编号,因为短轨迹的轨迹点少,所以短轨迹并不需要事先训练,只需要按Freeman链码所设定的方向编号自行设定短轨迹的类型即可;

(5)计算出短轨迹的长度,并将其起始点、终点的坐标和短轨迹的长度保存下来;

(6)进行第二层的长轨迹处理,将各个短轨迹的识别结果进行续接排列起来作为HMM的观察序列O;

(7)使用Viterbi算法对长轨迹进行识别,将采集到的观察序列O输入到Viterbi函数中,利用Viterbi算法计算出观察序列O在各个事先训练好的长轨迹模型λ下的概率P(O|λ),并重复迭代直至收敛,将最接近的模型对应的轨迹作为识别结果。

9.根据权利要求1所述的基于达芬奇技术的手语识别翻译方法,其特征在于,步骤S8中,首先使用Bigram模型对词根序列进行第一层纠错,然后使用Trie索引树进行第二层的纠错处理。

说明书

技术领域

本发明涉及图像处理、模式识别领域,更具体地,涉及一种基于达芬奇技术的手语识别翻译方法。

背景技术

在日常生活中,打手势、做手语是一种重要的交流方式。对于聋哑人们来说,手语更是必不可少。然而多数人对手语并不够了解,所以为了让人们能够看懂手语,手语识别的研究也随之展开。最开始出现的手语翻译系统是基于数据手套的,识别效果比较可观,但造价昂贵,也不利于携带。人们便逐渐聚焦在基于视觉的手语翻译系统的研究中,但却也面临着系统识别率低、实时性差额、不便于携带和系统成本较高等问题,对手语翻译系统的普及造成很大的困难。

发明内容

本发明克服上述现有技术所述的系统识别率低、实时性差额、不便于携带和系统成本较高的缺陷,提供一种识别率高、实时性强的基于达芬奇技术的手语识别翻译方法。

为解决上述技术问题,本发明的技术方案如下:

一种基于达芬奇技术的手语识别翻译方法,所述方法包括以下步骤:

S1:采集手语者的动作视频,对视频流建立背景,当前帧与背景作差得到前景图像;

S2:在前景图像中提取肤色块;

S3:计算提取到的肤色块的深度信息,并根据肤色块的深度信息对脸部区域进行定位;

S4:根据肤色块的深度信息对手部进行定位并提取关键帧,并对关键帧的手部区域肤色块进行修补填充,所述关键帧为手部在一个区域内停留达到预设帧数的帧;

S5:提取关键帧的一种或多种手型特征;

S6:根据提取的手型特征,使用单个分类器进行分类或者使用多个分类器进行投票表决,得到静态手势识别结果;

S7:对手势的运动轨迹进行识别,得到轨迹识别结果;

S8:对静态手势识别结果和轨迹识别结果进行纠错与拼接,得到手语的识别翻译结果。

在一种优选的方案中,所述方法还包括:步骤S1中,使用2个摄像头同时采集手语者的动作视频,首先调整摄像头使2个摄像头水平,然后分别对2个摄像头采集的视频流建立背景,选取某一帧图像作为初始的背景,当前帧与背景作差得到前景图像,使用均值漂移的方法对背景进行更新。

在一种优选的方案中,所述方法还包括:步骤S2中,使用高斯肤色模型在前景图像中提取肤色块。

在一种优选的方案中,所述方法还包括:步骤S3中,2个摄像头采集到的肤色块的重心点相互对应,计算这些相互对应的重心点之间的欧氏距离,即可得到这些肤色块的深度信息;

相对应的肤色块的重心点距离越大,则该肤色块离摄像头越近,在准备阶段,脸部和手部与摄像头的距离一样,而使用者背后的肤色物体的深度信息明显与脸部区域的不同,再根据双手和脸部区域的相对位置,即可对脸部区域进行定位。

在一种优选的方案中,所述方法还包括:步骤S4中,在做手语手势时,离摄像头最近的运动肤色块为手部,而远的运动肤色块为脸部或其他运动的肤色物体,根据这一特性对手部进行定位,然后提取关键帧,并利用感知器算法对手部肤色块进行修补填充,所述关键帧为手部在一个区域内停留达到预设帧数的帧。

在一种优选的方案中,所述方法还包括:步骤S5中,提取关键帧的归一化傅里叶描述子、手型骨架和指尖数目的特征,具体方法为:

首先提取手型骨架特征:将手势图像用最小的矩形包围住,把该矩形四等分,计算出各块图像的重心点,将四个重心点连接成一个四边形,计算出该四边形的各边长、对角线长、矩形度、角度共同作为手型骨架的特征;

然后提取归一化傅里叶描述子特征;

最后提取指尖数目特征,计算手势轮廓的曲率,若某段轮廓的曲率大于预设的阈值则该段为指尖,判断出该手势伸出了多少根手指,即为指尖数目特征。

在一种优选的方案中,步骤S6中,投票表决的方法如下:

先对每个分类器所能投的票数进行初始化;统计各个先前训练好的分类器的识别结果,采用奖惩方式调整各分类器所能投出的票数;根据各分类器所能投的票数,按手势特征与分类器各类的相似程度进行分散投票,最相似者票数最多,票数最多的一类作为为识别结果。

在一种优选的方案中,步骤S7中,采用分层的轨迹识别方法对手势的运动轨迹进行识别,其具体方法包括以下步骤:

(1)先进行第一层的轨迹识别,以两个关键帧之间的轨迹点坐标,使用Freeman链码对这些轨迹点进行编码,使其连成一个链码序列用于短轨迹的识别;

(2)将轨迹点数分成4、8、12、16个点四种,对于实际的短轨迹段的长度则按这四种情况进行轨迹点数的调整,即根据各坐标点的间距,进行补点或删点,使长度达到四种点数的其中一种;

(3)设定多种基本情况的短轨迹类型,如向左、向上、向坐上等类型,使这些短轨迹能组成各种各样的长轨迹,并根据短轨迹首末坐标点进行轨迹的移动方向的分类;

(4)根据短轨迹的长度,将目标短轨迹与事先训练好的有可能与之相匹配的短轨迹类型使用简单的欧氏距离公式计算相似度,以完成短轨迹识别,得到短轨迹的识别结果编号,因为短轨迹的轨迹点少,所以短轨迹并不需要事先训练,只需要按Freeman链码所设定的方向编号自行设定短轨迹的类型即可;

(5)计算出短轨迹的长度,并将其起始点、终点的坐标和短轨迹的长度保存下来;

(6)进行第二层的长轨迹处理,将各个短轨迹的识别结果进行续接排列起来作为HMM的观察序列O;

(7)使用Viterbi算法对长轨迹进行识别,将采集到的观察序列O输入到Viterbi函数中,利用Viterbi算法计算出观察序列O在各个事先训练好的长轨迹模型λ下的概率P(O|λ),并重复迭代直至收敛,将最接近的模型对应的轨迹作为识别结果。

在一种优选的方案中,步骤S8中,首先使用Bigram(二元文法)模型对词根序列进行第一层纠错,然后使用Trie(字典树)索引树进行第二层的纠错处理。

与现有技术相比,本发明技术方案的有益效果是:本发明基于达芬奇技术的手语识别翻译方法,采用达芬奇技术实现手语识别翻译,达芬奇技术相比传统的数据手套具有便于携带、低成本的优点;本发明通过对深度信息的提取实现手部和脸部的定位,运算量更少,定位更加快捷准确;本发明使用感知器算法对手部肤色块进行修补填充,削弱了光照对手部肤色提取的影响,使肤色提取更完整;本发明使用傅里叶描述子分类器、手型骨架分类器和指尖数目分类器进行投票表决,将三个分类器组合起来共同对静态手势进行识别的方法使得静态手势识别率大大提高;本发明使用Bigram模型和trie索引树对词根进行双层纠错处理,提高句子识别的正确率。

附图说明

图1为本发明的硬件结构图。

图2为本发明的DM6446处理器的功能图。

图3为本发明的方法原理图。

图4为本发明的肤色块(手部+脸部)提取的结果示例图。

图5为本发明的肤色块(手部)提取的结果示例图。

图6为本发明的感知器肤色填充的结果示例图。

图7为本发明的种子填充寻找最大连通域的结果示例图。

图8为本发明的手型骨架特征提取的结果示例图。

图9为本发明的轮廓检测的结果示例图。

图10为本发明的指尖数目特征提取的结果示例图。

图11为本发明的轨迹识别算法对部分轨迹进行统计识别率的检测图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

一种基于达芬奇技术的手语识别翻译方法,所述达芬奇技术由达芬奇处理器、达芬奇软件、达芬奇开发工具和达芬奇技术支持系统等组件优化构成。

如图1所示,达芬奇处理器采用DM6446处理器,DM6446处理器就是一款利用达芬奇技术面向视频和图像处理的多功能高速芯片,具有高性能、低功耗、低成本等优点,采用ARM子系统+DSP子系统双核架构开放架构,其中ARM子系统采用ARM926E-J内核,工作主频为297MHz,DSP子系统采用C64x+内核并携带视频加速器,工作主频为594MHz。DM6446处理器还包括VPSS(视频处理子系统)和外围设备,VPSS输入摄像头采集的视频图像,输出视频图像到显示屏;外围设备包括DDR SDRAM和SD卡;ARM子系统、DSP子系统、VPSS和外围设备之间通过交换中央资源(SCR)进行通信。

如图2所示,达芬奇软件的框架共分为应用层、信号处理层和I/O层三部分,其中信号处理层运行在DSP端,实现接收双摄像头输入的手语视频、静态手势识别、轨迹识别以及词根的纠错和拼接;而应用层则运行在ARM端,实现OSD图像叠加、添加字幕。

如图3所示,所述手语识别翻译方法包括以下步骤:

S1:采用2个摄像头分别采集手语者的动作视频,对视频流建立背景,当前帧与背景作差得到前景图像。

调整摄像头位置:将两型号相同的电视线为420的CCD摄像头大致平行放在一起,连接好各摄像头与DM6446之间的视频输入线。分别截取输入到DM6446中的两个视频流中的同一帧图像,忽略输入视频流中的Cb和Cr部分的数据,取一个较大的值,将视频图像阈值化。寻找一块特征较明显的像素块,如一些角点。通过对这些像素块的定位,对两个摄像头进行位置的调整,使之接近完全平行,后将其相互固定下来,以后便可直接使用。其目的在于对于平行的摄像头,在做深度图像生成时只需要对目标点进行左右搜索即可,可减少运算量、提高运算速度。对于使用双目摄像机的可省略此步,直接放平摄像机即可。

在调整好摄像头后,分别对两个摄像头传到DM6446中的视频流建立背景,为保留一定的缓冲时间,可将在第6帧的图像存下作为背景图像。而后,用当前帧与背景的差值便可得到前景图像,将判定为前景的部分用mask(x,y)表示,将dst(x,y)表示累计得到的背景图像,src(x,y)表示当前图像,用常数a表示漂移程度,使用均值漂移的方法对背景进行更新,在一定程度上减少光照影响,公式如下:

dst(x,y)=(1-a)·dst(x,y)+a·src(x,y)ifmask(x,y)≠0

S2:使用高斯肤色模型在前景图像中提取肤色块;

在检测到的运动前景的区域内,使用高斯肤色模型进行肤色的提取,提取运动肤色结果如图4-5所示。而后面所要用到的头部位置和手部位置则将会在这些肤色块的某一部分中。

S3:计算提取到的肤色块的深度信息,并根据肤色块的深度信息对脸部区域进行定位;

计算面积较大或面积小但有多块聚集在一起的肤色块各自的重心点。因为两个摄像头所拍摄的景物一致,光照相同,且使用的算法也一样,所以得到的这些肤色块重心点也各自相互对应。由此,通过计算这些对应的重心点的相对位置的欧氏距离,便可以知道这些肤色块的深度信息。相对位置距离大者离摄像头近,反之则远。

在得到这些肤色块的大致深度信息后,即可进行脸部区域的定位。脸部的定位在开始做手语之前的准备阶段中进行。在准备阶段,脸部和手部与摄像机的距离几乎一样,而正常情况下使用者与摄像机之间不会有物体挡住,而使用者背后的肤色物体的深度信息明显与脸部区域的不同,再根据双手和脸部区域的相对位置,可简单准确地对脸部区域进行定位。

S4:根据肤色块的深度信息对手部进行定位并提取关键帧,所述关键帧为手部在一个区域内停留达到预设帧数的帧;

在完成脸部定位后,进行手语识别阶段。根据实际情况,在做手语手势时,离摄像头最近的运动肤色块为手部,而远的运动肤色块为脸部或是一些运动的肤色物体。可根据这一点对手部的大致位置进行定位。

在得到手部和脸部的位置坐标后,可对两个摄像头的其中一个传回来的视频流进行后面识别操作。先分析手部的运动情况,当手部停留在一个区域达到三帧以上,则可认为该帧为关键帧。为了减少运算量,简化识别结果,仅需要对关键帧中的手势部位进行静态手势的识别处理。

本发明中使用是基于YCbCr颜色空间的肤色提取,亮度Y会影响到肤色在该颜色空间的投影,不同光照下提取的效果也不同,会导致有部分亮度不太合适的肤色部分检测不到,所以不能将提取到的手部的肤色图像直接用作识别。

为了解决这个问题,本发明使用感知器算法对检测到的肤色图像进行填充。感知器是二类线性分类模型,令w为权向量,X为输入,则其判别函数如下:

d(x)=wTX

令Se是在训练时为被w错误分类的样本集合,而感知器准则函数定义为:

J(w)=ΣX(i)Se(-wTX(i))]]>

当准则函数达到最小值时,其对应的w就是所需要的权向量。所以对于是否为肤色,针对YCbCr颜色空间,可对Y、Cb、Cr三个分量分别赋上一个权值,公式如下:

d(x)=Y*wy+Cb*wcb+Cr*wcr

训练过程采用梯度下降法,具体步骤如下:

(1)整理训练样本。将训练样本中为肤色的像素的Y、Cb、Cr分量数值保存下来,并附上标签+1,表示该点为肤色点;将训练样本中非肤色像素的Y、Cb、Cr分量数值转变为绝对值相等的负数保存下来,并附上标签-1,表示该点为非肤色点;

(2)初始化各个权向量wy=wcb=wcr=1,设定迭代步长c(k)=1。

(3)对全部样本点进行搜索,对与标签为+1的数值,其权值不作改变,对于标签为-1的数值使用如下迭代公式,更新权值。

w(k+1)=w(k)+c(k)ΣX(i)SeX(i)]]>

在离线训练后,得到的Y、Cb、Cr分量对应的使准则函数达到最小值的权值后,在判别时即可直接使用。利用公式d(x)=Y*wy+Cb*wcb+Cr*wcr对像素点是否为肤色进行判别,当d(x)>0时,判别为肤色,当d(x)<0时,则判别为非肤色。本发明中针对在YCbCr颜色空间对肤色进行过滤受光照影响大的问题,在肤色过滤后使用感知器算法对手部肤色块进行修补填充,如图6所示,实验结果表明,填充效果良好,填充完毕后的手部肤色块能够直接用作静态手势的识别。

为了加强鲁棒性,防止少数肤色区域仍然漏检,本发明采用小规模的闭运算去填补可能漏检的手部区域的空洞。同时为了使下面的轮廓链码提取更加稳定,本发明采用线扫描的种子填充算法对手部区域进行填充搜索,将未搜索到的像素点的值置零,仅保留下手部区域的部分,从而达到去除噪声的目的。种子填充算法结果如图7所示,其中线扫描的种子填充算法执行步骤如下:

(1)在手部区域定位后得到的方框内,对肤色图像构建灰度直方图。

(2)检测出直方图中峰值作为第一个种子点,因为之前的定位好的手部区域中手部的实际位置在该方框中占多数,所以该方法寻找到的第一个种子点将会落在手部的实际位置中且方便快捷,若直方图的峰值正好落在漏检的地方,则在附近另取一点,将该种子点压入堆栈。

(3)种子点出堆栈。

(4)由该种子点开始先往左、往右搜索像素点,遇到像素值为0的地方,保存其x轴坐标,左右分别为xl、xr。

(5)对与扫描区域y坐标减1,以第(4)步中得到的xl、xr带到上一行,设定标志位初始化为0,从xr往xl进行搜索,若出现肤色像素且标志位为0,则将其作为新的种子点,压入堆栈内并将标志位置1;若标志位为1且遇到非肤色像素,则标志位置0,继续往左搜索,以解决肤色块内有缺陷的问题。

(6)对扫描区域y坐标加2,后与第5步相同,进行搜索,将新的种子点压入堆栈。

(7)跳转至第(3)步,循环进行,直至堆栈中种子数量为零,完成连通域的搜索。

S5:提取关键帧的归一化傅里叶描述子、手型骨架和指尖数目的特征;

对于手部区域肤色块的分割、填充和去噪声后,开始进行静态手势的识别,提取归一化傅里叶描述子、手型骨架和指尖数目的特征。为节省空间,先进行手型骨架特征的提取。将手势图像用最小的矩形包围住,把该矩形四等分,计算出各块图像的重心点,用xdst、ydst表示目标点坐标,src(x,y)表示由0和1组成的手势二值图像中的像素值,i1、i2、j1、j2分别为各方块的顶边和底边的y轴坐标、左侧边和右侧边的x轴坐标,公式如下:

xdst=[Σy=i1y=i2Σx=j1x=j2src(x,y)*x]/[Σy=i1y=i2Σx=j1x=j2src(x,y)]]]>

ydst=[Σy=i1y=i2Σx=j1x=j2src(x,y)*y]/[Σy=i1y=i2Σx=j1x=j2src(x,y)]]]>

如图8所示,将四个重心点连接成一个四边形。计算出该四边形的各边长、对角线长、矩形度、角度共同作为手型骨架的特征保存起来。

继而提取具有尺度不变性、旋转不变性和起始点不变性特点的归一化傅里叶描述子作为另一手势特征,具体步骤如下:

(1)将手势的二值图像进行sobel边缘检测,检测结果如图9所示。

(2)将轮廓边缘进行骨架细化,为下一步轮廓搜索做准备。

(3)选取轮廓图左上角一点作为起始点,靠着轮廓的外侧进行搜索,使手势的轮廓各点的坐标按逆时针的顺序排列成一个序列。

(4)使用的傅里叶变换是按时域抽取的基2快速傅里叶变换,为了满足快速傅里叶变换中输入序列的点数必须为2的幂的条件,需要对轮廓序列进行调整。根据归一化傅里叶描述子的特点,对于由搜索得到的轮廓序列,只要在不改变轮廓的外观的前提下,可以随意变动。即可使用隔点插值的方法进行点数的调整,即隔一个坐标,插入一个坐标,插入的坐标与前一坐标相同,这样既不改变轮廓的外观,运算也简单。按实际需要,将快速傅里叶变换的输入序列点数限定为128、256、512、1024几个等级,实际点数在哪个范围,就往按该范围的点数进行填充调整。

(5)将调整后的轮廓坐标序列作为输入序列进行快速傅立叶变换,为了节省DSP的资源、减少运算量,事先离线生成好各等级的倒位序表和旋转因子表,以静态数组的形式保存在外围设备DDR SDRAM内,方便DSP直接调用。设WN为旋转因子,WN_r和WN_i分别为旋转因子的实部和虚部,x_r和x_i分别为输入序列的X轴坐标和Y轴坐标,X为变换结果,旋转系数生成公式和变换公式如下:

WN=WN_r+j*WN_i=cos(2*PI*k/N)-j*sin(2*PI*k/N),k=0,1,2,...,N-1

X[k]=(x_r[k]+j*x_i[k])+(WN_r-j*WN_i)*(x_r[k+N/2]+j*x_i[k+N/2]),k=0,1,2,...,N-1

(6)对变换后得到的傅里叶系数进行归一化,设X_r和X_i分别为变换结果的实部和虚部,sum为调整过后的输入序列的点数长度,f为归一化的傅里叶描述子,作为手势的又一特征,公式如下:

f[k]=(X_r[k]/sum)2+(X_i[k]/sum)2/(X_r[1]/sum)2+(X_i[1]/sum)2,k=2,...,13]]>

计算完归一化傅里叶描述子后,开始进行指尖检测,通过对手势轮廓的曲率计算,判断出该手势伸出了多少根手指。对于轮廓曲率的计算,需要先设定p1、p2、p3三个点,在历遍轮廓序列时,以p1在前,p2其次,p3在最后,期间p1与p2、p2与p3之间相隔一段距离,同时设定一个阈值,每前移一个坐标,以p2为顶点,利用下面公式计算出该段的弯曲情况,当结果达到阈值时,则认为该段轮廓中有指尖的存在,检测结果示例如图10所示。

q=[p2.x-(p1.x+p..x)/2]2+[p2.y-(p1.y+p3.y)/2]2/(p1.x-p3.x)2+(p1.y-p3.y)2]]>

S6:根据提取的特征,使用傅里叶描述子分类器、手型骨架分类器和指尖数目分类器进行投票表决,得到静态手势识别结果;

完成手势骨架、归一化傅里叶描述子、指尖个数特征的提取后,对三个分类器进行组合,以提高对静态手势的识别率。因为手型是复杂、多变形的,不同的人做的同一手势,在外观上都不尽相同。对于三个分类器中单独一个来说,无法很准确地对手势进行识别,所以为了提高识别率,对分类器进行组合非常有必要。

对于分类器的组合,本发明中采用的是并行组合方式,并针对三个分类器对静态手势分类的特点,提出一种改进的投票表决方法。对于本发明中采用的三种分类器相互独立,各有各的特点。傅里叶描述子的计算需要建立要在轮廓线被完整提取出来的前提下进行,其识别率相对较高;手势骨架特征提取在二值肤色图像中即可直接进行,但其识别率相对较低一些;而曲率指尖检测只能得出手势中伸出了多少个手指。因此,本发明中使用的投票表决方式如下:

(1)先对每个分类器所能投的票数进行初始化,即一个分类器能投N票;

(2)统计各个先前训练好的分类器的识别结果,采用奖惩方式调整各分类器所能投出的票数;

(3)根据各分类器所能投的票数,按手势特征与分类器各类的相似程度进行分散投票,最相似者票数最多,相似度次之,则该类从该分类器中所得票数也次之。具体票数可按比例进行分配,最后票数最多的一类作为为识别结果。

因为手语词汇数量太多,为了节省资源,提高识别效率,本发明中手语识别以词根作为手语语句识别的基本单元,而词根则对应于每一种用于训练的静态手势,两个以上的静态手势及其轨迹能组成各种各样的词。因为词根数量也不少,在做静态手势识别时对数据库中每一个手势进行搜索匹配,时间消耗大,不利于满足实时性要求。因此本发明提出使用K均值算法对词根按特征进行分类,在静态手势识别时,先计算目标手势与数据库中各类手势质心的相似程度,再在最相近的质心所对应的类内,对各手势进行相似程度的计算,以最接近者为识别目标。

K均值算法步骤如下:

(1)先对待分类各手势创建K个起始质心;

(2)为数据集中的每个手势点找到该点最相似的质心,分配到该质心的簇中。若分配结果无变化,则退出,否则进行第3步;

(3)根据每个簇内的数据点的平均值,重新计算该簇的质心,跳转到第2步。

S7:采用分层的轨迹识别方法对手势的运动轨迹进行识别,得到轨迹识别结果,图11为本步骤部分轨迹的识别率图检测图;

对手势的运动轨迹进行识别,需要使用到上面所生成的手部区域的深度信息进行三维轨迹的生成。在以往的长的轨迹识别中,大多将一个个轨迹点串起来,生成Freeman链码直接作为观察序列使用HMM(隐马尔可夫模型)进行训练与识别,但这样做训练出来的HMM模型都很大,使用起来很耗费时间。而且长轨迹类型很多,训练出来的模型数量也就会有很多,不利于达到实时性要求。

因为所有的长轨迹都可以由一段段的短轨迹连接构成,所以可采用分层的轨迹识别方法。

轨迹训练和识别的具体步骤如下:

(1)先进行第一层的轨迹识别,以两个关键帧之间的轨迹点坐标,使用Freeman链码对这些轨迹点进行编码,使其连成一个链码序列用于短轨迹的识别。

(2)因为短轨迹一般仅存在几个到十几个不等的轨迹点,可以将轨迹点数分成4、8、12、16个点的四种,对于实际的短轨迹段的长度则按这四种情况进行轨迹点数的调整。即根据各坐标点的间距,进行补点或删点,使长度达到四种点数的其中一种。

(3)设定多种基本情况的短轨迹类型,如向左、向上、向坐上等类型,使这些短轨迹能组成各种各样的长轨迹。并根据短轨迹首末坐标点进行轨迹的移动方向的分类。

(4)根据短轨迹的长度,将目标短轨迹与事先训练好的有可能与之相匹配的短轨迹类型使用简单的欧氏距离公式计算相似度,以完成短轨迹识别,以得到短轨迹的识别结果编号。因为短轨迹的轨迹点少,所以短轨迹并不需要事先训练,只需要按Freeman链码所设定的方向编号自行设定短轨迹的类型即可。

(5)计算出短轨迹的长度,并将其起始点、终点的坐标和短轨迹的长度保存下来。

(6)进行第二层的长轨迹处理,将一个个短轨迹的识别结果进行续接排列起来作为HMM的观察序列O。

(7)若是进行长轨迹的训练,则按轨迹的复杂程度设置隐藏状态N为4-6等,以短轨迹类型作为观察符号M,根据N、M的大小与各状态出现的大概概率等设定好用于初始化的状态转移矩阵、混淆矩阵和初始状态概率矩阵;若是进行长轨迹的识别,则直接跳转到步骤(11)。

(8)使用用于初始化的状态转移矩阵A、混淆矩阵B和初始状态概率矩阵π进行HMM模型的初始化。

(9)使用Baum-Welch算法,也叫前向-后向算法,对HMM模型的参数进行迭代估计,从而得到的新的HMM模型先暂时保存起来。

Baum-Welch算法是一种期望最大值(Expectation Maximum Algorithm)算法的特殊形式,这里使用目的在于估计模型λ中的πi,aij,bj(k),使得观察序列O的概率P(O|λ)的值最大。在给定模型λ和观察序列条件下,从i到j的转移概率定义为

ξ(i,j)=P(st=i,st+1=j|X,λ)=αt(i)aijbj(Ot+1)βt+1(j)Σi=1NΣj=1Nαt(i)aijbj(Ot+1)βt+1(j)]]>

t时刻处于状态Sj的概率为:

γt(i)=Σj-1Nξt(i,j)]]>

则 为整个过程中从状态转出的次数的预期; 为从Si跳转到Sj次数的预期。

所以HMM模型参数估计公式如下:

a^ij=Σtξt(i,j)ΣtΣjξt(i,j)]]>

b^j(k)=Σt,Ot=kγt(j)Σtγt(j)]]>

(10)继续采集同一手语的轨迹数据,循环进行(7)-(9)的操作,对于多次循环后得到的同一手语轨迹的HMM模型,剔除差别大的,在剩下的中,取平均的作为该中手语轨迹的标准模型,以静态数组的形式保存起来。如此完成一种轨迹长轨迹的训练。

(11)进行识别,则使用Viterbi算法。将采集到的观察序列O输入到Viterbi函数中,利用Viterbi算法计算出观察序列O在各个事先训练好的长轨迹模型下的P(O|λ),并重复迭代直至收敛。将最接近的模型对应的轨迹作为识别结果,完成轨迹的识别操作。

Viterbi算法是一种局部最优算法,这里使用目的在与解决在给定观察序列O=O1O2...OT和模型参数λ=(A,B,π)的情况下找出最优的观察序列q1q2...qt。定义δt(i)=maxq1,q2,...qt-1P[q1,q2...qt=i,O1O2...Ot|λ],]]>算法步骤如下:

初始化:

递归:δt(j)=max1iN[δt-1(i)aij]bj(Oi),2tT,1jN]]>

终止:P*=max1iN[δT(i)]),qT*=argmax1iN[δT(i)]]]>

求状态序列:

实验证明,相比于传统的将每个轨迹点串起来直接作为观察序列输入到HMM模型中直接进行长轨迹的识别的方法,本发明使用的分层轨迹识别方法能明显地减少了识别时间且保存了短轨迹信息,有利于手语词的识别,提高手语词的识别率。

S8:对静态手势识别结果和轨迹识别结果进行纠错与拼接,得到手语的识别翻译结果。

完成了静态手势识别和轨迹识别后,便可以进行最终的手语识别。因为手势识别有时会存在一些错检的情况,在得到手语语句的整组词根序列后需要对该词根序列的每一个词根进行纠错处理。对于错检的情况,本发明出于硬件资源和语料库的考虑,使用简单的二元文法(Bigram)模型对词根序列进行第一层的纠错,使用Trie索引树进行第二层的纠错处理。

N-gram语言模型是统计语言模型的一种,假设一个词根的出现依赖于它前面的(N-1)个词根,而Bigram模型则是当N取2时的情况。定义一个句子S由l个词根w组成,则句子S出现的概率为:

P(S)=P(w1w2...wl)=p(w1)p(w2|w1)p(w3|w1w2)...p(wl|w1w2...wl-1)

≈p(w1)p(w2|w1)p(w3|w2)...p(wl|wl-1)

而Bigram模型参数估计,采用最大似然估计:

P(wl|wl-1)=C(wl-1wl)C(wl-1)]]>

对于训练数据不足导致的数据稀疏问题,使用Good-Turing估计法进行平滑处理。其主要思想将非零N元语法的概率匀给一些低概率语法,以修改最大似然估计与真实概率之间的偏离。

Trie树,又称字典树,针对词的存储和词根的纠错、拼接的问题,本发明还提出了分别对每个手语词的词根组合和每个手语词的短轨迹组合构建Trie树,分别对应词根索引树和轨迹索引树,并将其对应关联起来,同时在树内为每个词附上对应词性。对于轨迹索引树,一个短轨迹组合可能会对应着多个手语词,而短轨迹的识别率很高;对于词根索引树,一个词根组合仅会对应这一个手语词,但在视频处理中,静态手势的识别率相对短轨迹低。因此分开构建双数组Trie树能够有效地节省存储空间;将词根树和轨迹树关联起来能够进行优势互补;为每个手语词附上词性信息能够对后面句法分析提供条件。

本发明中提出的手语词根纠错与拼接和语句识别方法具体步骤如下:

(1)在Bigram语言模型中根据相邻两个词根在语料库中的组合情况P(wl|wl-1),对手语语句中词根序列进行初步的分词操作,将P(wl|wl-1)较大的两个词根认为是一个手语词,若一个词根wl的P(wl|wl-1)和P(wl+1|wl)都接近于0,则认为该词根识别错误,若P(wl|wl-1)和P(wl+1|wl)不太大但也是一个不太小的正数,则该词根有可能是单词根的词,也可能是其他情况,需进一步进行识别。

(2)在初步分词、纠错操作完成后,对每个分割出来的手语词根组合,附以之前保存下来的短轨迹,在trie索引树中进行搜索匹配,找出其对应手语词,获得其词性信息,从而得到整个手语句子的各个手语词的词性组合。

(3)统计语料库中各词性的词搭配情况,构建Bigram语言模型。根据相邻两个词的词性组合情况对手语句子分词结果的正确性进行判别,对于一些词性组合概率非常低的词,如副词可以和形容词组合,不能同名词组合等。将其拆开,与步骤1中被判定为错误词根的或是需要进一步识别的词根一起进行纠错和重新分词。这次纠错和分词使用trie索引树,因为在对视频图像进行分析时,简单短轨迹的识别率比静态手势的识别率要高,匹配时需附加上各个词根间的短轨迹信息。

(4)在trie索引树中进行搜索匹配时,先根据需要匹配的词根串相邻的词的词性为这些待匹配的词根串去掉词性不符合的候选词。在待识别的词根串内可能有多个词,也可能仅有一个词,因为词根间段轨迹的识别率很好,可直接使用正向最大匹配算法对短轨迹组合进行搜索匹配,留下各种符合轨迹条件的手语词的情况。此时,留下的候选结果不会太多,可结合静态手势在剩下的候选词中选择最相似的一个作为识别结果。完成手语翻译整个过程。

其中最大正向匹配算法基本思想为在待匹配的词根串中的前n个词根作为匹配串在trie索引树中进行搜索匹配,匹配成功则以该串为一个词,继续进行剩下词根串的搜索匹配,否则去掉n中的最后一个词根,继续搜索匹配。直至整个词根串匹配完成。

为了节省资源,加快运算速度,本发明中所有的训练操作都离线完成。

本发明具有以下优点:

在深度信息的提取方面运算量少,能针对关键点快速获取有用信息,方便快捷地进行手部的定位。

在肤色提取方面,在YCbCr颜色空间中做肤色过滤后利用感知器算法进行肤色填充的方法,效果明显,能够很好地消除了光照对肤色检测的影响,解决了肤色分割常见的肤色块缺陷的问题。

在静态手势识别方面,提取归一化傅里叶描述子、手型骨架和指尖数目特征,并用一种并行组合方式将三个分类器组合起来共同对静态手势进行识别的方法,使得静态手势识别率大大提高。

在轨迹识别方面,采用分层的轨迹识别方法,极大程度上减少了运算量,且充分利用了关键帧间轨迹信息,使后面手语词识别率相当可观。

在词根搜索方面,使用K均值算法对词根进行分类,加快了搜索速度。

在手语词存储与词根拼接与检错方面,分别对每个手语词的词根组合和每个手语词的短轨迹组合构建Trie树,并将其对应关联起来,节省了存储空间。

在手语词根纠错与拼接和语句识别方面,使用Bigram模型和trie树对词根进行双层纠错处理,提高句子识别的正确率。

使用Bigram模型对词性相接情况进行分析,消除了词性不搭配的错误。

利用正向最大匹配算法,根据手语词的短轨迹组合对可能含有错误词根的词根串进行初步分词,去掉大量候选模型加快识别速度并提高了识别率。

本发明涉及的硬件只包括了两个摄像头、显示屏、TMS320DM6446处理器以及一些辅助的芯片如SDRAM等构成,完全能满足便携的要求。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

一种基于达芬奇技术的手语识别翻译方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部