仲美玉 趙逢達 竇 燕 袁 麗 賈冀狀 舒世洋 王榮雪
(燕山大學信息科學與工程學院 秦皇島 066004)(河北省計算機虛擬技術(shù)與系統(tǒng)集成重點實驗室 秦皇島 066004)
我國正面臨日益嚴重的老齡化問題和數(shù)量龐大的殘疾人群,腦卒中和脊髓損傷已成為導致人們下肢運動功能障礙的兩大主要原因[1,2]。隨著機器人技術(shù)不斷發(fā)展,下肢康復(fù)機器人已逐漸應(yīng)用于下肢運動功能障礙患者的康復(fù)訓練中。諸多臨床試驗表明,康復(fù)機器人能在一定程度上幫助下肢癱瘓患者恢復(fù)自身主動控制肢體的能力[1,3,4]。交互系統(tǒng)是機器人系統(tǒng)中的重要組成部分,但目前大多數(shù)康復(fù)機器人均采用鼠標、鍵盤、屏幕點觸式等傳統(tǒng)人機交互方式,例如瑞士的Lokomat[5]、MotionMaker[6]和德國的LokoHelp[7]等。但這些仍采用傳統(tǒng)交互方式的康復(fù)機械裝置研究已不再能夠滿足人們的使用需求,康復(fù)機器人的智能化已經(jīng)成為最新的研究方向。語音交互在智能人機交互中扮演著重要角色[8],目前,面向不同應(yīng)用場景所設(shè)計的語音交互系統(tǒng)僅能對孤立詞進行識別[9-12],在一輪人機對話過程中無法對交互對象設(shè)定多個控制參數(shù)。針對上述問題,本文基于YSU-I坐臥式多關(guān)節(jié)下肢康復(fù)機器人[13-15](以下簡稱下肢康復(fù)機器人)設(shè)計了YSU-II康復(fù)機器人智能交互系統(tǒng)(以下簡稱YSU-II智能交互系統(tǒng))。該系統(tǒng)的語音交互功能以對下肢康復(fù)機器人傳達康復(fù)任務(wù)為對話場景,讓用戶通過自然的人-機對話設(shè)置和修改康復(fù)任務(wù),其表單輸入功能允許用戶通過掃描按需勾寫的表單設(shè)置康復(fù)任務(wù)。智能交互的下肢康復(fù)機器人不僅降低了用戶對下肢康復(fù)機器人的使用門檻和用戶學習時間,也進一步促進了人機友好關(guān)系。
YSU-II智能交互系統(tǒng)主要由上位機、下位機和I/O設(shè)備構(gòu)成,其系統(tǒng)結(jié)構(gòu)如圖1所示。上位機應(yīng)用程序主要包括語音交互、表單輸入、病人管理、康復(fù)信息和系統(tǒng)設(shè)置5個功能模塊,用戶可通過其語音交互和表單輸入模塊與下肢康復(fù)機器人進行交互式操作。系統(tǒng)搭載的交互通道有麥克風、掃描儀、揚聲器和電子屏幕,用戶可自由地選擇麥克風或掃描儀作為設(shè)置康復(fù)任務(wù)的輸入設(shè)備。進入康復(fù)任務(wù)設(shè)置階段后,上位機系統(tǒng)以人機對話的方式引導用戶設(shè)置符合個人需求的康復(fù)任務(wù)并向下位機提交相應(yīng)的服務(wù)請求。下位機接到來自上位機的服務(wù)請求后,其中央控制模塊運行上層控制算法配置各個訓練參數(shù)并管理整個下肢康復(fù)機器人的控制系統(tǒng),其運動控制模塊則負責接受并解釋中央控制模塊下達的控制指令,形成下肢康復(fù)機器人動作序列,帶動患者患肢進行康復(fù)訓練。訓練過程中,電子屏幕實時地顯示由數(shù)據(jù)采集模塊同步采集的關(guān)節(jié)角度、速度、力矩等訓練狀態(tài)信息,讓用戶能及時、直觀地了解患者的運動狀態(tài)、運動特點、運動功能及康復(fù)水平等。友好的人機交互界面還包括初始化模塊、安全提示及報警信息顯示等。
圖1 YSU-Ⅱ智能交互系統(tǒng)結(jié)構(gòu)圖
針對下肢康復(fù)機器人所實現(xiàn)的主動、被動訓練模態(tài)下的單關(guān)節(jié)和多關(guān)節(jié)康復(fù)訓練任務(wù)設(shè)計了交互指令??祻?fù)任務(wù)的訓練參數(shù)如表1所示。
表1 下肢康復(fù)機器人的訓練參數(shù)
單個康復(fù)任務(wù)由多個訓練參數(shù)組成,例如,起始角度為10 °和終止角度為40 °的被動左腿髖關(guān)節(jié)康復(fù)運動,運動速度5 °/s,訓練時間10 min,故語音下達康復(fù)任務(wù)通常是在一次多輪的人機對話中完成,每輪對話僅包括部分訓練參數(shù)。然而,在自然的人機交互中,單輪對話簡短且用戶表達方式多樣,因此,本研究在設(shè)計基本語音交互指令的同時,還為各個訓練參數(shù)設(shè)計了同義詞和同音詞詞典,以提高系統(tǒng)的容錯性。
美國國家儀器公司的LabVIEW具有強大的數(shù)據(jù)可視化分析、數(shù)據(jù)采集和儀器控制能力,可以與其他編程源語言進行互操作,為打造YSU-II智能交互系統(tǒng)提供了良好的開發(fā)平臺。該系統(tǒng)的語音交互與表單輸入模塊軟硬件開發(fā)環(huán)境如表2所示。將上述兩模塊分別封裝為獨立的可執(zhí)行文件,通過共用的MySQL數(shù)據(jù)庫實現(xiàn)系統(tǒng)數(shù)據(jù)的傳輸與共享。最終,在LabVIEW中調(diào)用System Exec.Vi裝載并運行可執(zhí)行文件,以建立開發(fā)平臺與兩模塊之間的銜接通道。
表2 語音交互與表單輸入模塊開發(fā)環(huán)境
系統(tǒng)的語音交互功能利用互聯(lián)網(wǎng)獲取科大訊飛和百度理解與交互技術(shù)(understanding and interaction technology, UNIT)共享的軟硬件資源和信息實現(xiàn);表單輸入功能通過結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)與跨平臺計算機視覺庫OpenCV實現(xiàn)。以下分別概括分析相關(guān)語音技術(shù)及表單識別方法在本系統(tǒng)中的具體應(yīng)用。
人與下肢康復(fù)機器人之間使用語音交互,首先需要對通過麥克風采集的語音指令進行識別。本系統(tǒng)涉及的語音識別任務(wù)是非特定人的連續(xù)語音識別。在連續(xù)語音識別系統(tǒng)中,語音信號經(jīng)預(yù)處理后逐幀提取語音特征向量,解碼器在聲學模型、詞典和語言模型的指導下,輸出最佳匹配詞序的文本信息[16]。語音識別的準確性直接影響人機交互的流暢性,因此,本系統(tǒng)采用訊飛移動語音終端(mobile speech client , MSC)平臺實現(xiàn)連續(xù)語音識別任務(wù),該平臺在連續(xù)性語音識別上有著較高的識別率,可滿足YSU-II智能交互系統(tǒng)語音交互的開發(fā)需求。系統(tǒng)通過調(diào)用訊飛MSC平臺的通用接口和語音識別接口分別實現(xiàn)MSC平臺的登錄連接和音頻的在線識別。YSU-II智能交互系統(tǒng)語音識別實現(xiàn)步驟如下。
(1)對MSC平臺進行初始化。
(2)調(diào)用QISRSessionBegin()函數(shù),設(shè)置語音識別參數(shù),初始化語音識別引擎,開始一次語音識別。
(3)調(diào)用QISRAudioWrite()函數(shù),寫入音頻,進行特征提取、解碼器解析,將音頻轉(zhuǎn)換為文本。
(4)調(diào)用QISRGetResult()函數(shù),獲取識別結(jié)果。
(5)結(jié)束語音識別,退出登錄,釋放MSC。
“理解”語音指令中的訓練參數(shù)是機器人順利執(zhí)行康復(fù)任務(wù)的關(guān)鍵。針對下肢康復(fù)機器人各項康復(fù)任務(wù)的訓練參數(shù),系統(tǒng)利用百度UNIT平臺搭建了下肢康復(fù)機器人語音設(shè)置康復(fù)任務(wù)的對話場景。該對話場景共包括5個對話意圖,每個對話意圖體現(xiàn)了不同的人-機對話目的。對話意圖間的引導關(guān)系如圖2所示。
圖2 對話意圖引導關(guān)系圖
詞槽是滿足對話意圖的關(guān)鍵信息。當上述意圖對應(yīng)的詞槽全部滿足時,系統(tǒng)便可獲取一個完整的康復(fù)任務(wù)。意圖與詞槽的對應(yīng)關(guān)系如表3所示。為提高系統(tǒng)使用安全性,本系統(tǒng)設(shè)計了確認意圖,讓用戶能夠通過語音播報和屏幕展示2種信息反饋通道確認系統(tǒng)識別的康復(fù)任務(wù)是否準確。當語音交互或表單輸入獲取的康復(fù)任務(wù)需要變更時,用戶可說出包含“修改”字眼的語音指令更正當前的康復(fù)任務(wù),修改意圖的設(shè)置提高了系統(tǒng)的靈活性和實用性。
表3 意圖-詞槽對照表
為有效提高系統(tǒng)的語義理解能力,在康復(fù)任務(wù)對話場景中設(shè)置了對話模板。對話模板是根據(jù)具體對話場景給出的對話規(guī)范,當用戶語音指令中包含與模板匹配的片段時,系統(tǒng)就能準確識別該指令。例如:范圍意圖中的模板為“[D:user_start_angle]度到[D:user_stop_angle]度”,當用戶語音指令為“范圍是20度到40度”、“從20度到40度運動”等符合模版形式的指令時,范圍意圖的起始角度和終止角度詞槽均能被正確填充。此外,對話模版中應(yīng)用的特征詞可以幫助系統(tǒng)篩選包含訓練參數(shù)的指令,這進一步提高了系統(tǒng)對訓練參數(shù)的識別精度。例如:當對話語句中包含“訓練”、“運動”等特征詞時,則開啟新一輪對話。語音指令在百度UNIT平臺的處理步驟如下。
(1)調(diào)用Connect()函數(shù),連接并初始化UNIT平臺。
(2)調(diào)用postText()函數(shù),向UNIT平臺傳輸待處理文本。
(3)調(diào)用getCommand()函數(shù),獲取UNIT平臺反饋的運動指令。
(4)調(diào)用Affirm()函數(shù),向用戶確認運動指令。
(5)結(jié)束本次對話,釋放UNIT平臺。
本系統(tǒng)利用語音合成技術(shù)實現(xiàn)提示信息播報功能。在概念上,語音合成和語音識別是2個相逆的過程,目標是將文本轉(zhuǎn)換為語音。拼接式語音合成[17]是近些年來主流的語音合成技術(shù),基本思想是依照韻律建模的結(jié)果,從原始語音庫中抽取相應(yīng)的語音基元,進行拼接和韻律修飾,最終輸出連續(xù)的語音流。本系統(tǒng)通過訊飛MSC平臺通用接口實現(xiàn)與MSC平臺的登錄連接,并利用其語音合成接口實現(xiàn)文本信息到音頻的在線轉(zhuǎn)換。YSU-II智能交互系統(tǒng)語音合成實現(xiàn)步驟如下。
(1)對MSC平臺進行初始化。
(2)調(diào)用QTTSSessionBegin()函數(shù),開始語音合成,設(shè)置音量、音調(diào)、發(fā)音人等語音合成參數(shù),初始化語音合成引擎;執(zhí)行QTTSTextPut()函數(shù),將待合成的文本信息寫入MSC平臺,生成文本的音標序列、韻律信息等,利用在線合成引擎將文本信息轉(zhuǎn)化合成為音頻信息。
(3)通過QTTSAudioGet()函數(shù),獲取合成的音頻。
(4)結(jié)束本次語音合成,退出登錄,釋放MSC。
康復(fù)任務(wù)表單是為YSU-II智能交互系統(tǒng)設(shè)計的一種便捷輸入方式。為提取用戶按需勾寫表單中的康復(fù)任務(wù),提出了一種表單識別方法,該方法主要包括表單分析和單元格內(nèi)容識別。
表單分析是單元格內(nèi)容識別的準備工作。本系統(tǒng)中的表單圖像經(jīng)掃描儀掃描獲取,其背景干凈、基本無傾斜,表單圖像預(yù)處理包括灰度化、中值濾波去噪、自適應(yīng)二值化和取反色。表單圖像經(jīng)過上述預(yù)處理后,采用膨脹和腐蝕2個數(shù)學形態(tài)學處理方法[18]檢測并提取表單框架。最后,通過分析表單框架的版面結(jié)構(gòu),利用基于表單框線交點的單元格定位方法定位并裁剪待識別單元格區(qū)域??祻?fù)任務(wù)表單及其框架如圖3所示。
圖3 康復(fù)機器人交互表單及其框架圖
單元格內(nèi)容識別包括勾選標記識別和數(shù)字識別。勾選標記識別基于對單元格內(nèi)容的灰度值排序?qū)崿F(xiàn),為了降低誤識別率,僅當某一訓練參數(shù)備選單元格內(nèi)的最高灰度值與次高灰度值的比值在一定閾值范圍內(nèi)時,才將該單元格視為選中項。針對數(shù)字識別設(shè)計了一個基于卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)模型。數(shù)字識別網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 數(shù)字識別網(wǎng)絡(luò)結(jié)構(gòu)圖
該網(wǎng)絡(luò)包括3個卷積層、3個池化層和2個全連接層。輸入層包含28×28個神經(jīng)元。C1、C3和C5層為卷積層,卷積核大小均為3×3。C1層輸出32張?zhí)卣饔成鋱D,C3輸出64張?zhí)卣饔成鋱D,C5輸出128張?zhí)卣饔成鋱D。每個卷積層后均采用激活函數(shù)ReLU[19]來增強模型的表征能力。S2、S4和S6為最大池化層,池化窗口大小均為2×2,步幅為2。F7層為第1個全連接層,有625個神經(jīng)元相連接,其后也使用ReLU激活函數(shù)進行非線性變換。最后的全連接層作為輸出層,將625個神經(jīng)元壓縮映射為10個神經(jīng)元,分別對應(yīng)數(shù)字0~9。為防止過擬合,該模型采用了Dropout機制以提高模型的泛化能力。使用MNIST手寫數(shù)字數(shù)據(jù)集訓練該神經(jīng)網(wǎng)絡(luò)模型,將訓練得到的權(quán)重文件存儲于本地,從而可準確識別表單中的數(shù)字信息。
本文從系統(tǒng)的準確性、對話輪次和平均響應(yīng)時間測試YSU-II智能交互系統(tǒng)的性能。正確“理解”康復(fù)指令是該系統(tǒng)的核心需求,因此,從語音識別準確性和數(shù)字識別準確性2方面評估系統(tǒng)的準確性。然后,利用覆蓋系統(tǒng)各康復(fù)任務(wù)的測試用例對系統(tǒng)的平均對話輪次和平均響應(yīng)時間進行測驗。最后,通過系統(tǒng)聯(lián)調(diào)實驗驗證該系統(tǒng)的可用性。
(1)通信距離測試
下肢康復(fù)機器人座椅后背可調(diào)節(jié)的傾斜角度范圍為20~80 °,考慮以患者為中心,聲源與麥克風的間距約為0.6~1.0 m。因此,本實驗在比較安靜的環(huán)境(30~40 dB)下以通信距離分別為0.6 m、0.8 m和1.0 m對常用的訓練參數(shù)組合進行測試,每條訓練參數(shù)循環(huán)測試100次。測試結(jié)果如表4所示。
表4 不同通信距離語音識別測試結(jié)果
值得注意的是,實驗過程中發(fā)音易混淆詞匯容易導致系統(tǒng)識別效果不穩(wěn)定,例如“直線2”誤識為“極限2/執(zhí)行2/實現(xiàn)2”、“圓周3”誤識為“圓周山/原中山”。為改善這一問題,可以將此類詞匯添加到對應(yīng)詞槽詞典中或用戶自身改變語音指令的表達方式,例如“圓周3”表達為“3號圓周”。
(2)非特定人語音識別測試
YSU-II智能交互系統(tǒng)提供給不同的發(fā)聲對象使用。為驗證系統(tǒng)非特定人的語音識別準確性,選取了男生和女生2個不同的音色,在比較安靜(30~40 dB)和嘈雜環(huán)境(>50 dB)下分別對常用的訓練參數(shù)組合進行100次循環(huán)測試,測試距離為0.8 m,測試結(jié)果如表5所示。
表5 非特定人語音識別測試結(jié)果
上述實驗結(jié)果表明,系統(tǒng)對各個訓練參數(shù)組合都有較高的識別率,非特定人對系統(tǒng)的使用效果無影響。實驗者吐字不清晰、環(huán)境嘈雜度增加和通信距離增大是造成系統(tǒng)識別失敗的主要原因。從表4和表5也可以看出,將易混淆詞匯添加到對應(yīng)詞槽中可以在一定程度上提高系統(tǒng)語音識別的準確性。
MNIST數(shù)據(jù)集由美國國家標準與技術(shù)研究所編制,包括70 000張28×28像素的灰度手寫數(shù)字圖片,其訓練集有60 000張,測試集有10 000 張。手寫數(shù)字識別測試結(jié)果如表6所示。從表6可以看出,該網(wǎng)絡(luò)模型經(jīng)過4次迭代后趨于收斂,在測試集上的識別準確率可達到99.21%。
表6 手寫數(shù)字識別測試結(jié)果
選取可覆蓋系統(tǒng)各個康復(fù)任務(wù)的測試用例,在比較安靜(30~40 dB)的環(huán)境下測驗系統(tǒng)語音交互對話輪次(dialogue turns, DT)及平均響應(yīng)時間(mean response time, MRT),測試用例如表7所示。對話輪次及平均響應(yīng)時間如表8所示。
表7 對話輪次及平均響應(yīng)時間的測試用例
根據(jù)對本系統(tǒng)設(shè)置的對話意圖及表8中對話輪次的實驗數(shù)據(jù)可以看出,單關(guān)節(jié)相關(guān)的康復(fù)任務(wù)至少需要4輪人機對話,軌跡相關(guān)的康復(fù)任務(wù)至少需要3輪人機對話,錯誤識別和修改康復(fù)指令都會增加相應(yīng)的對話輪數(shù)。由表8可知,系統(tǒng)對康復(fù)指令的平均響應(yīng)時間約為2 s,最低為1.430 s,能夠滿足用戶對系統(tǒng)的使用需求。
表8 系統(tǒng)對話輪次及平均響應(yīng)時間
上述實驗表明系統(tǒng)的性能滿足使用需求。對于實際使用過程中存在誤識的情況,用戶可以在上位機辨識相關(guān)任務(wù)后說出包含“修改”字眼的語音指令修改錯誤參數(shù)。人-機交互過程如圖5所示。
圖5 人-機交互過程
系統(tǒng)獲取康復(fù)任務(wù)后,其中央控制模塊運行上層控制算法配置該任務(wù)的各個訓練參數(shù)到運動控制模塊,形成相應(yīng)的機器人動作序列,帶動用戶患肢進行康復(fù)訓練。圖6(a)為下肢康復(fù)機器人待訓練狀態(tài)。下肢康復(fù)機器人執(zhí)行“起始角度為10 °和終止角度為40 °的主動左腿髖關(guān)節(jié)運動,訓練速度為5 °/s,訓練時間為10 min”康復(fù)任務(wù)的訓練狀態(tài)如圖6(b)所示。
圖6 智能交互控制的下肢康復(fù)機器人
本文基于YSU-I坐臥式多關(guān)節(jié)下肢康復(fù)機器人構(gòu)建了YSU-II智能交互系統(tǒng),該系統(tǒng)結(jié)合使用科大訊飛和百度UNIT平臺的軟硬件資源實現(xiàn)其語音交互功能,并通過一種表單識別方法實現(xiàn)了其表單輸入功能,為用戶提供了更自然、更便捷的新型交互模式。經(jīng)實驗驗證,該系統(tǒng)對語音和表單均有較高的識別率,系統(tǒng)響應(yīng)時間能夠滿足用戶的使用需求,系統(tǒng)實用性較強??祻?fù)機器人與語音技術(shù)相結(jié)合提高了其智能化水平。智能交互的下肢康復(fù)機器人改進了傳統(tǒng)的人機交互方式,解放了用戶雙手,提升了對患者進行康復(fù)訓練的效率。后續(xù)將對智能交互系統(tǒng)的通用性開展研究,為將其廣泛應(yīng)用于其他康復(fù)機器人系統(tǒng)提供技術(shù)支撐。