




















摘" 要: AR設備以第一視角獲取的動態手勢往往存在手掌角度偏轉問題,各關節點位移軌跡相較正視角度發生變化,現有的手掌關節點位移特征無法有效識別,并且受限于AR設備性能,部分神經網絡模型無法取得良好表現。針對該應用場景,提出一種使用多特征分級融合的手勢識別方法。該方法構造位移、長度、角度三個特征對手勢進行描述,并進行向量編碼與歸一化以消除抖動干擾。根據關節點與標準手勢的相似度距離,仿照sigmoid函數分配關節點權重,以加權的動態時間規整(DTW)距離進行KNN匹配,并根據最佳的KNN置信度與特征優先級篩選出最可信的特征識別結果。實驗結果表明:該方法能有效識別9種存在角度偏轉的動態手勢;相較于傳統的位移特征方法,該方法的平均準確率提高了4%,能有效應對手掌偏轉情況下的動態手勢識別問題。
關鍵詞: 動態手勢識別; 多特征融合; DTW算法; 關節點; 位移特征;" KNN分類
中圖分類號: TN911.73?34; TP391.4" " " " " " " " " "文獻標識碼: A" " " " " " " " 文章編號: 1004?373X(2024)10?0079?07
Multi?feature hierarchical fusion for dynamic gesture recognition based on DTW
Abstract: Hand angle variation in dynamic motions captured from a first?person perspective is a common problem for augmented reality (AR) systems. Existing palm key point displacement features are ineffective for recognition because different key points' displacement trajectories differ from the frontal perspective. AR device limits also impose performance limitations for some neural network models. A gesture recognition method using multi feature hierarchical fusion is proposed for this application scenario. In this method, the displacement, length, and angle features are constructed to describe gestures, and vector encoding and normalization are conformed to eliminate jitter interference. Based on the similarity distance between the joint points and the standard gesture, the joint weights are assigned by means of the sigmoid function, and KNN matching is performed by means of the weighted dynamic time warming (DTW) distance. The most reliable feature recognition result is selected based on the best KNN confidence and feature priority. The experimental results show that this method can effectively recognize 9 dynamic gestures with angle deviation; in comparison with the traditional displacement feature methods, this method has an average accuracy improvement of 4% and can effectively address the dynamic gesture recognition problem under palm deflection.
Keywords: dynamic gesture recognition; multi feature fusion; DTW algorithm; joint points; displacement characteristics; KNN classification
0" 引" 言
動態手勢識別作為AR系統的重要組成部分之一,廣泛應用于虛擬現實、智能交互以及人機界面等領域[1]。按手部數據的獲取方式,動態手勢識別可大致分為基于硬件與基于視覺兩種。
基于硬件的動態手勢識別依賴于一些特殊的設備,如電容傳感陣列[2]等,使用不便;基于視覺的方法則使用方便,有許多研究人員使用視覺方法進行手勢識別。A. Mujahid等提出一種基于YOLOv3和 DarkNet?53卷積神經網絡的手勢識別模型[3]。羅標等將DarkNet網絡與TCN網絡結合,提高了動態手勢識別的魯棒性[4]。上述方法是通過深度神經網絡對手勢特征進行自主學習,對設備性能有較高要求,不適用于常規的AR設備。
動態時間規整(DTW)算法[5]與隱馬爾可夫(HMM)模型[6]是動態手勢識別的常用方法。魏秋月等使用Kinect獲取指尖的移動軌跡并按八個方向進行向量編碼,使用改進的DTW算法進行匹配識別[7]。王劍波將軌跡向量轉換為向量角,將靜態手勢特征識別結果與手部運動軌跡特征識別結果相結合,實現對動態手勢的識別[8]。上述方法的局限性在于只用位移特征對手勢進行描述,當手勢存在角度偏轉的情況時,由于原有的位移軌跡發生了偏轉,僅憑位移特征無法有效進行識別。
針對這一問題,本文在位移特征的基礎上,提出一種結合位移、長度和角度的多特征分級融合動態手勢識別方法。該方法構建3個特征來對手勢進行描述,根據關節點與標準模板的相似度分配權重,通過KNN最佳置信度與特征優先級來篩選出可信結果。
1" 特征描述
1.1" 手勢數據提取
MediaPipe[9]是谷歌開發的多媒體機器學習應用框架,它可以從一張圖片中快速提取21個手掌關節點,如圖1所示。
21個關節點示意圖
為解決金手指[10]問題,即從連續的視頻幀中截取屬于有效動態手勢的部分,可以使用雙滑動窗口閾值方法來對有效的動作幀進行提取,步驟如下:
1) 設定X幀的起始窗口、Y幀的結束窗口;
2) 當檢測到連續X幀中手掌各關節點最大變化幅度均大于起始閾值,則判定手勢開始;
3) 當檢測到連續Y幀中手掌各關節點最大變化幅度均小于結束閾值,則判定手勢結束。
1.2" 特征描述
手勢的位移特征可以使用八方向編碼來進行描述。該方法的原則是將關節點幀間位移近似編碼為八個方向中相近的向量,Z字形軌跡與八向量表示如圖2所示。其中Z字形移動軌跡的向量編碼為(0,0,3,3,3,3,0,0),該編碼即為位移特征。
在手掌發生角度偏轉時,close手勢如圖3所示。
各關節點的軌跡相較于手掌正對面時發生變化,從而導致位移特征無法有效識別。針對這一問題,可以使用關節點相對掌心的距離與傾角變化對該偏轉的手勢重新進行描述。
手部關節點的極坐標表示如圖4所示,其中長度D與角度θ分別表示關節點相對掌心的距離與傾角,公式如下:
同時考慮到手掌大小差異、相機距離不同、手部自然抖動等因素都會導致坐標數據發生變化,因此還需要對數據進行閾值濾波處理。
2" 加權DTW算法
2.1" 經典DTW方法
每個動態手勢的時間序列長度不一定相同,要比較不同幀長度的手勢之間的相似度,可以使用DTW算法。DTW算法能夠計算出兩個長度不同的序列之間的相似度距離,且無需大量數據進行訓練,相對于其他機器學習算法,簡單快速。DTW的計算過程如下:
對于序列[A={a1,a2,…,aN}]與序列[B={b1,b2,…,bM}],要計算A、B序列的相似度距離,需要構建大小為N×M的距離矩陣D,矩陣中各元素值為A、B序列對應位置上各元素距離。對于一維元素,可以取絕對值之差作為該距離。位移特征的距離計算公式為:
[D(i,j)=min(xi-yj,8-xi-yj)] (3)
隨后根據動態規劃構建累計距離矩陣[D1],矩陣右上角元素[D1 N,M]即為序列A、B的距離:
對于兩個需要進行DTW匹配的手勢X、Y,需要遍歷21個關節點,并累加總距離,選取距離最小的手勢作為識別結果。總距離公式如下:
2.2" 加權DTW方法
傳統DTW方法在計算手勢相似度時,認為各關節點同等重要,然而在實際手勢中,不同關節點在其中的重要性是不同的。文獻[11]以關節點的位移量大小作為權重的評判標準;文獻[12]以關節點活動劇烈程度即序列方差來計算權重。在一個手勢中,運動較小的關節點也可能占據一定的權重,因此本文設計了一種根據關節點運動與標準模板的相似程度來分配權重的方法。
同種手勢的樣本并不完全一致,因此需要統一每個手勢類的標準模板。標準模板應盡可能與同種手勢的各樣本相似,即與各樣本之間的DTW距離和最小,從而轉化為目標函數優化問題。優化算法使用序貫最小二乘規劃(SLSQP)算法[13],該算法的性能良好,是帶有約束條件優化問題的默認算法,公式如下:
式中:N表示該種手勢的樣本總數;[Ti]為標準模板中關節點i的運動序列;[Xni]為第n個樣本中關節點i的運動序列;[DTWXni,Ti]表示標準手勢與第n個樣本的DTW距離。
手勢樣本中各關節點相對于標準模板的DTW距離表示該關節點與標準模板的相似程度,顯然,該關節點的距離值越小,其與標準模板越相似,因此重要性越高。21個關節點與標準模板的DTW距離數組[R=[r1,r2,…,r21]],可以通過以下公式計算:
為防止[R]中個別數據過大或過小,從而影響權重分配,還需要對其進行處理,公式如下:
式中:[ra]表示R中最小值;[rb]表示R中最大值;[T1]、[T2]表示雙閾值。根據處理后的R數組,仿照sigmoid函數對關節點權重進行分配:
式中:[Wi]表示關節點i的權重;[β]為優化參數,其作用是避免[sigmoid(-β·ri)]值過大或過小。
3" 多特征分級融合
3.1" KNN置信度
在計算出樣本之間的相似度距離的基礎上,進行多特征分類。一種常用的分類方法是KNN,其原理可以描述為:在離待檢測樣本最近的K個樣本中,尋找出現次數最多的類別,然后判定檢測樣本為該類別;若有多個類別占比相同,則可以考慮平均距離最小的類別[14]。KNN分類示意圖如圖5所示。
某待測樣本的K鄰域中,類別A所占比例最多,因此將該待測樣本判定為類別A。根據KNN原理可知,在分類過程中影響分類結果的主要有兩個因素:一是待檢測樣本的K近鄰樣本中某分類的占比;二是待檢測樣本對于該分類的平均距離。因此對于KNN方法得到的分類結果,其置信度可以由這兩個因素來計算。
若待檢測樣本為X,其屬于分類T的置信度為C,則有:
3.2" 多特征識別流程
多特征會得到多個KNN分類結果,但需要對KNN分類結果進行取舍,篩選其中更為可信的結果。因此結合KNN分類置信度,設計了一種多特征分級融合的識別方法。該方法首先需要計算特征識別優先級和對應的最佳置信度。
選取不同的置信度閾值[TC]對KNN分類的結果進行篩選,僅保留置信度大于閾值的識別結果,計算篩選后的查準率結果如圖6所示。
特征優先級即為最高查準率降序排序,以圖6為例,長度特征曲線查準率最高值為0.96,位移、角度特征最高值分別為0.77與0.95。可知對于該手勢的識別,長度特征具有更高的可信度,其特征優先級依次是:長度、角度、位移。最佳置信度為是否保留識別結果的主要依據,故以查準率作為關鍵詞,對置信度閾值進行排序,可以得到最佳置信度。仍以圖6為例,當[TC]大于0.55時,得到的長度查準率為最值。因此認為,長度特征在[TC]等于0.55時有最好的識別效果,最佳置信度為0.55。即待檢測樣本若在長度特征中被識別為該手勢,且置信度大于0.55,則認為該結果是可信的。同理可得其他兩個特征的最佳置信度分別為0.45和0.75。
多特征分級融合的識別流程如圖7所示。
首先依次使用三個特征獨立對樣本進行KNN分類,得到結果與置信度集合記為{(A1,C1),(A2,C2),(A3,C3)};隨后遍歷結果集合,若識別結果A的對應特征為第一優先級且識別置信度C值大于對應的最佳置信度,則說明該結果A可信,可提前終止識別流程。
單憑第一優先級的特征無法識別所有樣本,為此再加入重復性和唯一最高優先級檢測。即若A1、A2、A3中存在重復的結果,也可認為該重復的值為識別結果;查詢A1、A2、A3對應特征的優先級,若存在唯一的最高優先級,則說明相對于另外兩個結果,該結果更可信,也可認為該最高優先級的手勢為識別結果。
相較于傳統的位移特征識別,多特征的優勢是在不影響原有的位移特征識別基礎上,增加長度與角度特征檢測偏轉手勢。當手部正面朝向時,位移特征可以對其進行識別;當手部發生偏轉,長度與角度特征也能對其進行補充,從而有效提升識別效果。
4" 實驗數據分析
4.1" 數據集
第一人稱的動態手勢數據集主要有EgoGesture[15]、FPHA[16]等,大多是含有深度圖像的手勢數據集,與本文使用的普通RGB相機不符,且其中沒有針對手勢偏轉情況作特殊處理,因此本文選擇自建數據集。為模擬日常使用情況,設計了9種一般軟件交互的常用手勢,如左右滑動、打開關閉等,每個手勢均在不同的偏轉角度下采集了不同幀長度的樣本。手勢定義具體內容如表1所示。
4.2" 實驗分析
本文在自建數據集上采用預訓練方法進行實驗,即選取一部分手勢樣本進行關節權重、特征識別優先級與最佳置信度等參數訓練。特征識別優先級與最佳置信度結果如表2所示。置信度閾值[TC]取值為0~1,間隔0.05,各手勢查準率隨[TC]變化情況如圖8所示。大部分手勢的查準率隨閾值[TC]變化較為明顯,如up、open等,因此可以快速計算出對應的最佳置信度。但也有一些例外,如rotation手勢雖然數據表現良好,各特征查準率都接近1,但其隨[TC]增加,數值變化不明顯,這說明數據集里該手勢的樣本量不足。
為衡量本文方法改進的效果,定義手勢的識別率[Precision(x)]、平均準確率[Accuracy]為:
式中:x為手勢類型;[TPx]為x手勢被正確分類的樣本數;[FPx]為錯誤識別為手勢x的樣本數;[TP+TN]表示所有樣本中被正確分類的樣本數;[TP+FP+TN+FN]表示所有樣本數。
本文方法的實驗結果混淆矩陣如圖9所示,表3給出了本文提出的多特征分級融合方法與其他方法在自建數據集上的對比結果。
由表3可以看出:本文方法相比傳統的單特征方法在識別率上有一定提升,最大提升了7.91%,平均準確率提升了4%;所提出的權重計算方法相比較其他權重計算方法也有一定改善,這說明多特征能補充識別位移特征不能有效識別的手勢樣本,證明了本文方法的優越性。
5" 結" 論
本文在傳統的位移特征基礎上,增加了長度與角度特征對動態手勢進行描述,提出了關節點與標準模板的相似度分配權重的方法;并結合KNN置信度,設計了一種多特征分級融合識別方法。
實驗數據證明,所提出的權重計算方法能對手勢關節點權重進行有效分配,設計的多特征識別方法能夠通過多特征對手勢進行有效識別。相較于傳統的單特征與其他文獻的改進方法,本文方法在手勢偏轉情況下有著更高的識別率,能有效地識別日常使用頻率較高的9種交互手勢,為高準確率動態手勢識別在人機交互上的應用提供了一種新的解決方法。
參考文獻
[1] 王立軍,李爭平,李穎,等.元宇宙終端:虛擬(增強)現實關鍵硬科技發展趨勢[J].科技導報,2023,41(15):46?60.
[2] 王子懿,沈三民,佘碩鋮.基于平面電容傳感器陣列的動態手勢識別技術[J].測試技術學報,2023,37(1):54?59.
[3] MUJAHID A, AWAN M J, YASIN A, et al. Real?time hand gesture recognition based on deep learning YOLOv3 model [J]. Applied sciences, 2021, 11(9): 4164.
[4] 羅標,陳勇.融合TCN的時空域雙流動態手勢識別方法[J].現代電子技術,2022,45(1):50?55.
[5] HANG C, RUI Z, CHEN Z, et al. Dynamic gesture recognition method based on improved DTW algorithm [C]// International Conference on Industrial Informatics?computing Technology. Nanjing: IEEE, 2017: 1041?1052.
[6] 毛瑞瑛.虛擬實驗中的手交互關鍵技術研究與實現[D].西安:西安理工大學,2022.
[7] 魏秋月,劉雨帆.基于Kinect和改進DTW算法的動態手勢識別[J].傳感器與微系統,2021,40(11):127?130.
[8] 王劍波.基于Kinect的動態手勢交互控制技術研究[D].西安:西安工程大學,2021.
[9] LUGARESI C, TANG J, NASH H, et al. MediaPipe: a framework for building perception pipelines [EB/OL]. [2023?08?20]. https://arxiv.org/pdf/1906.08172.pdf.
[10] 張維,林澤一,程堅,等.動態手勢理解與交互綜述[J].軟件學報,2021,32(10):3051?3067.
[11] 高晨.基于靜態和動態手勢控制移動機器人研究[D].北京:北京化工大學,2017.
[12] 汪成峰.基于自適應關節權重和插值小波的體感動作評價方法研究[D].北京:中國農業大學,2016.
[13] KRAFT D. A software package for sequential quadratic programming [J]. DFVLR Forschungsber, 1988, 28: 33.
[14] 童先群,周忠眉.基于屬性值信息熵的KNN改進算法[J].計算機工程與應用,2010,46(3):115?117.
[15] ZHANG Y, CAO C, CHENG J, et al. EgoGesture: a new dataset and benchmark for egocentric hand gesture recognition [J]. IEEE transactions on multimedia, 2018, 20(5): 1038?1050.
[16] GARCIA?HERNANDO G, YUAN S, BAEK S, et al. First?person hand action benchmark with RGB?D videos and 3D hand pose annotations [C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA: IEEE, 2018: 409?419.
[17] GALVáN?RUIZ J, TRAVIESO?GONZáLEZ C M, PINAN?ROESCHER A, et al. Robust identification system for spanish sign language based on three?dimensional frame information [J]. Sensors, 2023, 23(1): 481.
[18] LU Chenghong, AMINO Shingo, JING Lei. Data glove with bending sensor and inertial sensor based on weighted DTW fusion for sign language recognition [J]. Electronics, 2023, 12(3): 13.