,
(中國科學技術大學 自動化系,合肥 230000)
人體姿態估計是人工智能領域一個很重要的部分,它隸屬于自然人機交互領域。計算機該如何理解人類做出的動作,不通過如鼠標鍵盤的媒介,人類姿態如何控制計算機進行操作,達到自然交互的目的,這些問題都是計算機視覺領域研究的熱點問題。現階段有眾多人體姿態估計的方法[1-3],如文獻[4]提出可以由骨架結構近似表示人體姿態,通過采用人體骨架結構中每個關節的時間序列數據表示人體動作序列。2012年微軟推出了體感游戲設備xbox360,其前端深度相機Kinect通過獲取人體深度數據,使用隨機森林分類器大量訓練模擬和真實人體數據,獲得了非常好的效果。
文獻[5]提出隨機森林模型,至今仍被認為是最有效的分類及回歸算法之一。文獻[6]提出通過隨機森林訓練經過提取的深度特征,從而完成對人體全身31個部件的大致分類。特征訓練樣本數量高達2×109個,并且隨著森林中單個決策樹的樹深d的增加,內存消耗為O(2d)。
本文在前人的基礎上,為解決部分傳統量化深度特征響應不敏感問題而加入新的RGB邊緣特征,并與文獻[7]中提出的決策叢林算法相結合,提出優化的人體部件分類流程。根據文獻[6]的啟發,本文將人的身體分為31個部件,通過深度數據做特征提取,采用灰度圖像做邊緣特征提取。
由于深度圖像不受光照、衣著、皮膚毛發等因素的影響,可以很好地保留人體輪廓,因此利用深度數據作特征提取的案例已經愈發成熟。文獻[8]首次提出了一種快速的量化深度特征,這種特征在Kinect骨骼案例中得到了很好的運用,具體如下:
(1)
其中,dI(x)表示在給定圖像I中像素x處的深度,參數θ=(u,v)是自像素點x的2個偏移向量,這里均除以dI(x)以保證深度不變性。這種特征在眾多文獻中得到使用與優化,如文獻[9-10]。
文獻[6]指出,因為深度圖像具有低光魯棒性、大尺度顏色和細節不變性以及可以解決邊界模糊等優點,所以將深度數據用于特征提取比起RGB圖像具有更高的效率。但是如Kinect這樣的體感設備往往不僅具有紅外設備,而且同時兼具獲取傳統RGB圖像的功能。受文獻[11]啟發,結合RGB圖像與深度圖像往往可以獲取場景更豐富的信息與更好的分類性能。經典RGB特征算子用于關鍵點匹配[12]。本文將這種觀念進行擴展,對于灰度RGB圖像,從中提取其邊緣比較特征(Edge Comparison Feature,ECF)。
文獻[13-14]中均指出,對于人體識別,觀察人體輪廓是一個非常重要的參考和線索。文獻[15]定義了輪廓的詳細解釋,輪廓不僅包含物體的外部邊界,而且包括內部邊緣信息,可以描述物體的空間結構。因此,將人體RGB圖像的輪廓信息與深度信息結合可以優化分類性能。
為了衡量兩幅邊緣圖像的匹配程度,文獻[16]引入了Chamfer匹配算法,Chamfer距離定義為:
(2)
其中,U={ui},V={vi}是邊緣圖像中的邊緣點集合,dCM即Chamfer距離為U中每一個ui到V中最近邊緣的距離之和的平均值,n=|U|。
同式(1)類似,結合式(2),引入ECF的量級特征:
(3)
(4)
式(4)用于表示位于圖像I中像素點x處與其邊緣圖像IE上一點x′的距離最小值,式(3)則表示在此像素點x處的2個偏移位置偏移的存在性。
當量級信息無法很好地區分人體部件,比如均為一個很小的值時,可以嘗試引入方向信息特征,后續的實驗證明這種組合可以減少噪聲影響,有效提高準確率。ECF的方向特征如下:
(5)
(6)
在式(6)中方向的定義可以有多種方式,本文采取的是x與x′連線與水平軸正方向的夾角值,因此式(5)中的“-”操作符也充分考慮了角的循環特性。
同式(1)中的深度偏移參數相同,本文定義ECF的量級與方向特征可以捕捉到圖像中特定位置的邊緣分布的微弱信號,可以通過強分類學習器學習到分類間隔參數。
利用有向無環圖(Directed Acyclic Graph,DAG)做決策的方法已經在眾多文獻中提到。有向無環圖是指,給定一個有向圖G(V,E),V={vi},若從G的任意一個頂點vi出發經過若干條邊ej,均無法回到該點,則該圖G被稱為有向無環圖。本文將一類特殊的DAG稱為決策DAG。決策DAG具有以下要求:1)只有一個入度為0的根結點;2)擁有多個入度≥1,出度為2的分裂結點;3)擁有多個入度≥1,出度為0的葉子結點。
由圖1可以看出,決策DAG可以得到優化的樹結構,把決策DAG看作一種有向樹。如果檢測到兩個分裂結點具有類似的分類概率密度分布,就可以把它們合并起來。當樹深較大時,決策DAG可以有效地減少內存消耗,從后續實驗看出,DAG還可以捕捉到訓練數據內在關聯的程度,提高模型的準確率。

