亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于深度信息和校正方式的手部姿態(tài)估計方法

文檔序號:10686605閱讀:398來源:國知局
一種基于深度信息和校正方式的手部姿態(tài)估計方法
【專利摘要】本發(fā)明公開了一種基于深度信息和校正方式的手部姿態(tài)估計方法,包括以下步驟:S1.獲取手部深度數(shù)據(jù),并從手部深度數(shù)據(jù)中分割出手部區(qū)域;S2.根據(jù)手部區(qū)域檢測手掌姿態(tài);S3.結(jié)合手掌姿態(tài)和手部標(biāo)準(zhǔn)骨骼模型計算出手部各個關(guān)節(jié)點的位置;S4.計算手部各關(guān)節(jié)點的投影特征;S5.根據(jù)手部各關(guān)節(jié)點的投影特征進(jìn)行手指姿態(tài)校正。本發(fā)明以深度數(shù)據(jù)為基礎(chǔ),通過分割出手部區(qū)域并計算出手掌姿態(tài),然后通過深度圖像與姿態(tài)校正的方式估計出手指姿態(tài),方法簡單實用。
【專利說明】
一種基于深度信息和校正方式的手部姿態(tài)估計方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及機器人視覺技術(shù)領(lǐng)域,特別是涉及一種基于深度信息和校正方式的手 部姿態(tài)估計方法。
【背景技術(shù)】
[0002] 近幾年人機交互技術(shù)在生活中起著越來越重要的作用,便利舒適的交互方式能夠 極大地曾倩人們的交互體驗。傳統(tǒng)的交互方式諸如鍵盤鼠標(biāo)的方式,雖然能夠滿足日常交 互輸入,但是在便利性、距離等方面都受到一定的限制。近年來手勢技術(shù)成為了研究的熱 點,以手進(jìn)行交互的方式層出不窮。手作為人體最靈活的器官,具有較高的自由度和靈活 度,因此不僅能夠完成日常生活中的工作勞動,同時也能夠滿足未來以手勢為代表的交互 輸入。其中手勢技術(shù)也經(jīng)過了一定時間的發(fā)展,但是傳統(tǒng)的手勢基礎(chǔ)諸如表觀法,利用手在 相機前做出特點的動作,然后識別出何種動作,進(jìn)行相應(yīng)的指令,受限于背景復(fù)雜以及手勢 外觀變化的多樣性,實用性并不大。而最近部分手勢識別方法采用對手部軌跡進(jìn)行是被,進(jìn) 而識別出手勢動作,這種利用手部軌跡運動的交互方式操作起來還是比較容易產(chǎn)生疲勞 感。而最具有潛力的三維手勢,即通過識別手部姿態(tài)的變化,從而作為交互指令,不僅快捷 便利,同時也自然很多,因此三維手勢交互技術(shù)在未來具有極大的潛力。
[0003] 三維手勢的技術(shù)基礎(chǔ)就是實現(xiàn)對手部姿態(tài)的實時估計,這項技術(shù)有著較長時間的 研究。其中以判別式為代表的放肆,首先對手部區(qū)域的圖像提取特征,然后通過分類器來對 所有的像素點進(jìn)行分類得到各個管借鑒的標(biāo)注,對各關(guān)節(jié)點像素通過聚類得到關(guān)節(jié)點的位 置。另外部分方法通過深度模型得到部分關(guān)節(jié)點位置,再通過逆向骨骼算法得到其他關(guān)節(jié) 點。這種得到關(guān)節(jié)點位置的方式,其實對交互場景而言作用并不大,關(guān)節(jié)點之間喪失了拓?fù)?結(jié)構(gòu)的約束,大大限制了后續(xù)的交互應(yīng)用。而以產(chǎn)生式為代表的方式,往往首先建立手部模 型,然后結(jié)合深度圖像與手部模型建立能量函數(shù),通過最優(yōu)化能量函數(shù)得到當(dāng)前手部的姿 態(tài)估計結(jié)果。這種方式在渲染模型時需要GHJ加速,比較消耗硬件資源。同時能量函數(shù)最優(yōu) 化時會出現(xiàn)局部最優(yōu)解,使得估計出現(xiàn)誤差。而近幾年出現(xiàn)的將產(chǎn)生式和判別式相結(jié)合的 方式,通過判別式得到姿態(tài)假設(shè),再通過產(chǎn)生式計算出最優(yōu)姿態(tài),這種方式雖然得到的結(jié)果 比前兩種方法更準(zhǔn)確,但是較為復(fù)雜的方法不僅消耗硬件資源,而且對交互系統(tǒng)而言也不 是最優(yōu)的。
[0004] 現(xiàn)有技術(shù)中,與本發(fā)明類似的有以下幾個:
[0005] (1) -種基于關(guān)節(jié)點變換的手勢交互方法,申請?zhí)枮?01510377291.0;該發(fā)明主要 通過Kinect傳感器在不同角度下拍攝手部點云與彩色數(shù)據(jù),并進(jìn)行點云配準(zhǔn)與點云三角面 化,得到手部模型,對于當(dāng)前手勢下的手部數(shù)據(jù)提取點云特征和圖像特征,并與手部模型進(jìn) 行特征匹配,從手指尖逐步求出各個關(guān)節(jié)點的參數(shù),并以此完成交互。但是這種方法一來對 手部建立的點云模型,而三維手勢變化多樣,且有遮擋現(xiàn)象,很難建立完成點云模型,因此 這種方法復(fù)雜度較高。
[0006] ( 2 ) -種基于深度數(shù)據(jù)的三維手勢姿態(tài)估計方法及系統(tǒng),申請?zhí)枮?201510670919.6;該發(fā)明采用Kinect傳感器獲取手部數(shù)據(jù),并在此基礎(chǔ)上通過提取特征加 判別式模型分別實現(xiàn)手掌姿態(tài)和手指姿態(tài)的回歸,但是該方法過于復(fù)雜。
[0007] (3)-種手勢識別方法與裝置,申請?zhí)枮?01410036739.8;該發(fā)明獲取手部彩色和 深度數(shù)據(jù),利用彩色圖像完成手部深度數(shù)據(jù)的分析,并在手部輪廓區(qū)域內(nèi)利用自適應(yīng)加權(quán) 提取特征,基于分類器完成對當(dāng)前手勢的類型識別,從而識別出姿態(tài);這種方式實質(zhì)上上表 觀法,對于交互場景下的復(fù)雜圖像,不僅難以解決手部區(qū)域完整分割的問題,同時也無法表 達(dá)高維的手姿姿態(tài)下的各種手勢。
[0008] (4)基于Kinect人手運動捕捉的靈巧手遙操作控制方法,申請?zhí)枮?201410697456.8;該發(fā)明也是基于Kinect進(jìn)行手部姿態(tài)的估計,獲取手部深度數(shù)據(jù)和彩色 數(shù)據(jù),并利用彩色數(shù)據(jù)分割出手部區(qū)域后,利用基于模板匹配的粒子濾波姿態(tài)檢測方法預(yù) 測人手姿態(tài),進(jìn)而進(jìn)行手勢識別和交互;這種手部姿態(tài)估計方法主要通過跟蹤的方式實現(xiàn) 對手部姿態(tài)的估計,一般算法的實時性不佳,且面對遮擋和角度變化較大等情況不佳。

