魏小玉,焦良葆,劉子恒,湯博宇,孟 琳
(南京工程學(xué)院 人工智能產(chǎn)業(yè)技術(shù)研究院,南京 211167)
智能駕艙系統(tǒng)可顯著提升汽車用戶體驗(yàn)感,已成為汽車行業(yè)發(fā)展的重點(diǎn)之一。手勢識別作為一種重要的人機(jī)交互方式,在智能駕艙中得到了廣泛的應(yīng)用。一般來說,手勢識別常采用接觸式和非接觸式兩種檢測方法?;趥鞲衅鞯慕佑|式手勢檢測,因在智能駕艙等應(yīng)用場景條件有限的情況下,難以實(shí)現(xiàn)以最小的駕艙成本達(dá)到同樣基于計(jì)算機(jī)視覺的手勢檢測效果,而且會給用戶帶來不舒適的駕駛體驗(yàn),甚至增加駕駛風(fēng)險。因此在智能駕艙系統(tǒng)設(shè)計(jì)中采取基于計(jì)算機(jī)視覺的非接觸式手勢識別方法,用手部關(guān)鍵點(diǎn)定位技術(shù)進(jìn)行手勢約束,實(shí)現(xiàn)人機(jī)交互更符合應(yīng)用場景。目前研究手勢識別的主流網(wǎng)絡(luò),根據(jù)場景需求不同,算法側(cè)重也各有不同。
多數(shù)的手勢實(shí)時檢測方法,研究方式重點(diǎn)在于直接進(jìn)行手勢的特征提取。而手勢特征提取方法大多采用神經(jīng)網(wǎng)絡(luò)的方式,Di Wu[1]等人提出了一種用于多模態(tài)手勢識別的深度動態(tài)神經(jīng)網(wǎng)絡(luò)(DDNN,deep dynamic neural networks),能夠同時進(jìn)行目標(biāo)姿勢分割和識別,檢測效果良好。于此,在如何提高手勢檢測的整體效果,文獻(xiàn)[2]中提出了一種采用聚合通道特征(ACF,aggregate channel feature)與雙樹復(fù)小波變換(DTCWT,dual-tree complex wavelet transform)的手勢識別算法,以求在不同環(huán)境下都能夠保持很好的識別精度。除了從選擇不同算法角度,在圖像處理,函數(shù)改進(jìn)等方面作提升也可以達(dá)到相同的結(jié)果。KeKe Geng[3]等人提出在紅外圖像中采用改進(jìn)的YOLO v3(you only look once v3)手勢檢測模型網(wǎng)絡(luò),較傳統(tǒng)可見光下的數(shù)據(jù)呈現(xiàn)方式,可以更好地擬合人體手部姿態(tài)并減少噪聲干擾。LYU Shuo[4]等人則是在改進(jìn)YOLO v3和方差損失函數(shù)(SSE,sum of squared error loss)的基礎(chǔ)上,降低Sigmoid對梯度消失的影響,來提高模型檢測精度。在人體手部姿態(tài)的小目標(biāo)定位分類檢測中,手勢特征關(guān)鍵點(diǎn)的提取精度至關(guān)重要。文獻(xiàn)[5]中采用支持向量機(jī)(SVM,support vector machine)的方式對小目標(biāo)快速計(jì)算并分類。而王婧瑤[6]等人則是提出一種基于蒙版區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Mask R-CNN,Mask Region-based Convolutional Neural Network),與多項(xiàng)式平滑算法(SG,Savitzky-Golay)的手勢關(guān)鍵點(diǎn)提取技術(shù)且較WANG Sen-bao[7]等提出的手部21關(guān)鍵點(diǎn)檢測模型,進(jìn)一步對數(shù)據(jù)進(jìn)行平滑處理,有效的提升了模型檢測精度。而在不輸深度目標(biāo)檢測網(wǎng)絡(luò)的出色表現(xiàn)且兼具方便嵌入小型終端使用,文獻(xiàn)[8]中提出了構(gòu)建輕量型的手勢實(shí)時檢測分類網(wǎng)絡(luò),相較于文獻(xiàn)[9]在深層網(wǎng)絡(luò)增加密集連接層來提高復(fù)雜環(huán)境下的實(shí)時檢測效果,有效的減輕了計(jì)算量和參數(shù)量的問題。
在側(cè)重依賴于快速且實(shí)時的基礎(chǔ)上,本文同樣采用了輕量型神經(jīng)網(wǎng)絡(luò)的方式進(jìn)行手部識別檢測。為進(jìn)一步提高整體的檢測精度,改進(jìn)了ReXNet輕量型網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)及損失函數(shù)。而在考慮提高后續(xù)實(shí)驗(yàn)項(xiàng)目的拓展性與可移植性的問題上,采用先進(jìn)行人體手部識別再進(jìn)行關(guān)鍵點(diǎn)定位檢測的方式,而非直接訓(xùn)練手部動作分類。實(shí)驗(yàn)結(jié)果表明,輕量型網(wǎng)絡(luò)模型訓(xùn)練不會占用太多資源且改進(jìn)后的網(wǎng)絡(luò)有更高的檢測精度,具有很強(qiáng)的實(shí)用性研究意義。
手部識別部分方法采用YOLO v3作為手部特征提取網(wǎng)絡(luò)。YOLO v3在YOLO前兩代的基礎(chǔ)上改進(jìn)缺點(diǎn),均衡了目標(biāo)檢測的速度和精度以及重點(diǎn)解決了小物體檢測的問題。本文選用YOLO v3網(wǎng)絡(luò)模型對手部特征bounding box的w、h、x、y以及置信度進(jìn)行訓(xùn)練。模型損失函數(shù)采用均方差(MSE,mean square error)。
YOLO v3算法:
對于手部特征目標(biāo)實(shí)時檢測的應(yīng)用要求,處理回歸問題的算法模型YOLO v1,自2016年發(fā)表的論文You Only Look Once:Unified,Real-Time Object Detection后,算法也正式發(fā)布。與經(jīng)典目標(biāo)檢測方法相比,深度神經(jīng)網(wǎng)絡(luò)特征提取能力更強(qiáng),準(zhǔn)確率更高。YOLO系列較CNN模型被稱為One-Stage方法,將先生成候選框與再分類回歸兩步同時進(jìn)行,以此大大降低了計(jì)算復(fù)雜度,加快了檢測速度。根據(jù)Joseph Redmon等發(fā)布的YOLO v3算法,在COCO數(shù)據(jù)集上較YOLO v2 mAP-50的44.0%提高到57.9%,很好的提升了模型識別準(zhǔn)確率。
YOLO v3算法通過卷積層特征提取網(wǎng)絡(luò),對輸入特征提取輸出檢測結(jié)果,得到特定大小的特征圖輸出。算法在3種不同下采樣尺度上進(jìn)行,通道數(shù)為3,檢測結(jié)果包括bounding box的中心位置xy,寬高wh,置信度。針對人體手部的小目標(biāo)檢測,在32倍下采樣呈現(xiàn)的小尺度,大視野上,有更好的預(yù)測效果。
手部識別模型采用的MSE Loss常用在回歸任務(wù)中,根據(jù)公式:
(1)
圖1 MSE函數(shù)曲線圖
其中,模型誤差包含計(jì)算坐標(biāo)誤差,置信度誤差和分類誤差。置信度公式如下:
(2)
手部關(guān)鍵點(diǎn)代表的信息本質(zhì)上不是單個的點(diǎn)的信息,描述的是手部這個固定區(qū)域的組合信息,表征不同關(guān)鍵點(diǎn)間的確定關(guān)系,是對手部物理空間的定位描述。通過點(diǎn)回歸和關(guān)系回歸的方式進(jìn)行手部特征標(biāo)注。不同于人體大目標(biāo)檢測手部特征的定位識別,手勢姿態(tài)定義類似于人臉特征點(diǎn)檢測和人體姿態(tài)估計(jì)的骨骼關(guān)鍵點(diǎn)檢測,需要在定位出手部關(guān)鍵點(diǎn)后通過約束骨骼向量角來定義不同手勢指令。
關(guān)鍵點(diǎn)檢測模型采用改進(jìn)ReXNet網(wǎng)絡(luò)結(jié)構(gòu),改定位損失函數(shù)MSE Loss為平滑平均絕對誤差(Huber Loss),并替換ReXNet的卷積層為Ghost Module。在采用輕量型網(wǎng)絡(luò)的優(yōu)點(diǎn)的同時進(jìn)一步提升ReXNet網(wǎng)絡(luò)應(yīng)用于關(guān)鍵點(diǎn)檢測的模型效果。
ReXNet網(wǎng)絡(luò)的設(shè)計(jì)初衷是為了解決現(xiàn)有網(wǎng)絡(luò)的特征表現(xiàn)瓶頸問題,網(wǎng)絡(luò)中間層常出現(xiàn)因?qū)斎胩卣鞯纳疃葔嚎s,而導(dǎo)致輸出特征的明顯減少,甚至丟失特征的現(xiàn)象。本文在關(guān)鍵點(diǎn)檢測模型上采用改進(jìn)的ReXNet網(wǎng)絡(luò)架構(gòu),實(shí)現(xiàn)在參數(shù)量少的情況下消除表現(xiàn)瓶頸問題,增強(qiáng)21手部骨骼點(diǎn)的局部關(guān)注,提升網(wǎng)絡(luò)對關(guān)鍵點(diǎn)的識別性能及識別準(zhǔn)確度。
2.1.1 ReXNet網(wǎng)絡(luò)及Ghost Module
ReXNet本身是在MobileNetV2輕量化網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn),以適當(dāng)?shù)恼{(diào)整有效減輕了現(xiàn)有網(wǎng)絡(luò)的特征表現(xiàn)瓶頸問題。其中,倒殘差結(jié)構(gòu)(Inverted Residuals)、線性瓶頸(Linear Bottleneck)以及SENet(Squeeze-and-Excitation Networks)中提出的SE(Squeeze-and-Excitation)模塊三部分是構(gòu)成輕量化神經(jīng)網(wǎng)絡(luò)MobileNetV2的重要基礎(chǔ)。ReXNet在結(jié)合改進(jìn)的增加網(wǎng)絡(luò)通道數(shù),替換激活函數(shù)為Swish-1函數(shù)以及設(shè)計(jì)更多擴(kuò)展層的方式來減輕網(wǎng)絡(luò)的特征表現(xiàn)瓶頸問題,形成ReXNet輕量型網(wǎng)絡(luò)的基礎(chǔ)模型結(jié)構(gòu)。
ReXNet模型在對數(shù)據(jù)的處理方式上同大多數(shù)CNN模型一樣,在通過優(yōu)化算法后,提高了對數(shù)據(jù)的處理能力,加快了計(jì)算效率,有效的節(jié)約了計(jì)算資源。通過提升網(wǎng)絡(luò)模塊數(shù)據(jù)秩的思路,解決盡可能完全提取圖像特征不壓縮的問題,貫穿輕量型神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)始終。ReXNet輕量化網(wǎng)絡(luò)的一種關(guān)鍵構(gòu)建塊,深度可分離卷積構(gòu)成的倒殘差結(jié)構(gòu),其基本思想是通過分解的卷積運(yùn)算符來替代完整的卷積算子,使用少量的算子及運(yùn)算達(dá)到相同的計(jì)算效果。
倒殘差結(jié)構(gòu)能夠有效的避免當(dāng)常規(guī)卷積核的參數(shù)出現(xiàn)較多0時,即卷積核沒有起到特征提取網(wǎng)絡(luò)的作用,造成特征信息丟失的問題。利用倒殘差結(jié)構(gòu)能夠很好地獲取到更多的特征數(shù)據(jù)信息,進(jìn)而提升模型的訓(xùn)練效果。倒殘差結(jié)構(gòu)在網(wǎng)絡(luò)結(jié)構(gòu)上主要采用了先升維的操作,也就是先進(jìn)行擴(kuò)展層的擴(kuò)充,擴(kuò)展倍數(shù)由擴(kuò)展因子控制,此時升維卷積層的激活函數(shù)為ReLU6,主要目的是為了獲取到更多的特征提取信息。接著再進(jìn)行深度卷積(DW,Depthwise Convolution)的特征提取工作,此時的特征提取卷積層的激活函數(shù)為ReLU6。最后進(jìn)行降維壓縮的卷積處理,激活函數(shù)為線性激活函數(shù)。整體的網(wǎng)絡(luò)結(jié)構(gòu)呈現(xiàn)兩頭小,中間大的形狀。這也是與殘差結(jié)構(gòu)很不同的一點(diǎn),兩者呈現(xiàn)的是完全相反的結(jié)構(gòu),因此稱為倒殘差結(jié)構(gòu)。
在倒殘差結(jié)構(gòu)的降維卷積層中使用線性激活函數(shù),為避免采用了常規(guī)的ReLU激活函數(shù)后,將高維信息映射到低緯空間中,進(jìn)行空間維度的轉(zhuǎn)換時造成的信息丟失。而線性激活函數(shù)會降低這種信息損失。在倒殘差結(jié)構(gòu)中,從高維映射到低維的縮減通道數(shù),實(shí)現(xiàn)卷積降維的網(wǎng)絡(luò)結(jié)構(gòu)稱為線性瓶頸。
可分離卷積分為空間可分離卷積和深度可分離卷積。ReXNet網(wǎng)絡(luò)的核心卷積層即基于深度可分離卷積。深度可分離卷積將普通卷積拆分為深度卷積和逐點(diǎn)卷積(PW,pointwise convolution)。深度卷積通過對每一個的輸入通道應(yīng)用單獨(dú)的卷積濾波器來執(zhí)行輕量級濾波,逐點(diǎn)卷積通過對輸入通道的線性組合構(gòu)建新特征,實(shí)現(xiàn)對特征圖的升維和降維。
圖2 標(biāo)準(zhǔn)卷積
圖3 深度可分離卷積
在ReXNet網(wǎng)絡(luò)中間卷積層嵌入SE模塊,以輕微的計(jì)算性能損失來提升準(zhǔn)確率,在關(guān)鍵點(diǎn)檢測模型中有很好的訓(xùn)練效果。SE模塊作為改進(jìn)模型注意力機(jī)制的常用模塊,其先通過Squeeze操作從每個通道空間的角度進(jìn)行特征壓縮,再通過Excitation操作為每個特征通道生成獨(dú)立權(quán)重,最后將每個通道的權(quán)重值與原特征圖對應(yīng)通道進(jìn)行相乘加權(quán),以此操作達(dá)到提升ReXNet網(wǎng)絡(luò)通道注意力機(jī)制的效果。SE模塊能夠?qū)崿F(xiàn)從含有大量冗余的信息中獲取所需的重要內(nèi)容,進(jìn)而提升模型的整體訓(xùn)練精度。
Ghost Module的實(shí)質(zhì)是通過減輕模型計(jì)算量來進(jìn)行提升整體的訓(xùn)練效率。20年華為諾亞方舟實(shí)驗(yàn)室提出的Ghost Net新型神經(jīng)網(wǎng)絡(luò)框架,核心模塊Ghost Module可以移植部署到其他CNN網(wǎng)絡(luò)中,實(shí)現(xiàn)“即插即用”改進(jìn)現(xiàn)有網(wǎng)絡(luò),提升實(shí)驗(yàn)效果。Ghost Module操作分為常規(guī)卷積過程、Ghost特征圖生成以及恒等映射特征圖的拼接三步,過程如下:
1)先用常規(guī)卷積得到本征特征圖;
2)通過φi,jcheap operate操作得到Ghost特征圖,及恒等映射得到本征特征圖;
3)將第二步中的本征特征圖與Ghost特征圖拼接得到輸出結(jié)果。
圖4 The Ghost Module
2.1.2 新的ReXNet網(wǎng)絡(luò)架構(gòu)
基于以上,改進(jìn)操作在結(jié)合ReXNet輕量型網(wǎng)絡(luò)的模型結(jié)構(gòu)基礎(chǔ)上,在基于減少計(jì)算量以及兼具一定的識別準(zhǔn)確度的基礎(chǔ)上用Ghost Module模塊對ReXNet進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)的調(diào)整?;谠O(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)的具體實(shí)用效果,本文在通過多次實(shí)驗(yàn)改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)的模型訓(xùn)練結(jié)果下,最后采用替換倒數(shù)第二層卷積為Ghost Module。相比較常規(guī)卷積,Ghost Module可以大幅度的減小計(jì)算量,改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 關(guān)鍵點(diǎn)檢測網(wǎng)絡(luò)模型結(jié)構(gòu)圖
在改進(jìn)ReXNet網(wǎng)絡(luò)架構(gòu)后,模型適配損失函數(shù)改MSE Loss為Huber Loss。作為在處理回歸問題中常用的損失函數(shù)之一,Huber loss很好的繼承了MSE和MAE的優(yōu)點(diǎn),對于離群點(diǎn)抗干擾性強(qiáng)于MSE,Loss下降速度優(yōu)于MAE,速度接近MSE。在保證模型能夠準(zhǔn)確的找到全局最優(yōu)值的同時還能使其以最快的速度更新模型參數(shù)。其中,Huber loss計(jì)算公式如下:
(3)
一般采用Lδ(y,f(x))表示,衡量真實(shí)值y與預(yù)測值f(x)之間的近似程度,一般越小越好。對于Huber loss計(jì)算公式中引入的超參數(shù)δ,其不同于模型參數(shù),需要在模型訓(xùn)練中根據(jù)數(shù)據(jù)收斂效果進(jìn)行認(rèn)人為調(diào)整。當(dāng)δ趨近于0時,Huber loss會趨近于MAE,當(dāng)δ趨近于∞時,Huber loss就會趨近于MSE。在實(shí)際實(shí)驗(yàn)過程中,因輕量型神經(jīng)網(wǎng)絡(luò)的自身優(yōu)點(diǎn),調(diào)整優(yōu)化Huber損失函數(shù)參數(shù),提升整體的手部關(guān)鍵點(diǎn)檢測精度,并未占用太多時間資源。
本文以改進(jìn)ReXNet輕量型網(wǎng)絡(luò),減少模型訓(xùn)練量提高檢測精度為重點(diǎn)。實(shí)驗(yàn)通過YOLO v3手部檢測與改進(jìn)的ReXNet手勢關(guān)鍵點(diǎn)定位,進(jìn)而約束手部骨骼點(diǎn)向量角定義的不同手勢后,檢測手勢并判斷,最后達(dá)到實(shí)時檢測的效果。本文實(shí)驗(yàn)操作流程如圖6所示。
圖6 實(shí)驗(yàn)流程圖
手部識別模型訓(xùn)練采用TV-Hand以及COCO-Hand的部分?jǐn)?shù)據(jù)集,圖像數(shù)目為32417。其中,TV-Hand選自ActionThread數(shù)據(jù)集的部分?jǐn)?shù)據(jù)。
ActionThread數(shù)據(jù)集是由各種電視劇提取的人類動作圖像幀組成,依據(jù)其來源于諸多電視劇,采用多角度的攝像機(jī)拍攝以及劇集中不同級別的手部遮擋,TV-Hand所用的難易樣本足夠均勻且場景夠多。MS COCO(Microsoft Common Objects in Context)數(shù)據(jù)集是微軟出資標(biāo)注的公開數(shù)據(jù)集,有80個類別超50萬個目標(biāo)標(biāo)注,本文采用其中Hand-big部分的數(shù)據(jù)集并結(jié)合TV-hand數(shù)據(jù)集進(jìn)行YOLO v3手部識別模型訓(xùn)練。
模型訓(xùn)練實(shí)驗(yàn)數(shù)據(jù)表明,設(shè)置epoch為219,學(xué)習(xí)率為0.001時結(jié)果擬合較好。模型保存bounding box的w、h、x、y以及置信度的best loss實(shí)驗(yàn)結(jié)果如表1所示。
表1 best loss
如圖7所示,模型訓(xùn)練各項(xiàng)收斂指標(biāo),擬合效果良好。
圖7 Loss收斂圖
關(guān)鍵點(diǎn)檢測模型訓(xùn)練采用開源數(shù)據(jù)集Large-scale Multiview 3D Hand Pose Dataset及部分網(wǎng)絡(luò)手部圖片共49 060個數(shù)據(jù)樣本。樣本原出項(xiàng)目“handpose x”篩選整理部分圖片合集。實(shí)驗(yàn)針對改進(jìn)前后的網(wǎng)絡(luò)模型,比較了訓(xùn)練參數(shù)的變化。
在統(tǒng)計(jì)訓(xùn)練日志loss值,繪制收斂對比圖后,從圖7可以清晰的看出,模型改進(jìn)前后都具有很好的擬合結(jié)果。但較改進(jìn)前的模型來說,優(yōu)化后的模型實(shí)驗(yàn)效果更好。對比兩次訓(xùn)練控制變量,設(shè)置epoch為100,學(xué)習(xí)率為0.001,batch size為10,參數(shù)一致。兩輪模型訓(xùn)練結(jié)束保存最優(yōu)loss結(jié)果如表2所示。
表2 最優(yōu)loss對比表
如圖8所示,對比改進(jìn)前后關(guān)鍵點(diǎn)檢測模型Loss收斂圖可知,關(guān)鍵點(diǎn)損失值整體減小,擬合效果更好。
圖8 Loss收斂對比圖
手勢定義在基于對手部21關(guān)鍵點(diǎn)進(jìn)行檢測確定位置后,將同一順序批次的關(guān)鍵點(diǎn)進(jìn)行連線,標(biāo)出表示當(dāng)前手指。最后通過約束骨骼點(diǎn)間連線的二維角度定義不同手勢。
手勢骨骼點(diǎn)向量角度約束如圖9所示,根據(jù)設(shè)定手指的上下關(guān)節(jié)夾角經(jīng)驗(yàn)閾值,判斷手指的彎曲程度,并定義此時手指為伸直或彎曲。約束不同手指的角度定義手勢,原理簡單,便于操作實(shí)現(xiàn)。
圖9 角度約束
本實(shí)驗(yàn)通過角度約束,共定義了5個手勢,分別為one,two,three,four,five,每種手勢由5個手指彎曲角度組合定義。出于實(shí)驗(yàn)驗(yàn)證角度考慮,實(shí)驗(yàn)手勢含義,由手指固定姿態(tài)確定。表3中數(shù)值范圍為手指彎曲角度范圍。
表3 手勢定義
實(shí)驗(yàn)使用一塊英偉達(dá)GeForce RTX 3090的顯卡服務(wù)器,顯存為24 GB,操作系統(tǒng)為32位Linux 5.4,環(huán)境搭建Pytorch1.11.0,Python3.7,opencv-python。改進(jìn)前后的手勢識別方法的測試樣本均為RWTH(RWTH-PHOENIX-Weather multi-signer 2014)公開數(shù)據(jù)集的2 850張測試樣本。RWTH數(shù)據(jù)集是一個針對手語識別的數(shù)據(jù)集,包含各種手勢姿態(tài),應(yīng)用場景豐富。實(shí)驗(yàn)檢測5種手勢識別具體姿態(tài)如圖10所示。
用測試樣本分別對改進(jìn)前后的手勢識別方法進(jìn)行測試,改進(jìn)后的手勢識別方法在模型訓(xùn)練及準(zhǔn)確度方面都有很大提升,訓(xùn)練識別率均可達(dá)100%。根據(jù)定義的5種不同手勢,采用2 850張測試樣本進(jìn)行測試,測試識別率對比結(jié)果如表4所示。5種手勢的平均識別準(zhǔn)確率由改進(jìn)前的93.56%提升至96.18%,整體識別準(zhǔn)確率提升了2.62%。實(shí)驗(yàn)改進(jìn)使得手勢“two”,“three”識別準(zhǔn)確率低于其他手勢,主要原因在于測試樣本的個人生活習(xí)慣不一致。大拇指與無名指和小拇指的擺放位置,與約束條件不匹配導(dǎo)致,存在相互誤判,手勢“two”誤判為“three”,手勢“three”誤判為“two”。手勢“one”,“four”,“five”在日常使用中通常較為規(guī)范,展示角度范圍幅度不大,鏡頭識別誤判率較低。
表4 測試集識別準(zhǔn)確率對比
實(shí)驗(yàn)運(yùn)行程序調(diào)用OpenCV函數(shù)庫,數(shù)據(jù)讀入可使用本地圖片,視頻或采用硬件攝像頭實(shí)時信息抓取。在經(jīng)過手部識別模型檢測圖片,bounding box標(biāo)注手部特征并進(jìn)行1.1倍外擴(kuò),盡可能保證手部信息全在標(biāo)定框內(nèi)后,在進(jìn)行圖片分割。進(jìn)而在改進(jìn)手部關(guān)鍵點(diǎn)模型進(jìn)行檢測后,通過判斷是否滿足手勢約束條件,顯示設(shè)定手勢,否則不顯示既定手勢。最后輸出分類結(jié)果,檢測畫面還原鏡頭捕獲比例,顯示實(shí)時檢測畫面。
以外置攝像頭檢測為例,如圖10所示,判斷顯示檢測約定的5種手勢。準(zhǔn)確度高。
輕量型神經(jīng)網(wǎng)絡(luò)常被用于移動端或者嵌入式設(shè)備中。本文在應(yīng)用于智能駕艙的人機(jī)交互手勢識別中,提出了一種基于改進(jìn)輕量型神經(jīng)網(wǎng)絡(luò)的手勢識別方法。基于YOLO v3與改進(jìn)ReXNet為基礎(chǔ)框架,融合Ghost Module模塊,有效的提高了手勢識別效果,在測試樣本的識別結(jié)果中表現(xiàn)良好,測試整體精度可達(dá)96.18%。雖然有兩個手勢的識別準(zhǔn)確率相較其他手勢略低,但在實(shí)時檢測中,不甚有太大影響,且改進(jìn)后的算法對識別精度有很大提升,模型訓(xùn)練不會占用太多資源,這也是輕量型神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)之一。綜上總結(jié),本文改進(jìn)的手勢識別方法,可以實(shí)現(xiàn)高精度的手勢實(shí)時交互檢測,在智能駕艙等應(yīng)用場景中,都能夠得到很好的發(fā)展,有很強(qiáng)的現(xiàn)實(shí)工程意義。