鈐麗興,徐 丹
(1. 鄭州大學體育學院,河南 鄭州 450044;2. 鄭州大學,河南 鄭州 450000)
人體目標的捕捉技術已經廣泛應用在體育訓練、影視動漫、機器人運動和監(jiān)控系統(tǒng)等現(xiàn)實環(huán)境中[1]。為了對運動人體目標進行穩(wěn)定、準確、快速地跟蹤,實時地捕捉、辨別人體目標已成為當前人工智能等領域的重要研究課題之一。
文獻[2]提出一種多信息融合的人體目標跟蹤算法,該算法通過融合目標顏色和深度得出目標模型,將目標模型融合到Camshift跟蹤算法中,通過卡爾曼濾波對人體搜索目標進行預測,最后計算出人體目標的質心位置。實驗結果表明該方法能夠消除復雜環(huán)境中色度相似對目標的影響,但魯棒性相對較差。文獻[3]提出一種人體運動建模的實時逆運動學算法,基于人體骨骼長度改進循環(huán)坐標下降算法,進而引入生物分子運動模擬SHAKE,并提出多個節(jié)點同時運動的解析算法,從而獲得人體運動仿真效果。實驗結果表明該算法結果與視覺效果很接近,但準確性有待提高。文獻[4]提出一種視頻圖像中的快速人體運動目標跟蹤算法,采用YCbCr顏色模型對典型跟蹤算法進行改進,通過Kalman濾波器檢測人體目標,實現(xiàn)運動目標的位置預測。實驗結果表明該算法可以有效抑制人物背景和環(huán)境噪音對目標追蹤的影響,但準確性和跟蹤效果有待進一步提高。
針對現(xiàn)有的研究成果,本文根據監(jiān)測器監(jiān)測位置和范圍大小,預測運動人體目標狀態(tài),通過增加核函數(shù)的權重來改善目標狀態(tài)的穩(wěn)定性,結合前一幀圖像目標區(qū)域的中心位置與當前幀圖像目標的定位,在一定鄰域范圍內搜索目標,直到獲取目標的最優(yōu)位置則停止搜索,最終得到人體運動目標的準確位置。
為了實現(xiàn)對人體快速移動的跟蹤,降低目標跟蹤錯誤以及目標跟蹤丟失的概率。本文引入卡爾曼模型[5]對人體目標狀態(tài)進行預估,該方法能夠對每一幀的運動人體圖像序列在目標區(qū)域位置進行預測和修正,有效減小人體檢測范圍,大大提高監(jiān)測器的處理速度。即使在目標快速運動的情況下,也可以更精準的跟蹤。根據監(jiān)測器監(jiān)測位置和范圍大小,狀態(tài)預測方程用公式可表示為
X~(t+1|t)=AX~(t|t-1)
+ATt[Yt-EtX~(t|t-1)]
(1)
通過卡爾曼濾波器預測當前人體目標狀態(tài)的中心位置,并以這個位置為中心,構建比上一幀預測的目標邊界大4倍的區(qū)域作為目標出現(xiàn)區(qū)域。再通過監(jiān)測器監(jiān)測該幀預測的子窗口是否為追蹤目標,從而增加人體目標運動過快以及人體目標被遮擋時監(jiān)測器的監(jiān)測速度。圖1為監(jiān)測過程示意圖。
圖1 卡爾曼濾波器減小監(jiān)測范圍示意圖
圖中A區(qū)域表示由卡爾曼濾波器預估且結合上一幀預測出的目標出現(xiàn)區(qū)域,子窗口B和C與A區(qū)域有重疊部分,說明該范圍可以通過監(jiān)測器監(jiān)測出來,子窗口D與A區(qū)域沒有重疊部分,將被忽略不再由監(jiān)測器監(jiān)測。
為了降低背景中相似目標對預測目標的干擾,利用馬爾科夫模型對目標運動方向進行預估,增強運動人體目標的辨別能力。由于馬爾科夫模型預測具有時空一致性,因此可以通過上一時刻的目標運動方向預測當前時刻的目標運動狀態(tài)及位置。
結合人體目標各幀預測數(shù)據,假定馬爾科夫模型預測狀態(tài)與上一時刻目標運動狀態(tài)有關,那么在t時刻的目標轉移矩陣用公式可表示為
(2)
通過式(2)可以求解出t時刻目標運動方向的轉移矩陣與狀態(tài)量,進而可求解出t+1時刻的目標方向,用公式可表示為
(3)
其中,R(st=1)和R(st=0)表示t時刻人體目標方向向左或向右的概率;R(st+1=1)和R(st+1=0)表示人體預測目標在t+1時刻運動方向的概率。基于馬爾科夫模型,結合前一時刻運動人體目標位置預測當前運動人體目標運動趨勢,通過在下一時刻查找出在規(guī)定區(qū)域內所符合的馬爾科夫預測的目標方向。圖2為馬爾科夫對人體目標預測所標定的監(jiān)測區(qū)域。
圖2 目標運動方向預測與監(jiān)測區(qū)域示意圖
圖中A區(qū)域表示人體運動目標所處的上一時刻位置區(qū)域,由馬爾科夫模型可預測出這一時刻人體運動目標方向有向右的趨勢,圖中實豎線右側區(qū)域表示監(jiān)測器監(jiān)測的區(qū)域。
Mean Shift算法對人體目標追蹤的主要思想為:首先通過人體運動目標的監(jiān)測算法獲得需要跟蹤的初始化目標窗口。其次通過核函數(shù)加權算法計算目標窗口的像素空間分布,用同樣的方法選擇下一幀圖像的滑動窗口位置。再以模型相似性的大小程度為原則,利用相似性函數(shù)進行度量,得到人體目標的均值漂移量。最后對運動目標不斷迭代達到收斂點,從而實現(xiàn)目標的跟蹤[6]。
目標區(qū)域是指人體目標出現(xiàn)的區(qū)域,需要建立特征空間描述人體目標的特征,特征空間內包含圖像像素RGB顏色空間量化后的n個區(qū)域,以及n個區(qū)域對應的特征值。RGB顏色空間的總維數(shù)為n3個,圖像的目標區(qū)域為核函數(shù)的作用區(qū)域,用矩形表示,其大小為核函數(shù)的帶寬。核函數(shù)的各個方向具有同向性,是單調遞減的輪廓函數(shù),目標離中心點x0越遠,核函數(shù)的權重越小。假設目標區(qū)域中m個像素點的位置用{Xk}k=K表示,xk處像素對應的索引函數(shù)用A(xk)表示,特征空間的特征值用l表示。由于邊界像素點受到圖像背景和外界環(huán)境的影響,降低了靠近中心位置的像素點的可信度,因此通過增加核函數(shù)的權重增加目標像素的穩(wěn)定性。目標模型中特征值r的概率函數(shù)用公式可表示為
(4)
其中,d表示核函數(shù)帶寬;ψ表示克羅內克函數(shù);ψ[a(xk-r)]共同作用來判斷xk處像素與它在量化空間中對應值,若ψ[a(xk-r)]=1,表示xk處像素在量化空間中對應值屬于特征r;若ψ[a(xk-r)]=0,表示xk處像素在量化空間中對應值不屬于特征r;q={qr}r=1,2,3…,R表示目標核直方圖函數(shù),所有特征值概率和為1,用公式可表示為
(5)
式(4)中的標準化系數(shù)B用公式可表示為
(6)
候選區(qū)域是人體目標圖像可能包含的運動區(qū)域。同理,假設目標候選區(qū)域中圖像每一幀的中心位置用y0表示,核函數(shù)的輪廓函數(shù)用e(x)表示,核函數(shù)帶寬用d1表示。候選模型中特征值r的概率密度函數(shù)用公式可表示為
(7)
ρ={ρr}r=1,2,3…,R表示候選模型核直方圖函數(shù),歸一化常數(shù)G用公式表示為
(8)
由式(8),可以根據核函數(shù)以及帶寬計算出候選模型的歸一化常數(shù)。
本文選擇Bhattacharyya系數(shù)函數(shù)對當前幀人體目標模型與下一幀人體候選模型的相似度進行判斷。通過目標模型和候選模型的距離對相似程度進行判斷,兩個模型離散分布的距離用公式可表示為
(9)
(10)
當兩個單位向量之間的余弦夾角越小,表示運動人體目標模型與運動人體候選模型之間的距離越小,相似度越大。
為了定位當前幀圖像的人體目標位置,需要找到一個合適的位置y,使其滿足目標模型和候選模型之間的距離最小。采用Mean Shift矢量梯度信息定位目標位置,其主要思想為通過前一幀圖像目標區(qū)域的中心位置y0,確定當前幀圖像目標的定位,然后在一定鄰域范圍內搜索目標,直到目標模型與候選模型間的Bhattacharyya評估系數(shù)最大,表示取到了目標的最優(yōu)位置,此時停止搜索。因此,需要獲取當前幀圖像在中心位置y0處的特征分布概率,將中心位置y0處模型用泰勒公式展開,公式可表示為
(11)
結合式(7),可得
(12)
為了驗證所提出算法對人體目標追蹤效果的有效性與準確性,在MATLAB仿真軟件上進行實驗,選取Pascal Voc數(shù)據集作為人體目標實驗對象,與文獻[2]、文獻[3]、文獻[4]所提出的方法進行對比。
首先,通過中值濾波方法去除所提取的人體目標圖像的背景和噪音,通過融合時空多特征方法確定人體目標的不同區(qū)域。然后,利用圖像質心法對人體目標圖像進行處理,追蹤運動人體目標的位置。再次,計算出運動人體目標開始運動到停止運動的運動時間,完成人體目標跟蹤。最后,將文獻[2]、文獻[3]、文獻[4]和本文所提及的算法進行實驗跟蹤,通過仿真得到人體目標跟蹤的對比圖,并計算整個跟蹤過程所需要的時間,進行耗時對比分析。
利用本文的實驗步驟,在Pascal Voc數(shù)據集中中選擇的運動圖像,得到運動人體目標跟蹤的對比結果,如圖3所示。
圖3 運動人體目標跟蹤的對比結果
從圖中可以看出,文獻[2]所提出的方法可以準確追蹤到較大的運動人體目標,相對較小的人體目標追蹤效果不好;文獻[3]所提出的方法追蹤到了休息的老人,但是運動目標存在漏檢,檢測準確率不高;文獻[4]所提出的方法可以追蹤到較明顯的目標,對運動人體目標檢測存在誤差;而本文所提出的方法對運動人體目標的跟蹤準確率較高,除了圖中被遮擋的運動目標,其它的運動目標全部被跟蹤識別出來,且沒有發(fā)生誤檢。
跟蹤效率是指在跟蹤目標個數(shù)一致的情況下,目標跟蹤的時間越短,跟蹤效率越好,反之越差。為了驗證所提出方法的目標跟蹤效率,實驗設置跟蹤目標個數(shù)為200個,仿真得到不同方法的目標跟蹤時間如表1所示。
表1 跟蹤時間對比
從表中可以看出,跟蹤目標的個數(shù)越多,所需要的跟蹤時間越長。當目標個數(shù)達到200時,文獻[2]、文獻[3]和文獻[4]跟蹤運動人體目標所需要的平均時長分別為1.13s、1.16s、1.11s,均達到秒級;而本文跟蹤運動人體目標所需要的平均時長僅為0.71s,處于毫秒級。雖然隨著跟蹤目標個數(shù)的增多,本文算法的跟蹤時長有增加趨勢,但整體增長幅度較小,因此具有更高的目標跟蹤效率,實時性更好。
跟蹤查全率是指在跟蹤目標個數(shù)相同時,對其進行多次跟蹤測試,每次跟蹤的目標個數(shù)越多,跟蹤查全率越好,反之越差。為了驗證本文所提出方法的目標跟蹤查全率,對運動人體目標進行10次檢測實驗,得到不同方法的目標跟蹤查全率如圖4所示。
圖4 目標跟蹤查全率對比結果
從圖中可以看出,文獻[2]、文獻[3]和文獻[4]對運動人體目標的平均查全率分別為57.9%、73.9%、67.4%;而本文方法對運動人體目標的查全率平均值為92.6%,明顯高于對比方法。由于本文算法將圖像的像素點、像素點矢量和最大估計值等特征引入到目標聯(lián)合概率密度函數(shù)中,可以準確定位人體目標的運動區(qū)域,大大提高運動人體目標的查全率。
本文提出基于狀態(tài)預估Mesn Shift算法的運動人體目標追蹤方法。利用卡爾曼模型預測人體目標狀態(tài),對每一幀的運動人體圖像序列在目標區(qū)域位置進行預測和修正?;跔顟B(tài)預估Mean Shift算法對運動人體目標建立目標模型、候選模型和相似度模型,實現(xiàn)對運動人體目標的追蹤。最后在MATLAB仿真軟件上,選取Pascal Voc數(shù)據集作為人體目標實驗對象,驗證算法對運動人體目標追蹤性能。實驗結果表明,本文所提出的方法能夠準確追蹤到運動人體目標,而且目標跟蹤效率和目標跟蹤查全率較高,對運動人體目標的追蹤效果具有明顯改善。