袁帥 呂佳琪
(沈陽建筑大學 遼寧沈陽 110168)
在過去的幾十年里,傳統人機交互技術所使用的鍵盤、鼠標或者可觸摸屏幕在機器控制方面已有非常廣泛的應用,但是新出現的手勢識別技術更加符合人體的使用習慣,因此對手勢識別技術的研究具有重要意義和潛在應用價值。除此之外,手勢是人類普遍使用的交流方式之一,同時又是聾啞人的主要交流方式,因此,手勢識別方面的研究將可能給人機交互和人與人之間的交互方式帶來重大變革[1]。手勢識別技術因其特有的優勢已在許多領域獲得廣泛應用,例如:(1)在人機交互領域,以手勢特征作為控制信號的方式相較于傳統以按鍵觸屏進行控制的方式來說更加富有交互體驗;(2)在智能家居領域,用戶可通過手勢實現對智能設備相應功能的控制,從而使控制過程更加自然簡單;(3)在身體語言分析領域中,通過手勢識別可以更加準確地識別和理解人們的意圖和情感,進而為人們提供更好的交互體驗。除此之外,手勢識別在智能駕駛、網絡直播、安防監控等領域也有廣泛的應用。
YOLOv5(You Only Look Once version 5)是一種用于目標檢測的深度學習算法,由美國加州大學伯克利分校的研究人員Alexey Bochkovskiy 和團隊開發,核心思想是將輸入的圖像分為一個個小的方格,對每個方格同時預測出目標的位置、類別和置信度等信息。YOLOv5 在目標檢測領域廣受歡迎,但仍存在對手勢特征不敏感問題。
針對目標檢測網絡對手勢特征不敏感和傳統的樸素貝葉斯分類器的分類精度缺失問題,本文提出了一種新型改進YOLOv5網絡和Copula貝葉斯分類器手勢識別算法。該算法包含預處理、手勢檢測和手勢分類3個主要步驟,預處理主要有圖片統一大小、轉化成灰度圖、圖片歸一化3 個部分;手勢檢測利用改進YOLOv5 網絡訓練出的檢測模型實現;手勢分類采用了Copula 貝葉斯分類器手勢識別算法。實驗結果表明:本文提出的算法通過改進現有框架,進一步提高了手勢識別分類精度和速度,具有一定實際價值。
YOLOv5目標檢測網絡包含一系列網絡模型,包括YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x、YOLOv5x+TTA等不同版本??傮w上說,YOLOv5是YOLOv4的改進加強版,通過對細節進一步優化,從而具有更好的檢測精度和速度。YOLOv5網絡結構[2]主要包含輸入端、Backbone、Neck和輸出端4個部分。其中,輸入端的拼接方式采用隨機縮放、排布、縮減,可以提高對小目標檢測精度;Backbone 部分采用了Focus 結構,且包含切片操作;Neck部分采用CSPNet中的CSP2結構,增強了特征融合能力;輸出端采用了Bounding box 損失函數和nms 加權方式,可對多目標進行篩選和非極大值抑制。
卷積注意力機制模塊[3,4](Convolutional Block Attention Module,CBAM)的基本思想是在卷積神經網絡中引入注意力機制,以便在處理輸入數據時更好地捕捉其重要的特征。CBAM 模塊依次從通道和空間兩個不同的維度推算注意力圖,然后將得到的注意力圖與輸入特征圖相乘,以此進行自適應特征細化。作為一個輕量級模塊,CBAM可以很方便地集成到卷積神經網絡中實現端到端訓練。此外,CBAM還具有參數少、速度快和效果好等特點,含有CBAM的特征層可以捕捉到簡單的邊緣、形狀等,進而獲取更復雜的語義表示。
本文將CBAM 模塊添加到YOLOv5 結構中,它可以將輸入手勢圖片中的手勢特征進行加權,從而突出目標物體與背景的差異。
經YOLOv5實現手勢檢測后,為實現手勢識別,還需要引入一種圖片分類算法。貝葉斯分類器是一種簡單快速且可解釋性強的多分類算法,較為適合本研究中的場景,因此,本研究選取該算法實現圖片分類。
貝葉斯定理的基本思想是在已知某些先驗信息的基礎上,通過新的觀測數據來更新對于某個事件發生概率的估計,其數學表達如式(1)所示。
假設各屬性Xk(k=1,2,…,n)之間相互獨立,那么該事件各屬性發生概率和數學表達如式(2)所示。

