蔡 俊 戰(zhàn)蔭偉 吳齊云
(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 廣東 廣州 510006)
?
基于可靠性評(píng)估的人體骨架重建方法的研究
蔡俊戰(zhàn)蔭偉吳齊云
(廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院廣東 廣州 510006)
摘要針對(duì)Kinect在跟蹤有遮擋或噪聲的人體骨架時(shí)會(huì)出現(xiàn)嚴(yán)重視覺誤差的問題,提出一種基于可靠性評(píng)估的骨架重建新方法。首先設(shè)計(jì)一套測量方法,客觀評(píng)估身體各個(gè)部分的可靠性程度,然后在數(shù)據(jù)庫中查詢并獲得一組相似的姿勢,結(jié)合主成分分析法構(gòu)造一個(gè)自然姿勢空間,最后合成自然的姿勢。實(shí)驗(yàn)結(jié)果表明,與原始設(shè)備相比,該方法能夠有效重建遮擋環(huán)境下質(zhì)量低下的骨架,識(shí)別精度提高了17%至35%。
關(guān)鍵詞Kinect可靠性評(píng)估主成分分析法骨架重建
0引言
Kinect是微軟公司發(fā)布的一款體感設(shè)備[1,2],最初應(yīng)用于XBOX360游戲機(jī)上,設(shè)備如圖1所示。它能提供包括彩色視頻流、深度數(shù)據(jù)流、音頻數(shù)據(jù)流三類原數(shù)據(jù),并能實(shí)現(xiàn)一系列新的技術(shù),如深度傳感、骨架追蹤、語音識(shí)別等。

