劉建通(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
基于Kinect的聽障人士語言能力康復(fù)輔助系統(tǒng)
劉建通
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
據(jù)2014年的數(shù)據(jù)統(tǒng)計(jì),中國有2780萬聽力殘疾人,接近中國總?cè)丝跀?shù)的2%。聽障患者特別是聾啞兒童的康復(fù)工作是國家和社會高度關(guān)注的問題之一,中央財(cái)政在聾兒康復(fù)救助項(xiàng)目上大力投入,為聾兒實(shí)施人工耳蝸手術(shù)和助聽器免費(fèi)佩戴和康復(fù)訓(xùn)練。助聽器、人工耳蝸及相關(guān)手術(shù)能夠讓聽障患者恢復(fù)聽力,但聽力的長期喪失會使聽障患者的語言能力受到較大影響。只有通過語言康復(fù)訓(xùn)練,才能讓聽障患者的語言能力達(dá)到正常人的水平。而我國在語言康復(fù)訓(xùn)練專業(yè)人員方面存在巨大的缺口,這直接導(dǎo)致我國聽力與言語障礙兒童的康復(fù)率只有29.7%,大量的聽障患者恢復(fù)聽力后仍面臨艱難而長期的語言能力康復(fù)訓(xùn)練過程,不能達(dá)到正常人的語言能力水平。
人類認(rèn)知的語言過程是多通道的。在面對面交流的過程中,人們不僅通過聲音來理解對方的說話內(nèi)容,也通過觀察對方的表情、口型等方式獲取信息,從而更準(zhǔn)確地理解說話內(nèi)容。而對于聽力障礙者來說,視覺信息顯得尤其重要。唇讀原本指的就是聽障患者通過唇部動作和面部表情感知正常人的說話內(nèi)容的一種方法。計(jì)算機(jī)領(lǐng)域的唇讀(lip reading/speech reading,以下簡稱唇讀)或唇語識別是指通過分析說話者的唇形變化特征,根據(jù)唇形特征和語音音素之間的對應(yīng)關(guān)系,判斷說話內(nèi)容的技術(shù)[1]。唇讀的研究內(nèi)容主要包括唇部檢測和定位(lip detection)、唇動特征提?。╨ip feature extraction)以及唇動特征識別。近年來,唇讀技術(shù)在科研和工業(yè)界得到了廣泛的關(guān)注和研究。唇讀技術(shù)可以應(yīng)用于輔助語音識別、輔助手語識別、口型合成、聾人輔助教育等領(lǐng)域。
Kinect是微軟公司推出的體感設(shè)備,具有人臉追蹤的功能。開發(fā)者可以使用Kinect進(jìn)行人臉追蹤,從人臉追蹤的結(jié)果數(shù)據(jù)中,定位嘴唇部分,并提取唇動特征信息。
鑒于我國的聽障人士語言能力康復(fù)訓(xùn)練的現(xiàn)狀,以唇讀技術(shù)和Kinect技術(shù)為基礎(chǔ),本文提出了一種聽障人士語言能力康復(fù)輔助系統(tǒng)的設(shè)計(jì)方案。聽障人士說話后,通過Kinect來完成唇部的檢測、定位以及唇動特征提取。然后根據(jù)識別算法,識別提取到的唇動特征,并與預(yù)定義的標(biāo)準(zhǔn)唇形匹配,得出正確率,反饋給用戶。用戶根據(jù)系統(tǒng)的反饋,不斷修正自己的發(fā)音方式,達(dá)到輔助康復(fù)的效果。
1.1唇部檢測和定位
唇部檢測和定位是所有的唇讀系統(tǒng)首先需要解決的問題。以前的唇讀研究中曾使用人工標(biāo)定的方法來定位唇部。而唇讀系統(tǒng)要達(dá)到的目標(biāo)是在無任何限制條件和人機(jī)交互的前提下,能夠自動地將不同光照、不同皮膚顏色、不同說話者準(zhǔn)確定位、跟蹤、識別和理解[2]。因此,智能型的檢測手段不斷研究出新。
1.2唇動特征提取
唇動特征提取是唇讀的關(guān)鍵環(huán)節(jié)。唇語識別是在提取到的唇動特征的基礎(chǔ)上完成的。唇動特征提取方法大致可以分為三類:基于像素的方法、基于模型的方法和混合方法。
1.3識別方法
唇讀和語音識別都屬于動態(tài)序列特征識別的范疇,它經(jīng)歷了和語音識別類似的發(fā)展階段。從最初的模板匹配方法到之后漸漸成為主流的基于HMM模型的方法和基于人工神經(jīng)網(wǎng)絡(luò)(ANN)的方法。
2.1Kinect 簡介
Kinect是微軟公司推出的體感設(shè)備,有如下組件:一個(gè)彩色攝像頭,一個(gè)紅外線發(fā)射器和一個(gè)紅外線接收器,如圖1所示。
圖1 Kinect外觀示意圖
其中,彩色攝像頭用來獲取彩色圖像,紅外線發(fā)射器和接收器可以共同獲取深度數(shù)據(jù)。其相機(jī)坐標(biāo)空間如圖2所示。
圖2 Kinect的相機(jī)坐標(biāo)空間
微軟同時(shí)提供了Kinect for Windows SDK,開發(fā)者可以利用該SDK在Windows平臺上開發(fā)應(yīng)用程序,驅(qū)動Kinect設(shè)備完成骨骼跟蹤、動作捕捉、語音識別等功能。在1.5版本以后的SDK中,微軟增加了一個(gè)輔助工具——Face Tracking(人臉追蹤)SDK,可以進(jìn)行人臉追蹤[3]。
2.2使用 Face Tracking SDK 定位唇部并提取唇動特征
Face Tracking SDK是用來在Kinect for Windows SDK的基礎(chǔ)上完成人臉追蹤的。通過分析Kinect設(shè)備提供的每一幀的彩色數(shù)據(jù)、深度數(shù)據(jù)和骨骼追蹤數(shù)據(jù),F(xiàn)ace Tracking SDK可以返回人臉追蹤的結(jié)果,其中包括頭部的3D坐標(biāo)和根據(jù)臉部模型預(yù)定義的121個(gè)點(diǎn)的坐標(biāo) (這里使用的是1.8版本的Kinect for Windows SDK,版本不同,坐標(biāo)點(diǎn)個(gè)數(shù)可能有差異),如圖3所示。
圖3 Kinect設(shè)備追蹤人臉時(shí)返回的121個(gè)面部特征點(diǎn)
通過調(diào)用FaceTrackFrame.GetProjected3DShape()和FaceTrackFrame.Get3DShape()方法,可以分別獲取這121個(gè)特征點(diǎn)的2D坐標(biāo)和3D坐標(biāo)。在這121個(gè)點(diǎn)中,有18個(gè)點(diǎn)用來定義嘴唇部分,其中8個(gè)點(diǎn)用來表示內(nèi)唇,10個(gè)點(diǎn)用來表示外唇。在圖4中,可以直觀地看到表示嘴唇的18個(gè)點(diǎn)。
由于特征點(diǎn)的坐標(biāo)來自對每一幀數(shù)據(jù)的分析,而Kinect采集數(shù)據(jù)的幀率可以達(dá)到30fps,因此可以將18個(gè)唇部特征點(diǎn)坐標(biāo)的變化作為唇動特征信息。由此,即借助Kinect完成了唇讀系統(tǒng)中的唇部檢測定位和唇動特征信息提取的任務(wù)。
圖4 表示嘴唇部分的18個(gè)特征點(diǎn)
3.1主要模塊
基于Kinect的聽障人士語言能力康復(fù)輔助系統(tǒng)包含三個(gè)模塊:
(1)人臉模型參數(shù)采集模塊
在 Kinect人臉追蹤的結(jié)果中,還包括基于Candide-3人臉模型的參數(shù)。Candide-3模型[4]是一種通用的參數(shù)化人臉模型,使用少量的參數(shù)就可以模擬人臉的表情和動作,可以節(jié)省很多計(jì)算時(shí)間,因此廣泛應(yīng)用于三維人臉重建、人臉動畫合成和視頻傳輸中[5]。開發(fā) 者可以通過調(diào)用 FaceTrackFrame.GetAnimation UnitCoefficients()方法獲得Candide-3模型的參數(shù)?;谶@些參數(shù),可以完成人臉模擬、口型合成等任務(wù)。
人臉模型參數(shù)采集即使用Face Tracking SDK驅(qū)動 Kinect進(jìn)行一段時(shí)間的人臉追蹤,得到基于Candide-3人臉模型的參數(shù),其中包括6個(gè)動畫單元(Animation Units)和11個(gè)形態(tài)單元(Shape Units)[6]。這些參數(shù)可以用于進(jìn)行標(biāo)準(zhǔn)口型動畫的合成。在光照正常和人臉位置合適的條件下,這一過程僅需要幾秒鐘時(shí)間。
(2)口型合成與標(biāo)準(zhǔn)唇形定義模塊
口型合成模塊即根據(jù)要練習(xí)的文字,使用Candide-3人臉模型參數(shù)進(jìn)行口型動畫的合成。參數(shù)中的動畫單元用來模擬嘴唇、眉毛等臉部動作,形態(tài)單元用來模擬面部形態(tài),如鼻子的位置,嘴唇的位置和寬度等。口型動畫合成后可以在程序窗口中播放,讓用戶可以直觀地進(jìn)行模仿和學(xué)習(xí)。
標(biāo)準(zhǔn)唇形定義即根據(jù)要練習(xí)的文字,計(jì)算出標(biāo)準(zhǔn)的唇動特征信息,這一信息將用于之后的唇形識別過程。
(3)唇動特征提取與識別模塊
這一模塊中要做的主要工作是提取唇動特征,并根據(jù)預(yù)定義的標(biāo)準(zhǔn)唇形,使用識別算法進(jìn)行識別和匹配,計(jì)算出用戶發(fā)音時(shí)唇形的正確率,反饋給用戶。
Kinect可以在用戶發(fā)聲練習(xí)的過程中實(shí)時(shí)地獲取唇部特征點(diǎn)的坐標(biāo)變化信息,這些信息可以用于唇動特征的識別。
識別模塊要解決的主要問題是如何定義唇形正確率。例如如果采用KNN算法,是否可以根據(jù)提取到的用戶發(fā)音時(shí)的唇動特征數(shù)據(jù)的特征向量與標(biāo)準(zhǔn)的唇動特征向量的距離遠(yuǎn)近來得出正確率。實(shí)際上,在識別過程中不需要知道唇部特征點(diǎn)的絕對坐標(biāo),只需要知道特征點(diǎn)坐標(biāo)的相對關(guān)系。因此可以對這些特征點(diǎn)坐標(biāo)做一些預(yù)處理操作。文獻(xiàn)[7]使用Kinect對土耳其語中表示顏色的單詞進(jìn)行了唇語識別,在獲取特征點(diǎn)坐標(biāo)后,對坐標(biāo)數(shù)據(jù)進(jìn)行了預(yù)處理,獲得了嘴唇張開的角度數(shù)據(jù)。然后針對這些角度數(shù)據(jù),使用KNN算法進(jìn)行識別,取得了較好的效果。這里用于識別的單詞數(shù)較少,只包括15個(gè)表示顏色的土耳其語單詞。但這種處理特征點(diǎn)坐標(biāo)數(shù)據(jù)的方式具有一定的借鑒意義。識別算法是系統(tǒng)實(shí)現(xiàn)的難點(diǎn),還有待進(jìn)一步的研究。
3.2工作流程
基于Kinect的聽障人士語言能力康復(fù)輔助系統(tǒng)的主要工作流程如圖5所示。
圖5 系統(tǒng)工作流程圖
(1)用戶(聽障人士)進(jìn)入系統(tǒng)后,系統(tǒng)首先進(jìn)行人臉模型參數(shù)的采集,即根據(jù)一段時(shí)間內(nèi)Kinect設(shè)備進(jìn)行人臉追蹤的結(jié)果,得到基于Candide-3人臉模型的參數(shù)。
(2)用戶輸入要練習(xí)的文字內(nèi)容。系統(tǒng)根據(jù)用戶的輸入內(nèi)容,計(jì)算出標(biāo)準(zhǔn)的唇動特征數(shù)據(jù),并使用上一步中獲取的基于Candide-3人臉模型的參數(shù)來合成正確的發(fā)音口型,然后播放口型動畫。
(3)用戶可以先觀看口型動畫,在點(diǎn)擊開始學(xué)習(xí)后,開始發(fā)音練習(xí)。
(4)用戶練習(xí)過程中,系統(tǒng)將驅(qū)動Kinect設(shè)備,追蹤人臉,獲取唇動特征信息。接著對獲取到的唇動特征信息進(jìn)行識別,并與輸入的文字所對應(yīng)的標(biāo)準(zhǔn)唇動特征進(jìn)行匹配,得出正確率,反饋給用戶。用戶可以反復(fù)進(jìn)行練習(xí)過程,不斷修正自己的發(fā)音方式。
本文提出了一種基于Kinect的聽障人士語言能力康復(fù)輔助系統(tǒng)的設(shè)計(jì)方案。系統(tǒng)借助Kinect的人臉追蹤功能,完成唇部檢測定位和唇動特征提取的任務(wù)。但與此同時(shí),Kinect本身也會消耗比較多的計(jì)算資源。而在識別和匹配的過程中,又要求較好的實(shí)時(shí)性。因此如何處理表示唇動特征的坐標(biāo)點(diǎn)數(shù)據(jù),并尋找準(zhǔn)確而高效的識別和匹配算法將是本系統(tǒng)實(shí)現(xiàn)的難點(diǎn)和下一步的研究方向。
[1]姚鴻勛.視覺語言——唇讀綜述.電子學(xué)報(bào),2001,29(2):1-8.
[2]榮傳振,岳振軍,賈永興,王淵,楊宇.唇語識別關(guān)鍵技術(shù)研究進(jìn)展.數(shù)據(jù)采集與處理,2012,27(2):277-283.
[3]吳國斌,李斌,閻驥洲.KINECT人機(jī)交互開發(fā)實(shí)踐[M].北京:人民郵電出版社,2013.
[4]CANDIDE-a parameterized face.http://www.icg.isy.liu.se/candide/
[5]胡峰松,林亞平,鄒北驥,張茂軍.應(yīng)用于人臉識別的基于Candide-3特定人臉三維重建.湖南大學(xué)學(xué)報(bào),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-),男,河北衡水人,碩士研究生,研究方向?yàn)闄C(jī)器智能2016-01-20
2015-02-10)
近年來,唇讀技術(shù)在科研和工業(yè)界得到廣泛關(guān)注和研究。唇讀能夠應(yīng)用于輔助語音識別、口型合成、聾人輔助教育等領(lǐng)域。Kinect是微軟公司推出的體感設(shè)備,具有人臉追蹤的功能,并能夠完成唇讀系統(tǒng)中的唇部檢測和定位以及唇動特征提取的任務(wù)。提出一種基于Kinect的聽障人士語言能力康復(fù)輔助系統(tǒng)的設(shè)計(jì)方案。
語言能力康復(fù);唇讀;唇語識別;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.