由于分母的P(X)對各屬性間概率相同,因此根據貝葉斯定理形成的樸素貝葉斯分類器[5],只需要比較哪個屬性的分子屬性概率最大,就是該目標特征的屬性,樸素貝葉斯分類器的判別準則的數學表達如式(4)所示。
傳統貝葉斯分類器依賴于屬性間相互獨立的假設,這在實際應用中難以得到保證,因而本文在此基礎上采用一種屬性間關系描述利用Copula理論方法構造類條件概率密度函數的方法。
基于Copula理論改進的樸素貝葉斯分類器構造的類條件概率密度函數,可以刻畫各屬性間的相關性。Copula貝葉斯分類器在一定程度上改善了樸素貝葉斯分類器因屬性間相互獨立的假設而產生的分類精度缺失問題[6]。
Copula 理論的核心概念是:隨機變量X的聯合概率密度函數可以使用邊緣概率密度函數和與此相關的Copula密度函數的乘積來表示,其數學公式為
Pair Copula構建樹是一種基于樹形結構的聯合概率密度估計方法,它的基本思想是將多維變量的聯合概率密度函數分解為一系列邊緣分布和條件分布函數的乘積形式。假設概率密度函數為fn(x),其核密度估計如式(6)所示。
YOLOv5 在手勢識別中應用廣泛,但其對易混淆信息的抑制能力不夠,無法選擇性地關注到更有用的目標對象。因此,本文在YOLOv5 中插入CBAM 模塊,得到的Attention-YOLOv5網絡結構如圖1(a)所示。由此可以看出,在經典YOLOv5 基本結構的Backbone 與Neck部分之間,本文添加了多個CBAM模塊,從而使網絡更關注手勢特征部分。

圖1 結構圖與檢測結果
本文采取融合注意力模塊CBAM的改進方式去實現手勢特征向量篩選加權,在YOLOv5目標檢測網絡中添加CBAM 模塊的具體步驟如下:(1)首先修改YOLOv5s的配置文件,將C3模塊修改為添加注意力機制后的模塊CBAMC3;(2)然后在原來的YOLOv5 網絡結構中添加CBAMC3 模塊;(3)在改進的YOLOv5 網絡程序中添加額外的判斷語句,得到修改后的CBAMC3模塊。
添加該模塊后,本文在模型訓練時調用了修改后的YOLOv5配置文件,去驗證注意力機制在YOLOv5模型上的有效性。
Copula 貝葉斯分類器的主要思想是:屬性間的聯合概率密度函數可以表示為Pair Copula函數和對應邊緣概率密度函數的乘積。改進分類器的具體實現方法是:首先計算相關系數矩陣,然后構建Copula 模型,再利用極大似然估計進行參數估計,最后根據貝葉斯原理樣本類別屬于后驗概率最大的類別。
3.1.1 數據集制作
數據集制作主要是將包含自建數據和標準數據集的手勢圖片放在特定文件夾中。其中,手勢識別標準數據集為HaGRID(Hand Gesture Recognition Image Dataset),包含18類手勢共計552 992個樣本,因該數據集過于龐大,本文選取手勢0~5這6組數據中的部分圖片作為標準數據集,與自建數據集混合進行后續模型訓練。
3.1.2 標簽制作
首先對數據集進行手勢區域人工標注,再將標注后的圖片放到指定的文件夾中,用于后續的訓練。
3.1.3 模型訓練
在確定好訓練數據集的相關路徑之后,修改模型配置文件的相關參數,并使用預訓練模型中的權重作為訓練權重。在經過50 個epoch 后,選取訓練結果最好的權重進行保存。
3.1.4 圖片檢測
修改測試利用的權重路徑為訓練時得到的最好權重路徑,并輸入測試的手勢圖片數據集,手勢檢測的結果示意圖見圖1(b)。
針對YOLOv5手勢識別目標檢測網絡存在的識別偏差問題,本文提出了Attention-YOLOv5算法。該算法將CBAM添加到YOLOv5結構中,通過對輸入的手勢圖像中手勢目標進行加權,從而突出了手勢目標與背景的差異。圖片檢測實驗結果如表1所示,從表中數據可以看出:相比于改進前的YOLOv5網絡,Attention-YOLOv5目標檢測網絡精確度提升3.0%,平均精度提升3.2%,召回率提升5.9%。圖片分類的結果如表2所示,從表中數據可以看出:Copula貝葉斯分類器分類結果相比于樸素貝葉斯分類器在不同手勢的準確率上均有顯著提升。

表1 YOLOv5算法改進前后性能對比(單位:%)

表2 改進前后貝葉斯分類器分類準確率對比(單位:%)
本文提出的Attention-YOLOv5 算法,將注意力機制網絡模塊融合到YOLOv5結構中,提高了YOLOv5目標檢測手勢識別網絡的識別準確率和召回率。此外,本文提出的Copula 貝葉斯分類器,通過刻畫隨機變量間復雜的相關性,解決了樸素貝葉斯分類器必須依賴于隨機變量間相互獨立的問題,并且在實驗中取得了比樸素貝葉斯分類器更高的分類準確率。今后相關研究還應關注復雜背景、復雜光照和多目標同時存在情況下的手勢識別,以使手勢識別算法可以具有更好的魯棒性。