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