石祥濱,朱燕梅,代 欽,劉 芳
(沈陽航空航天大學(xué)計算機學(xué)院,沈陽110136)
在人體運動捕獲中,為了更加方便、準(zhǔn)確、高效的提取人體的姿態(tài),通常要在人體的關(guān)節(jié)上佩戴標(biāo)記,通過識別和跟蹤標(biāo)記提取人體的運動姿態(tài)。標(biāo)記跟蹤首先利用標(biāo)記的特征識別出標(biāo)記在圖像中的位置,然后記錄標(biāo)記在圖像序列中的運動軌跡。針對人體運動捕獲方法中的標(biāo)記的識別和跟蹤問題,近幾年來許多的學(xué)者做了相關(guān)的研究[1-8],并取得了一定的研究成果。其中,文獻[2]中,分別在人體的四肢上佩戴不同顏色的標(biāo)記,根據(jù)標(biāo)記的顏色特征識別標(biāo)記,然后參考標(biāo)記在空間中的運動速度實現(xiàn)標(biāo)記的跟蹤。文獻[3]中,在人體上佩戴光學(xué)標(biāo)記,用卡爾曼濾波方法跟蹤標(biāo)記,結(jié)合關(guān)節(jié)點之間的關(guān)系預(yù)測被遮擋的標(biāo)記的坐標(biāo)。文獻[4]中,表演者需要穿緊身衣,且緊身衣上貼有不同顏色的色塊標(biāo)記,通過識別色塊的顏色特征識別標(biāo)記位置,極限約束指導(dǎo)標(biāo)記的跟蹤。文獻[7]中,將具有可區(qū)分的顏色特征的標(biāo)記附在人體關(guān)節(jié)處,利用YCrCb顏色特征識別標(biāo)記,kalman指導(dǎo)跟蹤,跟蹤過程中操作者需要手動指導(dǎo)跟蹤,不能夠?qū)崿F(xiàn)系統(tǒng)的全自動,且手動標(biāo)注標(biāo)記的位置準(zhǔn)確度不高。上述方法均采用標(biāo)記的顏色或者亮度信息識別標(biāo)記,采用標(biāo)記的運動速度和方向特征跟蹤標(biāo)記。對簡單的人體運動都能夠很好的實現(xiàn)標(biāo)記的跟蹤,但當(dāng)標(biāo)記被身體其他部位遮擋,或者是多個標(biāo)記重合的時候,會出現(xiàn)跟蹤錯誤的現(xiàn)象。因此,在人體標(biāo)記跟蹤過程中,正確的解決標(biāo)記的遮擋一直是一個難題。
分析人體標(biāo)記容易出現(xiàn)遮擋且遮擋后不易預(yù)測的原因,總結(jié)如下:①人體動作的靈活性強,所能做出的姿態(tài)眾多,在運動過程中很容易出現(xiàn)遮擋的情況;②人體標(biāo)記特征相似,當(dāng)兩個或多個標(biāo)記出現(xiàn)重疊,然后分開時,容易跟蹤錯誤;③人體關(guān)節(jié)點的運動軌跡非線性,不能按照常規(guī)的處理線性運動的物體的方法處理該問題;④人體關(guān)節(jié)的運動速度不恒定,當(dāng)標(biāo)記出現(xiàn)遮擋時,很難利用簡單的速度或者加速度來處理人體標(biāo)記的跟蹤。
綜上所述,面對這些跟蹤難題,要實現(xiàn)對遮擋標(biāo)記完全正確的跟蹤是不現(xiàn)實的。不過,可以通過改善一些跟蹤方法或者適當(dāng)?shù)募尤胍恍┘s束來使得標(biāo)記的跟蹤與實際標(biāo)記的運動軌跡更加接近。國內(nèi)外的一些人體運動捕獲系統(tǒng)中處理標(biāo)記遮擋的方法多種多樣,比較常用的方法有以下幾種。
在文獻[2]中,Ukida H、Kaji S等人提出:在人體的眾多姿態(tài)中,顏色標(biāo)記容易被身體的其他部分遮擋,在這種情況下,人體標(biāo)記的位置就不能夠準(zhǔn)確的提取出來,提出使用前一時刻標(biāo)記的位置及其之前的標(biāo)記的位置來預(yù)測該時刻被遮擋的標(biāo)記的位置。在文獻[3]中,Aristidou A、Cameron J等人提出了一種實時的估計被遮擋的標(biāo)記點的位置的方法。該方法利用了前一時刻的標(biāo)記的位置信息,并假設(shè)人體的各個關(guān)節(jié)是剛體,標(biāo)記分布在人體的各個肢段上,肢段上標(biāo)記的相對距離是基本固定。因此,被遮擋標(biāo)記點的相鄰標(biāo)記點為該標(biāo)記點的預(yù)測提供了很多有效的信息,利用相鄰標(biāo)記和遮擋標(biāo)記的位置關(guān)系預(yù)測遮擋標(biāo)記位置。在文獻[4]中,羅忠祥、莊越挺等人在處理遮擋標(biāo)記時采用卡爾曼濾波的預(yù)測機制來預(yù)測標(biāo)記點的大概位置,將預(yù)測結(jié)果作為特征跟蹤的結(jié)果。在文獻[5]中,朱強、莊越挺等人結(jié)合人體解剖學(xué)中的各種約束和標(biāo)記的亮度信息來解決標(biāo)記點的遮擋問題。在文獻[6]中,Ofli F、Demir Y等人采用人工參與標(biāo)記點跟蹤的方法,當(dāng)標(biāo)記出現(xiàn)遮擋時,操作者將手動糾正標(biāo)記點的跟蹤。
上面所提到的幾種方法存在以下幾個問題:①手動參與標(biāo)記跟蹤,能夠正確的跟蹤標(biāo)記,但是系統(tǒng)的自動化程度低;②人體骨骼長度以及人體解剖學(xué)的約束是用在空間標(biāo)記點上的,在二維標(biāo)記點跟蹤上沒有相應(yīng)的約束;③簡單的采用標(biāo)記點的速度和方向信息來預(yù)測遮擋標(biāo)記點,預(yù)測的點沒有任何約束,無法保證跟蹤的正確率。
為了避免標(biāo)記跟蹤過程中的人工參與以及提高標(biāo)記跟蹤的正確率,本文通過分析人體運動的特征,統(tǒng)計出人體的一些在同一個區(qū)域,且沒有太大的相對運動的標(biāo)記點,可以通過跟蹤區(qū)域約束標(biāo)記的跟蹤。因為區(qū)域跟蹤[9-11]的優(yōu)點在于其含有的信息量比較大,當(dāng)標(biāo)記出現(xiàn)遮擋時,區(qū)域能夠提供更多的信息指導(dǎo)標(biāo)記的跟蹤,同時能夠保證區(qū)域內(nèi)的標(biāo)記一直在區(qū)域中。因此,本文提出了一種結(jié)合人體標(biāo)記跟蹤的方法,該方法充分結(jié)合了人體區(qū)域的特征,將人體劃分出三個區(qū)域,并結(jié)合區(qū)域的位置信息和提取的標(biāo)記點的位置信息實現(xiàn)對標(biāo)記的跟蹤。
本文采用的人體標(biāo)記為紅色的色塊,將紅色標(biāo)記纏繞在人體關(guān)節(jié)處,利用標(biāo)記的顏色特征來識別標(biāo)記的位置。結(jié)合初始化的人體姿態(tài)和提取的標(biāo)記中心點的坐標(biāo)完成人體結(jié)構(gòu)模型的初始化。采用棍狀人體模型,其中每根棍代表一個關(guān)節(jié),結(jié)點代表人體關(guān)節(jié)點,本文采用的棍狀模型中共有15個關(guān)節(jié)點,如圖1所示。
圖1 人體棍狀模型
通過觀察人體模型和人體的運動特征將人體劃分出三個區(qū)域:區(qū)域一(頭部)只有一個標(biāo)記,且頭部在人體的運動過程中相對獨立,容易識別;區(qū)域二和區(qū)域三中各含有三個標(biāo)記,這三個標(biāo)記在人體運動的過程中,相對運動較小,且整個區(qū)域面積較大,容易跟蹤。具體的劃分如圖2所示,三個區(qū)域占據(jù)了人體的大部分面積,包含了7個標(biāo)記。
圖2 區(qū)域劃分
統(tǒng)計出每一個標(biāo)記區(qū)域的X方向的最大值和最小值:Ximin,Ximax,Y方向的最小值和最大值:Yimin,Yimax,通過上面四個參數(shù),可以求出區(qū)域的高和寬 hx=Ximax- Ximin,hy=Yimax- Yimin,中心點(Xcore,Ycore)=((Xmax+Xmin)/2(Ymax+Ymin)/2)。
在區(qū)域跟蹤過程中,為了減少圖像中的背景對區(qū)域跟蹤的影響,通過簡單的背景減除法,去除視頻圖像中無關(guān)的背景,被保留下來的背景像素可以作為背景上下文信息指導(dǎo)區(qū)域的跟蹤,處理過程如圖3所示。
圖3 簡單背景減除
(1)區(qū)域模板在圖像中的搜索范圍的確定。本文主要解決的是人體彎腰程度不大的標(biāo)記點的遮擋問題,因此可以認為區(qū)域中心點從上到下的排列順序是不變的。在區(qū)域搜索時,根據(jù)各個區(qū)域的區(qū)域中心點來限定搜索范圍,具體的搜索范圍為:
1)區(qū)域一的中心點的縱坐標(biāo)(這里假設(shè)二維坐標(biāo)的原點在圖像的左下角,橫坐標(biāo)和縱坐標(biāo)軸的正方向分別是向上和向右)不會低于區(qū)域二的中心點縱坐標(biāo),區(qū)域二的坐標(biāo)可以用(Ti-1,2·Xcore,Ti-1,2·Ycore)來表示;
2)區(qū)域三的中心點的縱坐標(biāo)小于區(qū)域二的中心點的縱坐標(biāo);
3)區(qū)域二的中心點的縱坐標(biāo)小于區(qū)域一的中心點縱坐標(biāo),且大于區(qū)域三的中心點的縱坐標(biāo)。
區(qū)域一、區(qū)域二和區(qū)域三的橫向搜索范圍均可以大概設(shè)定,盡量比預(yù)測的范圍大,設(shè)置為對應(yīng)的區(qū)域?qū)挼膬杀丁?/p>
(2)在設(shè)定的搜索區(qū)域范圍內(nèi)按照迭代的方式進行搜索,模板T,搜索區(qū)域C,搜索的具體步驟為:
1)初始化模板搜索的步長為λ=3;
2)t-1時刻區(qū)域?qū)?yīng)的模板T,區(qū)域中心點(x0,y0),選取t時刻圖像的搜索區(qū)域中的五個子區(qū)域進行一一匹配。五個子區(qū)域的高、寬與模板T相同,區(qū)域的中心點分別為(x0,y0)(x0±λ,y0)(x0,y0±λ)。利用歸一化相關(guān)系數(shù)(Normalized Cross Correlation NCC)的方法評估模板和候選區(qū)域的匹配程度,如式(1)所示。
其中T為模板,Ci為候選區(qū)域,hx,hy分別為模板的寬和高。
3)選擇其中一個對應(yīng)NCC值最大的候選區(qū)域 Cmax,區(qū)域的中心點位置為(xmax,ymax),令(x,y)=(xmax,ymax)。
4)若(x,y)≠(x0,y0),則將(x0,y0)=(x,y),繼續(xù)執(zhí)行步驟(b);否則(x,y)=(x0,y0),如果λ≠0,λ=λ-1,繼續(xù)執(zhí)行步驟(b);如果λ=0,表明可能已經(jīng)找到了目標(biāo)區(qū)域,則對模板進行尺寸縮放和更新操作。
(3)模板的尺寸縮放。在目標(biāo)運動的過程中,同一個運動目標(biāo)在距離攝像頭近的情況下,目標(biāo)在圖像中占的比例大。相反,距離攝像頭遠,則目標(biāo)在圖像中所占的比例小。所以,在人體運動的圖像序列中考慮到同一區(qū)域在圖像中所占的面積不同,要對模板的尺寸做微小的調(diào)整。本文針對沒有其他物體遮擋的人體標(biāo)記的跟蹤,因此,不會出現(xiàn)區(qū)域完全被遮擋的情況,區(qū)域尺寸的變化是連續(xù)的。模板匹配的候選區(qū)域大小可作hx±2%,hy±2%的細微調(diào)整,同時將模板T的大小相對于候選區(qū)域做同樣的調(diào)整。計算出調(diào)整后的模板和候選區(qū)域的最大NCC,將該值和模板調(diào)整前的最大NCC比較,選擇具有最大NCC的模板大小作為該時刻模板的尺寸。
(4)模板更新。模板更新的目的是為了能夠讓模板適應(yīng)跟蹤區(qū)域表面變化的情況,模板Tt的更新不僅和相鄰時刻的模板Tt-1有關(guān),而且還和初始的模板T0有關(guān)。因此,隨著時間的變化區(qū)域模板也應(yīng)該做出相應(yīng)的更新,本文中區(qū)域模板的更新操作如公式(2)所示,其中α在我們的模擬過程中取0.9。
利用區(qū)域的位置和標(biāo)記點的位置關(guān)系約束標(biāo)記點的跟蹤,將標(biāo)記點的跟蹤分為四個部分:區(qū)域一中標(biāo)記點的跟蹤、區(qū)域二中標(biāo)記點的跟蹤、區(qū)域三中標(biāo)記點的跟蹤以及區(qū)域外的標(biāo)記點的跟蹤。具體的跟蹤步驟如下:
(1)區(qū)域的幀間位移求取。t-1時刻的跟蹤區(qū)域分別為:Tt-1,1、Tt-1,2、Tt-1,3,t時刻的跟蹤區(qū)域分別為:Tt,1、Tt,2、Tt,3。區(qū)域單位時間內(nèi)運動的位移即區(qū)域的中心點單位時間內(nèi)運動的位移,區(qū)域運動位移計算方法如公式(3)所示,其中,Si,x,Si,y分別表示相鄰兩幀圖像中跟蹤區(qū)域在x,y方向的位移長度。
(2)提取標(biāo)記的中心點,計算標(biāo)記在前一時刻的幀間位移。利用標(biāo)記的顏色特征提取標(biāo)記的中心點,t時刻提取的標(biāo)記中心點的坐標(biāo)為:{pt,1,pt,2,…,pt,n}(n 為提取的標(biāo)記點的個數(shù),排列無序)。t-1、t-2時刻跟蹤的標(biāo)記中心點的坐標(biāo)分別為:{pt-1,1,pt-1,2,…,pt-1,15}、{pt-2,1,pt-2,2,…,pt-2,15},標(biāo)記點的順序是按照模型中的關(guān)節(jié)序號排列的。標(biāo)記在前一時刻的幀間位移可以用式(4)表示。
(3)區(qū)域一中標(biāo)記點處理:
在實際的區(qū)域跟蹤過程中,區(qū)域跟蹤存在一定的誤差,為了能夠更加全面的找到區(qū)域內(nèi)的標(biāo)記點,根據(jù)本文的實驗,將三個區(qū)域內(nèi)標(biāo)記點的搜索范圍都設(shè)置為(hx×(1+10%),hy×(1+10%))。
1)區(qū)域內(nèi)有一個標(biāo)記點時,則該標(biāo)記點為頭部標(biāo)記點;
2)多個標(biāo)記點時,可以找到一個距離(pt-1,1·x+S1,x,pt-1,1·y+S1,y)點最近的區(qū)域內(nèi)的標(biāo)記點作為頭部標(biāo)記點;
3)區(qū)域內(nèi)無標(biāo)記點,則將點(pt-1,1·x+Si,x,pt-1,i·y+Si,y)作為標(biāo)記點。
(4)區(qū)域二和區(qū)域三模板含有的標(biāo)記數(shù)目相同,可以做同樣的處理。這兩個區(qū)域中標(biāo)記的跟蹤和頭部標(biāo)記跟蹤情況不同,頭部區(qū)域含有一個標(biāo)記,容易跟蹤,但在這兩個區(qū)域中,可以利用標(biāo)記之間的關(guān)系指導(dǎo)標(biāo)記跟蹤。跟蹤步驟為:
1)如果三個點都找到距離最近的點,且不超過一定閾值threshold=(hx+hy)/4(測試過程中,根據(jù)標(biāo)記的大小和區(qū)域的大小設(shè)置的),則t時刻的這三個標(biāo)記點為跟蹤的標(biāo)記點;
2)如果只有兩個點跟蹤正確,另外一個點(假設(shè)pt,1)出現(xiàn)了遮擋,則根據(jù)三點之間的關(guān)系估計出遮擋的點,計算公式如(5)所示:
c)如果只有其中一個點(假設(shè) pt,1)跟蹤正確,被遮擋的點的位置結(jié)合預(yù)測點的位置和已知點的位置求出,計算公式如(6)所示:
d)如果三個標(biāo)記點都沒有跟蹤上,則用預(yù)測點(pt-1,i·x+pst-1,i·x,pt-1,i·y+pst-1,i·y)代替。
(5)區(qū)域內(nèi)的點都選擇完畢之后,還剩八個關(guān)節(jié)標(biāo)記點沒有跟蹤。這八個點包括:手腕兩個、肘部兩個、腳踝兩個以及膝蓋處兩個。分析這幾個點運動比較簡單,利用距離最近原則進行跟蹤,若被遮擋,則采用預(yù)測點替代。
以上為標(biāo)記點跟蹤的步驟,利用標(biāo)記點的運動位置和人體三個區(qū)域運動位置的關(guān)系,實現(xiàn)區(qū)域跟蹤指導(dǎo)標(biāo)記點的跟蹤。當(dāng)出現(xiàn)標(biāo)記點重合或者遮擋時,本文針對標(biāo)記的不同的遮擋情況提出了相應(yīng)的預(yù)測方法來預(yù)測標(biāo)記點的位置,預(yù)測方法結(jié)合了三種特征來實現(xiàn)標(biāo)記的正確跟蹤:①人體區(qū)域的運動特征;②區(qū)域內(nèi)部的標(biāo)記點之間的關(guān)系特征;③標(biāo)記點在人體運動過程中的運動速度和方向特征。即,當(dāng)標(biāo)記出現(xiàn)遮擋或者重合時,預(yù)測出來的標(biāo)記點既要符合人體區(qū)域的特征,又要符合人體標(biāo)記之間的相對位置關(guān)系特征,同時還要符合標(biāo)記本身的運動特征。因此,本文提出的方法能夠保證標(biāo)記點在被遮擋或者標(biāo)記點重合的情況下,仍能預(yù)測出標(biāo)記點的位置,且沒有太大的偏移。
本文用的實驗視頻拍攝于實驗室,拍攝的攝像頭參數(shù)的幀率為25幀秒,圖像的分辨率為640×480。對外界的光照、背景等沒有任何要求。運動者身上佩戴有紅色塊狀標(biāo)記,要求身上不能出現(xiàn)與標(biāo)記相似的顏色。拍攝的一組含有1746幀的視頻中,含有人體的一些簡單的運動,其中包括簡單的移動,對標(biāo)記區(qū)域的遮擋等動作。下面是針對該視頻做的實驗:
圖4 模板跟蹤圖像
圖4是在視頻圖片序列中選取的四個動作,第一個人體動作中沒有出現(xiàn)區(qū)域或者標(biāo)記遮擋的問題,跟蹤完好;第二個人體動作中,運動者的左手放在了頭的前方,頭部區(qū)域受到了一定面積的遮擋,且手部標(biāo)記和頭部標(biāo)記出現(xiàn)了重疊,從圖中可以看出并沒有影響區(qū)域和標(biāo)記點的跟蹤;第三個人體動作中,人體的脖子、左肩和右肩的標(biāo)記聚在了一起,區(qū)域二和初始模板出現(xiàn)了很大的變化,但是并沒有影響區(qū)域和標(biāo)記點的跟蹤;第四個人體動作中,左手腕處的標(biāo)記和左胯處的標(biāo)記出現(xiàn)了部分重貼,左膝和右膝處的關(guān)節(jié)也出現(xiàn)了部分的重疊,仍然能保證區(qū)域和標(biāo)記點跟蹤的正確性。
圖5 區(qū)域的變化
圖5中,分別列出了區(qū)域一、區(qū)域二和區(qū)域三在視頻圖像序列中的變化情況。從上面的分析可以看出:雖然區(qū)域內(nèi)對應(yīng)的圖像一直在變化,但是區(qū)域還是能夠做到正確的跟蹤,且在運動的過程中,區(qū)域內(nèi)標(biāo)記的相對位置并沒有發(fā)生太大的改變,具有良好的穩(wěn)定性。
為了更好的說明本文提出的標(biāo)記點跟蹤算法的有效性,利用本文算法跟蹤的標(biāo)記點位置和手動提取的標(biāo)記點的位置做比較。在視頻中對目標(biāo)人體的左手標(biāo)記點和右手標(biāo)記點進行跟蹤比較,比較結(jié)果如圖6所示,其中橫坐標(biāo)為對應(yīng)的幀數(shù),縱坐標(biāo)為像素值。
圖6 標(biāo)記點跟蹤比較
統(tǒng)計右手和左踝的標(biāo)記點的自動跟蹤和手動 提取的位置的平均誤差如表1所示。
表1 各標(biāo)記點跟蹤誤差的標(biāo)準(zhǔn)方差
從圖6和表1得知,利用本文的跟蹤算法跟蹤的標(biāo)記點位置和手動提取的標(biāo)記點位置相比平均誤差很小,得知跟蹤的標(biāo)記點的位置符合標(biāo)記點的真實位置。因此本文提出的人體運動捕獲算法能夠比較準(zhǔn)確的跟蹤出人體關(guān)節(jié)標(biāo)記點。
針對人體標(biāo)記在運動過程中因為遮擋容易出現(xiàn)跟蹤錯誤的現(xiàn)象,本文提出了一種結(jié)合區(qū)域特征的人體標(biāo)記跟蹤方法,將人體劃分出三個區(qū)域,對區(qū)域進行跟蹤,跟蹤過程中,區(qū)域模板保持實時的更新,利用跟蹤的區(qū)域的位置和提取的標(biāo)記點的位置實現(xiàn)標(biāo)記的跟蹤。對一些人體彎腰程度不大的人體運動中出現(xiàn)的標(biāo)記遮擋或標(biāo)記重疊的問題,本文算法有著比較滿意的效果。但是對于人體出現(xiàn)嚴重遮擋的時候,跟蹤效果不是太好,下一步將加入更多的人體約束信息指導(dǎo)人體標(biāo)記的跟蹤。
[1]Canton-Ferrer C,Casas J R,Pardas M.Towards a low cost multi-camera marker based human motion capture system[C]//Image Processing(ICIP),2009 16th IEEE International Conference on.IEEE,2009:2581 -2584.
[2]Ukida H,Kaji S,Tanimoto Y,et al.Human motion capture system using color markers and silhouette[C]//Instrumentation and Measurement Technology Conference,2006.IMTC 2006.Proceedings of the IEEE.IEEE,2006:151 -156.
[3]Aristidou A,Cameron J,Lasenby J.Real-time estimation of missing markers in human motion capture[C]//Bioinformatics and Biomedical Engineering,2008.ICBBE 2008.The 2nd International Conference on.IEEE,2008:1343 -1346.
[4]羅忠祥,莊越挺,潘云鶴,等.基于視頻的運動捕獲[J].中國圖象圖形學(xué)報,2002,7(8):752 -758.
[5]朱強,莊越挺,潘云鶴.基于緊身衣的人體動畫研究A[J].軟件學(xué)報,2002,13(4).
[6]Aristidou A,Lasenby J.Real-time marker prediction and CoR estimation in optical motion capture[J].The Visual Computer,2013,29(1):7 -26.
[7]Ofli F,Demir Y,Yemez Y,et al.An audio-driven dancing avatar[J].Journal on Multimodal User Interfaces,2008,2(2):93 -103.
[8]晏劍云,鄭江濱.視頻三維運動捕獲系統(tǒng)中多運動目標(biāo)跟蹤方法[J].微電子學(xué)與計算機,2008,25(8):88-91.
[9]Poppe R.Vision-based human motion analysis:an overview[J].Computer Vision and Image Understanding,2007,108(1):4 -18.
[10]Sarwar S,Rao N I,Khan M F.Real-time object tracking using powell's direct set method for object localization and kalman filter for occlusion handling[C]//Digital Image Computing Techniques and Applications(DICTA),2012 International Conference on.IEEE,2012:1-7.
[11]Liu J,Carr P,Collins R T,et al.Tracking sports players with context-conditioned motion models[C]//Computer Vision and Pattern Recognition(CVPR),2013 IEEE Conference on.IEEE,2013:1830 -1837.