摘要:研究使用Kinect采集彩色(RGB)、深度(Depth)和骨骼坐標(biāo)點3種不同模態(tài)的數(shù)據(jù),通過卷積神經(jīng)網(wǎng)絡(luò)進行特征學(xué)習(xí)和模式識別,克服傳統(tǒng)單模態(tài)方法的局限性,提高模型在復(fù)雜環(huán)境下的適應(yīng)能力。結(jié)果顯示,在本研究所構(gòu)建的基于卷積神經(jīng)網(wǎng)絡(luò)手勢識別模型中,多模態(tài)融合方法的識別準(zhǔn)確率較單模態(tài)提高了13.957%,展現(xiàn)了模型的有效性以及多模態(tài)手勢識別技術(shù)在未來人機交互領(lǐng)域的應(yīng)用潛力。
關(guān)鍵詞:多模態(tài);手勢識別;卷積神經(jīng)網(wǎng)絡(luò);Kinect
中圖分類號:G4"""""""文獻標(biāo)識碼:A""""""doi:10.19311/j.cnki.16723198.2025.11.085
隨著計算機視覺和機器學(xué)習(xí)技術(shù)的飛速發(fā)展,數(shù)據(jù)的多樣性和復(fù)雜性日益增加,這對于人機交互技術(shù)的發(fā)展提出了新的挑戰(zhàn)和機遇,其中,手勢識別已成為人機交互領(lǐng)域的一個重要研究方向[1]。手勢識別不僅是一種非言語的溝通方式,而且在某些情況下,如在嘈雜的環(huán)境中或與聽力障礙者交流時,手勢甚至比言語更為有效[2]。傳統(tǒng)的手勢識別方法,如基于規(guī)則的識別和基于模型的方法,雖然在某些特定場景下表現(xiàn)良好,但往往難以適應(yīng)復(fù)雜多變的實際應(yīng)用環(huán)境[3]。
在數(shù)據(jù)選擇方面,目前大多數(shù)手勢識別技術(shù)采用的都是單模態(tài)手勢數(shù)據(jù),即彩色圖像,但缺乏深度、紋理和其他可能有助于增強識別準(zhǔn)確率的維度,這限制了系統(tǒng)在實際應(yīng)用中的效果和靈活性。為了克服這些限制,研究者和開發(fā)者越來越傾向于探索多模態(tài)手勢識別技術(shù),從而增強模型的泛化能力和魯棒性[4]。
本研究通過Kinect采集三種模態(tài)的手勢數(shù)據(jù),利用基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的深度學(xué)習(xí)方法,有效克服手勢識別技術(shù)中單一模態(tài)數(shù)據(jù)和傳統(tǒng)識別技術(shù)的局限性,為手勢識別提供新思路。
1"手勢數(shù)據(jù)模態(tài)選擇
本研究在視覺信息處理領(lǐng)域中挑選出三種模態(tài):彩色(RGB)模態(tài),深度(Depth)模態(tài),以及骨骼坐標(biāo)點。這三種模態(tài)分別描述人體的外觀視覺信息、三維空間信息和運動機理信息,融合這三種模態(tài)可以提供姿態(tài)和動作的全面描述。
彩色模態(tài)以自然的色彩展示人體的外表特征,包括人體大小與形態(tài)、面部表情、服飾穿著等,這些信息豐富了機器對人體的視覺感知。但是,彩色圖像易受光照條件影響,無法直接得出三維空間信息,限制了準(zhǔn)確表達人體姿態(tài)和動作的能力[5]。深度模態(tài)通過紅外線等非接觸式傳感獲取人體各部位與相機之間的三維距離信息,對人體表觀特征的描述較為粗糙,無法提供詳細的視覺信息[6]。骨骼坐標(biāo)點可以提供人體運動機理的詳盡信息。但是,骨骼坐標(biāo)點缺少對人體表觀視覺特征的描述,無法感知表情變化等信息[7]。
綜上,彩色圖像、深度圖像和骨骼坐標(biāo)分別提供人體的視覺特征、三維結(jié)構(gòu)、運動機理信息,各自存在一定的限制,難以全面準(zhǔn)確理解人的意圖和行為。為此,后續(xù)會將三種信息模態(tài)進行融合,使之相互補充,三種模態(tài)信息的融合可以獲得手部行為的全面理解,為手勢識別的準(zhǔn)確率提供必要基礎(chǔ)。
2"手勢數(shù)據(jù)采集
Kinect因其與多種平臺的良好兼容性而使得采集的數(shù)據(jù)可以在多個平臺上進行分析和處理,同時具有較高的準(zhǔn)確性和可靠性[8]。因此本研究選擇使用Kinect作為主要采集工具。為了實現(xiàn)手勢識別的高準(zhǔn)確率和魯棒性,本研究讓受試者在多樣的環(huán)境條件下重復(fù)執(zhí)行13種預(yù)定義手勢,每種手勢執(zhí)行20次。這一過程不僅覆蓋了常見手勢的各種可能變體,還充分捕捉了手勢執(zhí)行過程中的自然差異。每次采集均同時記錄彩色、深度和骨骼模態(tài),以全面獲取手勢特征。最終累積了780份多元視覺數(shù)據(jù),為手勢識別算法的進一步開發(fā)和優(yōu)化奠定了基礎(chǔ)。
3"手勢數(shù)據(jù)處理
3.1"彩色模態(tài)處理
彩色圖像處理是計算機視覺和機器理解系統(tǒng)獲取高質(zhì)量視覺輸入的核心環(huán)節(jié),其中包括圖像讀取、手部關(guān)鍵點提取等步驟。本研究利用MediaPipe進行實時捕捉并提取視頻中的手部關(guān)鍵點。采用基于BlazePalm的掌部檢測,結(jié)合Python和OpenCV(一個開源的計算機視覺庫),通過實時視頻流捕獲和預(yù)處理,可以實現(xiàn)高效數(shù)據(jù)處理[9]。具體實現(xiàn)如下:
(1)通過連接Kinect,采用OpenCV捕獲實時視頻流。(2)預(yù)處理:調(diào)整尺寸,通過"OpenCV"將輸入的視頻幀調(diào)整到模型所需的尺寸。調(diào)整尺寸有助于提高計算效率,減少內(nèi)存占用;轉(zhuǎn)換顏色空間。由于MediaPipe庫要求輸入的圖像為RGB格式,而OpenCV讀取的圖像默認為BGR格式。因此,需要將BGR圖像轉(zhuǎn)換為RGB圖像。(3)MediaPipe模型運行:加載模型:加載預(yù)訓(xùn)練的MediaPipe手部關(guān)鍵點檢測模型;模型推理:將預(yù)處理后的視頻幀輸入到模型中進行推理。模型會輸出每個手部的關(guān)鍵點坐標(biāo)。這些關(guān)鍵點通常包括手指關(guān)節(jié)、掌心中心等特征點。(4)提取關(guān)鍵點:解析輸出:BlazePalm是MediaPipe框架中用于實現(xiàn)實時手部追蹤的關(guān)鍵組件[10]。本研究采用BlazePalm來進行手部關(guān)鍵點的檢測和追蹤然后根據(jù)關(guān)鍵點的位置和相對關(guān)系,識別出特定的手勢;關(guān)節(jié)點位置:在mediapipe中,使用21個由"(x,"y,"z)"三維坐標(biāo)組成的關(guān)節(jié)點作為手部姿勢的識別特征,其中x,y是在圖像上x軸和y軸的歸一化坐標(biāo)。z軸并不代表完全的深度信息,只是關(guān)節(jié)點相對于手腕(0點)的前后。當(dāng)關(guān)節(jié)點在手腕(0點)前時z坐標(biāo)大于0,當(dāng)關(guān)節(jié)點在手腕(0點)后時z坐標(biāo)小于0。所有特征向量如下公式1表示。
position={(x0,y0,z0),(x1,y1,z1)…(x10,y10,z10)}(1)
計算距離信息:計算兩個點之間的距離采用歐氏距離:例如,A(xA,yA),B(xB,yB)則兩點距離如公式2所示:
Distance=xA-xB2+yA-yB2(2)
角度信息:由于z坐標(biāo)并不代表深度信息,因此關(guān)節(jié)點間的角度可以采用平面空間向量的求法。使用獲取到的關(guān)節(jié)點x,y坐標(biāo)通過平面向量間夾角公式獲取手部剛性部分之間的角度,將計算好的角度信息作為識別手部姿勢的一個特征。角度計算公式如下:例如,A(xA,yA),B(xB,yB),C(xC,yC)則向量"AB,AC"用公式3表示:
AB=xB-xA,yB-yA=a1,a2AC=xC-xA,yC-yA=b1,b2(3)
根據(jù)向量夾角公式4可得向量AB,AC之間夾角cos〈AB,AC〉
cos〈AB,AC〉=AB·AC|AB|·|AC|=a1b1+a2b2a21+a22·b21+b22(4)
MediaPipe主要用于檢測輸入圖像中的手部關(guān)鍵點,并與其他模態(tài)數(shù)據(jù)(如深度數(shù)據(jù)和骨骼坐標(biāo)點)整合,形成一個多模態(tài)特征向量。特征向量以列表形式表示,其中每個元素都是一個包含x、y的列表。這些特征向量用于訓(xùn)練和預(yù)測手勢識別模型。
3.2"骨骼坐標(biāo)點處理
在使用Kinect設(shè)備進行骨骼跟蹤時,首先利用其紅外技術(shù)生成3D深度圖像,確保跟蹤過程不受周圍光照條件的影響。通過分割策略,將人體從復(fù)雜背景中區(qū)分出來,并在深度圖像中為每個跟蹤的人創(chuàng)建所謂的分割遮罩。這一步驟排除了人體以外的背景圖像,形成剔除背景后的景深圖像,顯著減輕了體感計算的負擔(dān)。此外,Kinect還會尋找圖像中可能是人體的物體,并通過Exemplar模型,來評估景深圖像,并判別人體的不同部位,從而確定身體的關(guān)節(jié)部位,并對關(guān)節(jié)的坐標(biāo)值進行估計,得到骨骼坐標(biāo)點保存為CSV格式文件。
骨骼坐標(biāo)點作為重要的人體運動信息源,需要進行預(yù)處理才能為機器理解人體姿態(tài)和動作提供可靠的輸入。以下是預(yù)處理流程:(1)數(shù)據(jù)讀?。菏紫葟腃SV文件中讀取骨骼數(shù)據(jù)。該文件將每一幀的數(shù)據(jù)存儲在獨立的行中。(2)坐標(biāo)點提?。涸谧x取每一行(即一幀)的數(shù)據(jù)時,將每7個連續(xù)的元素視為一個骨骼點,并從中提取出x,"y,"z坐標(biāo)。這樣,每一幀被轉(zhuǎn)化為包含25個三維坐標(biāo)點的列表,這些點代表了人體骨骼在該幀的位置。(3)特征數(shù)據(jù)形成:接下來,將這些骨骼特征添加到最終的特征列表中。如果當(dāng)前處理的幀數(shù)還未達到總幀數(shù),那么就添加當(dāng)前幀的骨骼特征;如果當(dāng)前處理的幀數(shù)已經(jīng)達到或超過總幀數(shù),那么就添加最后一幀的骨骼特征。(4)特征數(shù)據(jù)保存:將所有幀合并成一個特征數(shù)組,以便用于后續(xù)的CNN模型訓(xùn)練。如果總幀數(shù)不足60幀,會復(fù)制最后一幀的數(shù)據(jù)以補足到60幀。這個特征數(shù)組是最終的輸出,它將被用于后續(xù)的深度學(xué)習(xí)模型訓(xùn)練。最后,將彩色圖像處理過程中通過MediaPipe和Kinect獲取的手部關(guān)鍵坐標(biāo)點和人體骨骼坐標(biāo)點進行融合,形成對人體動作的完整表達。
3.3"深度圖像模態(tài)處理
Depth圖像作為重要的三維視覺信息源,在實際應(yīng)用中需要進行預(yù)處理以提高其質(zhì)量和機器理解適用性。首先,將骨骼坐標(biāo)點映射到深度圖像中,將Kinect的3D空間坐標(biāo)轉(zhuǎn)換成2D深度圖的坐標(biāo),即將骨骼關(guān)節(jié)的空間坐標(biāo)(x,"y,"z),其中z是深度信息,轉(zhuǎn)換到深度圖像的像素坐標(biāo)(u,"v)。隨后,根據(jù)骨骼關(guān)節(jié)的深度圖坐標(biāo),提取對應(yīng)位置的深度值。在深度圖中,每個像素點的值表示該點到Kinect傳感器的距離。對于骨骼的每個關(guān)節(jié),直接讀取對應(yīng)坐標(biāo)點的深度值獲得骨骼對應(yīng)的深度信息。最后需要構(gòu)建特征向量:第一步,對于前文描述算法所構(gòu)建的手部骨骼信息、身體骨骼信息與骨骼相關(guān)的深度信息進行特征向量拼接,對每個時間幀,將提取的手部骨骼信息、身體骨骼信息和深度信息合并為一個一維特征向量,其中包含了所有關(guān)鍵點的坐標(biāo)值和相應(yīng)的深度值;第二步是2D特征矩陣的構(gòu)建,對于每個時間幀的特征向量,將它們按時間順序排列到一個2D矩陣中,每一行代表一個時間幀的完整特征集,而列代表不同的特征。
4"多模態(tài)手勢融合神經(jīng)網(wǎng)絡(luò)搭建和訓(xùn)練
4.1"視覺融合CNN模型結(jié)構(gòu)
本研究的手勢識別模型采用的是優(yōu)化后的二維卷積神經(jīng)網(wǎng)絡(luò)。該模型主要由3個卷積層、2個池化層、2個全連接層和輸出層組成。如表1所示。
4.2"訓(xùn)練與預(yù)測
在訓(xùn)練階段,將預(yù)處理后的數(shù)據(jù)輸入到卷積神經(jīng)網(wǎng)絡(luò)模型中,通過多層的卷積層、激活層、池化層和全連接層來提取特征并學(xué)習(xí)手勢的表示。每次訓(xùn)練結(jié)束后,在訓(xùn)練過程中,模型的參數(shù)會根據(jù)損失函數(shù)的梯度進行更新,損失函數(shù)測量的是模型預(yù)測和實際標(biāo)簽之間的差異。訓(xùn)練過程每次迭代都會通過反向傳播算法調(diào)整模型權(quán)重,以減少預(yù)測誤差。預(yù)測階段,將新的多模態(tài)數(shù)據(jù)輸入到訓(xùn)練好的CNN模型中,模型會輸出一個概率分布,表明每種可能手勢的預(yù)測概率,最終預(yù)測結(jié)果是概率最高的手勢類別。通過計算,多模態(tài)融合的方法在基于視覺手勢識別任務(wù)中比單模態(tài)方法的準(zhǔn)確率提高了13.957%,可以提供比單一數(shù)據(jù)類型更豐富的信息,從而提高識別的準(zhǔn)確性。
5"結(jié)論
本研究通過探索基于深度學(xué)習(xí)的多模態(tài)手勢識別方法,有效克服了傳統(tǒng)手勢識別技術(shù)在復(fù)雜多變環(huán)境下的局限性。通過融合彩色圖像、深度圖像和骨骼坐標(biāo)點三種模態(tài)的數(shù)據(jù),利用優(yōu)化后的二維卷積神經(jīng)網(wǎng)絡(luò)模型,有效地提取手勢特征,優(yōu)化手勢識別過程,此外,實驗結(jié)果驗證了將多種感知數(shù)據(jù)整合應(yīng)用于手勢識別任務(wù)的有效性,為未來人機交互技術(shù)的發(fā)展提供了新的思路和方法。
參考文獻
[1]徐文杰.基于Kinect深度信息的動態(tài)手勢識別[D].沈陽:東北大學(xué),2014.
[2]劉亞玲,徐琨,楊紫珣,等.基于深度卷積神經(jīng)網(wǎng)絡(luò)的手勢識別[J].信息通信,2019,(1):3233.
[3]王粉花,黃超,趙波,等.基于YOLO算法的手勢識別[J].北京理工大學(xué)報,2020,40(8):873879.
[4]胡宗承,段曉威,周亞同,等.基于多模態(tài)融合的動態(tài)手勢識別研究[J].計算機工程與科學(xué),2023,45(04):665673.
[5]姜中敏,張婉言,王文舉,等.單幅RGB圖像計算光譜成像的深度學(xué)習(xí)研究綜述[J].計算機工程與應(yīng)用,2023,59(10):2234.
[6]黃玲濤,孔紫靜,楊帆,等.基于深度歸一化的任意交互物體檢測方法研究[J].農(nóng)業(yè)機械學(xué)報,2024,55(08):428436.
[7]徐蘇杰,高尚,張夢坤,等.基于3D骨骼數(shù)據(jù)的課堂個人行為識別研究[J].計算機與數(shù)字工程,2022,50(08):16621666+1685.
[8]YEUNG"L"F,CHENG"K"C,F(xiàn)ONG"C"H,et"al.Evaluation"of"the"microsoft"Kinect"as"a"clinical"assessment"tool"of"body"sway[J].Gait"amp;"Posture,2014,40(4):532538.
[9]范羽,梁梓康,徐明坤,等.基于MediaPipe手勢識別的聾啞人交流系統(tǒng)設(shè)計[J].輕工科技,2024,40(05):99102.
[10]張文俊.嵌入式計算環(huán)境的手勢識別方法研究[D].哈爾濱:哈爾濱工程大學(xué),2023.