圖1 決策樹與決策有向無環圖
同隨機森林類型類似,通過集成若干棵決策DAG,最終可以得到包含多棵DAG的整體模型J=(G1,G2,…,GT)。
設模型J中第i個決策DAGGi的輸出:
pt=i(y|v)
(7)
表示Gi輸出的標簽概率密度分布,這里y是分類標簽,v是輸入的樣本特征。
具有T棵決策DAG的集成模型J的輸出定義為:
(8)
由于在樣本選取與訓練特征篩選時同樣采取了隨機bagging的方式,因此可以有效避免模型出現過擬合。為了將這種整合模型與隨機森林相區別,文獻[7]將這種集成式DAG稱為決策叢林(Decision Jungle),為了體現該模型同樣通過隨機選取樣本與樣本特征的方式進行訓練的特性,本文將之稱為隨機叢林(Random Jungle)。
決策DAG訓練參數時采用逐層(level-wise)的方式,DAG圖結構與特征選擇、閾值訓練需要同時優化,這一點與決策樹分裂準則不盡相同。在每個DAG結點v處,需要優化4個參數:選擇特征dv,閾值θv,左孩子結點lv,右孩子結點rv。
假設s是某種合并方案,如s(D)=min(2D,128),這里D代表DAG的層數。則DAG分裂算法如下:
1.G←({root},?)
2.for D=1,2,… do
3.將s(D)個新結點加入G作為孩子結點
4.初始化上層父結點參數
5.優化上層父結點參數
6.end for
DAG的逐層參數優化如圖2所示。其中,pi是第i個父結點,cj是相對于p的第j個子結點。

