劉又瑜 謝本齊 江煥 姜林
關鍵詞: 智能眼鏡; 云服務; 手語識別; 聽障人士; 智能系統(tǒng)
1 概述
根據(jù)世界衛(wèi)生組織2020年3月統(tǒng)計[1],全球患有殘疾性聽力障礙人口高達4.66億人。人數(shù)眾多的聽障人士群體間交流以手語為主。因手語普及率低,導致聽障人士難以融入正常人生活。針對該問題,基于人工智能的手語識別技術相繼研究,經(jīng)過多年的發(fā)展,穿戴式傳感器手語識別和機器視覺手語識別逐漸成為主流技術。
穿戴式傳感器手語識別系統(tǒng)利用物理傳感器如數(shù)據(jù)手套、數(shù)據(jù)臂環(huán)、智能手表,記錄手部在運動過程中產(chǎn)生的物理信息,再將運動信息傳送至接收設備進行處理分析,得以實現(xiàn)對手語動作的識別。最早的穿戴式傳感器手語識別方案來自1983年Grimes等人發(fā)明的數(shù)據(jù)手套[2],聽障人士單手戴上手套展示美國手語的字母動作,并將數(shù)據(jù)傳送至接收設備,實現(xiàn)對基本動作的識別。2010年Fu等人[3]提出利用數(shù)字手套操控虛擬鍵盤的方式幫助聽障人士進行交流;2021年冉孟元等人[4]利用帶有九軸慣性傳感器的數(shù)據(jù)手套獲取30個漢語拼音字母的手語動作信息,并采用K-鄰近算法和前饋神經(jīng)網(wǎng)絡實現(xiàn)了基于慣性傳感器融合控制算法的手語識別。
機器視覺手語識別系統(tǒng)通過錄制手語動作視頻,利用圖像處理、深度學習、計算機視覺相關算法等技術對連續(xù)幀中的畫面信息以及信息的變動規(guī)律進行總結學習,實現(xiàn)對輸入視頻的分類,得出相應的手語釋義?,F(xiàn)有機器視覺手語識別以深度神經(jīng)網(wǎng)絡技術為主,通過建立視頻信號到手語分類的網(wǎng)絡結構,提高手語識別精度[5]。在手語特征學習方面,常用的網(wǎng)絡結構有VGG[6]、AlexNet[7]、ResNet[8]等,在視頻動作識別方面,2D卷積神經(jīng)網(wǎng)絡模型有Two-stream方法[9]以及在此基礎上改進而來的TSN(Temporal Segment Network) 網(wǎng)絡[10]。2D-CNN方法的重點在于如何更好地提取視頻時空信息[5],3D-CNN方法在2D的基礎上引入了時序信息,增加了對時間維度幀間運動信息的關注度。常見方法有C3D[10]、I3D[11]、P3D[12]等。在基于GNN的方法中,常與人體骨架坐標識別進行結合,Amorim等[13]在得到手語動作視頻中的每幀人體骨架坐標后引入時空圖卷積神經(jīng)網(wǎng)絡ST-GCN,建立了連續(xù)幀之間節(jié)點變化的相互關系,實現(xiàn)對手語視頻的識別。
現(xiàn)有技術中,穿戴式傳感器手語識別技術可準確獲取手部動作,識別率較高,但存在成本高、用戶體驗感差等問題;機器視頻手語識別方法雖克服了穿戴式傳感器的不便問題,但卻因移動設備端算力資源不足、各框架兼容條件苛刻等問題影響了其應用。
本項目沿用機器視覺技術,使用智能眼鏡平臺進行手語識別,識別過程中將深度學習模型部署在云端,可解決深度學習模型在智能設備上部署所需算力資源過大的問題,同時因智能眼鏡舒適的體驗感和便攜性,可為聽障人士與正常人交流提供應用方案。
2 基于智能眼鏡的手語識別系統(tǒng)架構
基于智能眼鏡的手語識別系統(tǒng)架構如圖1,該系統(tǒng)以智能眼鏡作為硬件平臺,主要負責采集聽障人士手勢,并將手勢視頻以圖片幀的形式上傳至云端,由部署在云端的深度神經(jīng)網(wǎng)絡識別模型將手勢的結果返回到智能眼鏡,由智能眼鏡呈現(xiàn)識別結果,當正常人戴上眼鏡后,即可實時識別聽障人士手勢。
本文智能眼鏡平臺采用Epson BT-300(圖2) ,該平臺內(nèi)置了安卓系統(tǒng),操作系統(tǒng)界面可顯示在鏡片中的光學顯示器,有利于呈現(xiàn)手勢識別結果,眼鏡搭載了500萬像素攝像頭,可高清捕獲聽障人士手勢。云服務平臺采用百度EasyDL,本項目將事先訓練好的深度神經(jīng)網(wǎng)絡識別模型部署在云端,通過EasyDL提供的API接口進行識別系統(tǒng)的調(diào)用。
3 手語識別設計
3.1 構建手語識別神經(jīng)網(wǎng)絡
本文手語識別神經(jīng)網(wǎng)絡為TSN與LSTM交叉模型(如圖3所示)。Limin Wang等[10]提出的TSN模型是視頻分類領域經(jīng)典的基于2D-CNN的解決方案。該網(wǎng)絡常被用于解決視頻分類中的長時間行為判斷問題。它通過稀疏采樣視頻幀的方式代替稠密采樣,希望捕獲整段視頻中的概括性動作趨勢,該方法有效降低了計算量。
在TSN模型中將輸入視頻分為K段,并從K段中分別隨機抽取一定幀數(shù)圖像,通過雙路CNN 結構分別處理抽取幀的普通圖像特征和光流特征,獲取這一段視頻的分類得分分布,最終通過片段共識函數(shù)將K個視頻段的得分結果進行融合后得出整段視頻的最終分類結果。
但在TSN模型的處理中缺少了對K段視頻先后關系的處理,而手語動作作為一種動作語言,具有嚴格的上下文語義關系。為了解決這個問題,引入了LSTM模型替代TSN模型中的片段共識函數(shù),增加神經(jīng)網(wǎng)絡對視頻動作上下文關系的敏感度。根據(jù)筆者的實驗測試,TSN-LSTM模型識別準確率相較于傳統(tǒng)的TSN模型可提升20%的識別準確率。
3.2 模型訓練及云端部署
手語識別模型所使用的訓練數(shù)據(jù)集為明亮試驗環(huán)境下用智能眼鏡攝像頭錄制的數(shù)據(jù)集,包含10個常用手語動作,每個動作30個樣本。測試集與訓練集采用8:2比例劃分。
模型訓練及部署均采用百度EasyDL提供的模型在云端進行。在上傳數(shù)據(jù)集及模型結構后進行云端訓練,經(jīng)百度云端測試TSN-LSTM模型在手語識別準確率達到95.37%。由于深度學習模型在安卓系統(tǒng)本地移植過程中占用資源過大,易出現(xiàn)閃退、轉換速度下降等情況,破壞了項目的穩(wěn)定性,最后采用百度EasyDL提供的深度學習模型云部署服務,在模型云端訓練完成后部署為API供系統(tǒng)開發(fā)端直接調(diào)用。
經(jīng)測試,在20段連續(xù)視頻的識別中,每段視頻手語識別返回結果平均耗時為3.33s,滿足連續(xù)手語識別的實時條件。
3.3 模型調(diào)用
模型調(diào)用流程如圖4所示,在用戶啟動手語識別功能后,openCamera()函數(shù)開啟攝像頭并配置相應的參數(shù),onSurfaceChanged()函數(shù)將獲取相機預覽幀,當一句完整的手語短語結束,攝像頭停止錄制,queue.put() 函數(shù)將生成視頻放置進待識別隊列。VideoEn?coderThread處理線程將不斷檢測待識別隊列中是否有未處理的視頻,并將未處理的視頻進行編碼,通過getBase64() 函數(shù)將視頻從mp4格式轉換到base64格式,最后由callAPI將視頻上傳至手語識別模型接口,接口將返回對視頻中手語動作的識別結果。系統(tǒng)將選擇置信度在50%以上且得分最高的結果發(fā)送至前端界面顯示。
在調(diào)用API得到手語識別結果的過程中要求設備聯(lián)網(wǎng),平均返回時間為3.33秒,此速度足夠有效避免待處理視頻棧積壓,滿足日常交流速度需求,無卡頓感。
4 系統(tǒng)實現(xiàn)效果
普通人佩戴一副智能眼鏡,通過本系統(tǒng)與聽障人士進行交流。本項目采用的智能眼鏡EpsonBT-300由操控器與眼鏡主體組成,操控器連接在眼鏡上為眼鏡提供電力支持同時充當控制器。啟動本系統(tǒng)后,智能眼鏡攝像頭自動捕捉視頻畫面,并以每秒5幀的速率上傳圖片至云端服務器,云端服務器對圖片進行識別后將結果返回到智能眼鏡的程度中,其識別結果以對話框形式呈現(xiàn)到用戶眼鏡鏡片上,系統(tǒng)運行效果如圖5所示。
5 結論
本文以深度學習模型云部署方案為基本思路,基于智能眼鏡平臺實現(xiàn)了一款手語識別系統(tǒng)。云部署的思路突破了深度學習模型部署在移動端平臺時的硬件資源限制,極大縮減了移動端神經(jīng)網(wǎng)絡模型應用系統(tǒng)的體積并提高了運行時的流暢度,避開了各式模型框架在安卓平臺部署的兼容性問題,使得移動端神經(jīng)網(wǎng)絡模型應用系統(tǒng)的開發(fā)變得更為簡便。同時,模型API的調(diào)用情況將被實時記錄在云端管理系統(tǒng),實現(xiàn)了模型管理、應用開發(fā)的隔離工作環(huán)境,增加了系統(tǒng)的可維護性。本文所提出的解決方案可為正常人識別聽障人士手語提供幫助,對于解決聽障人士融入日常社會生活具有重要意義。