圖1 Kinect設(shè)備圖
近年來,基于Kinect體感設(shè)備的人體動(dòng)作識(shí)別和重建在很多方面尤其是康復(fù)領(lǐng)域表現(xiàn)出很大的應(yīng)用價(jià)值[3],由于它具有很好的成本優(yōu)勢和智能性,國內(nèi)外很多機(jī)構(gòu)都在開展相關(guān)研究。例如Shotton等人[4]通過 Kinect獲得的深度圖像檢測人體的關(guān)節(jié)點(diǎn),利用隨機(jī)森林分類器將深度圖像像素分類為身體的多個(gè)部位;Schwarz等人[5]利用Kinect并結(jié)合人體解剖學(xué)標(biāo)記和人體骨架模型,利用測地距離來測量身體部位之間的距離,從而進(jìn)行人體全身的姿勢估計(jì);Kim等人[6]利用Kinect的深度數(shù)據(jù)來進(jìn)行物體表面的實(shí)時(shí)三維重建。張毅等人[7]基于改進(jìn)樸素貝葉斯分類器的方法,利用動(dòng)作識(shí)別選擇機(jī)制來提升康復(fù)訓(xùn)練動(dòng)作的識(shí)別率。這些方法都在一定程度上實(shí)現(xiàn)了姿勢估計(jì)或者識(shí)別,但是對(duì)于跟蹤有遮擋或噪聲的人體骨架的情況卻鮮有研究。
在我們以前的工作中,已經(jīng)可以利用Kinect基于角度測量進(jìn)行人體姿勢識(shí)別[8],當(dāng)Kinect與外部用戶進(jìn)行交互時(shí),它的紅外傳感器需要跟蹤用戶身體的每個(gè)部分,為了達(dá)到較高的識(shí)別精確度,這種方法要求用戶面對(duì)設(shè)備并沒有任何遮擋。一旦被遮擋,Kinect將無法追蹤到準(zhǔn)確的關(guān)節(jié)點(diǎn),導(dǎo)致某些身體部分的不穩(wěn)定,從而使用這樣的姿勢構(gòu)建虛擬角色與應(yīng)用程序進(jìn)行交互時(shí),將導(dǎo)致嚴(yán)重的失真。為了解決這個(gè)問題,Hubert等人[9]通過創(chuàng)建運(yùn)動(dòng)數(shù)據(jù)庫,采用PD控制器來重建運(yùn)動(dòng)缺陷的姿勢。這種方法在小范圍遮擋的情況下能夠取得較好效果,但在用戶身體被大范圍遮擋時(shí)仍會(huì)產(chǎn)生較大誤差。
一個(gè)優(yōu)秀的Kinect應(yīng)用方案不僅需要設(shè)備在無噪聲的情況下有很好的識(shí)別效果,更需要在有遮擋有噪聲的環(huán)境下仍能達(dá)到很高的識(shí)別精度。為了達(dá)到這個(gè)目的,本文提出了一種基于可靠性評(píng)估的人體骨骼重建方法,創(chuàng)新性地通過可靠性評(píng)估和運(yùn)動(dòng)數(shù)據(jù)庫來重建有缺陷的骨架姿勢:首先,在獲取用戶骨架后計(jì)算運(yùn)動(dòng)的可靠性值并把他作為權(quán)重,然后在運(yùn)動(dòng)數(shù)據(jù)庫中提取類似的姿勢,結(jié)合主成分分析法構(gòu)建一個(gè)滿足運(yùn)動(dòng)學(xué)約束的自然姿勢空間,最后合成自然準(zhǔn)確的骨架。實(shí)驗(yàn)表明,當(dāng)被不同程度的遮擋時(shí),基于可靠性評(píng)估的骨骼重建方法仍能重建質(zhì)量較高的運(yùn)動(dòng)骨架。
1相關(guān)知識(shí)
1.1設(shè)備介紹
Kinect由RGB彩色攝像頭、紅外線發(fā)射器、紅外線接收器、轉(zhuǎn)動(dòng)馬達(dá)和一排四元線性麥克風(fēng)陣列組成,它的RGB相機(jī)最大分辨率為1280×960,紅外相機(jī)最大分辨率為640×480。深度相機(jī)采集深度信息的最大范圍為0.4~8米,有默認(rèn)和近景兩種工作模式。其中,在默認(rèn)模式下,深度相機(jī)可采集范圍為0.8~4米,但在0.4~0.8米和4~8米范圍內(nèi)數(shù)據(jù)精度不高,近景模式下深度相機(jī)可以準(zhǔn)確采集0.4~3米范圍內(nèi)的深度數(shù)據(jù)。
1.2主成分分析法(PCA)
主成分分析法算法是模式識(shí)別中一個(gè)比較成熟的算法,它的主要思想是,在多維空間模型中,為了實(shí)現(xiàn)提取海量數(shù)據(jù)的特征,用樣本的位置信息作為參數(shù)輸入判別式,從而得到一個(gè)矢量值,使方差最大化。
定義準(zhǔn)則函數(shù)式:
J(X)=XTStX
(1)
選取一組標(biāo)準(zhǔn)正交向量X1,…,Xd作為投影軸,使式(1)達(dá)到極值,使投影后所得特征的總體散布量最大[10]。
2方法流程與實(shí)現(xiàn)
本文姿勢重建方法主要由骨架獲取、運(yùn)動(dòng)可靠性評(píng)估、利用主成分分析法構(gòu)造自然姿勢空間、骨架合成等幾個(gè)部分組成。
2.1骨架獲取