圖2 決策DAG某層結構示意圖
本文首先給出信息熵的定義,再給出尋找父結點最優參數的目標函數E:
給定X?n×{1,2,…,C}為訓練樣本集,則信息熵H(X)定義為:
(9)
這里:
(10)
定義目標函數E:
(11)
這里:
Θi=(dpi,θpi,lpi,rpi)
(12)
是父結點pj的待優化參數,Spj、Sci分別是落入結點pj、ci的訓練樣本集合。
在式(11)中,Sci與Θ=(Θ1,Θ2,…,Θk)的關系由下式可以看出:
(13)
參考圖2,給出DAG分裂算法中步驟5的參數優化算法如下所示。
1.function Optimization(Θp1,Θp2,…,Θpk):
2. while Θpi發生變化 do
3. for i=1,2,…,k do
4.ζ←隨機特征選擇集合
5. (dpi,θpi)←argmind∈ζ,θ∈RE(…,Θpi-1,(d,p,lpi,rpi),Θpi+1,…)
6. end for
7.for i=1,2,…,k do
8. lpi←argminl=c1,c2,…,clE(…,Θpi-1,(dpi,θpi,l,rpi),Θpi+1,…)
9. rpi←argminr=c1,c2,…,clE(…,Θpi-1,(dpi,θpi,lpi,r),Θpi+1,…)
10. end for
11.end while
12.return Θp1,Θp2,…,Θpk
13.end function
上述參數優化算法是一種坐標梯度下降算法,在第1步中,算法依次遍歷每個父結點k并試圖找到最優分裂參數(dpi,θpi)最小化目標函數E,同時保持左右子結點指向以及其他父結點的分裂參數不變。在第2步中,算法重定向由父結點指向子結點的分支,以此最小化目標函數E。當該層參數不再發生變化時,算法終止,上層父結點參數優化完畢。
本文總樣本數為4 000個,取其中的20%作為測試樣本。橫向比較了隨機叢林與隨機森林在不同訓練樣本數、弱分類器個數下完成訓練所需的空間與時間消耗,也比較了單獨使用經典深度特征、RGB邊緣特征,以及兩者融合特征下分別使用隨機叢林和隨機森林模型進行分類的平均正確率。
訓練數據的制作基于CMU的MotionBuilder骨骼數據庫。圖像如圖3所示。

圖3 訓練樣本
圖4為輸入圖像與輸出圖像對比。訓練結果1為帶有經典深度梯度特征的隨機森林訓練結果,訓練結果2為深度特征與RGB邊緣特征融合的隨機森林訓練結果,訓練結果3為深度特征與RGB特征融合的隨機叢林訓練結果。通過對比可以發現,引入RGB特征可以較好地解決誤分類中集簇誤分類的情況,即不會在某個部件中心出現大規模誤分的情況,而使用隨機叢林模型可以提高每類的平均準確率。

圖4 輸入圖像與輸出圖像
本文的訓練采用8棵決策樹或決策DAG,偏移向量模值取水平和垂直方向上0~100的高斯采樣,決策DAG的合并策略為:
s(D)=min(128,2min(5,D)×1.2max(0,D-5))
為了比對實驗效果,分別使用500、1 000、2 000、4 000個訓練樣本進行訓練,測試了使用深度梯度特征和深度與RGB融合特征下算法迭代完畢所消耗的時間,結果如表1、表2所示。

表1 不同深度梯度特征下的訓練消耗時間比較 s

表2 不同深度梯度與RGB特征的訓練消耗時間比較 s
從表1與表2中可以看出,當訓練樣本較少時,隨機森林與隨機叢林模型消耗時間基本相同,隨著訓練樣本的增多,消耗時間開始出現明顯差異,具體原因是隨機叢林中非葉子結點數目開始大大減少,待優化的參數數目顯著降低。
本文選取訓練樣本的20%作為測試樣本,即使用100、200、400、800張深度圖像作為測試樣例,對以3.2節所述參數訓練完成的模型分別計算完成一幅圖像分類所消耗的平均時間,結果如表3、表4所示。

表3 不同深度梯度特征下的測試消耗時間比較 s

表4 不同深度梯度與RGB特征下訓練消耗時間比較 s
由表4可以看出,使用隨機叢林結合深度與RGB特征的方法每秒鐘可以處理15幀左右的圖像,基本可以滿足實時性的要求。
本文考察測試樣本的平均分類正確率,這里給出弱分類器數量分別為4和8的2種情況。在同一坐標系下分別比較了單深度特征下隨機森林(RFD)與隨機叢林模型(RJD)、單RGB邊緣特征下隨機森林(RFRGB)與隨機叢林模型(RJRGB)、深度特征與RGB特征融合下隨機森林(RFD+RGB)與隨機叢林模型(RJD+RGB)的測試分類正確率與訓練樣本數量的關系,如圖5所示。

