賈曉凌 張文安 楊旭升
(浙江工業(yè)大學信息工程學院 浙江省嵌入式系統(tǒng)聯(lián)合重點實驗室 杭州310023)
近年來,在人機協(xié)作、體育競技、體感娛樂以及醫(yī)療康復等領域,人體姿態(tài)估計扮演著越來越重要的角色[1-3]。特別地,隨著3D 視覺和人工智能等技術(shù)的發(fā)展,3D 人體姿態(tài)估計的研究引起了國內(nèi)外學者的廣泛關(guān)注[4-5]。
在視覺人體姿態(tài)估計領域,較為成熟的方法主要有兩種,一是利用多相機系統(tǒng)捕捉可穿戴式的反光標記點以實現(xiàn)3D 人體姿態(tài)信息的捕捉,如Opti-Track、Vicon 等人體姿態(tài)捕捉系統(tǒng)。該方法利用標記點避免了復雜的人體關(guān)節(jié)點的識別,具有較高的人體姿態(tài)估計的精度,但其對人工標記點的依賴,使得該方法的使用范圍受限[6-7]。二是利用深度傳感器信息實現(xiàn)3D 人體姿態(tài)估計。常用的深度傳感器有Microsoft 的Kinect 系列、ASUS 的Xtion 系列等傳感器。憑借這類傳感器獲取深度圖像的優(yōu)勢,結(jié)合隨機森林等方法便捷地實現(xiàn)人體關(guān)節(jié)點的識別,繼而獲得3D 人體姿態(tài)的估計[8-9]。
文獻[10]提出采用隨機森林方法(random forest method,RFM)來實現(xiàn)在單個深度圖像中的人體姿態(tài)估計,并由此衍生出一系列在深度圖像中人體姿態(tài)估計方法的研究,如近幾年提出的Hough forests[11]、Random ferns[12]、Random tree walks[13]等系列方法。盡管這類方法已將深度圖像領域中的人體姿態(tài)估計做到了很高的水準,但難以克服視覺遮擋帶來的估計精度下降的問題。為了處理視覺遮擋問題,文獻[14]提出了一種基于單深度圖像的視點不變模型,能夠做到在自遮擋情況下選擇性地預測部分人體姿態(tài)。文獻[15]提出了一個語義遮擋模型,并結(jié)合回歸森林方法可做到人體被物體部分遮擋時的姿態(tài)估計。此外,還可利用多深度傳感器建立人體姿態(tài)的感知系統(tǒng)來應對由于視角問題造成的遮擋[16-17]。然而,深度視覺存在紅外線(infrared radiation,IR)相互干擾、數(shù)據(jù)不連續(xù)等問題[18],這使得多深度傳感器系統(tǒng)不僅需要考慮高計算復雜度,還需充分考慮傳感器間干擾問題。另一方面,卡爾曼濾波方法是一種有效的去噪方法[19],其不僅在目標跟蹤領域[20-21]應用廣泛,在人體姿態(tài)估計領域也發(fā)揮重要的作用。例如,文獻[22]利用線性卡爾曼濾波器提高了人體姿態(tài)估計的準確性,文獻[23]在卡爾曼濾波的框架下融合來自多Kinect 傳感器的人體骨骼位置信息以處理視覺自遮擋問題。然而,實際上采集到的人體姿態(tài)信息中包含的噪聲并非滿足高斯特性,即所采集到的人體姿態(tài)信息中往往會存在多種不確定的噪聲,這些噪聲的特性往往難以精確描述。
本文針對深度圖像中3D 人體姿態(tài)估計的視覺遮擋問題,提出了一種帶有魯棒卡爾曼濾波(robust Kalman filter,RKF)的人體姿態(tài)估計方法。本文主要貢獻如下:在深度圖像中,通過隨機森林方法得到的人體姿態(tài)信息中夾雜著遮擋造成的復雜噪聲,所提出的魯棒卡爾曼濾波利用假設檢驗的方法對包含的噪聲進行識別和分類處理,提高了人體姿態(tài)估計的精度和魯棒性。
考慮一類基于3D 視覺傳感器的人體姿態(tài)估計系統(tǒng)。其中,3D 視覺傳感器為RGB-D 相機,可采集人體目標的深度信息。通常可將人體目標視為由頭、軀干、臂、手、腿、足等部件相互連接構(gòu)成的多剛體系統(tǒng),人體各關(guān)節(jié)點如圖1 所示。這樣,人體姿態(tài)估計問題可看作為人體各關(guān)節(jié)點位置估計問題,并利用隨機森林方法從深度圖像中識別出人體各部件,進而計算出人體各關(guān)節(jié)點在相機坐標系下的3D位置。這種深度信息結(jié)合隨機森林方法得到的人體姿態(tài)估計雖然能夠克服光照的影響,但仍難以避免由視覺遮擋引起的誤識別問題。特別地,這使得所采集到的人體姿態(tài)信息中包含的噪聲并非滿足高斯特性,即所采集到的人體姿態(tài)信息中往往會存在多種不確定性噪聲。
圖1 人體各關(guān)節(jié)點示意圖
以人機協(xié)作中的應用分析為例,人與機器人處于同一工作空間并同時進行工作,因此精準魯棒的人體姿態(tài)估計是保障人身安全及機器人正常工作的重要前提。然而,僅依賴隨機森林方法往往難以避免視覺遮擋引起的誤識別問題。如圖2 所示,自遮擋或手持物遮擋的存在,都將導致人體重要關(guān)節(jié)點的誤識別。特別地,如圖2(c)所示,人體關(guān)節(jié)點的誤識別可造成人體姿態(tài)量測上的野值問題。如圖3所示,從采集到的人體腕關(guān)節(jié)點數(shù)據(jù)中不難發(fā)現(xiàn),視覺遮擋可造成腕關(guān)節(jié)運動軌跡的鋸齒狀,即人體姿態(tài)的量測噪聲統(tǒng)計特性發(fā)生了變化。為克服視覺遮擋等引起人體關(guān)節(jié)點的誤識別,本文設計了帶有魯棒卡爾曼濾波的人體姿態(tài)估計方法來提高人體姿態(tài)估計的精度和魯棒性。
圖2 視覺人體關(guān)節(jié)點識別圖
圖3 存在視覺遮擋情形下的腕關(guān)節(jié)點運動軌跡
考慮到視覺遮擋將導致人體姿態(tài)量測信息中存在多種不確定的噪聲,對人體姿態(tài)的量測模型建模如下:
人體各關(guān)節(jié)點的運動學模型描述如式(2)所示:
其中,
考慮到視覺自遮擋或遮擋造成的人體部件誤識別問題,設計了一種魯棒卡爾曼濾波器用以提高人體姿態(tài)估計系統(tǒng)對視覺遮擋的魯棒性,該方法采用假設檢驗的方式引入自適應因子,可有效提高系統(tǒng)的估計精度和魯棒性。
根據(jù)系統(tǒng)量測模型,當αk=0 且βk≠0 時,則量測模型描述為
根據(jù)系統(tǒng)模型式(2)和式(5),人體各關(guān)節(jié)點的卡爾曼濾波可描述為
則有:
將式(26)和式(27)整合代入式(25)中,可得到:
即:
則有:
證畢。
基于魯棒卡爾曼濾波的人體姿態(tài)估計算法描述及其流程圖分別如算法1 和圖4 所示。
圖4 基于RKF 的人體姿態(tài)估計算法流程圖
算法1基于魯棒卡爾曼濾波的人體姿態(tài)估計算法。
(3) 讀取3D 視覺傳感器下的深度圖像,并基于隨機森林方法計算得到
(6) if
(7) 跳到式(13)繼續(xù)執(zhí)行;
(11) else 計算式(16)和式(17);
(12) end if;
在本節(jié)中,將分別從人體姿態(tài)估計的仿真和實驗兩方面來驗證所提方法的有效性。
在仿真中,以人體右臂腕關(guān)節(jié)點為例進行分析,其在相機坐標系下做勻速運動。設定采樣周期為Δt=1 s,過程噪聲協(xié)方差為Qk=diag{0.04 cm2,0.025(cm/s)2,0.04 cm2,0.03(cm/s)2,0.04 cm2,0.028(cm/s)2},不確定性噪聲設為零均值且協(xié)方差為diag{2.25 cm2,2.52 cm2,2.35 cm2} 的高斯白噪聲,其出現(xiàn)概率為Pr(α=1)=0.1;野值設為幅值大小為30 cm 的噪聲,即a=30 cm,其出現(xiàn)概率為Pr(β=1)=0.05。獲取人體的右臂腕關(guān)節(jié)點初始化狀態(tài)及其協(xié)方差,x0|0=[50.00 cm,5.00 cm/s,0.00 cm,25.00 cm/s,150 cm,20.00 cm/s]
為了更好地體現(xiàn)所提方法的有效性,定義估計誤差衡量標準為均方根誤差(root mean square error,RMSE):
其中,h=1,2,…,n為仿真實驗的序號,n為蒙特卡羅仿真次數(shù),為k時刻的狀態(tài)估計值,為k時刻的狀態(tài)真實值。
分別在量測(Meas)、卡爾曼濾波器(KF)、魯棒卡爾曼濾波器(RKF)下做200 次蒙特卡羅仿真,仿真的對比結(jié)果如圖4~圖6 所示。從中可看出,相比于Meas 和KF,基于RKF 方法下得到的RMSE 更小,表明該方法具有更好的估計精度。進一步,表1 中給出了3 種方法下的RMSE 均值對比,其中ex、ey、ez分別為在X、Y和Z軸上的位置估計RMSE 均值。
表1 仿真中各方法下的位置估計誤差均值
圖5 X 軸方向上不同方法下的RMSE 對比
圖6 Y 軸方向上不同方法下的RMSE 對比
如圖7 所示,人體姿態(tài)估計實驗平臺由一臺微軟公司的Kinect V2 視覺傳感器、一臺工控機和一位人體姿態(tài)估計對象組成。Kinect V2 視覺傳感器包括彩色攝像頭和深度攝像頭,采集到的彩色圖像分辨率為1920×1080,深度圖像分辨率為512 ×424,拍攝速度為30 fps。在工控機上,編寫了一個基于Visual Studio 2013 集成Qt 5.7 的開發(fā)環(huán)境,利用隨機森林方法得到在深度相機空間下人體骨骼關(guān)節(jié)點的空間位置信息。同時,將深度相機空間下的人體骨骼關(guān)節(jié)點投影到彩色圖像中,并利用計算機視覺庫OpenCV 對人體骨架進行繪制以及彩色圖像顯示。
圖7 Z 軸方向上不同方法下的RMSE 對比
實驗場景設置如下:實驗環(huán)境位于室內(nèi),人體位于Kinect V2 正前方1.5 m 左右的位置進行運動,用Kinect V2 來完成對人體關(guān)節(jié)點的捕捉。這里需要補充說明的是,人體關(guān)節(jié)點對應的實際人體位置并不明確,即人體關(guān)節(jié)點的物理意義是不明確的。故以高精度定位系統(tǒng)OptiTrack(精度0.5 mm)來獲取人體關(guān)節(jié)點的真實軌跡,如圖8 所示。該定位系統(tǒng)由8 個Prime 13 相機組成,能夠?qū)崟r捕捉運動目標的位姿,以追蹤到的光學標記點的位置視為真值,即視為真實人體關(guān)節(jié)點位置進行對比。
圖8 人體姿態(tài)估計系統(tǒng)
在本實驗中,在隨機森林方法識別并獲取到人體關(guān)節(jié)點位置信息的基礎上分別采用KF 和RKF,捕捉對象為人體右臂,其包括肩關(guān)節(jié)、肘關(guān)節(jié)和腕關(guān)節(jié)。以人體右臂腕關(guān)節(jié)點分析為例,圖9~圖11 分別為其在運動過程中的X、Y和Z坐標信息在不同方法處理下的累積誤差分析圖。進一步,表2 所示為腕關(guān)節(jié)點以及肘關(guān)節(jié)點的具體誤差均值,從中可看出,RKF 方法下得到的誤差更低。由此說明RKF 方法能有效提高人體姿態(tài)估計的精度和魯棒性。另外,從3 組關(guān)節(jié)點誤差均值的整體對比中,可看出腕關(guān)節(jié)點的誤差相對更大,肩關(guān)節(jié)點的誤差相對更小,表明機動性更強的關(guān)節(jié)點存在的誤差也更大。
圖9 OptiTrack 定位系統(tǒng)
圖10 X 軸方向上不同方法的累積誤差對比
圖11 Y 軸方向上不同方法的累積誤差對比
圖12 X 軸方向上不同方法的累積誤差對比
表2 實驗中各方法下的累積誤差均值
為了處理人體姿態(tài)估計中的視覺遮擋問題,提出了一種帶有魯棒卡爾曼濾波的人體姿態(tài)估計方法。首先,采用隨機森林方法從深度圖像中識別出并得出人體各關(guān)節(jié)點在相機坐標系下的3D 位置;其次,考慮到視覺自遮擋或遮擋造成的人體部件誤識別,設計了一種魯棒的卡爾曼濾波器用以提高人體姿態(tài)估計對視覺遮擋的魯棒性。最后,仿真結(jié)果和實驗結(jié)果表明,所提方法能夠有效提高人體姿態(tài)估計的精度和魯棒性。
本文在室內(nèi)環(huán)境下進行自遮擋情形實驗,從結(jié)果可看出所提方法的有效性,然而復雜環(huán)境下對遮擋的應對要求更高,在后續(xù)的研究中將測試復雜環(huán)境下(如障礙物遮擋)該方法的魯棒性。此外將在所獲得人體姿態(tài)數(shù)據(jù)的基礎上進行一些人機協(xié)作實驗,以驗證在實際應用中所提方法的有效性與實時性。