圖2 人體骨架關(guān)節(jié)點(diǎn)
首先,Kinect的紅外線攝像頭透過透明介質(zhì)向外發(fā)出紅外線,紅外線在三維場景中形成激光散斑。然后,紅外線接收器拍攝散斑圖像并進(jìn)行編碼,感應(yīng)器讀取編碼光線,生成深度圖像[11]。利用獲取到的深度圖像,Kinect可以得到人體的20個(gè)骨骼關(guān)節(jié)點(diǎn)的三維坐標(biāo),最后根據(jù)所有關(guān)節(jié)點(diǎn)來生成一套骨架系統(tǒng),圖2為人體的骨架關(guān)節(jié)點(diǎn)圖。
2.2可靠性評(píng)估
可靠性評(píng)估是指客觀評(píng)估身體各部分的穩(wěn)定性和可靠性,包括行為有效性、骨架可靠性、跟蹤狀態(tài)可靠性三個(gè)方面。
2.2.1行為可靠性
行為有效性是指用戶運(yùn)動(dòng)行為的正確性。當(dāng)用戶身體部分被擋住時(shí),Kinect獲得的深度圖像會(huì)錯(cuò)誤識(shí)別身體部分,從而無法得到用戶身體部分的準(zhǔn)確位置。由于缺乏預(yù)期的目標(biāo)特征,未進(jìn)行可靠性評(píng)估的方法識(shí)別出的位置非常不穩(wěn)定[11]。所以,方法首先應(yīng)該衡量用戶行為的可靠性。
假設(shè)pi(f)、pi(f+1)、pi(f+2)是三維空間里的用戶被跟蹤身體部分i的連續(xù)三幀,則位移向量的計(jì)算公式為:
di(f)=pi(f+1)-pi(f)
(2)
di(f+1)=pi(f+2)-pi(f+1)
(3)
兩向量之間的夾角可以由它們的點(diǎn)積計(jì)算:
(4)
其中,dmin是可接受位移大小的最小值,當(dāng)身體部分基本穩(wěn)定時(shí),它將不會(huì)有大的角度變化。
人體行為,可以看成一連串的運(yùn)動(dòng)序列,可靠性定義為:
(5)
其中,Rbi(f)∈[0,1],fb是檢測到運(yùn)動(dòng)幀數(shù)的總數(shù)量,θf是每幀可接受的旋轉(zhuǎn)角度,θr是每幀不可接受的最小旋轉(zhuǎn)角度,經(jīng)多次實(shí)驗(yàn)證明,當(dāng)fb=3、θf=90°、θr=135°時(shí),效果比較好。
2.2.2骨架可靠性
骨架可靠性是指骨架姿勢的正確性。當(dāng)Kinect捕獲身體姿勢時(shí),不同身體大小的用戶的骨架尺寸是不同的。我們定義兩個(gè)參考姿勢,一個(gè)T型姿勢,另一個(gè)標(biāo)準(zhǔn)站立的姿勢。根據(jù)骨架結(jié)構(gòu),身體的每個(gè)部分可以連接到其他多個(gè)部分。假設(shè)身體部分i共連接到st個(gè)其他部分,對(duì)于每一個(gè)連接段s,在第f幀的差異率可以計(jì)算為:
(6)
其中,lc是相關(guān)骨架部分的長度,ls(f)是第f幀中s段骨架的當(dāng)前長度。
身體部分的骨架可靠性是所有連接部分不同比例的平均段,定義為:
(7)
其中,Rki(f)∈[0,1]。
2.2.3跟蹤狀態(tài)可靠性
跟蹤狀態(tài)可靠性指設(shè)備是否跟蹤到用戶的身體部分,定義為:
(8)
2.2.4可靠率
通過以上評(píng)估得到的行為、骨架和跟蹤狀態(tài)的可靠性,不同身體部分的可靠率可以定義為:
(9)
其中,Ri∈[0,1],ftotal表示總幀數(shù),ω(f)是f幀的高斯權(quán)重,Rbi(f)、Rki(f)、Rti(f)分別表示行為有效性、骨架可靠性和跟蹤狀態(tài)可靠性??煽柯实囊馑际钱?dāng)身體部分沒有被跟蹤檢測時(shí),它提取相鄰幾幀可靠的數(shù)據(jù)來進(jìn)行重建,從而提高了識(shí)別的精確度。
2.3運(yùn)動(dòng)數(shù)據(jù)庫
進(jìn)行人體骨架重建時(shí)需要構(gòu)建一個(gè)自然姿勢空間,這就需要構(gòu)建一個(gè)運(yùn)動(dòng)數(shù)據(jù)庫。構(gòu)建數(shù)據(jù)庫可以使用傳統(tǒng)的光學(xué)捕捉系統(tǒng)來捕獲合適的運(yùn)動(dòng)動(dòng)作,剔除相似的姿勢,除了可以提高運(yùn)行效率,還可以控制姿勢空間樣本的密度。本文使用的運(yùn)動(dòng)數(shù)據(jù)庫來自于卡梅隆大學(xué)(CMU)的圖形實(shí)驗(yàn)室[12],運(yùn)動(dòng)數(shù)據(jù)的格式有ASF-AMC、HTR、BVH等。本文主要采用ASF-AMC數(shù)據(jù)格式,因?yàn)榇烁袷綌?shù)據(jù)可以修改骨骼模型的運(yùn)動(dòng)數(shù)據(jù),有利于本文研究。
2.4PCA法構(gòu)建姿勢空間
由于運(yùn)動(dòng)數(shù)據(jù)之間具有關(guān)聯(lián)性,若只提取關(guān)鍵幀信息會(huì)在一定程度上丟失某些運(yùn)動(dòng)數(shù)據(jù)的信息,從而導(dǎo)致失真。本文采用主成分分析法(PCA)來對(duì)我們的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行降維。在數(shù)據(jù)庫中使用K鄰域搜索來找到相似姿勢,不同姿勢函數(shù)被定義為:
(10)

