文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.07.021
中文引用格式: 李浩亮,毛曉波,宋紀(jì)元,等. 智能仿生雙向手語翻譯系統(tǒng)[J].電子技術(shù)應(yīng)用,2016,42(7):83-86.
英文引用格式: Li Haoliang,Mao Xiaobo,Song Jiyuan,et al. The intelligent two-way sign language translation system[J].Application of Electronic Technique,2016,42(7):83-86.
0 引言
根據(jù)第六次全國人口普查數(shù)據(jù)顯示,全中國聽力殘疾人數(shù)為2 054萬人,言語殘疾人數(shù)達(dá)130萬人[1],他們無法像正常人一樣交流溝通,造成了工作、學(xué)習(xí)、娛樂、就醫(yī)、維權(quán)等不便。他們只能通過手語相互交流,而言語正常的人中只有很少一部分習(xí)得手語,聾啞人與普通人之間的交流變得更加困難。因此迫切需要一套智能翻譯設(shè)備來幫助聾啞人與普通人進(jìn)行正常的溝通和交流。
2013年微軟亞洲研究院和中科院計(jì)算所合作已經(jīng)開發(fā)出了基于Kinect手語翻譯系統(tǒng),功能強(qiáng)大而且系統(tǒng)穩(wěn)定。但該系統(tǒng)具有設(shè)備昂貴、檢測范圍固定、反向翻譯需要借助于顯示屏、與實(shí)際空間有隔閡等缺點(diǎn),現(xiàn)在并沒有普及。機(jī)器人是中國工業(yè)4.0發(fā)展的一個(gè)重要領(lǐng)域,未來科技的進(jìn)步必將使得機(jī)器人從電腦屏幕的虛擬空間走進(jìn)到現(xiàn)實(shí)的生活空間,將數(shù)據(jù)手套和智能手語機(jī)器人相結(jié)合,使普通群眾能夠享受智能化生活帶來的便捷,符合未來發(fā)展的潮流。
1 總體結(jié)構(gòu)與工作原理
該雙向手語翻譯系統(tǒng)以STM32F103ZET6微處理器為主控制器,采用模塊化設(shè)計(jì)思想,集成語音識(shí)別、動(dòng)作捕捉、動(dòng)作翻譯、LED顯示、藍(lán)牙通信等功能,能夠?qū)崿F(xiàn)語音轉(zhuǎn)手勢(shì)和手勢(shì)轉(zhuǎn)語音雙向翻譯。語音轉(zhuǎn)手勢(shì)部分通過語音識(shí)別系統(tǒng)識(shí)別非特定人聲,并將數(shù)據(jù)處理反饋給主控制器,然后匹配動(dòng)作庫,獲取動(dòng)作指令,完成指定的手語動(dòng)作。手勢(shì)轉(zhuǎn)語音部分通過加速傳感器和彎曲傳感器捕獲手勢(shì)動(dòng)作參數(shù),通過比對(duì)動(dòng)作庫的值得出手勢(shì)。此外,系統(tǒng)具有LED顯示和語音合成功能,方便用戶與機(jī)器人的交互。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
2 系統(tǒng)設(shè)計(jì)
2.1 硬件電路設(shè)計(jì)
2.1.1 語音識(shí)別模塊
語音識(shí)別模塊硬件電路包括單片機(jī)控制部分、語音識(shí)別部分和EEROM。其中單片機(jī)控制部分選用的是STM32F103ZET6芯片,該芯片為Cortex-M3內(nèi)核,最高工作頻率72 MHz,1.25DMIPS/MHz可實(shí)現(xiàn)單周期乘法和硬件除法,工作電壓為2 V~3.6 V,同語音識(shí)別模塊兼容。語音識(shí)別部分選用 LD3320 芯片作為識(shí)別芯片[2],該芯片內(nèi)部集成了語音識(shí)別處理器和一些外部電路,包括AD/DA轉(zhuǎn)換器、麥克風(fēng)接口、聲音輸出接口等,不需要外接其他的輔助芯片如Flash、RAM等,直接集成在現(xiàn)有的產(chǎn)品中即可以實(shí)現(xiàn)語音識(shí)別功能,而且識(shí)別的關(guān)鍵詞語列表是可以任意動(dòng)態(tài)編輯的。語音識(shí)別模塊總體結(jié)構(gòu)圖如圖2所示,其中LD3320芯片內(nèi)部的語音識(shí)別原理框圖為虛線框內(nèi)的部分[3],供電部分采用ASM117(3.3 V,1 A)穩(wěn)壓器。
2.1.2 LED顯示模塊
LED顯示模塊采用64×32矩陣共陰極點(diǎn)陣屏,由高亮LED燈、74HC595芯片和UN2003構(gòu)成。74HC595芯片具有8位移位寄存器和一個(gè)存儲(chǔ)器,具有速度快、功耗低的特點(diǎn)。74HC595作為LED矩陣的驅(qū)動(dòng)器[4],通過串行方式進(jìn)行控制,具有電路簡單、控制方便等優(yōu)點(diǎn)。電源部分采用LM2596穩(wěn)壓器,最大輸出電流可達(dá)3 A。LED顯示模塊原理結(jié)構(gòu)圖如圖3所示。
2.1.3 語音合成模塊
語音合成部分選用SYN6288中文語音合成芯片[5],通過異步串口(Universal Asynchronous Receiver Transmitter,UART)直接同主控制器通信。SYN6288是一款性價(jià)比高、效果自然的中高端語音合成芯片。該芯片通過異步串口通信方式接收待合成的文本數(shù)據(jù),實(shí)現(xiàn)文本到語音的轉(zhuǎn)換。SYN6288芯片采用SSOP28L貼片封裝,硬件接口簡單、低功耗、音色清涼圓潤,在識(shí)別文本、數(shù)字、字符串方面更智能、更準(zhǔn)確,語音合成自然度更好,可懂度更高。
2.1.4 機(jī)械臂控制系統(tǒng)
機(jī)械臂控制系統(tǒng)由32自由度機(jī)械臂、PCA9685芯片、LM2596芯片等構(gòu)成。其中32自由度機(jī)械臂是模仿人手臂自主建模設(shè)計(jì),并由3D打印機(jī)打印而成,關(guān)節(jié)處裝有大扭矩的雙軸舵機(jī),能很好地模仿人體的手臂動(dòng)作,通過控制舵機(jī)來實(shí)現(xiàn)關(guān)節(jié)精確移動(dòng),結(jié)構(gòu)圖見圖4(a)。舵機(jī)控制器采用兩塊PCA9685芯片級(jí)聯(lián)的方式,可同時(shí)控制32路舵機(jī),電路原理圖見圖4(b)。PCA9685是一款I(lǐng)2C總線接口的16路PWM控制器,每路均可獨(dú)立輸出有12 bit分辨率(4096級(jí))固定頻率PWM。該P(yáng)WM控制器運(yùn)行在40 Hz~1 000 Hz范圍的頻率下,占空比在0%~100%范圍內(nèi)可調(diào)。供電部分采用LM2596(5 V,3 A)作為穩(wěn)壓芯片,并聯(lián)一個(gè)1 000 μF大容量電解電容,提高電源的穩(wěn)定性。
舵機(jī)控制系統(tǒng)[6]實(shí)現(xiàn)對(duì)32個(gè)舵機(jī)的精確控制,通過特定算法實(shí)現(xiàn)了僅需要輸入目標(biāo)角度,關(guān)節(jié)便可勻速到達(dá)指定位置的目的。由于舵機(jī)較多,大大增加了控制的復(fù)雜性。程序控制將32個(gè)舵機(jī)分成了3組:左手(11個(gè))、右手(11個(gè))、左右胳膊(10個(gè)),并采取分組控制的方法。
2.1.5 數(shù)據(jù)手套設(shè)計(jì)
數(shù)據(jù)手套[7]由微處理器STM32、彎曲傳感器Flex4.5"、OLED顯示屏和姿態(tài)傳感器MPU6050[8]等構(gòu)成,可以捕捉手指的彎曲程度和手臂的運(yùn)動(dòng)狀態(tài),經(jīng)過濾波處理將計(jì)算后得到的值與手語庫的值進(jìn)行比對(duì),得到對(duì)應(yīng)的手語動(dòng)作。其中彎曲傳感器采用FLX-03A型Flex4.5",該傳感器是一個(gè)特殊的電阻型傳感器。當(dāng)傳感器彎曲或形變時(shí)阻值會(huì)發(fā)生改變,傳感器正常狀態(tài)時(shí)阻值大約是10 k?贅,當(dāng)傳感器向一個(gè)方向彎曲時(shí)阻值會(huì)增加。通過分壓電路采集AD值可得到對(duì)應(yīng)的電阻值,從而獲得手指的彎曲程度。姿態(tài)傳感器MPU6050集成了3軸微電子機(jī)械系統(tǒng)(Micro-electromechanical Systems,MEMS)陀螺儀、3軸MEMS加速度計(jì),以及一個(gè)可擴(kuò)展的數(shù)字運(yùn)動(dòng)處理器DMP(Data-Management Platform),可減少復(fù)雜的融合演算數(shù)據(jù)、感測器同步化、姿勢(shì)感應(yīng)等的負(fù)荷。傳感器安裝位置如圖5(a)所示,圖中:1為彎曲傳感器,2為OLED顯示器,3為MPU6050,4為微處理器STM32。圖5(b)為自主設(shè)計(jì)制作的數(shù)據(jù)手套外觀圖。
2.1.6 藍(lán)牙模塊
藍(lán)牙模塊在該系統(tǒng)中有兩大功能:(1)可以和數(shù)據(jù)手套通信,將手套捕獲的數(shù)據(jù)指令傳至手語機(jī)器人,控制語音合成模塊發(fā)出提示音;(2)可以同上位機(jī)通信,方便上位機(jī)發(fā)送調(diào)試指令,尋找動(dòng)作的關(guān)鍵節(jié)點(diǎn)。藍(lán)牙模塊選用DX-BT05 4.0,該模塊支持UART接口及SPP藍(lán)牙串口協(xié)議,具有成本低、體積小、功耗低、收發(fā)靈敏性高等優(yōu)點(diǎn),只需配備少許的外圍元件就能實(shí)現(xiàn)其強(qiáng)大功能。
2.2 軟件設(shè)計(jì)
2.2.1 主系統(tǒng)軟件設(shè)計(jì)
主系統(tǒng)軟件部分以STM32為主控制器,通過異步串口通信控制完成語音識(shí)別、LED屏顯示、語音合成,并通過異步串口控制舵機(jī)驅(qū)動(dòng)模塊完成指定手語動(dòng)作。主機(jī)軟件通過內(nèi)嵌的FatFS文件管理系統(tǒng)[9],完成對(duì)SD卡的數(shù)據(jù)存儲(chǔ)與讀取。
具體實(shí)現(xiàn)過程如圖6所示。系統(tǒng)上電初始化完成后,STM32發(fā)送控制指令控制手語機(jī)器人播放提示語音并通過LED顯示模塊播放開機(jī)動(dòng)畫,控制舵機(jī)驅(qū)動(dòng)模塊恢復(fù)至起始動(dòng)作并等待識(shí)別。手語機(jī)器人獲得識(shí)別的語音信息后對(duì)數(shù)據(jù)包進(jìn)行解析,獲得指令碼并和動(dòng)作庫比對(duì)獲得指令代碼的指針。然后FatFS文件管理系統(tǒng)讀取函數(shù)獲得動(dòng)作指令代碼,并通過舵機(jī)控制器控制手臂關(guān)節(jié)實(shí)現(xiàn)手語翻譯。同時(shí),STM32可控制手語機(jī)器人發(fā)出提示信息,更好地實(shí)現(xiàn)人機(jī)交互。
2.2.2 主系統(tǒng)軟件設(shè)計(jì)
子系統(tǒng)軟件設(shè)計(jì)包括語音轉(zhuǎn)手勢(shì)和手勢(shì)轉(zhuǎn)語音兩部分。其中語音轉(zhuǎn)手勢(shì)子系統(tǒng)實(shí)現(xiàn)原理如下:語音識(shí)別進(jìn)行系統(tǒng)初始化,讀取位于存儲(chǔ)器中的等待被識(shí)別的關(guān)鍵詞句,等待語音識(shí)別指令。識(shí)別到語音信號(hào)后首先將非特定語音轉(zhuǎn)換為文本。然后提取文本中的關(guān)鍵詞,經(jīng)過算法匹配獲得相似度最高的動(dòng)作,最后將動(dòng)作指令碼轉(zhuǎn)換為數(shù)據(jù)包通過異步串口傳送至主控制器。工作流程如圖7所示。
手勢(shì)轉(zhuǎn)語音子系統(tǒng)實(shí)現(xiàn)原理如下:數(shù)據(jù)手套通過姿態(tài)傳感器捕獲到手臂的動(dòng)作后,啟動(dòng)定時(shí)器,通過彎曲傳感器獲得手指彎曲程度,并按照固定時(shí)間間隔記錄手臂的動(dòng)作和手指彎曲程度。一旦檢測到動(dòng)作停頓后,將每一幀的數(shù)據(jù)同手語庫中的數(shù)據(jù)比對(duì),尋找相似度最大的動(dòng)作,然后清零計(jì)時(shí)器,將數(shù)據(jù)發(fā)送給主系統(tǒng),OLED模塊顯示捕獲到的動(dòng)作。如果定時(shí)器超時(shí),表示識(shí)別錯(cuò)誤,結(jié)束本次識(shí)別,等待下一次動(dòng)作的來臨,工作流程圖如圖7(b)所示。
2.2.3 上位機(jī)調(diào)試軟件設(shè)計(jì)
為了方便動(dòng)作庫的編錄,開發(fā)了一款動(dòng)作庫上位機(jī)調(diào)試軟件。該軟件通過VB可視化編程語言編寫,能夠通過異步串口與主機(jī)建立連接。通過拖動(dòng)軟件界面中滑塊改變機(jī)器人關(guān)節(jié)角度值,尋找動(dòng)作庫中的關(guān)鍵節(jié)點(diǎn)。同時(shí)該軟件可以將關(guān)鍵節(jié)點(diǎn)的值自動(dòng)生成控制指令代碼,提高動(dòng)作庫的編寫效率。
3 實(shí)驗(yàn)結(jié)果
系統(tǒng)上電后,自動(dòng)啟動(dòng)初始化進(jìn)程。完成初始化后等待語音輸入。這里測試了詞組“祝您身體健康”。通過向機(jī)器人說“翻譯”,告知機(jī)器人進(jìn)入翻譯狀態(tài),機(jī)器人回復(fù)“好”,表示已經(jīng)準(zhǔn)備好,向翻譯機(jī)器人說出“祝您身體健康”,機(jī)器人開始翻譯預(yù)先編程好的“祝您身體健康”的手語動(dòng)作庫,回復(fù)“正在為您翻譯”,同時(shí)LED顯示屏顯示正在翻譯的動(dòng)作名稱。具體翻譯過程如圖8所示。
4 結(jié)論
此款智能仿生雙向手語翻譯系統(tǒng)具有操作簡單、詞匯量較大以及雙向轉(zhuǎn)化的優(yōu)勢(shì)。產(chǎn)品成本低,識(shí)別率較高,不受光照等環(huán)境的影響,給聾啞人和正常人之間的溝通帶來方便。同時(shí)該設(shè)備適合用于聾啞人家庭、公共場所以及公益機(jī)構(gòu)進(jìn)行手語教學(xué),因此具有良好的應(yīng)用前景。
參考文獻(xiàn)
[1] 中國殘疾人聯(lián)合會(huì).2010年末全國殘疾人總數(shù)及各類、不同殘疾等級(jí)人數(shù)[EB/OL].[2012-6-26].http://www.cdpf.org.cn/sjzx/cjrgk/201206/t20120626_387581.shtml.
[2] 洪家平.LD3320的嵌入式語音識(shí)別系統(tǒng)的應(yīng)用[J].新器件新技術(shù),2012(2):47-49.
[3] ICRoute.LD332X數(shù)據(jù)手冊(cè)[EB/OL].[2011-10-13].http://www.icroute.com/web_cn/Download.htm1.
[4] 洪岳煒,王百鳴,謝超英.智能點(diǎn)陣電子顯示屏控制系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2010,29(2):37-39.
[5] SYN6288--Manual[EB/OL].[2011-9-6].http://www.tts168.com.cn/bao/SYN6288--Manual.pdf.
[6] 梁鋒,王志良,解侖,等.多舵機(jī)控制在類人機(jī)器人上的應(yīng)用[J].微計(jì)算機(jī)信息,2008,24(1-2):242-243.
[7] 江立.基于CAS-GLOVE數(shù)據(jù)手套的手勢(shì)識(shí)別技術(shù)研究[D].北京:北京交通大學(xué),2006.
[8] 曲波,肖圣兵,呂建平.工業(yè)常用傳感器選型指南[M].北京:清華大學(xué)出版社,2002.
[9] 崔鵬偉,閆學(xué)文.基于SD卡的FATFS文件系統(tǒng)的研究與應(yīng)用[J].嵌入式控制系統(tǒng),2013,26(11):141-142.