王育陽,古玉鋒,肖子葉,陳孟偉
長安大學(xué)道路施工技術(shù)與裝備教育部重點實驗室,陜西 西安 710064
隨著物聯(lián)網(wǎng)、深度學(xué)習(xí)等技術(shù)的快速興起與應(yīng)用,車輛逐漸向智能化、網(wǎng)聯(lián)化方向發(fā)展,車載人機交互系統(tǒng)的智能化是實現(xiàn)車輛智能化的關(guān)鍵一環(huán),對加快實現(xiàn)自動駕駛、發(fā)展智能交通具有重要意義[1]。手勢作為信息傳遞最自然的方式之一,在人機交互領(lǐng)域受到廣泛關(guān)注[2-3],但當(dāng)前手勢識別應(yīng)用存在普及程度不高、識別精度較低等問題,此外,基于手工特征提取的傳統(tǒng)手勢識別模型易受客觀因素如光照、遮擋和復(fù)雜背景等干擾,導(dǎo)致手勢識別較為困難[4]。因此,本文搭建了基于SSDLite-MobileNetV2的離線手勢識別智能交互系統(tǒng),模型通過離線識別用戶手勢指令,即可完成對車輛行進方向、加減速、制動等功能以及車載多媒體、車載電器等設(shè)備的控制,提高了交互的便捷性和人性化,具有廣闊的應(yīng)用前景。
本文設(shè)計的車輛手勢識別智能交互系統(tǒng)框圖如圖1所示。靜態(tài)手勢識別算法采用基于SSDLite-MobileNetV2的目標(biāo)檢測模型搭建,并使用Light-HaGRID公開手勢數(shù)據(jù)集進行訓(xùn)練和測試。將訓(xùn)練完成后的手勢識別算法部署在嵌入式設(shè)備上,輸入用戶手勢圖片進行正向推理,將輸出的手勢類別及位置結(jié)果轉(zhuǎn)化為控制指令并發(fā)送給智能交互終端,智能交互終端響應(yīng)用戶指令完成車載多媒體設(shè)備的控制或利用STM32完成對車輛動力系統(tǒng)、制動系統(tǒng)、車載電器(燈光、空調(diào))等設(shè)備的調(diào)整。其中,智能交互終端界面軟件基于Qt開發(fā),用于顯示車輛當(dāng)前狀態(tài)信息,用戶可通過在智能交互終端上觸控實現(xiàn)上述功能的控制。
圖1 智能人機交互系統(tǒng)框圖
本次算法訓(xùn)練及驗證所用數(shù)據(jù)集源自大型公開手勢數(shù)據(jù)集HaGRID[5],該數(shù)據(jù)集中的手勢用于設(shè)計設(shè)備控制系統(tǒng)和提供符號學(xué)功能,本文使用HaGRID子集Light-HaGRID進行訓(xùn)練,該子集包含13 000張彩色圖片,手勢背景復(fù)雜多樣,數(shù)據(jù)集所含手勢類型及示例如圖2所示,其中包括13種日常生活常見手勢,每種類型手勢共1 000張,此外還包含1個名為no-gesture的自然手部動作類,訓(xùn)練與測試集數(shù)量比例為7:3。為提高深度學(xué)習(xí)模型的泛化性,本文采用隨機裁剪、水平翻轉(zhuǎn)和色調(diào)變換等數(shù)據(jù)增強手段。
圖2 數(shù)據(jù)集中的手勢類型及示例
SSDLite-MobileNetV2算法是目前主流的單階段目標(biāo)檢測算法之一,具有識別精度高、識別速度快等優(yōu)點,由前端網(wǎng)絡(luò)、附加提取網(wǎng)絡(luò)、回歸檢測頭和損失函數(shù)等部分組成。其核心思想是采用多尺度的特征圖對不同大小的目標(biāo)進行檢測,通過前端網(wǎng)絡(luò)MobileNetV2[6]結(jié)合額外特征提取層,自底向上生成包含不同語義信息的預(yù)測特征圖。淺層特征圖感受野較小,用于檢測小目標(biāo);深層特征圖感受野較大,用于檢測大目標(biāo)。獲得不同尺度的預(yù)測特征圖后,分別在每個特征圖上逐點生成不同尺寸、寬高比的先驗邊界框,隨后將特征圖送入目標(biāo)預(yù)測層,對每個邊界框進行softmax分類及邊界框參數(shù)回歸,通過邊界框回歸參數(shù)將邊界框調(diào)整到目標(biāo)真實邊界附近,最后通過非極大值抑制算法(NMS)濾除重合度較高的檢測框,從而實現(xiàn)目標(biāo)檢測。
與單發(fā)多邊框檢測(single shot multibox detector,SSD)算法[7]不同的是,本文使用的算法利用MobileNetV2替換VGG16前端網(wǎng)絡(luò),在降低模型規(guī)模的同時,有效提高了模型的推理速度,使其更好地在嵌入式、移動端設(shè)備上運行。同時,本文算法使用深度可分離卷積構(gòu)建檢測頭結(jié)構(gòu),對于3×3卷積來說,理論上使用深度可分離卷積的參數(shù)量與計算量可以達到普通卷積的1/9,極大地降低了模型的復(fù)雜度[8]。SSDLite-MobileNetV2網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 SSDLite-MobileNetV2模型結(jié)構(gòu)
本文采用PyTorch深度學(xué)習(xí)框架搭建SSD Lite-MobileNetV2網(wǎng)絡(luò),試驗計算機CPU型號為Intel? Core(TM) i5-11260H,GPU型號為NVIDIA GeForce RTX3050。利用CUDA11.2加速訓(xùn)練,并使用PyCharm軟件平臺完成程序編寫。訓(xùn)練過程采用Warm-up熱身訓(xùn)練方式,在網(wǎng)絡(luò)訓(xùn)練初期將學(xué)習(xí)率從較小值逐漸增大到預(yù)設(shè)值,可防止出現(xiàn)因訓(xùn)練初期學(xué)習(xí)率設(shè)置過大而造成的訓(xùn)練不穩(wěn)定現(xiàn)象。batch_size大小設(shè)置為16,學(xué)習(xí)率采用等間隔調(diào)整策略,初始學(xué)習(xí)率設(shè)為0.001,采用SGD算法更新網(wǎng)絡(luò)參數(shù),動量參數(shù)設(shè)為0.9,權(quán)重衰減設(shè)為0.000 5。
訓(xùn)練過程的精度及學(xué)習(xí)率曲線如圖4所示,精度曲線如圖5所示。由圖可知,訓(xùn)練時模型平均精度(mAP)隨損失的下降而逐步上升至0.93附近,模型收斂性較好。此外,為直觀驗證模型的可靠性及精度,本文將室外不同場景下采集的用戶圖像輸入網(wǎng)絡(luò)進行預(yù)測,結(jié)果如圖6所示??梢钥闯?該手勢識別算法對具有單一、復(fù)雜背景的不同手勢,均達到了99%以上識別精度和精確的定位效果,模型具有良好的泛化性能,可保證在復(fù)雜背景下手勢識別的準(zhǔn)確性。
圖4 訓(xùn)練損失及學(xué)習(xí)率曲線
圖5 訓(xùn)練過程精度曲線
圖6 復(fù)雜背景手勢圖像識別效果
人機交互界面(human-machine interface,HMI)可有效提高用戶交互效率和系統(tǒng)的靈活性[9],本文選擇圖形化UI界面設(shè)計,與傳統(tǒng)的命令行、文字界面相比,圖形化界面具有直觀易懂、用戶友好、可視化展示、交互性強等優(yōu)點[10],能夠更好地滿足用戶的需求,提供更好地交互體驗,用戶可通過觸控或語音實現(xiàn)不同功能的控制。
本文基于Qt平臺完成上位機程序開發(fā)及人機交互界面設(shè)計,并集成至計算機上,該軟件界面主要包括用戶登錄、行車控制、界面設(shè)置、影音娛樂、車輛狀態(tài)顯示、歷史數(shù)據(jù)查詢等模塊,圖7為智能交互終端界面的軟件架構(gòu)。
圖7 智能交互終端界面軟件架構(gòu)
1)用戶登錄模塊。通過驗證操作者用戶名和密碼完成用戶身份驗證和權(quán)限分配,防止非專業(yè)操作人員非法操作車輛,同時記錄用戶每次操作行為并上傳至數(shù)據(jù)庫,方便后續(xù)檢查和維修,登錄成功后進入主界面。該人機交互終端主界面如圖8所示。
圖8 人機交互終端主界面
2)行車控制模塊。用于控制車輛的行駛和車載電器設(shè)備,包括加速、剎車、換向等行車控制功能和燈光空調(diào)開啟、模式切換等功能。用戶可以通過界面上的按鈕或語音來控制車輛的運動。
3)界面設(shè)置。用于設(shè)置人機交互界面的主題、背景及字體,同時用于配置與車輛整車控制器的連接方式。
4)影音娛樂模塊。該模塊提供播放音樂、視頻觀看和其他娛樂功能。用戶可以通過界面上的控制按鈕來選擇和播放音樂、視頻等媒體內(nèi)容。
5)車輛狀態(tài)顯示模塊。該模塊用于實時顯示車輛的各項狀態(tài)信息,包括電機轉(zhuǎn)速、車載電器狀態(tài)等。用戶可以通過界面上的圖表、數(shù)字或指示燈來查看車輛的當(dāng)前狀態(tài),界面如圖9所示。
圖9 車輛狀態(tài)顯示界面
6)歷史數(shù)據(jù)查詢。用戶登錄云端數(shù)據(jù)庫可下載車輛歷史操作信息、狀態(tài)信息等車輛的歷史數(shù)據(jù)記錄,如車輛速度、電機轉(zhuǎn)速、行駛軌跡等,用戶可通過選擇日期、時間范圍等條件進行數(shù)據(jù)查詢和分析。
交互系統(tǒng)由Jetson Nano、智能交互終端、STM32組成。首先利用攝像頭實時采集用戶交互圖像,其次將圖像縮放并轉(zhuǎn)成Tensor格式后送入部署在Jetson Nano的手勢識別算法進行特征提取、手勢類型識別及位置坐標(biāo)輸出,最后將檢測結(jié)果轉(zhuǎn)化為控制指令,通過USB數(shù)據(jù)線上傳至交互終端完成手勢交互控制。
仿真試驗過程如圖10所示:用戶通過手勢完成了燈光的控制。通過試驗可知,利用該交互系統(tǒng)進行手勢交互,每次交互和系統(tǒng)響應(yīng)平均時間約0.1 s,部署在Jetson Nano上的手勢識別算法能夠準(zhǔn)確快速地識別當(dāng)前手勢及其位置,并發(fā)送相應(yīng)控制指令,且影音娛樂應(yīng)用、被控設(shè)備能夠按照用戶操作意圖快速響應(yīng)并執(zhí)行相應(yīng)動作,控制過程通信狀況穩(wěn)定,系統(tǒng)工作狀態(tài)正常,實現(xiàn)了預(yù)期的手勢交互目標(biāo)。
圖10 仿真試驗
本文設(shè)計的手勢識別智能人機交互系統(tǒng)以深度學(xué)習(xí)和Qt集成開發(fā)環(huán)境為平臺,實現(xiàn)了手勢凌空控制,用戶無需與按鍵產(chǎn)生視覺交互即可完成控制,提高了交互效率及其便捷性,通過SSDLite-MobileNetV2模型檢測手勢,識別精度達99%,同時模型對不同環(huán)境背景下的手勢均具有較好的識別效果。此外,上述交互系統(tǒng)不僅可用于車輛領(lǐng)域,而且在工業(yè)控制、智能家居等領(lǐng)域具有廣闊的應(yīng)用前景。
在后續(xù)的研究中,將通過擴充手勢、采用動態(tài)手勢與靜態(tài)手勢相結(jié)合的方式,進一步豐富車載場景下的手勢識別內(nèi)容,提高人機交互系統(tǒng)的性能。