2.5骨架合成
人體姿勢合成的重點(diǎn)是通過Kinect獲得的低維控制信號(hào)和數(shù)據(jù)庫中提取的數(shù)據(jù)姿勢{p1,p2,…,pn}并結(jié)合前面t-1幀{p1,p2,…,pt-1}生成t時(shí)刻的運(yùn)動(dòng)姿勢pt。為了重建用戶骨架信息,本文使用局部線性模型作為一個(gè)強(qiáng)制性的約束,并且利用平滑項(xiàng)優(yōu)化處于低維空間wt的當(dāng)前動(dòng)作pt,最后通過人體姿勢平滑、控制等手段對(duì)局部線性模型進(jìn)行優(yōu)化。
平滑項(xiàng)測量將pt排在[p1,p2,…,pt-1]之后,保證了合成運(yùn)動(dòng)姿勢的連續(xù)性。假設(shè)t時(shí)刻的動(dòng)作只和t-1,t-2時(shí)刻的動(dòng)作有關(guān),公式為:
Es=(pt-2pt-1+pt-2)2
(11)
其中,qt-1和qt-2為前兩幀生成的動(dòng)作。
當(dāng)前幀計(jì)算的標(biāo)記位置與當(dāng)前幀捕獲的標(biāo)記位置的偏差即為控制項(xiàng)測量:
Ec=D(px,pk)
(12)
為了使合成的姿勢滿足運(yùn)動(dòng)學(xué)約束,我們?cè)跀?shù)據(jù)庫中使用的骨骼大小應(yīng)與標(biāo)準(zhǔn)體型類似,因此:
(13)

最后,合成連續(xù)的身體姿勢,定義為:
(14)
為了優(yōu)化目標(biāo)姿勢,在自然姿勢空間里隨機(jī)選取一定數(shù)量的潛在姿勢樣本進(jìn)行迭代,每一個(gè)樣本的最終結(jié)果為各能量條件的加權(quán)總和。
E=ωcEm+ωsEs+ωkEk
(15)
其中,ωc、ωs、ωs表示權(quán)重,分別設(shè)置為1.0、0.5、1.5。
3實(shí)驗(yàn)與結(jié)果分析
本文利用VS2010平臺(tái)結(jié)合Microsoft Kinect SDK 1.8來進(jìn)行動(dòng)作仿真,僅使用原始設(shè)備進(jìn)行實(shí)驗(yàn),當(dāng)身體被不同物體遮擋時(shí),效果如圖3-圖5所示。

