人體姿態估計是當前計算機視覺領域的熱點研究問題。對人體骨架關節點進行準確提取并構建人體骨架模型,為進一步的人體姿態識別、實時交互游戲等應用提供了基礎。但是傳統的基于RGB圖像的方法容易受到光照、陰影、復雜背景的影響,準確度不高并且算法復雜。利用深度圖像技術可以有效地解決上述問題,利用深度信息可以快速地進行背景分割,抗干擾性能好,算法效率高。
本文主要研究基于深度圖像的人體關節定位算法。算法對深度圖像素點周圍區域的深度進行格點化采樣以提取其深度特征,再使用隨機森林分類器進行像素點分類,對同一類別的點使用Mean Shift算法聚類出中心點,以該中心點作為關節點位置。該算法可對人體全身關節點進行定位。
局域深度特征提取
本文中采用如圖1所示的局域深度采樣特征。其中藍色點表示圖像I中給定的像素x,以該像素為中心生成一個5*5的格點矩陣,紅色的格點表示要進行深度采樣的點。
圖1 局域深度采樣示意圖
隨機森林分類器
分類器是對樣本進行分類的算法的統稱,在機器學習中有許多種分類器可供我們選擇使用,包括邏輯回歸、樸素貝葉斯、支持向量機(SVM)、決策樹、隨機森林、神經網絡等算法。綜合考慮分類的精度與效率,本課題中采用的是隨機森林分類器。
隨機森林分類器是由多棵決策樹組合而成的分類器,如圖2所示。決策樹的結構類似二叉樹,由分裂結點和葉結點構成。每一個分裂結點包含一個特征與閾值,像素x從根部開始,根據特征與閾值劃分進入左子樹還是右子樹,這樣不斷地分裂直到葉結點。在每棵樹的葉結點能夠得到該像素對于各個身體部件的概率分布,將各棵樹得到的結果相加,得到最終的概率分布,擁有最高概率的一類作為最終的分類結果。
隨機森林將多棵決策樹合并在一起,準確度相較于單棵決策樹有較大提升,并且多棵決策樹可以并行訓練,提高了訓練效率。
圖2隨機森林分類器
訓練完隨機森林分類器后,我們利用其對像素點進行分類,判斷其屬于身體的哪個部位。對于圖像中的每個像素,使用分類器對其分類后得到分類的結果,以及預測結果的概率。我們只選取圖像中預測概率高于80%的點,這樣就能得到密度不同的分類點。越靠近關節點位置,預測概率越高,點的密度越大,遠離關節點位置的密度則小。
關節點位置估計
在得到像素點分類后,我們使用Mean Shift聚類算法得到屬于同一部位像素點的中心,作為關節位置。
Mean Shift算法一般為一個迭代過程,先計算感興趣區域內的偏移均值,移動區域中心到計算出的質心處,然后以此處作為新的起點,繼續移動。在迭代過程中,不斷向密度更大的地方偏移,直到移動到這類像素點密度最高的中心位置而停止。此時這個位置最能代表這一類點,我們將其作為該部位的關節點位置。分別對所有類別的點都運行一遍此算法后,我們就能得到全身關節點的位置。
但是由于分類結果并不一定準確,聚類出的結果可能與真實關節點的位置有所偏移,這時我們可以采用人體骨架長度比例約束條件,來矯正一部分偏移較大的關節點,對預測結果進行優化。
流程介紹
訓練流程:對一幅深度圖,取關節附近的點作為訓練集,對這些點提取深度特征,再訓練隨機森林分類器
圖3訓練流程示意圖
測試流程:深度圖背景分割得到人體區域圖像,使用隨機森林分類器對人體的像素點進行分類,選取預測概率大于設定閾值的點,則得到疏密不同的各關節部位像素點,越接近關節點位置,像素點越密,再使用Mean shift算法進行聚類,得到關節點位置
測試流程示意圖
運行效果
圖4為關節定位算法的運行效果,(a)為NTU數據集中關節點的標準位置;(b)是算法對同一張深度圖中關節點的定位結果;(c)為自制的Kinect測試集上的運行效果;(d)為采用公司研制的TOF相機模塊拍攝的深度圖的運行效果。可以直觀地看出定位效果較為良好。TOF相機的分辨率為320*240,因此相同距離下人體在畫面中所占比例更大。
(a) (b)
(c) (d)
圖4 算法運行效果示例
注:
(a)NTU測試集真值,25關節
(b)NTU測試集
(c)自制測試集
(d)TOF相機拍攝圖像
審核編輯 :李倩
-
算法
+關注
關注
23文章
4622瀏覽量
93077 -
機器學習
+關注
關注
66文章
8428瀏覽量
132811 -
深度圖像
+關注
關注
0文章
19瀏覽量
3515
原文標題:3D視覺在人體姿態估計算法的應用
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論