蔡 俊 戰(zhàn)蔭偉 吳齊云
(廣東工業(yè)大學計算機學院 廣東 廣州 510006)
?
基于可靠性評估的人體骨架重建方法的研究
蔡俊戰(zhàn)蔭偉吳齊云
(廣東工業(yè)大學計算機學院廣東 廣州 510006)
摘要針對Kinect在跟蹤有遮擋或噪聲的人體骨架時會出現(xiàn)嚴重視覺誤差的問題,提出一種基于可靠性評估的骨架重建新方法。首先設計一套測量方法,客觀評估身體各個部分的可靠性程度,然后在數(shù)據(jù)庫中查詢并獲得一組相似的姿勢,結合主成分分析法構造一個自然姿勢空間,最后合成自然的姿勢。實驗結果表明,與原始設備相比,該方法能夠有效重建遮擋環(huán)境下質量低下的骨架,識別精度提高了17%至35%。
關鍵詞Kinect可靠性評估主成分分析法骨架重建
0引言
Kinect是微軟公司發(fā)布的一款體感設備[1,2],最初應用于XBOX360游戲機上,設備如圖1所示。它能提供包括彩色視頻流、深度數(shù)據(jù)流、音頻數(shù)據(jù)流三類原數(shù)據(jù),并能實現(xiàn)一系列新的技術,如深度傳感、骨架追蹤、語音識別等。
圖1 Kinect設備圖
近年來,基于Kinect體感設備的人體動作識別和重建在很多方面尤其是康復領域表現(xiàn)出很大的應用價值[3],由于它具有很好的成本優(yōu)勢和智能性,國內外很多機構都在開展相關研究。例如Shotton等人[4]通過 Kinect獲得的深度圖像檢測人體的關節(jié)點,利用隨機森林分類器將深度圖像像素分類為身體的多個部位;Schwarz等人[5]利用Kinect并結合人體解剖學標記和人體骨架模型,利用測地距離來測量身體部位之間的距離,從而進行人體全身的姿勢估計;Kim等人[6]利用Kinect的深度數(shù)據(jù)來進行物體表面的實時三維重建。張毅等人[7]基于改進樸素貝葉斯分類器的方法,利用動作識別選擇機制來提升康復訓練動作的識別率。這些方法都在一定程度上實現(xiàn)了姿勢估計或者識別,但是對于跟蹤有遮擋或噪聲的人體骨架的情況卻鮮有研究。
在我們以前的工作中,已經可以利用Kinect基于角度測量進行人體姿勢識別[8],當Kinect與外部用戶進行交互時,它的紅外傳感器需要跟蹤用戶身體的每個部分,為了達到較高的識別精確度,這種方法要求用戶面對設備并沒有任何遮擋。一旦被遮擋,Kinect將無法追蹤到準確的關節(jié)點,導致某些身體部分的不穩(wěn)定,從而使用這樣的姿勢構建虛擬角色與應用程序進行交互時,將導致嚴重的失真。為了解決這個問題,Hubert等人[9]通過創(chuàng)建運動數(shù)據(jù)庫,采用PD控制器來重建運動缺陷的姿勢。這種方法在小范圍遮擋的情況下能夠取得較好效果,但在用戶身體被大范圍遮擋時仍會產生較大誤差。
一個優(yōu)秀的Kinect應用方案不僅需要設備在無噪聲的情況下有很好的識別效果,更需要在有遮擋有噪聲的環(huán)境下仍能達到很高的識別精度。為了達到這個目的,本文提出了一種基于可靠性評估的人體骨骼重建方法,創(chuàng)新性地通過可靠性評估和運動數(shù)據(jù)庫來重建有缺陷的骨架姿勢:首先,在獲取用戶骨架后計算運動的可靠性值并把他作為權重,然后在運動數(shù)據(jù)庫中提取類似的姿勢,結合主成分分析法構建一個滿足運動學約束的自然姿勢空間,最后合成自然準確的骨架。實驗表明,當被不同程度的遮擋時,基于可靠性評估的骨骼重建方法仍能重建質量較高的運動骨架。
1相關知識
1.1設備介紹
Kinect由RGB彩色攝像頭、紅外線發(fā)射器、紅外線接收器、轉動馬達和一排四元線性麥克風陣列組成,它的RGB相機最大分辨率為1280×960,紅外相機最大分辨率為640×480。深度相機采集深度信息的最大范圍為0.4~8米,有默認和近景兩種工作模式。其中,在默認模式下,深度相機可采集范圍為0.8~4米,但在0.4~0.8米和4~8米范圍內數(shù)據(jù)精度不高,近景模式下深度相機可以準確采集0.4~3米范圍內的深度數(shù)據(jù)。
1.2主成分分析法(PCA)
主成分分析法算法是模式識別中一個比較成熟的算法,它的主要思想是,在多維空間模型中,為了實現(xiàn)提取海量數(shù)據(jù)的特征,用樣本的位置信息作為參數(shù)輸入判別式,從而得到一個矢量值,使方差最大化。
定義準則函數(shù)式:
J(X)=XTStX
(1)
選取一組標準正交向量X1,…,Xd作為投影軸,使式(1)達到極值,使投影后所得特征的總體散布量最大[10]。
2方法流程與實現(xiàn)
本文姿勢重建方法主要由骨架獲取、運動可靠性評估、利用主成分分析法構造自然姿勢空間、骨架合成等幾個部分組成。
2.1骨架獲取
圖2 人體骨架關節(jié)點
首先,Kinect的紅外線攝像頭透過透明介質向外發(fā)出紅外線,紅外線在三維場景中形成激光散斑。然后,紅外線接收器拍攝散斑圖像并進行編碼,感應器讀取編碼光線,生成深度圖像[11]。利用獲取到的深度圖像,Kinect可以得到人體的20個骨骼關節(jié)點的三維坐標,最后根據(jù)所有關節(jié)點來生成一套骨架系統(tǒng),圖2為人體的骨架關節(jié)點圖。
2.2可靠性評估
可靠性評估是指客觀評估身體各部分的穩(wěn)定性和可靠性,包括行為有效性、骨架可靠性、跟蹤狀態(tài)可靠性三個方面。
2.2.1行為可靠性
行為有效性是指用戶運動行為的正確性。當用戶身體部分被擋住時,Kinect獲得的深度圖像會錯誤識別身體部分,從而無法得到用戶身體部分的準確位置。由于缺乏預期的目標特征,未進行可靠性評估的方法識別出的位置非常不穩(wěn)定[11]。所以,方法首先應該衡量用戶行為的可靠性。
假設pi(f)、pi(f+1)、pi(f+2)是三維空間里的用戶被跟蹤身體部分i的連續(xù)三幀,則位移向量的計算公式為:
di(f)=pi(f+1)-pi(f)
(2)
di(f+1)=pi(f+2)-pi(f+1)
(3)
兩向量之間的夾角可以由它們的點積計算:
(4)
其中,dmin是可接受位移大小的最小值,當身體部分基本穩(wěn)定時,它將不會有大的角度變化。
人體行為,可以看成一連串的運動序列,可靠性定義為:
(5)
其中,Rbi(f)∈[0,1],fb是檢測到運動幀數(shù)的總數(shù)量,θf是每幀可接受的旋轉角度,θr是每幀不可接受的最小旋轉角度,經多次實驗證明,當fb=3、θf=90°、θr=135°時,效果比較好。
2.2.2骨架可靠性
骨架可靠性是指骨架姿勢的正確性。當Kinect捕獲身體姿勢時,不同身體大小的用戶的骨架尺寸是不同的。我們定義兩個參考姿勢,一個T型姿勢,另一個標準站立的姿勢。根據(jù)骨架結構,身體的每個部分可以連接到其他多個部分。假設身體部分i共連接到st個其他部分,對于每一個連接段s,在第f幀的差異率可以計算為:
(6)
其中,lc是相關骨架部分的長度,ls(f)是第f幀中s段骨架的當前長度。
身體部分的骨架可靠性是所有連接部分不同比例的平均段,定義為:
(7)
其中,Rki(f)∈[0,1]。
2.2.3跟蹤狀態(tài)可靠性
跟蹤狀態(tài)可靠性指設備是否跟蹤到用戶的身體部分,定義為:
(8)
2.2.4可靠率
通過以上評估得到的行為、骨架和跟蹤狀態(tài)的可靠性,不同身體部分的可靠率可以定義為:
(9)
其中,Ri∈[0,1],ftotal表示總幀數(shù),ω(f)是f幀的高斯權重,Rbi(f)、Rki(f)、Rti(f)分別表示行為有效性、骨架可靠性和跟蹤狀態(tài)可靠性??煽柯实囊馑际钱斏眢w部分沒有被跟蹤檢測時,它提取相鄰幾幀可靠的數(shù)據(jù)來進行重建,從而提高了識別的精確度。
2.3運動數(shù)據(jù)庫
進行人體骨架重建時需要構建一個自然姿勢空間,這就需要構建一個運動數(shù)據(jù)庫。構建數(shù)據(jù)庫可以使用傳統(tǒng)的光學捕捉系統(tǒng)來捕獲合適的運動動作,剔除相似的姿勢,除了可以提高運行效率,還可以控制姿勢空間樣本的密度。本文使用的運動數(shù)據(jù)庫來自于卡梅隆大學(CMU)的圖形實驗室[12],運動數(shù)據(jù)的格式有ASF-AMC、HTR、BVH等。本文主要采用ASF-AMC數(shù)據(jù)格式,因為此格式數(shù)據(jù)可以修改骨骼模型的運動數(shù)據(jù),有利于本文研究。
2.4PCA法構建姿勢空間
由于運動數(shù)據(jù)之間具有關聯(lián)性,若只提取關鍵幀信息會在一定程度上丟失某些運動數(shù)據(jù)的信息,從而導致失真。本文采用主成分分析法(PCA)來對我們的運動數(shù)據(jù)進行降維。在數(shù)據(jù)庫中使用K鄰域搜索來找到相似姿勢,不同姿勢函數(shù)被定義為:
(10)
2.5骨架合成
人體姿勢合成的重點是通過Kinect獲得的低維控制信號和數(shù)據(jù)庫中提取的數(shù)據(jù)姿勢{p1,p2,…,pn}并結合前面t-1幀{p1,p2,…,pt-1}生成t時刻的運動姿勢pt。為了重建用戶骨架信息,本文使用局部線性模型作為一個強制性的約束,并且利用平滑項優(yōu)化處于低維空間wt的當前動作pt,最后通過人體姿勢平滑、控制等手段對局部線性模型進行優(yōu)化。
平滑項測量將pt排在[p1,p2,…,pt-1]之后,保證了合成運動姿勢的連續(xù)性。假設t時刻的動作只和t-1,t-2時刻的動作有關,公式為:
Es=(pt-2pt-1+pt-2)2
(11)
其中,qt-1和qt-2為前兩幀生成的動作。
當前幀計算的標記位置與當前幀捕獲的標記位置的偏差即為控制項測量:
Ec=D(px,pk)
(12)
為了使合成的姿勢滿足運動學約束,我們在數(shù)據(jù)庫中使用的骨骼大小應與標準體型類似,因此:
(13)
最后,合成連續(xù)的身體姿勢,定義為:
(14)
為了優(yōu)化目標姿勢,在自然姿勢空間里隨機選取一定數(shù)量的潛在姿勢樣本進行迭代,每一個樣本的最終結果為各能量條件的加權總和。
E=ωcEm+ωsEs+ωkEk
(15)
其中,ωc、ωs、ωs表示權重,分別設置為1.0、0.5、1.5。
3實驗與結果分析
本文利用VS2010平臺結合Microsoft Kinect SDK 1.8來進行動作仿真,僅使用原始設備進行實驗,當身體被不同物體遮擋時,效果如圖3-圖5所示。
圖3 身體被書本遮擋骨骼識別圖(小范圍) 圖4 身體被椅子遮擋骨骼識別圖(中范圍)
圖5 身體被衣服遮擋骨骼識別圖(大范圍)
實驗圖中,灰點為Kinect跟蹤正確的點,白點為跟蹤錯誤的點。從圖可以看出,當身體部分被不同程度的遮擋物遮擋時,Kinect都有識別錯誤的關節(jié)點,遮擋范圍越大,識別錯誤的關節(jié)點越多,導致形成了嚴重錯誤的骨架信息。
使用本文方法后,由于增加了可靠性評估等相關步驟,識別精度有明顯提高,實驗效果如圖6-圖8所示。
圖6 身體被書本遮擋骨骼識別圖(小范圍) 圖7 身體被椅子遮擋骨骼識別圖(中范圍)
圖8 身體被衣服遮擋骨骼識別圖(大范圍)
從圖中可以看出,基于可靠性評估進行骨架重建,識別準確度有明顯提高,即使人體被遮擋住大部分下半身,Kinect仍能檢測到人體準確的關節(jié)點位置信息,僅有個別關節(jié)點識別錯誤。
為驗證實驗的準確性,本文選取了10個測試者,要求測試者面對Kinect設備,距離在2米左右,對以上三組遮擋情況進行測試。識別率為識別正確的點占總關節(jié)點數(shù)的比例。方法一為文獻[9]的重建方法,方法二為本文的重建方法,由實驗得知,僅使用原始設備進行骨架跟蹤時,識別率在48%到81%之間,采用文獻[9]的方法識別率在63%到96%之間,而本文方法的識別率在94%至98%之間。尤其當遮擋范圍較大時,由于增加了運動可靠性的評估步驟,本文方法比文獻方法識別率更高,能達到理想的效果。
圖9 三種方法識別率示意圖
4結語
為解決Kinect傳感器在有遮擋或噪聲情況下識別精確度不高的問題,本文提出一種基于可靠性評估的骨骼重建方法。該方法創(chuàng)新性地基于可靠性評估并利用運動數(shù)據(jù)庫自動重建有缺陷的骨架信息。首先,該方法評估身體每個部分的可靠性程度,然后通過一個運行的數(shù)據(jù)庫創(chuàng)建一個自然姿態(tài)空間來合成有效的姿勢。實驗結果表明,此方法能夠大幅提高Kinect在遮擋情況下骨架關節(jié)點的識別精度,準確度較高。下一步的工作重點將是如何結合虛擬角色進一步提高姿勢重建準確度和運行速率,同時Kinect還提供了語音識別等其他方式,結合多種方式進行識別和重建,相信其準確性會大幅提高,從而提供更好更自然的交互方式。
參考文獻
[1] 余濤.Kinect應用開發(fā)實戰(zhàn):用最自然的方式與機器對話[M].北京:機械工業(yè)出版社,2012.
[2] Webb J,Ashley J.Beginning Kinect Programming with the Microsoft Kinect SDK[M].Apress,2012.
[3] 丁晨,王君澤,瞿暢,等.Kinect體感交互技術及其在醫(yī)療康復領域的應用[J].中國康復理論與實踐,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].計算機應用,2013,33(11):3187-3189.
[8] 戰(zhàn)蔭偉,于芝枝,蔡俊.基于Kinect角度測量的姿勢識別算法[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。廣州市科技計劃項目(132000785)。蔡俊,碩士生,主研領域:人機互換。戰(zhàn)蔭偉,教授。吳齊云,碩士生。
中圖分類號TP3
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.05.036