刘建通(四川大学计算机学院,成都 610065)
基于Kinect的听障人士语言能力康复辅助系统
刘建通
(四川大学计算机学院,成都610065)
据2014年的数据统计,中国有2780万听力残疾人,接近中国总人口数的2%。听障患者特别是聋哑儿童的康复工作是国家和社会高度关注的问题之一,中央财政在聋儿康复救助项目上大力投入,为聋儿实施人工耳蜗手术和助听器免费佩戴和康复训练。助听器、人工耳蜗及相关手术能够让听障患者恢复听力,但听力的长期丧失会使听障患者的语言能力受到较大影响。只有通过语言康复训练,才能让听障患者的语言能力达到正常人的水平。而我国在语言康复训练专业人员方面存在巨大的缺口,这直接导致我国听力与言语障碍儿童的康复率只有29.7%,大量的听障患者恢复听力后仍面临艰难而长期的语言能力康复训练过程,不能达到正常人的语言能力水平。
人类认知的语言过程是多通道的。在面对面交流的过程中,人们不仅通过声音来理解对方的说话内容,也通过观察对方的表情、口型等方式获取信息,从而更准确地理解说话内容。而对于听力障碍者来说,视觉信息显得尤其重要。唇读原本指的就是听障患者通过唇部动作和面部表情感知正常人的说话内容的一种方法。计算机领域的唇读(lip reading/speech reading,以下简称唇读)或唇语识别是指通过分析说话者的唇形变化特征,根据唇形特征和语音音素之间的对应关系,判断说话内容的技术[1]。唇读的研究内容主要包括唇部检测和定位(lip detection)、唇动特征提取(lip feature extraction)以及唇动特征识别。近年来,唇读技术在科研和工业界得到了广泛的关注和研究。唇读技术可以应用于辅助语音识别、辅助手语识别、口型合成、聋人辅助教育等领域。
Kinect是微软公司推出的体感设备,具有人脸追踪的功能。开发者可以使用Kinect进行人脸追踪,从人脸追踪的结果数据中,定位嘴唇部分,并提取唇动特征信息。
鉴于我国的听障人士语言能力康复训练的现状,以唇读技术和Kinect技术为基础,本文提出了一种听障人士语言能力康复辅助系统的设计方案。听障人士说话后,通过Kinect来完成唇部的检测、定位以及唇动特征提取。然后根据识别算法,识别提取到的唇动特征,并与预定义的标准唇形匹配,得出正确率,反馈给用户。用户根据系统的反馈,不断修正自己的发音方式,达到辅助康复的效果。
1.1唇部检测和定位
唇部检测和定位是所有的唇读系统首先需要解决的问题。以前的唇读研究中曾使用人工标定的方法来定位唇部。而唇读系统要达到的目标是在无任何限制条件和人机交互的前提下,能够自动地将不同光照、不同皮肤颜色、不同说话者准确定位、跟踪、识别和理解[2]。因此,智能型的检测手段不断研究出新。
1.2唇动特征提取
唇动特征提取是唇读的关键环节。唇语识别是在提取到的唇动特征的基础上完成的。唇动特征提取方法大致可以分为三类:基于像素的方法、基于模型的方法和混合方法。
1.3识别方法
唇读和语音识别都属于动态序列特征识别的范畴,它经历了和语音识别类似的发展阶段。从最初的模板匹配方法到之后渐渐成为主流的基于HMM模型的方法和基于人工神经网络(ANN)的方法。
2.1Kinect 简介
Kinect是微软公司推出的体感设备,有如下组件:一个彩色摄像头,一个红外线发射器和一个红外线接收器,如图1所示。
图1 Kinect外观示意图
其中,彩色摄像头用来获取彩色图像,红外线发射器和接收器可以共同获取深度数据。其相机坐标空间如图2所示。
图2 Kinect的相机坐标空间
微软同时提供了Kinect for Windows SDK,开发者可以利用该SDK在Windows平台上开发应用程序,驱动Kinect设备完成骨骼跟踪、动作捕捉、语音识别等功能。在1.5版本以后的SDK中,微软增加了一个辅助工具——Face Tracking(人脸追踪)SDK,可以进行人脸追踪[3]。
2.2使用 Face Tracking SDK 定位唇部并提取唇动特征
Face Tracking SDK是用来在Kinect for Windows SDK的基础上完成人脸追踪的。通过分析Kinect设备提供的每一帧的彩色数据、深度数据和骨骼追踪数据,Face Tracking SDK可以返回人脸追踪的结果,其中包括头部的3D坐标和根据脸部模型预定义的121个点的坐标 (这里使用的是1.8版本的Kinect for Windows SDK,版本不同,坐标点个数可能有差异),如图3所示。
图3 Kinect设备追踪人脸时返回的121个面部特征点
通过调用FaceTrackFrame.GetProjected3DShape()和FaceTrackFrame.Get3DShape()方法,可以分别获取这121个特征点的2D坐标和3D坐标。在这121个点中,有18个点用来定义嘴唇部分,其中8个点用来表示内唇,10个点用来表示外唇。在图4中,可以直观地看到表示嘴唇的18个点。
由于特征点的坐标来自对每一帧数据的分析,而Kinect采集数据的帧率可以达到30fps,因此可以将18个唇部特征点坐标的变化作为唇动特征信息。由此,即借助Kinect完成了唇读系统中的唇部检测定位和唇动特征信息提取的任务。
图4 表示嘴唇部分的18个特征点
3.1主要模块
基于Kinect的听障人士语言能力康复辅助系统包含三个模块:
(1)人脸模型参数采集模块
在 Kinect人脸追踪的结果中,还包括基于Candide-3人脸模型的参数。Candide-3模型[4]是一种通用的参数化人脸模型,使用少量的参数就可以模拟人脸的表情和动作,可以节省很多计算时间,因此广泛应用于三维人脸重建、人脸动画合成和视频传输中[5]。开发 者可以通过调用 FaceTrackFrame.GetAnimation UnitCoefficients()方法获得Candide-3模型的参数。基于这些参数,可以完成人脸模拟、口型合成等任务。
人脸模型参数采集即使用Face Tracking SDK驱动 Kinect进行一段时间的人脸追踪,得到基于Candide-3人脸模型的参数,其中包括6个动画单元(Animation Units)和11个形态单元(Shape Units)[6]。这些参数可以用于进行标准口型动画的合成。在光照正常和人脸位置合适的条件下,这一过程仅需要几秒钟时间。
(2)口型合成与标准唇形定义模块
口型合成模块即根据要练习的文字,使用Candide-3人脸模型参数进行口型动画的合成。参数中的动画单元用来模拟嘴唇、眉毛等脸部动作,形态单元用来模拟面部形态,如鼻子的位置,嘴唇的位置和宽度等。口型动画合成后可以在程序窗口中播放,让用户可以直观地进行模仿和学习。
标准唇形定义即根据要练习的文字,计算出标准的唇动特征信息,这一信息将用于之后的唇形识别过程。
(3)唇动特征提取与识别模块
这一模块中要做的主要工作是提取唇动特征,并根据预定义的标准唇形,使用识别算法进行识别和匹配,计算出用户发音时唇形的正确率,反馈给用户。
Kinect可以在用户发声练习的过程中实时地获取唇部特征点的坐标变化信息,这些信息可以用于唇动特征的识别。
识别模块要解决的主要问题是如何定义唇形正确率。例如如果采用KNN算法,是否可以根据提取到的用户发音时的唇动特征数据的特征向量与标准的唇动特征向量的距离远近来得出正确率。实际上,在识别过程中不需要知道唇部特征点的绝对坐标,只需要知道特征点坐标的相对关系。因此可以对这些特征点坐标做一些预处理操作。文献[7]使用Kinect对土耳其语中表示颜色的单词进行了唇语识别,在获取特征点坐标后,对坐标数据进行了预处理,获得了嘴唇张开的角度数据。然后针对这些角度数据,使用KNN算法进行识别,取得了较好的效果。这里用于识别的单词数较少,只包括15个表示颜色的土耳其语单词。但这种处理特征点坐标数据的方式具有一定的借鉴意义。识别算法是系统实现的难点,还有待进一步的研究。
3.2工作流程
基于Kinect的听障人士语言能力康复辅助系统的主要工作流程如图5所示。
图5 系统工作流程图
(1)用户(听障人士)进入系统后,系统首先进行人脸模型参数的采集,即根据一段时间内Kinect设备进行人脸追踪的结果,得到基于Candide-3人脸模型的参数。
(2)用户输入要练习的文字内容。系统根据用户的输入内容,计算出标准的唇动特征数据,并使用上一步中获取的基于Candide-3人脸模型的参数来合成正确的发音口型,然后播放口型动画。
(3)用户可以先观看口型动画,在点击开始学习后,开始发音练习。
(4)用户练习过程中,系统将驱动Kinect设备,追踪人脸,获取唇动特征信息。接着对获取到的唇动特征信息进行识别,并与输入的文字所对应的标准唇动特征进行匹配,得出正确率,反馈给用户。用户可以反复进行练习过程,不断修正自己的发音方式。
本文提出了一种基于Kinect的听障人士语言能力康复辅助系统的设计方案。系统借助Kinect的人脸追踪功能,完成唇部检测定位和唇动特征提取的任务。但与此同时,Kinect本身也会消耗比较多的计算资源。而在识别和匹配的过程中,又要求较好的实时性。因此如何处理表示唇动特征的坐标点数据,并寻找准确而高效的识别和匹配算法将是本系统实现的难点和下一步的研究方向。
[1]姚鸿勋.视觉语言——唇读综述.电子学报,2001,29(2):1-8.
[2]荣传振,岳振军,贾永兴,王渊,杨宇.唇语识别关键技术研究进展.数据采集与处理,2012,27(2):277-283.
[3]吴国斌,李斌,阎骥洲.KINECT人机交互开发实践[M].北京:人民邮电出版社,2013.
[4]CANDIDE-a parameterized face.http://www.icg.isy.liu.se/candide/
[5]胡峰松,林亚平,邹北骥,张茂军.应用于人脸识别的基于Candide-3特定人脸三维重建.湖南大学学报,2008,35(11):69-73
[6]MSDN.Face Tracking Programming Guide.https://msdn.microsoft.com/en-us/library/jj130970.aspx#
[7]Alper Yarg,Muzaffer Dogan.A Lip Reading Application on MS Kinect Camera.In Innovations in Intelligent Systems and Applications (INISTA),2013 IEEE International Symposium on,pp.1-5.IEEE,2013.
Language Ability Rehabilitation;Lip Reading;Lip Recognition;Kinect
An Assistive System for Language Ability Rehabilitation of Hearing Impaired People Based on Kinect
LIU Jian-tong
(College of Computer Science,Sichuan University,Chengdu 610065
1007-1423(2016)07-0092-04
10.3969/j.issn.1007-1423.2016.07.021
刘建通(1990-),男,河北衡水人,硕士研究生,研究方向为机器智能2016-01-20
2015-02-10)
近年来,唇读技术在科研和工业界得到广泛关注和研究。唇读能够应用于辅助语音识别、口型合成、聋人辅助教育等领域。Kinect是微软公司推出的体感设备,具有人脸追踪的功能,并能够完成唇读系统中的唇部检测和定位以及唇动特征提取的任务。提出一种基于Kinect的听障人士语言能力康复辅助系统的设计方案。
语言能力康复;唇读;唇语识别;Kinect
In recent years,lip reading has attracted widely attention from research community and industry.Lip reading can be used in the areas of auxiliary speech recognition,synthesis of lip reading,deaf-aided education.Kinect is one kind of motion sensors with face tracking func-tion,and it is used to complete tasks of lip detection and lip feature extraction in a lip reading system.Provides a solution of designing an assistive system for language ability rehabilitation of hearing impaired people based on Kinect.