圖5 測試樣本分類正確率比較
實驗結果表明,單獨的RGB邊緣特征幾乎無法作為分類主特征進行人體部件分類,但是與傳統深度特征的融合可以提高分類正確率。通過相同特征的橫向比較也可以發現,使用決策DAG作為弱分類器相比較傳統決策樹也可以提高整體模型的泛化性能。
本文在傳統深度梯度特征的基礎上,加入RGB邊緣特征,提出一種新的分類方法。由此帶來的特征維度相應變高,為了解決傳統隨機森林在處理高維特征時內存消耗的指數級增長,結合文獻[7,9]中提出決策DAG模型,目的在于降低內存成本消耗,從而降低時間復雜度。實驗結果表明,本文方法不僅可以減少算法的運行時間,而且可以提高模型的分類正確率。今后將提出改進的隨機叢林模型,使得分類耗時和準確率上能有進一步提高。
[1] DANTONE M,GALL J,LEISTNER C,et al.Human Pose Estimation Using Body Parts Dependent Joint Reg-ressors[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2013:3041-3048.
[2] GIRSHICK R,SHOTTON J,KOHLI P,et al.Efficient Regression of General-activity Human Poses from Depth Images[C]//Proceedings of International Conference on Computer Vision.Washington D.C.,USA:IEEE Press,2011:415-422.
[3] YE M,WANG X,YANG R,et al.Accurate 3D Pose Estimation from a Single Depth Image[C]//Proceedings of International Conference on Computer Vision.Washington D.C.,USA:IEEE Press,2011:731-738.
[4] 汪成峰,王 慶,梅樹立,等.基于插值小波關鍵幀提取的動作評價算法[J].計算機工程,2017,43(1):309-315.
[5] BREIMAN L.Random Forests[J].Machine Learning,2001,45(1):5-32.
[6] SHOTTON J,FITZGIBBON A,COOK M,et al.Real-time Human Pose Recognition in Parts from Single Depth Images[J].Communications of the ACM,2013,56(1):116-124.
[7] SHOTTON J,NOWOZIN S,SHARP T,et al.Decision Jungles:Compact and Rich Models for Classification[C]//Proceedings of International Conference on Neural Information Processing Systems.New York,USA:ACM Press,2013:234-242.
[8] LEPETIT V,LAGGER P,FUA P.Randomized Trees for Real-time Keypoint Recognition[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2005:775-781.
[9] 郭天楚,吳曉雨,楊 磊,等.基于改進的隨機森林的人體部件識別[J].中國傳媒大學學報(自然科學版),2014,21(5):32-38.
[10] 徐岳峰,周書仁,王 剛,等.基于深度圖像梯度特征的人體姿態估計[J].計算機工程,2015,41(12):200-205.
[11] JIU Mingyuan,WOLF C,BASKURT A.Integrating Spatial Layout of Object Parts into Classification Without Pairwise Terms——Application to Fast Body Parts Estimation from Depth Images[C]//Proceedings of International Joint Conference on Computer Vision,Imaging and Computer Graphics Theory and Applications.Berlin,Germany:Springer,2013.
[12] LEPETIT V,PILET J,FUA P.Point Matching as a Classification Problem for Fast and Robust Object Pose Estimation[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2004:244-250.
[13] WU Jianxin,GEYER C,REHG J M.Real-time Human Detection Using Contour Cues[C]//Proceedings of IEEE International Conference on Robotics & Automation.Washington D.C.,USA:IEEE Press,2011:860-867.
[14] ZHANG Huigang,WANG Junxiu,BAI Xiao,et al.Object Detection via Foreground Contour Feature Selection and Part-based Shape Model[C]//Proceedings of the 21st International Conference on Pattern Recognition.Washington D.C.,USA:IEEE Press,2012:2524-2527.
[15] SHOTTON J,BLAKE A,CIPOLLA R.Multiscale Categorical Object Recognition Using Contour Fragments[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2008,30(7):1270-81.
[16] BARROW H G,TENENBAUM J M,BOLLES R C,et al.Parametric Correspondence and Chamfer Matching:Two New Techniques for Image Matching[C]//Proceedings of the 5th International Joint Conference on Artificial Intelligence.New York,USA:ACM Press,1977:659-663.