圖3 身體被書本遮擋骨骼識(shí)別圖(小范圍) 圖4 身體被椅子遮擋骨骼識(shí)別圖(中范圍)

圖5 身體被衣服遮擋骨骼識(shí)別圖(大范圍)
實(shí)驗(yàn)圖中,灰點(diǎn)為Kinect跟蹤正確的點(diǎn),白點(diǎn)為跟蹤錯(cuò)誤的點(diǎn)。從圖可以看出,當(dāng)身體部分被不同程度的遮擋物遮擋時(shí),Kinect都有識(shí)別錯(cuò)誤的關(guān)節(jié)點(diǎn),遮擋范圍越大,識(shí)別錯(cuò)誤的關(guān)節(jié)點(diǎn)越多,導(dǎo)致形成了嚴(yán)重錯(cuò)誤的骨架信息。
使用本文方法后,由于增加了可靠性評(píng)估等相關(guān)步驟,識(shí)別精度有明顯提高,實(shí)驗(yàn)效果如圖6-圖8所示。

圖6 身體被書本遮擋骨骼識(shí)別圖(小范圍) 圖7 身體被椅子遮擋骨骼識(shí)別圖(中范圍)

圖8 身體被衣服遮擋骨骼識(shí)別圖(大范圍)
從圖中可以看出,基于可靠性評(píng)估進(jìn)行骨架重建,識(shí)別準(zhǔn)確度有明顯提高,即使人體被遮擋住大部分下半身,Kinect仍能檢測到人體準(zhǔn)確的關(guān)節(jié)點(diǎn)位置信息,僅有個(gè)別關(guān)節(jié)點(diǎn)識(shí)別錯(cuò)誤。
為驗(yàn)證實(shí)驗(yàn)的準(zhǔn)確性,本文選取了10個(gè)測試者,要求測試者面對(duì)Kinect設(shè)備,距離在2米左右,對(duì)以上三組遮擋情況進(jìn)行測試。識(shí)別率為識(shí)別正確的點(diǎn)占總關(guān)節(jié)點(diǎn)數(shù)的比例。方法一為文獻(xiàn)[9]的重建方法,方法二為本文的重建方法,由實(shí)驗(yàn)得知,僅使用原始設(shè)備進(jìn)行骨架跟蹤時(shí),識(shí)別率在48%到81%之間,采用文獻(xiàn)[9]的方法識(shí)別率在63%到96%之間,而本文方法的識(shí)別率在94%至98%之間。尤其當(dāng)遮擋范圍較大時(shí),由于增加了運(yùn)動(dòng)可靠性的評(píng)估步驟,本文方法比文獻(xiàn)方法識(shí)別率更高,能達(dá)到理想的效果。

