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