適用于手語采集與輸入的智能手套及翻譯系統(tǒng)
*本項目在2022年廣東省大學(xué)生電子設(shè)計競賽獲得一等獎,相關(guān)成果正在申請專利。
本文引用地址:http://2s4d.com/article/202308/449896.htm據(jù)中國殘疾人人口數(shù)據(jù)庫有關(guān)數(shù)據(jù),我國持殘疾證人口中聽力殘疾和言語殘疾共計249.2 萬人,且多為農(nóng)村人口。由于工作和生活中大多數(shù)人不熟悉手語,造成了聾啞人難以融入社會生活的問題。因此,迫切需要一款低價、便攜的手語翻譯系統(tǒng)來輔助聾啞人與普通人溝通。
鑒于手語翻譯系統(tǒng)在輔助聾啞人融入社會中起到的重要作用,本文通過設(shè)計一款適用于手語采集與輸入的智能手套及翻譯系統(tǒng)采集手勢,形成數(shù)據(jù)庫并訓(xùn)練機器學(xué)習(xí)模型。使用者佩戴手套以后做出不同手勢,手套將采集到的手指彎曲程度、加速度等信息在單片機進(jìn)行預(yù)處理以后,通過UDP 協(xié)議經(jīng)Wi-Fi 傳遞至云端處理,云端接收數(shù)據(jù)報后通過分辨通過分辨靜態(tài)手勢與動態(tài)活動,將數(shù)據(jù)二次處理后放入已經(jīng)訓(xùn)練好的模型中進(jìn)行預(yù)測,并在網(wǎng)頁界面實時顯示結(jié)果,實現(xiàn)全平臺兼容。該方案穩(wěn)定性較高,可拓展性及可維護性極強,人機交互友好,解決了當(dāng)前非接觸式手勢識別精度低、易受干擾、處理速度慢等痛點。
經(jīng)過測試該方案識別準(zhǔn)確性高達(dá)91.02%,方差0.001 2,硬件成本僅為296 元且可拓展性高,人機交互友好,具備廣泛普及的條件,能有效輔助聾啞人士進(jìn)行簡單交流,更好的參與社會生活,并且還可以作為教學(xué)用具進(jìn)行手語培訓(xùn)。
1 手勢識別方案選擇
表1 方案對比
方案1 基于傳感器和MPU6050 姿態(tài)傳感器的手勢識別數(shù)據(jù)手套上的傳感器能識別手指彎曲以及手部的運動,識別率較高,并且成本低有利于推廣,數(shù)據(jù)量低傳輸速度快,處理難度低。
方案2 基于計算機視覺的手語識別通常采用攝像頭作為傳感設(shè)備,無須穿戴,體驗感較好,但是感受與識別技術(shù)容易受到周圍環(huán)境因素的影響,如光照等。同時需要處理的數(shù)據(jù)量巨大,識別的實時性較低,并且不適用于日常環(huán)境。
2 系統(tǒng)設(shè)計
2.1 系統(tǒng)組成
本系統(tǒng)總體設(shè)計框圖如圖1 所示,包括彎曲傳感器、姿態(tài)傳感器MPU6050、ESP32、服務(wù)器、網(wǎng)頁端五部分。
圖1 系統(tǒng)總體設(shè)計框圖
2.2 系統(tǒng)工作過程
彎曲傳感器和姿態(tài)傳感器分別采集手指彎曲數(shù)據(jù)和手掌朝向、運動數(shù)據(jù)。采集到的數(shù)據(jù)在ESP32 進(jìn)行滑動濾波和歸一化處理后以UDP 報文發(fā)送給服務(wù)器進(jìn)行分類和識別最終將識別結(jié)果呈現(xiàn)在網(wǎng)頁端。
3 系統(tǒng)功能實現(xiàn)
3.1 硬件部分
系統(tǒng)的硬件部分將五根彎曲傳感器通過幾段在手指關(guān)節(jié)處的軟管固定使其可以在軟管中自由滑動,從而實現(xiàn)良好的佩戴體驗并提高數(shù)據(jù)采集的準(zhǔn)確性。將陀螺儀、單片機通過排母固定于主板上,并將主板通過手環(huán)固定于手腕上,從而盡可能降低了佩戴該裝置對手部活動的影響,單片機和彎曲傳感器之間通過杜邦線連接,采用電池供電形式,實現(xiàn)了舒適的穿戴體驗。
3.1.1 彎曲傳感器
彎曲傳感器采集五根手指的彎曲數(shù)據(jù),如圖2 所示,R1為彎曲傳感器等效電阻,R2為可變電阻,用于分壓使得輸出電壓不高于ADC最大可分辨的電壓2 450 mV。由于拇指與另外四指采用的彎曲傳感器不同,因此對于拇指,R1的范圍為25 kΩ~135 kΩ,R2<24.04 kΩ;對于其它四指,R1的范圍為9 kΩ~22 kΩ,R2<8.64 kΩ。
圖2 彎曲傳感器工作等效原理
圖3 彎曲傳感器電路
3.1.2 姿態(tài)傳感器
姿態(tài)傳感器采用MPU6050,用于識別手掌朝向和手部的運動數(shù)據(jù)。姿態(tài)傳感器MPU6050 可以測定x、y、z 三個坐標(biāo)軸的加速度,當(dāng)傳感器靜止時加速度分量的絕對值最大的坐標(biāo)軸所對應(yīng)的平面向上,若該最大加速度為正值則該坐標(biāo)軸負(fù)方向所對應(yīng)的平面向上,反之則該坐標(biāo)軸正方向?qū)?yīng)的平面向上?;谶@個原理實現(xiàn)了對手掌朝向的判斷。另外,通過航向角、橫滾角、俯仰角的變化識別手部的運動情況。
3.1.3 ESP32
ESP32-C3-WROOM-02 對彎曲傳感器的數(shù)據(jù)進(jìn)行歸一化和濾波處理,同時將彎曲傳感器和姿態(tài)傳感器輸出以UDP 報文形式發(fā)送到服務(wù)器。
3.1.4 主板設(shè)計
如圖4 所示,主板電路由ESP32、MPU6050 模塊、自動下載電路組成,具備WiFi 連接、六軸運動數(shù)據(jù)采集與處理、自動復(fù)位等功能。傳感器電路由彎曲傳感器、可變電阻及運放構(gòu)成,實現(xiàn)將手指彎曲程度的變化轉(zhuǎn)換成電壓變化的過程。由于ESP32 單片機中,可設(shè)置的最大ADC 采樣范圍為150 ~2 450 mV,因此可變電阻和彎曲傳感器電阻對Vcc 進(jìn)行分壓使得電路輸出電壓不超過閾值電壓。通過調(diào)整可變電阻的大小實現(xiàn)可變電阻與彎曲傳感器電阻對電源電壓分壓,電壓信號通過運放增強驅(qū)動能力,避免長距離傳輸造成的損耗,從運放輸出端輸出,實現(xiàn)對手指彎曲程度的采集。該電路的設(shè)計應(yīng)該 注意在運放輸出端與地之間接一個100 nF 的電容進(jìn)行濾波,并且傳感器電路應(yīng)該盡可能離單片機近一些,以避免長距離傳輸造成的損耗。
圖4 主板電路圖
3.2 軟件部分
3.2.1 手套端程序設(shè)計
如圖5 所示, 本項目的程序設(shè)計基于ESP32 的RTOS,在此基礎(chǔ)上,單片機任務(wù)主要分為三部分:串口任務(wù)、ADC 任務(wù)、UDP 任務(wù)。
圖5 手套端程序
1)串口任務(wù)設(shè)計
初始化后讀取緩沖區(qū)中存儲的彎曲傳感器數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行處理,處理結(jié)束后判斷緩沖區(qū)是否有數(shù)據(jù),若有則重復(fù)讀取數(shù)據(jù)、處理數(shù)據(jù)、判斷緩沖區(qū)有無數(shù)據(jù)步驟,反之則延時10 ms 切換其他任務(wù)。
2)ADC 任務(wù)設(shè)計
初始化后進(jìn)行ADC 采樣,采樣完成后進(jìn)行數(shù)據(jù)處理及存儲,然后延時30 ms 并返回ADC 采樣步驟進(jìn)行循環(huán)。
3)UDP 任務(wù)設(shè)計
初始化后連接Wi-Fi,連接完成后處理ADC 數(shù)據(jù),之后判斷ADC 滑動濾波窗口是否已滿,若已滿則發(fā)送數(shù)據(jù)并延時10 ms 然后判斷發(fā)送是否出錯,若出錯則返回連接Wi-Fi 步驟重新執(zhí)行以后步驟,若未出錯則返回處理ADC 數(shù)據(jù)步驟重新進(jìn)行。如果ADC 滑動濾波窗口未滿則直接跳轉(zhuǎn)至延時10 ms 階段并執(zhí)行后續(xù)步驟。
4)濾波程序設(shè)計
在數(shù)據(jù)處理過程中,源信號往往受到多種因素的干擾,使得采集到的信號包含多種類別的噪聲。如圖 6 是通過ADC 直接采集到的彎曲傳感器上的電壓,可以看到,數(shù)據(jù)有明顯的波動。本子程序采用滑動濾波方式,控制窗口大小為450 ms,能較好地平衡抖動與細(xì)微動作。同時使用歸一化處理使手套具備更強的魯棒性,適配多用戶情況下的手勢識別。如圖7 是經(jīng)過濾波和歸一化處理后的數(shù)據(jù)。
圖6 濾波前的手指彎曲數(shù)據(jù)
圖7 濾波后的手指彎曲數(shù)據(jù)
3.2.2 服務(wù)端程序設(shè)計
服務(wù)端程序設(shè)計如圖8 所示,初始化時,加載訓(xùn)練好的SVM 模型和ANN 模型并且初始化套接字,等待數(shù)據(jù)報。接收數(shù)據(jù)報后,對數(shù)據(jù)進(jìn)行預(yù)處理,判斷數(shù)據(jù)是否來自動態(tài)手勢,若不是,則將數(shù)據(jù)放入線性分類器進(jìn)行處理,顯示結(jié)果;若數(shù)據(jù)來自動態(tài)手勢,則放入列表,循環(huán)“采集- 堆棧”該操作,直至動作結(jié)束,將數(shù)據(jù)縮放后放入ANN 模型,得出結(jié)果。
圖8 服務(wù)端程序設(shè)計
服務(wù)端基于Python 的Web 應(yīng)用程序框架Streamlit搭建,如圖9 所示,數(shù)據(jù)處理的結(jié)果可以實時呈現(xiàn)。
圖9 服務(wù)端頁面
3 測試方案與測試結(jié)果
為了測試設(shè)計的識別準(zhǔn)確率和可靠性,我們邀請200 位受試者以20 人為一組分為A~J 共計10 組進(jìn)行測試,得出每組的平均正確率如表2 所示。
表2 測試分組正確率
測試者平均識別正確率:
=91.02% (1)
方差:
0.0012 (2)
可見本設(shè)計具有良好的識別準(zhǔn)確率和可靠性。但測試者所做手勢準(zhǔn)確與否、數(shù)據(jù)庫數(shù)據(jù)量等會對測試結(jié)果造成一定影響。
4 結(jié)束語
本文設(shè)計并實現(xiàn)了一種適用于手語采集與輸入的智能手套及翻譯系統(tǒng),硬件和軟件經(jīng)測試均可正常運行并達(dá)到良好的準(zhǔn)確性和穩(wěn)定性,實現(xiàn)了識別準(zhǔn)確率高達(dá)91.02% 方差僅為0.001 2. 手套功耗僅為0.32 W,資源利用率為59.3%,采集速率達(dá)到模塊理論上線,硬件成本可以控制在296 元。本設(shè)計能很好的解決聾啞人的日常溝通問題幫助他們更多的參與社會生活,并且可用于教學(xué)用途,輔助學(xué)習(xí)者更快、更規(guī)范地學(xué)好手語。
參考文獻(xiàn):
[1] 張軍,張孔,楊正瓴.基于計算機視覺的多特征手勢識別[J].計算機應(yīng)用與軟件,2016,33(6):151-154+189.
[2] 鮑磊,羅志增,席旭剛,等.融合表面肌電和加速度的手勢動作識別[J].傳感技術(shù)學(xué)報,2019,32(12):1843-1848+1863.
[3] 張仁永,王小紅,盧瑛.基于STM32的手語翻譯手套設(shè)計[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2020,10(3):46-47+54.
[4] 白旭,郭豆豆,楊學(xué)康,等.基于低緯度SVM決策樹算法的智能手語翻譯手套[J].科技視界,2020(17):33-36.
[5] 吳桐. 基于彈性傳感器的手勢識別技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2021.
[6] 張維. 基于神經(jīng)網(wǎng)絡(luò)的手語翻譯系統(tǒng)研究[D].南昌:江西財經(jīng)大學(xué),2018.
[7] 余永樂,閆文山,林雨凡,等.基于單片機的多功能智慧型手語翻譯手套研究[J].電子世界,2018(8):61-62.
[8] 許亭亭.基于卷積神經(jīng)網(wǎng)絡(luò)的手勢估計的研究與應(yīng)用[D].揚州:揚州大學(xué),2022.
[9] 閆世洋.基于計算機視覺的動態(tài)手勢識別方法[D].南京:南京郵電大學(xué),2018.
[10] 羅揚鏢.基于計算機視覺的手勢識別技術(shù)研究[D].北京:北京郵電大學(xué),2021.
(本文來源于《電子產(chǎn)品是》雜志2023年8月期)
評論