圖9 三種方法識(shí)別率示意圖
4結(jié)語
為解決Kinect傳感器在有遮擋或噪聲情況下識(shí)別精確度不高的問題,本文提出一種基于可靠性評(píng)估的骨骼重建方法。該方法創(chuàng)新性地基于可靠性評(píng)估并利用運(yùn)動(dòng)數(shù)據(jù)庫自動(dòng)重建有缺陷的骨架信息。首先,該方法評(píng)估身體每個(gè)部分的可靠性程度,然后通過一個(gè)運(yùn)行的數(shù)據(jù)庫創(chuàng)建一個(gè)自然姿態(tài)空間來合成有效的姿勢。實(shí)驗(yàn)結(jié)果表明,此方法能夠大幅提高Kinect在遮擋情況下骨架關(guān)節(jié)點(diǎn)的識(shí)別精度,準(zhǔn)確度較高。下一步的工作重點(diǎn)將是如何結(jié)合虛擬角色進(jìn)一步提高姿勢重建準(zhǔn)確度和運(yùn)行速率,同時(shí)Kinect還提供了語音識(shí)別等其他方式,結(jié)合多種方式進(jìn)行識(shí)別和重建,相信其準(zhǔn)確性會(huì)大幅提高,從而提供更好更自然的交互方式。
參考文獻(xiàn)
[1] 余濤.Kinect應(yīng)用開發(fā)實(shí)戰(zhàn):用最自然的方式與機(jī)器對(duì)話[M].北京:機(jī)械工業(yè)出版社,2012.
[2] Webb J,Ashley J.Beginning Kinect Programming with the Microsoft Kinect SDK[M].Apress,2012.
[3] 丁晨,王君澤,瞿暢,等.Kinect體感交互技術(shù)及其在醫(yī)療康復(fù)領(lǐng)域的應(yīng)用[J].中國康復(fù)理論與實(shí)踐,2013,19(2):136-138.
[4] Hu R Z L,Hartfiel A,Tung J,et al.3D Pose tracking of walker users’ lower limb with a structured-light camera on a moving platform[C]//Computer Vision and Pattern Recognition Workshops,2011:29-36.
[5] Schwarz L A,Mkhitaryan A,Mateus D,et al.Human skeleton tracking from depth data using geodesic distances and optical flow[J].Image and Vision Computing,2012,30(3):217-226.
[6] Shahram Izadi,David Kim,Otmar Hilliges,et al.KinectFusion:Real-time 3D reconstruction and interaction using a moving depth camera[C]//Proc. ACM Symposium on User Interface Software.Technology,2011:559-568.
[7] 張毅,黃聰,羅元.基于改進(jìn)樸素貝葉斯分類器的康復(fù)訓(xùn)練行為識(shí)別方法[J].計(jì)算機(jī)應(yīng)用,2013,33(11):3187-3189.
[8] 戰(zhàn)蔭偉,于芝枝,蔡俊.基于Kinect角度測量的姿勢識(shí)別算法[J].傳感器與微系統(tǒng),2014,33(7):129-132.
[9] Shum H P H,Ho E S L.Real-time physical modeling of character movements with Microsoft Kinect[C]//Proc.ACM Symposium on Virtual Reality Software Technology.(VRST),2012:17-24.
[10] Duda R,Hart P.Pattern classification and scene analysis[M].Wiley,New York,1973.
[11] John Stowers,Michacl Haycs.Quadrotor Helicopter Flight Control Using Hough Transform Depth Map from a Microsoft Kinect Sensor[C]//Conference on Machine Vision Applications(MVA),2011:13-15.
[12] Shotton J,Fitzgibbon A,Cook M,et al.Real-time human pose recognition in parts from single depth images[C]//2011 IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2011:1297-1304.
[13] http://mocap.cs.cmu.edu/.
ON HUMAN SKELETON RECONSTRUCTION BASED ON RELIABILITY EVALUATION
Cai JunZhan YinweiWu Qiyun
(FacultyofComputer,GuangdongUniversityofTechnology,Guangzhou510006,Guangdong,China)
AbstractConcerning the problem that it will cause severe visual error when the Kinect is tracking the human skeleton with occlusion or noise, we proposed a new skeleton reconstruction method which is based on reliability evaluation. First, we designed a set of measurement methods to objectively evaluate the reliability degree of each part of the body. Then we queried in database and obtained a group of similar postures, and constructed a natural postures space in combination with PCA. Finally, we synthesised the natural posture. Experimental result showed that compared with primitive equipments, this method could effectively reconstruct the skeleton with poor quality in occluded environment, and the recognition accuracy was improved by 17% to 35%.
KeywordsKinectReliability evaluationPrincipal component analysis (PCA)Skeleton reconstruction
收稿日期:2014-12-30。廣州市科技計(jì)劃項(xiàng)目(132000785)。蔡俊,碩士生,主研領(lǐng)域:人機(jī)互換。戰(zhàn)蔭偉,教授。吳齊云,碩士生。
中圖分類號(hào)TP3
文獻(xiàn)標(biāo)識(shí)碼A
DOI:10.3969/j.issn.1000-386x.2016.05.036