胡宗承,周亞同,史寶軍,何 昊
(1.河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津 300401;2.河北工業(yè)大學(xué) 機械工程學(xué)院,天津 300401)
手勢識別是人機交互的一個重要研究方向,在體感游戲、智能家居等場景有著廣泛應(yīng)用。LIAN[1]及YANG 等[2]利用穿戴設(shè)備識別簡單手勢,但穿戴設(shè)備使用不便且難以推廣?;谝曈X的手勢識別方法,由于其靈活便捷的優(yōu)勢成為研究熱點。在深度學(xué)習(xí)成為研究熱點之前,基于視覺的手勢識別的重大突破多是由于使用了人工特征提取方法,如方向梯度直方圖[3-5]、SIFT[6]等。對特征分類多采用支持向量機(Support Vector Machine,SVM),如文獻[7]提出一種基于RGB-D 數(shù)據(jù)的手勢識別方法,通過分割手部區(qū)域提取手勢特征,進而使用SVM 進行分類。TARVEKAR 等[8]提出一種用于非接觸式的手勢識別系統(tǒng),該系統(tǒng)在多種顏色空間中檢測膚色信息,應(yīng)用皮膚閾值從分割圖像中分割手部區(qū)域,從中提取顏色和邊緣特征,并利用SVM 分類器進行手勢識別。文獻[9]提出一種基于梯度方向直方圖與局部二值模式融合的手勢識別方法,利用主成分分析對梯度方向直方圖特征描述算法進行降維,將降維后的數(shù)據(jù)與局部二值模式特征融合,最后利用SVM 實現(xiàn)靜態(tài)手勢識別。
隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)逐漸被應(yīng)用于各種領(lǐng)域。文獻[10]通過Faster RCNN 深度網(wǎng)絡(luò)模型進行手勢識別,能夠在識別手勢的同時進行手勢檢測。ZHANG 等[11]采用改進的YOLOV3 算法對靜態(tài)手勢進行識別,并綜合使用Kinect 設(shè)備采集的4 種信息的優(yōu)勢,利用K-Means 聚類算法對YOLOV3 候選框參數(shù)進行優(yōu)化,以提高手勢識別精度。ZHOU 等[12]基于DSSD 算法提出一種靜態(tài)手勢識別算法,DSSD 算法中的先驗框?qū)捀弑炔⒎鞘謩釉O(shè)定,而是使用K-Means 聚類算法和手肘法共同決定先驗框?qū)捀弑龋瑫r還利用遷移學(xué)習(xí)解決數(shù)據(jù)量小的問題。CHAUDHARY 等[13]提出一個用于光不變手勢識別系統(tǒng)的神經(jīng)網(wǎng)絡(luò),利用方向直方圖提取手勢特征向量并對6 類手勢分類,結(jié)果表明,該網(wǎng)絡(luò)在極端光照強度變化環(huán)境下的總體精度達到92.86%。ALNUJAIM 等[14]利用手勢對天線阻抗產(chǎn)生的變化進行分類,并將采集阻抗轉(zhuǎn)化為光譜圖,在采集時將信號轉(zhuǎn)變?yōu)閳D像,利用卷積神經(jīng)網(wǎng)絡(luò)進行分類。
針對現(xiàn)有神經(jīng)網(wǎng)絡(luò)模型對手勢特征表征不足的問題,本文提出一種結(jié)合注意力和特征融合的靜態(tài)手勢識別算法。引入注意力機制對輸入特征圖進行選擇性輸入,并通過特征融合將高級特征經(jīng)上采樣與低級特征相結(jié)合,增強特征表征能力,提高手勢識別的分類精度。
注意力機制研究源于19 世紀的實驗室心理學(xué),Google DeepMind 團隊提出注意力機制并將其用在圖片分類中[15]。注意力機制的本質(zhì)是對輸入數(shù)據(jù)特定選擇,使網(wǎng)絡(luò)模型更加關(guān)注輸入數(shù)據(jù)中的重要信息,抑制非重要信息。
WANG 等[16]提出殘差注意力網(wǎng)絡(luò),殘差學(xué)習(xí)機制由多個注意力模塊堆疊而成,注意力模塊內(nèi)部采用自底向上、自頂向下結(jié)構(gòu)與堆疊的沙漏網(wǎng)絡(luò),能夠快速收集圖像全局信息,并將全局信息與原始特征圖相結(jié)合,但存在計算量大的問題。HU 等[17]提出SENet 網(wǎng)絡(luò),通過壓縮—激勵方法使特征圖通道間建立相互依賴關(guān)系,自適應(yīng)調(diào)整特征圖通道權(quán)重。WOO 等[18-19]提出BAM 及CBAM 兩種不同注意力模塊,同時考慮空間注意力和通道注意力。BAM 在深度神經(jīng)網(wǎng)絡(luò)下采樣前發(fā)揮作用,其中通道注意力模型和空間注意力模型采用并聯(lián)方式。CBAM 通道注意力模型和空間注意力模型采用串聯(lián)方式相結(jié)合,是一個輕量級注意力模塊。WANG 等[20]提出一種有效的通道注意力深度卷積神經(jīng)網(wǎng)絡(luò)ECA,通過借鑒SENet 思想,將全連接層替換為一維卷積,并且采用自適應(yīng)一維卷積對通道進行特征提取,聯(lián)合相鄰?fù)ǖ佬畔?,雖然實驗取得不錯結(jié)果,但沒有引入特征圖空間關(guān)系。WU 等[21]將多通道注意力機制用于人臉替換的鑒別任務(wù)中,在多通道注意力中融合了全局注意力和局部注意力。LU 等[22]提出一種特征圖注意力機制用于超分辨率圖像重建,并獲取特征通道間依賴關(guān)系,自適應(yīng)地調(diào)整特征圖通道權(quán)重。
特征融合多用于目標(biāo)檢測、圖像分割領(lǐng)域中,通常通過融合多層特征提升檢測和分割能力。LIN等[23]提出目標(biāo)檢測的特征金字塔網(wǎng)絡(luò),采用具有橫向連接、自頂向下結(jié)構(gòu)將高層語義特征與低層語義特征相結(jié)合,提高小目標(biāo)檢測能力。LIU 等[24]提出路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PANet),采用自底向上的路徑增強方法,以較底層的精確定位信號增強整個特征層,縮短較底層與最上層間的信息路徑,并且提出自適應(yīng)特征池化,將特征網(wǎng)絡(luò)與各特征層連接。CAO 等[25]提出一種基于注意力引導(dǎo)的語義特征金字塔網(wǎng)絡(luò)(Attention-guided Context Feature Pynamid Network,ACFPN),利用注意力機制整合不同大規(guī)模區(qū)域信息。CHEN 等[26]提出基于級聯(lián)的多層特征融合策略,將淺層特征圖與深層特征圖按通道維度連接,解決小目標(biāo)識別效果差的問題。LI 等[27]針對目標(biāo)尺度不同的問題,采用多尺度融合的思想,構(gòu)建三分支網(wǎng)絡(luò),然后對低層特征和高層特征進行選擇性融合。
本文算法創(chuàng)新點在于提出了一種新的注意力機制ACAM 及特征圖融合方式CFP。ACAM 綜合特征圖的通道和空間信息,CFP 融合低層和高層特征,有效提高了分類的準確度。除以上兩點外,本文將ACAM、CFP 運用在改進的MobileNetV2[28]上,提出了r-mobilenetv2 算法。
本文提出的注意力模塊ACAM 如圖1 所示。ACAM 由通道注意力模型和空間注意力模型兩部分組成。通道注意力模型采用自適應(yīng)一維卷積操作,且在通道注意力模型后添加跳躍連接,將通道注意力模型輸出特征圖F1與空間注意力模型輸出特征圖F2線性相加。假設(shè)初始輸入特征圖F大小為H×W×C,通過ACAM 中的通道注意力模型可得大小為1×1×C的一維通道注意力特征圖;通過ACAM 中的空間注意力模型可得大小為H×W×1 的二維空間注意力特征圖。
圖1 自適應(yīng)通道注意力模塊Fig.1 Adaptive convolution attention module
整體注意力過程如式(1)所示:
其中:CA 為通道注意力模型;SA 為空間注意力模型;F為輸入特征圖;F1為經(jīng)過通道注意力模型處理后的特征圖;F2為經(jīng)過空間注意力模型處理后的特征圖;F3為整體注意力模型處理后的重建特征圖。
通道注意力模型采用一維卷積對特征圖通道信息處理,根據(jù)特征圖通道數(shù)動態(tài)選擇卷積核大小。通道注意力模型的工作流程如圖2 所示。首先對輸入特征圖進行壓縮,即在空間方向進行壓縮,得到大小為1×1×C的特征圖。然后,根據(jù)特征圖通道數(shù)C,自適應(yīng)選擇一維卷積核大小,并根據(jù)卷積核大小使用一維卷積對相鄰?fù)ǖ捞卣鬟M行處理,增加通道間的相關(guān)性。再將一維卷積處理后的特征圖通過激活函數(shù)進行重建。最后,將一維通道注意力特征圖與輸入特征圖F相乘,輸出為通道注意力輸出特征圖F1。
圖2 通道注意力模型Fig.2 Channel attention model
根據(jù)特征圖共享卷積核的原則,可以推斷通道數(shù)C與一維卷積核kernel-size:k必然存在某種聯(lián)系,即滿足C=?(k)=2(r×k+b)。最基礎(chǔ)假設(shè)從簡單的線性映射驗證該函數(shù),即C=r×k+b,但線性映射表達性有限。另一方面由于計算機是二進制,而卷積神經(jīng)網(wǎng)絡(luò)中batch-size、通道維度大多習(xí)慣設(shè)為2n,故設(shè)C=?(k)=2(r×k+b)。采用非線性表示通道數(shù)C與一維卷積核k之間關(guān)系,相較線性關(guān)系有更強的表現(xiàn)型,如式(2)所示:
其中:k為一維卷積核大??;C為輸入特征圖通道數(shù);r、b為超參數(shù),這里分別取r為2,b為1。
空間注意力模型在通道注意力輸出特征圖F1的基礎(chǔ)上進行操作,如圖3 所示。首先沿著通道所在維度方向進行均值化處理,得到大小為H×W×1的特征圖。然后對其進行二維卷積操作,得到的特征圖經(jīng)激活函數(shù)激活后輸出為二維空間注意力特征圖。最后,將二維空間注意力特征圖與通道注意力輸出特征圖F1相乘得到空間注意力輸出特征圖F2。
圖3 空間注意力模型Fig.3 Spatial attention model
本文借鑒特征金字塔的思想,提出分類特征金字塔CFP。CFP 的整體結(jié)構(gòu)如圖4 所示,采用橫向連接、自頂向下與自底向上結(jié)合的連接方式。在stage2中高層特征A經(jīng)上采樣和stage1中低層特征B經(jīng)一維卷積后得到的特征圖線性相加,得到特征圖G,特征圖G經(jīng)二維卷積得到特征圖D,特征圖D與高層特征A空間維度匹配后,在通道維度上連接,得到新特征圖E,并送入后序網(wǎng)絡(luò)中分類。
圖4 分類特征金字塔Fig.4 Classification feature pyramid
CFP 主 要分 為stage1、stage2、stage33 個部分,分別對應(yīng)特征提取、上采樣、特征融合3 個方面。在stage1中,采用卷積神經(jīng)網(wǎng)絡(luò)對輸入數(shù)據(jù)進行特征提取,自底而上的特征圖空間維度依次減半,取最上兩層特征圖A、B作為最終特征融合所需特征圖。stage2應(yīng)用stage1中最上層高級語義特征A進行上采樣,經(jīng)上采樣后的特征圖空間尺度變?yōu)樵瓉? 倍,與stage1中特征圖B在空間維度上匹配。stage1中特征圖B經(jīng)過1×1 卷積調(diào)整通道數(shù),使其與stage2中特征圖A通道維度相匹配,兩者進行簡單線性相加。stage3將stage2中高分辨率特征圖G經(jīng)卷積操作使空間維度與低分辨率特征圖A 相匹配,并在通道維度連接。最后將融合特征圖E 送入后序網(wǎng)絡(luò)分類。
r-mobilenetv2 在MobileNetV2 基礎(chǔ)上引入ACAM和CFP 的同時,對原網(wǎng)絡(luò)結(jié)構(gòu)進行調(diào)整。具體為,刪除最后一個輸入尺寸為7×7×160 的Inverted Residuals 模塊,并加入注意力機制ACAM 和特征融合CFP。
MobileNet 系列[28-30]為輕量級網(wǎng)絡(luò),雖然相較其他網(wǎng)絡(luò)需要犧牲部分準確度,但在計算量和參數(shù)量上有著巨大優(yōu)勢。在224×224 像素的RGB 圖片上,MobileNetV2 的參數(shù)量僅為VGG16 參數(shù)量的1.72%,是ResNet-18 參數(shù)量的20.63%。故MobileNet系列及變體能夠有效地部署在移動端。本文主要對MobuleNetV2 進行改進。r-mobilenetv2 的網(wǎng)絡(luò)結(jié)構(gòu)如表1 所示。其中:當(dāng)重復(fù)次數(shù)大于1 時,每組的第一個bottleneck 中卷積步數(shù)為表中的值,其他默認卷積步數(shù)取1。一組bottleneck 構(gòu)成一個Inverted Residuals 模塊。
表1 r-mobilenetv2 的網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Network structure of r-mobilenetv2
r-mobilenetv2 在 Inverted Residuals 模塊中Strides 等于1 和2 時的共同部分后添加ACAM,最后在兩個Inverted Residuals 模塊中引入CFP。加入ACAM 的位置如圖5 所示。
圖5 ACAM 機制在Inverted Residuals 中的位置Fig.5 Position of ACAM mechanism in Inverted Residuals
本文的實驗硬件環(huán)境為Inter?Xeon?CPU E5-2640 v4@ 2.40 GHz,GPU 為一塊顯存為11 GB 的GTX 1080Ti。軟件環(huán)境為Ubuntu16.04,Keras2.2.2。使用RMSprop 對網(wǎng)絡(luò)進行訓(xùn)練,初始學(xué)習(xí)率為0.001,權(quán)重衰減系數(shù)為1×10-6,batch-size 設(shè)為64,若10 個epoch 后測試集準確率沒有提升,學(xué)習(xí)率將衰減為原來的1/10,若30 個epoch 后測試集準確率沒有提升,則程序停止。
本文在LaRED[31]數(shù)據(jù)集上進行實驗測評。LaRED 數(shù)據(jù)集共有27 種基礎(chǔ)手勢,含242 900 張圖片。27 種基礎(chǔ)手勢如圖6 所示,每個基礎(chǔ)手勢取3 個朝向,分別為基礎(chǔ)手勢、基礎(chǔ)手勢繞X 軸旋轉(zhuǎn)90°、基礎(chǔ)手勢繞X/Y 軸各旋轉(zhuǎn)90°的手勢。從數(shù)據(jù)集中選取部分手勢如圖7 所示。
圖6 LaRED 數(shù)據(jù)集類別Fig.6 Classification of LaRED date set
圖7 LaRED 數(shù)據(jù)集的部分數(shù)據(jù)Fig.7 Partial data of LaRED date set
原始數(shù)據(jù)集是按幀采集的連續(xù)序列,相鄰幀圖片近似,故每15 幀取一張圖片,對數(shù)據(jù)集進行篩選,并只利用數(shù)據(jù)中的RGB 信息。其中,訓(xùn)練集含12 955 張圖片,測試集含3 239 張圖片。對于處理好的圖片采取RGB 的方式輸入,去均值后,送到后續(xù)網(wǎng)絡(luò)中進行分類。
本文首先在不同網(wǎng)絡(luò)模型上驗證所提注意力機制的適用性,然后在MobileNetV2 網(wǎng)絡(luò)的基礎(chǔ)上添加不同注意力機制,并與本文所提注意力機制進行對比,以綜合驗證ACAM 的有效性。選取網(wǎng)絡(luò)ResNet-18[32]、ShuffleNetV2[33]、MobileNetV2 進行對比,實驗結(jié)果如表2 所示。
表2 ACAM 在不同網(wǎng)絡(luò)模型上的結(jié)果對比Table 2 Comparison of ACAM results on different worknet models
從表2 可知,本文所提ACAM 雖然僅引入較少參數(shù),但在不同網(wǎng)絡(luò)模型的準確率上均有1個百分點左右的提升,證明了ACAM 的適用性。ACAM 在ResNet-18網(wǎng)絡(luò)上的錯誤率降低了1.57個百分點,參數(shù)量增加214;在ShuffleNetV2網(wǎng)絡(luò)上錯誤率降低0.77個百分點,參數(shù)量增加864;在MobileNetV2 網(wǎng)絡(luò)上錯誤率降低0.98 個百分點,參數(shù)量增加892。
對比3 種不同網(wǎng)絡(luò)及加入ACAM 的表現(xiàn),MobileNetV2 不管從Top1 錯誤率還是參數(shù)量上均有明顯優(yōu)勢。從Top1 錯誤率看,MobileNetV2+ACAM 的Top1 錯誤率比ResNet-18 降低了0.31 個百分點,比ShuffleNetV2+ACAM 降低0.92 個百分點。從參數(shù)量上看,MobileNetV2+ACAM 參數(shù)量僅為RestNet-18 的20.64%,為ShuffleNetV2+ACAM 的57.18%。綜合以上考慮,選擇在MobileNetV2 基礎(chǔ)上進行實驗。
為驗證ACAM 的有效性,以MobileNetV2 為例,在BAM、CBAM、ECA 上與ACAM 進行對比,實驗結(jié)果如表3 所示。由表3 可知,在MobileNetV2 上,不同注意力模型對于手勢識別效果均有貢獻。與MobileNetV2基礎(chǔ)網(wǎng)絡(luò)相比,MobileNetV2+BAM 的參數(shù)量增加了157 400,在MobileNetV2參數(shù)量的基礎(chǔ)上增加了6.81%;MobileNetV2+CBAM 的參數(shù)量增加了60 286,在MobileNetV2 參數(shù)量的基礎(chǔ)上增加了2.61%;MobileNetV2+ECA 參數(shù)量僅增加了59,增加參數(shù)量相對MobileNetV2 參數(shù)量可忽略不計。本文所提ACAM與MobileNetV2 結(jié)合后參數(shù)量為2 311 703,與MobileNetV2 的參數(shù)量相比增加了892,相當(dāng)于在MobileNetV2 參數(shù)量的基礎(chǔ)上增加3.86×10-4。在不考慮錯誤率情況下,通過引入?yún)?shù)量進行比較,BAM 引入?yún)?shù)量最多,CBAM 次之,ACAM 和ECA 引入?yún)?shù)量相對較少。綜合Top1 錯誤率和模型參數(shù)量兩個衡量標(biāo)準考慮,本文所提ACAM 結(jié)果更優(yōu)。
表3 不同注意力機制在MobileNetV2 網(wǎng)絡(luò)上的結(jié)果對比Table 3 Comparison of results of different attention mechanisms on MobileNetV2 network
將本文提出的注意力機制與特征融合模塊加入MobileNetV2 中,并對MobileNetV2 進行修改,mobilenetv2 為直接在MobileNetV2 上修改后的網(wǎng)絡(luò),實驗結(jié)果如表4 所示,其中“×”表示未添加,“√”表示添加。
表4 ACAM 機制與CFP特征融合模塊對網(wǎng)絡(luò)性能的影響Table 4 Influence of ACAM mechanism and CFP feature fusion module on network performance
由表4 可知,在MobileNetV2 基礎(chǔ)上進行刪減后,mobilenetv2 的參數(shù)量減少了900 480,相當(dāng)于MobileNetV2 參數(shù)量的38.97%。mobilenetv2 在減少參數(shù)量的同時準確率提升,Top1錯誤率減少0.3個百分點,這說明刪減后的網(wǎng)絡(luò)更適合手勢識別。在MobileNetV2和mobilenetv2 上添加CFP 和ACAM,添加CFP 后兩種不同的網(wǎng)絡(luò)MobileNetV2+CFP 和mobilenetv2+CFP Top1 的錯誤率均降低1 個百分點左右,但參數(shù)量大幅上升,相較原基礎(chǔ)網(wǎng)絡(luò),參數(shù)量分別增加了58.96%、19.27%。添 加ACAM 后,mobilenetv2+ACAM 相 較MobileNetV2+ACAM Top1 錯誤率更低,在參數(shù)量更少的情況下,Top1 錯誤率降低0.53 個百分點。通過上述分析可知,CFP、ACAM 對手勢識別任務(wù)有效。將CFP和ACAM 加 入MobileNetV2 和mobilenetv2 中,形 成R-MobileNetV2和r-mobilenetv2。其中R-MobileNetV2以未經(jīng)刪減的MobileNetV2 為基礎(chǔ),r-mobilenetv2 以刪減后的MobileNetV2 為基礎(chǔ)。最終R-MobileNetV2 相對MobileNetV2的Top1錯誤率降低了1.26個百分點,參數(shù)量相對MobileNetV2增加了59.00%,達到了3 674 263。r-mobilenetv2 相對mobilenetv2 Top1 的錯誤率降低了1.52 個百分點,參數(shù)量相對mobilenetv2 增加了11.79%,達到1 682 849;相對R-MobileNetV2 Top1 的錯誤率降低了0.56 個百分點,參數(shù)量僅為R-MobileNetV2 的45.80%;相對MobileNetV2 Top1的錯誤率降低了1.82個百分點,達到1.17%,參數(shù)量僅為MobileNetV2 的72.83%。以上實驗結(jié)果充分驗證了CFP、ACAM 及r-mobilenetv2 的有效性。
此外,在r-mobilenetv2 網(wǎng)絡(luò)中,選取測試集數(shù)據(jù)制作混淆矩陣,結(jié)果如圖8 所示。由圖8 可知,r-mobilenetv2 對27 種手勢的預(yù)測基本完全正確,在手勢識別中有著優(yōu)異的表現(xiàn)。
圖8 r-mobilenetv2 算法的混淆矩陣Fig.8 Confusion matrix of r-mobilenetv2 algorithm
為有效提取特征,解決特征表征不足的問題及提高手勢識別精度,本文結(jié)合注意力機制和特征融合,提出一種輕量級網(wǎng)絡(luò)靜態(tài)手勢識別算法r-mobilenetv2。通過結(jié)合空間注意力和通道注意力模型,得到一種自適應(yīng)卷積注意力機制,針對高級語義特征含有的分類信息不完全問題,構(gòu)建分類特征金字塔,并通過實驗驗證自適應(yīng)卷積注意力機制及分類特征金字塔的有效性。實驗結(jié)果表明,r-mobilenetv2 算法的準確率達98.83%,與MobileNetV2 算法相比,其參數(shù)量及Top1 的錯誤率分別降低了27.20%、1.82 個百分點。下一步將從損失函數(shù)、卷積方式入手對網(wǎng)絡(luò)的適應(yīng)性及實時性進行改進,提高網(wǎng)絡(luò)識別精度及泛化性能。