魯杰偉 盤軒 彭雯蝶 諶愛文
關鍵詞:手勢識別;YOLOv5S;改進YOLOv5s模型;目標檢測;動態(tài)稀疏注意力
0 引言
隨著人工智能技術的不斷發(fā)展,手勢識別作為一種基于人機交互的智能技術逐漸受到廣泛關注和應用。手勢識別技術可以通過感應設備對人的肢體動作進行識別和分析,并將其轉化為電子信號,從而實現與計算機、智能設備的自然交互。手勢識別技術在智能城市、智能家居、智能醫(yī)療、智能交通等領域都有廣泛的應用,為人們提供了更加自然、便捷、高效的交互方式,從而提高了生活質量和工作效率。
深度學習技術的進步極大地推動了手勢識別領域的發(fā)展。在理論研究方面,學者們不僅探索了手勢的識別和處理機制,還深入分析了手勢交互的基本動作及其參數。國際上,例如CMU、Stanford、MIT 和Google等研究機構,在手勢識別技術的硬件、算法和應用方面取得了顯著成果[1]。這些進展為手勢識別的實際應用提供了新視角和解決方案。特別是結合深度學習技術,如YOLOv5[2],對提高識別算法的準確性和效率的研究,成為了重點。YOLOv5s的應用優(yōu)化了手勢識別中的準確度和速度,尤其在處理復雜背景和動態(tài)手勢方面顯示出了優(yōu)勢。
YOLOv5s作為一種高效的目標檢測模型,在手勢識別領域得到了廣泛的關注和應用。其在手勢識別方面的主要優(yōu)勢體現在其快速和準確的識別能力,特別適用于需要實時處理的動態(tài)手勢場景。通過對YOLOv5s模型的調整和優(yōu)化,該模型能夠更有效地識別各種復雜度的手勢,進而提高手勢識別系統(tǒng)的整體性能。
然而,現有的基于YOLOv5s手勢識別算法在目標檢測準確率和效率方面存在一定的問題,限制了其在實際應用中的性能[3]。其中一個原因是現有的基于YOLOv5s手勢識別算法在目標檢測階段存在相似手勢區(qū)分能力較弱以及檢測結果的重疊和重復問題。因此,我們希望通過改進YOLOv5s算法來提高手勢識別的準確率和效率。本文將從目標檢測預測階段對YOLOv5s算法進行改進,以解決現有算法在目標檢測和速度方面的不足,從而使其在手勢檢測領域更加快速和準確。
1 相關工作
YOLOv5是YOLO(You Only Look Once) 系列目標檢測模型的一個版本,由Ultralytics 團隊開發(fā)。YO?LOv5s模型的整體架構可以分為幾個主要部分,包括骨干網絡、特征提取器、檢測頭和損失函數[2]。YO?LOv5s 模型的骨干網絡采用了CSPDarknet53,CSP?Darknet 是Darknet 系列中的一種變體,引入了CSP(Cross Stage Partial) 結構,以提高網絡的效率和性能。CSP結構通過將特征圖分成兩部分,一部分進行卷積計算,另一部分保持不變,從而減少了計算量和參數數量。在骨干網絡之后,YOLOv5s模型使用了一系列的卷積層、上采樣層和殘差連接來提取圖像的特征。這些層逐漸減小特征圖的尺寸,并增加特征圖的深度,以捕獲圖像中不同尺度的信息。YOLOv5s模型的檢測頭負責預測邊界框的位置和類別。檢測頭由一系列的卷積層和最終的輸出層組成,其中輸出層負責生成目標的位置坐標、置信度分數和類別概率[3-4]。
YOLOv5s 模型在YOLOv5 的基礎上對目標檢測中常見的問題都做了一定的優(yōu)化改進,在性能上同時兼顧檢測速度和檢測精度,具有較好的工程實用性。YOLOv5s模型采用了一種簡單而有效的設計,具有較低的計算和參數量,同時能夠實現較高的檢測精度和速度。這使得它成為一種適用于移動設備和嵌入式系統(tǒng)的理想選擇。
然而,通過分析,發(fā)現YOLOv5s在手勢識別上依然存在部分問題。為了滿足手勢檢測的需求,本文對YOLOv5s模型進行了進一步優(yōu)化,以提升檢測精度和效率。本文通過引入動態(tài)稀疏注意力BiFormer模塊,更好地處理長序列數據和具有變長結構的數據[5],例如文本和視頻,從而可以更好地捕捉目標在時間和空間上的關系。因此,改進的YOLOv5s在處理物體尺度和形狀的變化、長序列數據和具有變長結構的數據以及目標重疊和形狀信息方面有了很大的提升,使得其在手勢識別上更加強大和精準。
2 基于改進YOLOv5s 的手勢識別算法
在視覺變換器中,注意力機制作為核心構件,擅長捕捉長距離依賴關系。然而,這種能力的代價是巨大的計算負荷和內存占用。為解決這個問題,提出了動態(tài)稀疏注意力機制(Dynamic Sparse Attention,DSA) 。DSA通過對自注意力(Self-Attention) 矩陣進行二值化處理,僅計算選定特征,有效減少了計算量和內存使用。
BiFormer 模塊融合了Transformer 網絡中的自注意力(Self-Attention) 和交叉注意力(Cross-Attention) 機制[5],以更有效捕捉序列數據的依賴關系。在該模塊中,輸入序列先后通過自注意力和交叉注意力計算,然后通過前饋網絡處理,以產生最終輸出。其結構如圖1所示,詳細信息如表1所示,這種方法優(yōu)化了信息處理流程,提高了處理效率。
具體來說,DSA引入了一個自適應閾值Tau,用以將自注意力矩陣A 二值化成一個二值矩陣B。在這個過程中,只有那些自注意力矩陣中的值大于閾值Tau元素才會在二值矩陣中被設為1。然后,使用這個二值矩陣B 替代原始的自注意力矩陣A 來進行注意力計算,要注意的是,在計算過程中僅需要計算那些在二值矩陣中被選中的位置上的特征。DSA的具體計算公式如下:
其中,Q、K 和V 分別是查詢、鍵和值矩陣,dk 是鍵的維度。
BiFormer模塊中,除了自注意力機制,還引入了交叉注意力機制。交叉注意力機制將序列中的每個位置視為一個節(jié)點,通過計算節(jié)點之間的注意力權重來進行特征的交互,可以更好地捕捉序列數據中的長距離依賴關系。具體地,對于一個序列X ={ x1,x2…xn },交叉注意力機制的計算公式如下:
其中,Y 是輸出序列,Attention(X,X,X )表示交叉注意力計算,LayerNorm 表示歸一化操作。BiFormer模塊中,交叉注意力計算是在自注意力計算之后進行的。
3 實驗與分析
3.1 數據集
實驗采用了Microsoft Kinect and Leap Motion數據集[6-7],該數據集記錄了14名不同的人執(zhí)行的10種不同手勢,每種手勢重復10次,共計1 400個手勢。數據集中不僅包括了Kinect和Leap Motion的動作數據,還提供了Kinect的校準參數。此外,Leap Motion的數據包括了所有Leap SDK提供的參數。
3.2 評估指標
本文將均值平均精度(mAP) 作為衡量模型在手勢識別準確性的主要指標,該指標綜合考慮了精確率(P) 和召回率(R) 。此外,模型的大小通過參數量(Pa?rameters) 來評估,而模型的計算量則通過每次卷積所需的浮點運算量(BFlops) 來衡量。模型的檢測速度則通過每秒處理的圖片數量(FPS) 來評定。這些評價指標全面反映了模型的性能和效率[8]。各評價指標的計算公式如下:
其中,TP表示模型預測為正類且實際標簽也為正類的樣本數量,FP表示模型預測為正類但實際上標簽為負類的樣本數量,TN表示模型預測為負類且實際標簽也為負類的樣本數量,FN表示模型預測為負類但實際上標簽為正類的樣本數量[9]。
3.3 實驗結果與分析
為驗證改進模型的性能,本研究選擇了與之類似的輕量級模型進行比較,包括YOLOv3s、YOLOv4-tiny[10] 以及MobilenetV3-YOLOv5s[11]。其中,Mobile?netV3-YOLOv5s是通過將YOLOv5s的backbone 部分替換為MobilenetV3的backbone而構建的。這樣的對比實驗有助于展示改進模型在相似類別中的優(yōu)勢和特點。將模型按照第2節(jié)的配置進行訓練,將訓練好的模型放在測試集上測試模型的性能,測試集包含800張圖片。實驗均不采用預訓練模型,訓練過程中參數配置相同。實驗結果如表2所示:
通過對比實驗結果可以發(fā)現,不同模型的mAP(0.5)和Recall(0.5)略有差異,但整體上在80%以上,說明這些模型在目標檢測任務中都具有較高的準確性和全面性。YOLOv3s的模型參數和計算復雜度都遠遠高于其他模型,而YOLOv4-tiny和MobilenetV3-YO?LOv5s在這兩個指標上都有較小的數值,說明它們是相對輕量級的模型。YOLOv4-tiny 在FPS 上表現最好,達到了72幀/秒,而YOLOv3s則最低,僅為27幀/ 秒。MobilenetV3-YOLOv5s雖然模型參數和計算復雜度更低,但性能和推理速度都略遜于YOLOv4-tiny。不過通過引入動態(tài)稀疏注意力BiFormer模塊,對關鍵特征的動態(tài)聚焦,加強了模型對復雜場景的識別能力,進而在提升mAP的同時,略微犧牲了召回率,表明了在優(yōu)化模型對特定特征的關注度時,可能影響到模型對較為細微手勢的檢測能力。綜上所述,這項改進措施促進了手勢識別算法在準確性、效率和速度方面的提升。
4 結束語
本研究通過改進YOLOv5s算法,有效提升了手勢識別的準確性和效率。實驗結果表明,這些改進對于提高手勢識別在實際應用中的可行性和實用性具有重要意義。未來的工作將集中在進一步優(yōu)化算法性能,并探索其在更廣泛應用場景下的潛力。此外,本研究也為深度學習在圖像識別領域的其他應用提供了有價值的參考和啟示。我們期待著手勢識別技術在未來的發(fā)展,以及它在人機交互、增強現實等領域的更廣泛應用。