【發(fā)明內(nèi)容】

[0009] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于深度信息和校正方式的手 部姿態(tài)估計方法,以深度數(shù)據(jù)為基礎(chǔ),通過分割出手部區(qū)域并計算出手掌姿態(tài),然后通過深 度圖像與姿態(tài)校正的方式估計出手指姿態(tài),簡單、快捷。
[0010] 本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種基于深度信息和校正方式的手 部姿態(tài)估計方法,包括以下步驟:
[0011] S1.獲取手部深度數(shù)據(jù),并從手部深度數(shù)據(jù)中分割出手部區(qū)域;
[0012] S2.根據(jù)手部區(qū)域檢測手掌姿態(tài);
[0013] S3.結(jié)合手掌姿態(tài)和手部標(biāo)準(zhǔn)骨骼模型計算出手部各個關(guān)節(jié)點的位置;
[0014] S4.計算手部各關(guān)節(jié)點的投影特征;
[0015] S5.根據(jù)手部各關(guān)節(jié)點的投影特征進(jìn)行手指姿態(tài)校正。
[0016] 所述步驟S1包括以下子步驟:
[0017] S11.獲取手部深度數(shù)據(jù);
[0018] S12.獲得包括第一手腕點Pwrist的人體骨骼圖像;
[0019] S13.將第一手腕點Pwrist變換到圖像坐標(biāo)系下,得到第二手腕點位置且 ^ =W}.;
[0020] S14.以第二手腕點位置為中心取領(lǐng)域為t的矩形區(qū)域,得到第一矩形區(qū)域 Recti:
[0021 ] Recti = {m,n} [x-t ,x+t] [y~t ,y+t];
[0022] S15.取第一矩形區(qū)域Recti中像素值之和的平均值作為第一手腕點Pwrist對應(yīng)的深 度值;
[0023] S16.將深度數(shù)據(jù)的閾值范圍保持在[ZPaim-t,ZPaim],其中,Zp表示第一手腕點Pwrist 對應(yīng)的深度值,通過閾值化處理從手部深度數(shù)據(jù)分割出手部區(qū)域。
[0024] 所述步驟S2包括以下子步驟:
[0025] S21.計算手部區(qū)域的第一中心點療二,并將第一中心點/^f轉(zhuǎn)換到三維坐標(biāo)系下, 得到第二中心點PCen;
[0026] S22.利用第二中心點PCen和第一手腕點Pwrist計算出從手掌到手指的第一方向Vy, 并進(jìn)行歸一化處理,其中:
[0027] Vy = PHand-Pwrist;
[0028] S23.在第一中心點發(fā)射出與第一方向Vy相垂直的直線,該直線與手部區(qū)域輪 廓交于第一交點和第二交點:
[0029] S24 ?以第一手腕點Pwrist、第一交點P/l .和第二交點確定手掌平面,并求出手 掌平面的平面法向量Vz;
[0030] S25.根據(jù)第一方向Vy和平面法向量Vz計算出當(dāng)前的手掌姿態(tài)0p。
[0031] 所述步驟S25包括以下子步驟:
[0032] S251.定義初始時手指方向為 <,手掌方向為由手指方向以變換到第一方向Vy 的旋轉(zhuǎn)操作表示為四元數(shù)Qy,則n=ev ;
[0033] S252.利用四元數(shù)Qy將最初的手指方向$進(jìn)行方向更新,即G-g/f,得到從手 掌方向t變換到平面法向量V z的旋轉(zhuǎn)四元數(shù)Qz,其中
[0034] S253.當(dāng)前的手掌姿態(tài)0P包括三維平移Rt和三維旋轉(zhuǎn)Rg,其中,三維平移Rt為第二 中心點PCen,三維旋轉(zhuǎn)Rg為四元數(shù)Qy和旋轉(zhuǎn)四元數(shù)QZ的復(fù)合操作,Rg = Qy*QZ。
[0035] 所述步驟S3包括以下子步驟:
[0036] S31.定義每個關(guān)節(jié)點為J1={ A T,A R},AT表示此關(guān)節(jié)點相對于父節(jié)點的距離, A R表示此關(guān)節(jié)點相對于父節(jié)點的旋轉(zhuǎn)參數(shù);
[0037] S32.建立手部關(guān)節(jié)點模型M:
[0039] 其中,九。。*表示整個手部模型的根節(jié)點,為手腕骨骼點,和 ?/f5表示每根手指包括的四個關(guān)節(jié)點;
[0040] S33.根據(jù)手掌姿態(tài)0P求出手部的所有關(guān)節(jié)點,對于任意一個關(guān)節(jié)點心,其位置P1計 算如下:
[0041 ] pi = Rg* AR* AT+pi-1
[0042]其中,Rg表示父節(jié)點的旋轉(zhuǎn)參數(shù),產(chǎn)1為關(guān)節(jié)點心的父節(jié)點位置;
[0043] S34.得到關(guān)節(jié)點Ji的位置P1后,更新關(guān)節(jié)點Ji的旋轉(zhuǎn)參數(shù),即Rg = Rg*AR;
[0044] S35.計算所有關(guān)節(jié)點的第一位置{Pj,將所有關(guān)節(jié)點的第一位置{Pj轉(zhuǎn)換到圖像 坐標(biāo)系下:
[0046]得到所有關(guān)節(jié)點的第二位置{P,},其中,f為相機焦距,rows為圖像序列,cols為 圖像行數(shù),{?1} = 0八,2}為三維點,{?1,= {^7}為轉(zhuǎn)換后的圖像點。
[0047] 所述步驟S4包括以下子步驟:
[0048] S41.設(shè)計關(guān)節(jié)點的投影特征為A :
[0049] A =(Z(Pi)-I(Pi2D+Ut))/Z(Pi)
[0050] Ut = (m,n),mG [_t,+t],nG [_t,+t]
[0051] 式中,投影特征A表示將當(dāng)前關(guān)節(jié)點相機坐標(biāo)系下的深度值與圖像中深度值做差 后與深度值之比;Pi2D+U t表示P,的八個方向上距離為t的點坐標(biāo);Z(P〇為三維點P^Z坐標(biāo) 值;Ut即為點的八個方向的偏移量;
[0052] S42.單個手指中的所有關(guān)節(jié)點對應(yīng)的投影特征為:
[0053] ^ ={A^},/e[l,5],ge[l,4]
[0054] 式中,f表不手指編號,g表不手指中關(guān)節(jié)點的編號;
[0055] S43.對于手指f?的第g個關(guān)節(jié)點而言,利用其關(guān)節(jié)點參數(shù)巧和真實標(biāo)簽$判斷此關(guān) 節(jié)點的參數(shù)是否正確:
[0057] 式中,max($)表示第f根手指的g個關(guān)節(jié)點的最大運動角度;哼表示當(dāng)前手指找勺 第g關(guān)節(jié)點參數(shù),巧為手指f?的第g關(guān)節(jié)點的真實參數(shù),abs為絕對值;
[0058] 若關(guān)節(jié)點參數(shù)巧和真實標(biāo)簽?zāi)兄g的偏差大于閾值,則認(rèn)為此關(guān)節(jié)點的參數(shù)不 正確,其校正值為此關(guān)節(jié)點的最大夾角與當(dāng)前的關(guān)節(jié)點參數(shù)-之差;
[0059] S44.對于單個手指f,其校正狀態(tài)為其各個關(guān)節(jié)點校正狀態(tài)的并集:
[0060] y,=|,f}/£:[l,5],ge[l,4];
[0061] S45.按照關(guān)節(jié)點順序進(jìn)行二進(jìn)制編碼的方式,則手指f的校正狀態(tài)為:
[0062]心=23 * # +22 * F/ +2*+ 7/。
[0063] 所述步驟S5包括以下子步驟:
[0064] S51.獲取訓(xùn)練數(shù)據(jù)和訓(xùn)練樣本;
[0065] S52.訓(xùn)練分類器,將訓(xùn)練得到的分類器記為C,則:
[0066] Yf = C(Xf);
[0067] S53.計算各個手指的校正狀態(tài)并進(jìn)行校正,得到手指姿態(tài)0f;
[0068] S54.聯(lián)合手指姿態(tài)0f和手掌姿態(tài)0P實現(xiàn)對手部姿態(tài)的估計。
[0069] 所述訓(xùn)練數(shù)據(jù)為手勢圖像I與對應(yīng)的姿態(tài)標(biāo)注0,訓(xùn)練樣本為手指投影偏差特征與 校正狀態(tài)。
[0070] 所述步驟S52中的分類器為普通多類別分類模型。
[0071] 本發(fā)明的有益效果是:本發(fā)明以深度數(shù)據(jù)為基礎(chǔ),通過分割出手部區(qū)域并計算出 手掌姿態(tài),然后通過深度圖像與姿態(tài)校正的方式估計出手指姿態(tài),方法簡單實用。
【附圖說明】
[0072] 圖1為本發(fā)明一種基于深度信息和校正方式的手部姿態(tài)估計方法的流程圖;
[0073] 圖2為本發(fā)明中檢測手掌姿態(tài)和計算手部關(guān)節(jié)點的流程圖;
[0074] 圖3為本發(fā)明中手部關(guān)節(jié)點模型的示意圖;
[0075]圖4為本發(fā)明中手指姿態(tài)校正的流程圖。
【具體實施方式】
[0076]下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護(hù)范圍不局限于 以下所述。
[0077]如圖1和圖2所示,一種基于深度信息和校正方式的手部姿態(tài)估計方法,包括以下 步驟:
[0078] S1.獲取手部深度數(shù)據(jù),并從手部深度數(shù)據(jù)中分割出手部區(qū)域。
[0079] 本實施例主要基于深度數(shù)據(jù),其目的是估計出深度數(shù)據(jù)中手部的姿態(tài)狀態(tài)。本實 施采用深度數(shù)據(jù)作為輸入,相比于傳統(tǒng)的彩色相機,深度傳感器能夠獲得被拍攝物體的距 離信息,很容易進(jìn)行目標(biāo)與背景的分割,本實施例中以Kinect2傳感器為例。
[0080] 所述步驟S1包括以下子步驟:
[0081] S11.獲取手部深度數(shù)據(jù)。在獲取的深度數(shù)據(jù)中手部所占的比例非常小,同時手部 和胳膊部分由于深度值相似而難以區(qū)分,因此,背景和胳膊部分都會對手部姿態(tài)估計造成 影響。為了降低干擾因素,本發(fā)明中引入手腕點的位置,假設(shè)手腕點位置已知,這樣能夠更 好地分割出手腕和手部部分。
[0082] S12.獲得包括第一手腕點Pwrist的人體骨骼圖像。本實施例中采用基于Kinect2傳 感器的人體骨骼捕獲系統(tǒng)來獲得人體骨骼,該人體骨骼中還包含了一個粗略估計的手腕點 位置,即第一手腕點Pwrist。
[0083] S13.將第一手腕點Pwrist變換到圖像坐標(biāo)系下,得到第二手腕點位置,,且 piD ={^}°
[0084] S14.以第二手腕點位置為中心取領(lǐng)域為t的矩形區(qū)域,得到第一矩形區(qū)域 Recti:
[0085] Recti = {m,n} [x~t ,x+t] [y~t ,y+t] 〇
[0086] S15.取第一矩形區(qū)域Recti中像素值之和的平均值作為第一手腕點pwrist的深度 值。
[0087] S16.將深度數(shù)據(jù)的閾值范圍保持在[ZPaim-t,ZPai m],其中,ZP表示第一手腕點Pwrist 對應(yīng)的深度值,t的取值可以結(jié)合手部區(qū)域在相機坐標(biāo)系下的深度值進(jìn)行設(shè)定,表示從手腕 到手指的深度變化值的一半,閾值化處理可以排除手部區(qū)域以外的無關(guān)內(nèi)容,只保留手部 區(qū)域,通過閾值化處理從手部深度數(shù)據(jù)分割出手部區(qū)域。
[0088] S2.根據(jù)手部區(qū)域檢測手掌姿態(tài)。
[0089] 所述步驟S2包括以下子步驟:
[0090] S21.在得到手部區(qū)域的圖像后,計算手部區(qū)域的第一中心點乃=,并將第一中心點 戶^轉(zhuǎn)換到三維坐標(biāo)系下,得到第二中心點P Cen。
[0091] S22.利用第二中心點Pc?和第一手腕點Pwrist計算出從手掌到手指的大致方向,BP 第一方向V y,并進(jìn)行歸一化處理,其中:
[0092] Vy = PHand-Pwrist。
[0093] S23.在第一中心點fg1發(fā)射出與第一方向Vy相垂直的直線,該直線與手部區(qū)域輪 廓交于第一交點尸和第二交點,這兩個點表示手掌邊沿上的點。
[0094] S24.以第一手腕點Pwrist、第一交點C和第二交點確定手掌平面,并求出手 掌平面的平面法向量Vz,該平面法向量Vz即為手掌的三維向量。
[0095] S25.根據(jù)第一方向Vy和平面法向量Vz計算出當(dāng)前的手掌姿態(tài)0 P。
[0096] 所述步驟S25包括以下子步驟:
[0097] S251.定義初始時手指方向為巧,手掌方向為g,由手指方向G變換到第一方向Vy 的旋轉(zhuǎn)操作表示為四元數(shù)Qy,則。
[0098] S252.利用四元數(shù)Qy將最初的手指方向 <進(jìn)行方向更新,即,按照上述 方式,得到從手掌方向Pf變換到平面法向量Vz的旋轉(zhuǎn)四元數(shù)Qz,其中 [0099] S253.當(dāng)前的手掌姿態(tài)0P包括三維平移Rt和三維旋轉(zhuǎn)R g,其中,三維平移Rt為第二 中心點PCen,三維旋轉(zhuǎn)Rg為四元數(shù)Qy和旋轉(zhuǎn)四元數(shù)QZ的復(fù)合操作,Rg = Qy*QZ,通過以上步驟即 可計算出當(dāng)前手掌的三維姿態(tài)。
[0100] S3.結(jié)合手掌姿態(tài)和手部標(biāo)準(zhǔn)骨骼模型計算出手部各個關(guān)節(jié)點的位置。在計算出 手掌姿態(tài)結(jié)果的基礎(chǔ)上,結(jié)合手部標(biāo)準(zhǔn)骨骼模型,從而計算出手部各個關(guān)節(jié)點的位置。
[0101] 所述步驟S3包括以下子步驟:
[0102] S31.手部關(guān)節(jié)點模型就是將關(guān)節(jié)點按照先后順序通過樹結(jié)構(gòu)連接起來,包括手掌 關(guān)節(jié)點和手指關(guān)節(jié)點。定義每個關(guān)節(jié)點為心={ A T,A R},A T表示此關(guān)節(jié)點相對于父節(jié)點 的距離,△ R表示此關(guān)節(jié)點相對于父節(jié)點的旋轉(zhuǎn)參數(shù),初始狀態(tài)下無旋轉(zhuǎn)參數(shù)。
[0103] S32.利用關(guān)節(jié)點之間的拓?fù)浣Y(jié)構(gòu)連接關(guān)系,建立手部關(guān)節(jié)點模型M,如圖3所述:
[0104]
[0105] 其中,Jr。。*表示整個手部模型的根節(jié)點,JWrist為手腕骨骼點,對于人的每個手指包 括4個關(guān)節(jié)點,從手掌到指尖依次為MCP、PIP、DIP和TIP關(guān)節(jié)點,對應(yīng)的模型中關(guān)節(jié)點為 ^和^5,且每個手指的關(guān)節(jié)點依次連接。
[0106] S33.根據(jù)手掌姿態(tài)0P求出手部的所有關(guān)節(jié)點,既可以初步求出整個手部關(guān)節(jié)點的 位置,對于任意一個關(guān)節(jié)點心,關(guān)節(jié)點位置P 1計算如下:
[0107] pi = Rg* AR* AT+pi-1
[0108]其中,Rg表示父節(jié)點的旋轉(zhuǎn)參數(shù),產(chǎn)1為關(guān)節(jié)點心的父節(jié)點位置。
[0109] S34.得到關(guān)節(jié)點Ji的位置P1后,更新關(guān)節(jié)點Ji的旋轉(zhuǎn)參數(shù),即Rg = Rg*AR。
[0110] S35.通過上述方法計算所有關(guān)節(jié)點的第一位置{Pd,第一位置斤^是三維空間點, 將所有關(guān)節(jié)點的第一位置{Pd轉(zhuǎn)換到圖像坐標(biāo)系下:
[0112]得到所有關(guān)節(jié)點的第二位置{P,},其中,f為相機焦距,rows為圖像序列,cols為 圖像行數(shù),{?1} = 0八,2}為三維點,{?1,= {^7}為轉(zhuǎn)換后的圖像點。
[0113]至此,利用深度數(shù)據(jù),通過手部區(qū)域分割,并檢測手掌姿態(tài)0P,接著結(jié)合手部骨骼 模型,初步計算出各個關(guān)節(jié)點的第二位置{Pf}。
[0114] 前文得到手部各個關(guān)節(jié)點位置,并投影到圖像坐標(biāo)系下為第二位置{P,},在手部 R0I區(qū)域(感興趣區(qū)域)1中進(jìn)行顯示,會發(fā)現(xiàn)手指姿態(tài)仍存在錯誤,因此,還需要對手指姿態(tài) 進(jìn)行校正。
[0115] S4.如圖4所示,計算手部各關(guān)節(jié)點的投影特征。
[0116] 所述步驟S4包括以下子步驟:
[0117] S41.將手部各個關(guān)節(jié)點投影到深度圖像中之后,如果手部所處的姿態(tài)與實際圖像 中的手部姿態(tài)吻合,則手指關(guān)節(jié)點的投影位置和圖像數(shù)據(jù)相符合,而此時由于手指姿態(tài)為 進(jìn)行估計,手指關(guān)節(jié)點與深度圖像相背離,表現(xiàn)在關(guān)節(jié)點三維坐標(biāo)對應(yīng)的深度值和在圖像 中對應(yīng)像素值之間的偏差很大。因此,設(shè)計關(guān)節(jié)點的投影特征為A :
[0118] A =(Z(Pi)-I(Pi2D+Ut))/Z(Pi)
[0119] Ut = (m,n),mG [_t,+t],nG [_t,+t]
[0120] 式中,投影特征A表示將當(dāng)前關(guān)節(jié)點相機坐標(biāo)系下的深度值與圖像中深度值做差 后與深度值之比;Pi2D+U t表示P,的八個方向上距離為t的點坐標(biāo),Z(P〇為三維點P^Z坐標(biāo) 值;Ut即為點的八個方向的偏移量。
[0121] 單個關(guān)節(jié)點的偏差并不魯棒,則采用關(guān)節(jié)點P4P近周圍8個像素的偏差比一起來 描述此點的投影特征,如果關(guān)節(jié)點投影正確,則周圍像素的投影特征A接近0,一但關(guān)節(jié)點 與深度圖像偏差較大,對應(yīng)的投影特征A為1。這種方式能很好的描述單個關(guān)節(jié)點的投影問 題。
[0122] S42.單個手指中的所有關(guān)節(jié)點對應(yīng)的投影特征為:
[0123] X/=|A;},/G[l,5],gG[l,4]
[0124] 式中,f表示手指編號,g表示手指中關(guān)節(jié)點的編號;由于手指與手指之間的姿態(tài)是 相互獨立的,因此對于每根手指的投影狀態(tài)需要分開描述。
[0125] S43.采用投影特征A可以描述第f根手指在當(dāng)前參數(shù)0f下的投影情況,對于手指f 的第g個關(guān)節(jié)點而言,利用其關(guān)節(jié)點參數(shù)巧和真實標(biāo)簽否$判斷此關(guān)節(jié)點的參數(shù)是否正確:
[0127] 式中,max(巧)表示第f根手指的g個關(guān)節(jié)點的最大運動角度;哼表示當(dāng)前手指f的 第g關(guān)節(jié)點參數(shù),0為手指f?的第g關(guān)節(jié)點的真實參數(shù),abs為絕對值。
[0128] 若關(guān)節(jié)點參數(shù)巧和真實標(biāo)簽?zāi)兄g的偏差大于閾值,則認(rèn)為此關(guān)節(jié)點的參數(shù)不正 確,其校正值為此關(guān)節(jié)點的最大夾角與當(dāng)前的關(guān)節(jié)點參數(shù)巧之差。
[0129] S44.對于單個手指f,其校正狀態(tài)為各個關(guān)節(jié)點校正狀態(tài)的并集:
[0130] )~={Kf}/e[l,5],ge[l,4](.
[0131] S45.為了能更方便的表示手指校正狀態(tài),可以按照關(guān)節(jié)點順序進(jìn)行二進(jìn)制編碼的 方式,則手指f的校正狀態(tài)為:
[0132] Yf = 23* Yj^Yf + Yj 〇
[0133] 按照對單個手指提取投影特征Xf,以及手指校正狀態(tài)Yf,很容易采用通過訓(xùn)練分類 器的方式實現(xiàn)對手指姿態(tài)的校正。
[0134] S5.根據(jù)手部各關(guān)節(jié)點的投影特征進(jìn)行手指姿態(tài)校正。本實施例將手指姿態(tài)的校 正問題轉(zhuǎn)化為分類。
[0135] 所述步驟S5包括以下子步驟:
[0136] S51.獲取訓(xùn)練數(shù)據(jù)和訓(xùn)練樣本;所述訓(xùn)練數(shù)據(jù)為手勢圖像I與對應(yīng)的姿態(tài)標(biāo)注0, 訓(xùn)練樣本為手指投影偏差特征與校正狀態(tài)。
[0137] S52.訓(xùn)練分類器,將訓(xùn)練得到的分類器記為C,則:
[0138] Yf = C(Xf);
[0139] 所述步驟S52中的分類器為普通多類別分類模型,普通多類別分類模型為SVM模型 或隨機森林模型,且普通多類別分類模型不限于為SVM模型或隨機森林模型。
[0140] S53.在線階段,對于手部深度圖像,利用手部各個關(guān)節(jié)點在深度圖像下的第二位 置{P,}、各個手指的關(guān)節(jié)點的投影特征Xf和訓(xùn)練好的分類器C,計算各個手指的校正狀態(tài) 并進(jìn)行校正,分別進(jìn)行校正,從而實現(xiàn)對手指姿態(tài)的正確估計,得到手指姿態(tài)0f。
[0141] S54.聯(lián)合手指姿態(tài)0f和手掌姿態(tài)0P實現(xiàn)對手部姿態(tài)的快速估計。
[0142] 以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的 形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本 文所述構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進(jìn)行改動。而本領(lǐng)域人員所進(jìn) 行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍 內(nèi)。
【主權(quán)項】
1. 一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征在于:包括以下步驟:51. 獲取手部深度數(shù)據(jù),并從手部深度數(shù)據(jù)中分割出手部區(qū)域;52. 根據(jù)手部區(qū)域檢測手掌姿態(tài);53. 結(jié)合手掌姿態(tài)和手部標(biāo)準(zhǔn)骨骼模型計算出手部各個關(guān)節(jié)點的位置;54. 計算手部各關(guān)節(jié)點的投影特征;55. 根據(jù)手部各關(guān)節(jié)點的投影特征進(jìn)行手指姿態(tài)校正。2. 根據(jù)權(quán)利要求1所述的一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征 在于:所述步驟S1包括以下子步驟:511. 獲取手部深度數(shù)據(jù);512. 獲得包括第一手腕點Pwrist的人體骨骼圖像;513. 將第一手腕點Pwrist變換到圖像坐標(biāo)系下,得到第二手腕點位置且 C令:h514. 以第二手腕點位置為中心取領(lǐng)域為t的矩形區(qū)域,得到第一矩形區(qū)域Rect1: Recti = {m,n} ,mG [x-t,x+t] ,nG [y~t,y+t];515. 取第一矩形區(qū)域Recti中像素值之和的平均值作為第一手腕點Pwrist對應(yīng)的深度 值;516. 將深度數(shù)據(jù)的閾值范圍保持在[ZPalm_t,ZPalm],其中,Z P表示第一手腕點Pwrist對應(yīng) 的深度值,通過閾值化處理從手部深度數(shù)據(jù)分割出手部區(qū)域。3. 根據(jù)權(quán)利要求1所述的一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征 在于:所述步驟S2包括以下子步驟:521. 計算手部區(qū)域的第一中心點盡^,并將第一中心點@轉(zhuǎn)換到三維坐標(biāo)系下,得到 第二中心點PCen;522. 利用第二中心點PCen和第一手腕點pwrist計算出從手掌到手指的第一方向Vy,并進(jìn) 行歸一化處理,其中: Vy - PHand-Pwrist ;523. 在第一中心點發(fā)射出與第一方向Vy相垂直的直線,該直線與手部區(qū)域輪廓交 于第一交點/SL和第二交點;524. 以第一手腕點Pwrist、第一交點P/i和第二交點角定手掌平面,并求出手掌平 面的平面法向量Vz;525. 根據(jù)第一方向Vy和平面法向量1計算出當(dāng)前的手掌姿態(tài)0P。4. 根據(jù)權(quán)利要求3所述的一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征 在于:所述步驟S25包括以下子步驟: 5251. 定義初始時手指方向為《,手掌方向為巧,由手指方向巧變換到第一方向Vy的旋 轉(zhuǎn)操作表示為四元數(shù)Q y,則K=gv; 5252. 利用四元數(shù)Qy將最初的手指方向巧進(jìn)行方向更新,即得到從手掌方 向^0變換到平面法向量Vz的旋轉(zhuǎn)四元數(shù)Qz,其中這,巧; S253.當(dāng)前的手掌姿態(tài)0P包括三維平移Rt和三維旋轉(zhuǎn)Rg,其中,三維平移Rt為第二中心點 PCen,三維旋轉(zhuǎn)Rg為四元數(shù)Qy和旋轉(zhuǎn)四元數(shù)QZ的復(fù)合操作,Rg = Qy*QZ。5. 根據(jù)權(quán)利要求1所述的一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征 在于:所述步驟S3包括以下子步驟:531. 定義每個關(guān)節(jié)點為Ji = { A T,A R},A T表示此關(guān)節(jié)點相對于父節(jié)點的距離,A R表 示此關(guān)節(jié)點相對于父節(jié)點的旋轉(zhuǎn)參數(shù);532. 建立手部關(guān)節(jié)點模型M:其中,九_表示整個手部模型的根節(jié)點,J^st為手腕骨骼點,Jf' 和表 示每根手指包括的四個關(guān)節(jié)點;533. 根據(jù)手掌姿態(tài)0P求出手部的所有關(guān)節(jié)點,對于任意一個關(guān)節(jié)點心,其位置P1計算如 下: pi = Rg* AR* AT+pi-1 其中,Rg表示父節(jié)點的旋轉(zhuǎn)參數(shù),P1-1為關(guān)節(jié)點心的父節(jié)點位置;534. 得到關(guān)節(jié)點Ji的位置P1后,更新關(guān)節(jié)點Ji的旋轉(zhuǎn)參數(shù),即Rg = Rg* A R;535. 計算所有關(guān)節(jié)點的第一位置{Pj,將所有關(guān)節(jié)點的第一位置斤^轉(zhuǎn)換到圖像坐標(biāo) 系下:得到所有關(guān)節(jié)點的第二位置其中,f為相機焦距,rows為圖像序列,cols為圖像 行數(shù),斤:丨二以八^丨為三維點^片^^^^^為轉(zhuǎn)換后的圖像點。6. 根據(jù)權(quán)利要求1所述的一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征 在于:所述步驟S4包括以下子步驟:541. 設(shè)計關(guān)節(jié)點的投影特征為A : A =(Z(Pi)-I(Pi2D+Ut))/Z(Pi) Ut = (m,n),mG [_t,+t],nG [_t,+t] 式中,投影特征A表示將當(dāng)前關(guān)節(jié)點相機坐標(biāo)系下的深度值與圖像中深度值做差后與 深度值之比;Pi2D+Ut表示Pi2D的八個方向上距離為t的點坐標(biāo);Z(Pi)為三維點Pi的Z坐標(biāo)值; Ut即為點的八個方向的偏移量;542. 單個手指中的所有關(guān)節(jié)點對應(yīng)的投影特征為: ;={A,},/e[l,5],ge[l,4] 式中,f表示手指編號,g表示手指中關(guān)節(jié)點的編號;543. 對于手指f?的第g個關(guān)節(jié)點而言,利用其關(guān)節(jié)點參數(shù),和真實標(biāo)簽刃判斷此關(guān)節(jié)點 的參數(shù)是否正確:式中,maX($)表示第付艮手指的g個關(guān)節(jié)點的最大運動角度;%表示當(dāng)前手指f的第 g關(guān) 節(jié)點參數(shù),巧為手指f?的第g關(guān)節(jié)點的真實參數(shù),abs為絕對值; 若關(guān)節(jié)點參數(shù)#和真實標(biāo)簽?zāi)兄g的偏差大于閾值,則認(rèn)為此關(guān)節(jié)點的參數(shù)不正確, 其校正值為此關(guān)節(jié)點的最大夾角與當(dāng)前的關(guān)節(jié)點參數(shù)巧之差;544. 對于單個手指f,其校正狀態(tài)為其各個關(guān)節(jié)點校正狀態(tài)的并集: y/={>7}/E[i,5],ge[i,4];545. 按照關(guān)節(jié)點順序進(jìn)行二進(jìn)制編碼的方式,則手指f的校正狀態(tài)為: :盡=23 * #+22 * + $ 07. 根據(jù)權(quán)利要求1所述的一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征 在于:所述步驟S5包括以下子步驟:551. 獲取訓(xùn)練數(shù)據(jù)和訓(xùn)練樣本;552. 訓(xùn)練分類器,將訓(xùn)練得到的分類器記為C,則: Yf = C(Xf);553. 計算各個手指的校正狀態(tài)并進(jìn)行校正,得到手指姿態(tài)0f;554. 聯(lián)合手指姿態(tài)0f和手掌姿態(tài)0P實現(xiàn)對手部姿態(tài)的估計。8. 根據(jù)權(quán)利要求7所述的一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征 在于:所述訓(xùn)練數(shù)據(jù)為手勢圖像I與對應(yīng)的姿態(tài)標(biāo)注9,訓(xùn)練樣本為手指投影偏差特征與校 正狀態(tài)。9. 根據(jù)權(quán)利要求7所述的一種基于深度信息和校正方式的手部姿態(tài)估計方法,其特征 在于:所述步驟S52中的分類器為普通多類別分類模型。
【文檔編號】G06F3/01GK106055091SQ201610321710
【公開日】2016年10月26日
【申請日】2016年5月16日
【發(fā)明人】姬艷麗, 程洪, 李昊鑫
【申請人】電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1