王建華, 王春平, 梁 偉, 王惠萍
(1.白求恩軍醫(yī)學(xué)院計(jì)算機(jī)教研室,石家莊 050081; 2.軍械工程學(xué)院光學(xué)與電子工程系,石家莊 050003)
隨著計(jì)算機(jī)視覺的快速發(fā)展,目標(biāo)跟蹤已成為視覺領(lǐng)域的一個(gè)重要研究方向,廣泛應(yīng)用于視頻監(jiān)控、人工智能、運(yùn)動(dòng)分析等領(lǐng)域[1]。其中的一類算法是基于目標(biāo)表達(dá)和定位的方法,Mean Shift則屬于這類算法中比較成功的算法之一,它是一種基于最優(yōu)梯度下降的方法,通過迭代來尋找目標(biāo),從而實(shí)現(xiàn)對(duì)目標(biāo)的跟蹤。自從1995年被Yizong Cheng[2]引入到計(jì)算機(jī)視頻,就由于具有計(jì)算量小、跟蹤效果好、實(shí)時(shí)性強(qiáng)等特點(diǎn),被廣泛應(yīng)用于目標(biāo)跟蹤的各個(gè)領(lǐng)域。但傳統(tǒng)的Mean Shift算法存在以下缺點(diǎn):1)背景像素的參與容易帶來定位偏差;2)缺乏相應(yīng)的動(dòng)態(tài)分析方法;3)對(duì)于目標(biāo)的剛性形變和嚴(yán)重遮擋比較敏感。為了解決這些問題,許多專家和學(xué)者給出過不盡相同的改進(jìn)方法,例如:文獻(xiàn)[3]將 SIFT(Scale Invariant Feature Transform)與Mean Shift結(jié)合;文獻(xiàn)[4]用聯(lián)合顏色紋理直方圖表示目標(biāo)特征計(jì)算目標(biāo)模型;文獻(xiàn)[5]通過自適應(yīng)調(diào)整核函數(shù)寬度實(shí)現(xiàn)對(duì)大小變化的目標(biāo)跟蹤;文獻(xiàn)[6]利用分塊的方法實(shí)現(xiàn)目標(biāo)在遮擋情況下的跟蹤;文獻(xiàn)[7]中將粒子濾波與Mean Shift相結(jié)合的算法。綜合考慮以上算法的優(yōu)缺點(diǎn),針對(duì)Mean Shift算法在目標(biāo)快速運(yùn)動(dòng)且目標(biāo)大小變化較大、存在嚴(yán)重遮擋情況下容易丟失目標(biāo)的問題,本文提出兩方面的改進(jìn)措施:1)將跟蹤窗口內(nèi)的區(qū)域區(qū)分為目標(biāo)和背景兩部分,通過減少背景像素在概率密度函數(shù)(PDF)中的權(quán)重來對(duì)背景進(jìn)行優(yōu)化,以降低背景對(duì)目標(biāo)跟蹤的影響,提高定位精度;2)采用分塊的方法對(duì)跟蹤狀態(tài)進(jìn)行動(dòng)態(tài)分析,根據(jù)目標(biāo)的大小變化,更新跟蹤窗口大小及模板,實(shí)時(shí)判斷遮擋狀態(tài),根據(jù)遮擋位置和目標(biāo)實(shí)際大小的不同,動(dòng)態(tài)計(jì)算目標(biāo)的位置,當(dāng)存在嚴(yán)重遮擋時(shí),采用最小二乘法進(jìn)行二維線性預(yù)測(cè),解決目標(biāo)在短時(shí)間內(nèi)被完全遮擋的跟蹤問題。對(duì)上述改進(jìn)方法進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果驗(yàn)證了該方法對(duì)于復(fù)雜條件下的目標(biāo)跟蹤的穩(wěn)健性。
Mean Shift算法[8]是一種基于密度估計(jì)的非參數(shù)匹配算法,利用目標(biāo)區(qū)域的顏色概率直方圖分布建立目標(biāo)模型,根據(jù)均值平移向量,在臨近區(qū)域內(nèi)自動(dòng)搜索匹配度最高的區(qū)域,作為新的目標(biāo)位置,該算法不需要進(jìn)行窮盡搜索,實(shí)時(shí)性強(qiáng),在基于圖像處理的目標(biāo)跟蹤中得到廣泛應(yīng)用。其實(shí)現(xiàn)過程如下所述。
1)在初始幀中,利用手動(dòng)或自動(dòng)檢測(cè)算法檢測(cè)到目標(biāo)所在區(qū)域,利用顏色概率直方圖分布建立初始目標(biāo)模型。設(shè)目標(biāo)中心為y0,像素位置為,其中n為目標(biāo)所包含的像素點(diǎn)的個(gè)數(shù),該目標(biāo)區(qū)域的像素灰度級(jí)范圍為[0,H-1]。則可得到目標(biāo)區(qū)域的統(tǒng)計(jì)直方圖分布模型為
2)在當(dāng)前幀的y0點(diǎn)位置,像素位置為{xi},i=1,…,nh,統(tǒng)計(jì)候選目標(biāo)的直方圖分布
3)用Bhattacharyya系數(shù)計(jì)算候選目標(biāo)與初始目標(biāo)模型的相似度。
4)計(jì)算跟蹤窗內(nèi)像素的權(quán)重。
5)根據(jù)均值平移向量,搜索新的目標(biāo)位置。
同時(shí)計(jì)算Bhattacharyya系數(shù)為
6)比較Bhattacharyya系數(shù),更新候選目標(biāo)位置,如果,則
7)判斷是否達(dá)到最優(yōu),如果‖y1-y0‖<ξ,停止迭代;否則置y0=y1跳轉(zhuǎn)到第2)步。
從Mean Shift算法中,可以看出跟蹤窗內(nèi)所有像素(目標(biāo)和背景)均參與直方圖分布的統(tǒng)計(jì)對(duì)目標(biāo)進(jìn)行建模,當(dāng)跟蹤窗內(nèi)包括的背景像素比較少時(shí),Mean Shift算法能穩(wěn)定跟蹤目標(biāo),但當(dāng)跟蹤窗內(nèi)的背景像素比較多或背景變化比較明顯時(shí),就會(huì)產(chǎn)生定位偏差,甚至丟失目標(biāo)。因此,減少或消除背景像素的影響對(duì)于提高目標(biāo)跟蹤的定位精度是非常必要的。
本文將跟蹤窗內(nèi)的目標(biāo)和背景分為兩部分,通過減少背景像素在概率密度函數(shù)中的權(quán)重來對(duì)背景進(jìn)行優(yōu)化,以降低背景對(duì)目標(biāo)跟蹤的影響,提高定位精度。設(shè)跟蹤窗內(nèi)像素xi灰度為h的像素的權(quán)重為λh,則
類似地,將目標(biāo)模型進(jìn)行如上改進(jìn)。
采用最大類間法對(duì)跟蹤窗口內(nèi)的像素進(jìn)行閾值分割,以將目標(biāo)和背景區(qū)分開來,對(duì)于目標(biāo)或背景內(nèi)出現(xiàn)的空洞,采用數(shù)學(xué)形態(tài)學(xué)的方法予以消除。這里需要指出的是,為了保證建立目標(biāo)模型數(shù)據(jù)的原始性,避免引入二次誤差,該二值圖像僅用來判斷參與建立模型的像素是否屬于目標(biāo),建立目標(biāo)模型時(shí)用到的圖像數(shù)據(jù)仍然是跟蹤窗口內(nèi)的原始圖像數(shù)據(jù)。
由于Mean Shift算法以候選目標(biāo)和目標(biāo)模型的模板相似度最大化為判斷準(zhǔn)則,所以模板對(duì)于跟蹤的穩(wěn)定性起著至關(guān)重要的作用。但在實(shí)際圖像跟蹤中,一成不變的目標(biāo)是非常少見的,大多數(shù)情況下,都會(huì)由于目標(biāo)運(yùn)動(dòng)狀態(tài)、背景變化或其他物體遮擋等因素的影響,目標(biāo)在圖像中的運(yùn)動(dòng)形態(tài)會(huì)發(fā)生很大變化,因此為了提高該算法的跟蹤魯棒性和穩(wěn)定性,需要對(duì)跟蹤狀態(tài)進(jìn)行實(shí)時(shí)分析,根據(jù)跟蹤狀態(tài)的不同,及時(shí)調(diào)整跟蹤策略,以滿足復(fù)雜情況下運(yùn)動(dòng)目標(biāo)跟蹤的需要。
本文采用的動(dòng)態(tài)分析方法基于分塊的思想[9],動(dòng)態(tài)計(jì)算每個(gè)子塊相對(duì)于目標(biāo)中心位置的位置偏差,根據(jù)目標(biāo)與模板的相似性系數(shù),判斷是否有遮擋發(fā)生,如果存在遮擋,則根據(jù)遮擋的位置,自動(dòng)根據(jù)其他子塊相對(duì)于目標(biāo)中心的位置偏差對(duì)目標(biāo)位置進(jìn)行定位。子塊數(shù)量選擇的基本原則是:數(shù)量過多影響算法的實(shí)時(shí)性,數(shù)量過少抗遮擋能力差。為了提高抗干擾能力,又要保證算法的實(shí)時(shí)性,這里以中心對(duì)稱的方式將目標(biāo)模板分為4塊,圖1為分割示意圖。
圖1 分塊示意圖Fig.1 Fragments of object region
其中,Δyave-b,Δyave-a分別為跟蹤窗口調(diào)整前后位置偏差平均值。當(dāng)有遮擋情況發(fā)生時(shí),不更新目標(biāo)模板及跟蹤窗口,待目標(biāo)脫離遮擋后,再進(jìn)行更新操作。
為了提高M(jìn)ean Shift算法的跟蹤精度和抗遮擋能力,將背景優(yōu)化方法和跟蹤狀態(tài)的動(dòng)態(tài)分析方法統(tǒng)一到一個(gè)跟蹤框架結(jié)構(gòu)中,具體算法流程如下所述。
1)初始化跟蹤目標(biāo)(本文采用手動(dòng)的方法選定目標(biāo)),將目標(biāo)模板按圖1所示進(jìn)行分塊。對(duì)模板進(jìn)行閾值分割,區(qū)分目標(biāo)和背景,根據(jù)式(7)針對(duì)原始圖像數(shù)據(jù)統(tǒng)計(jì)目標(biāo)模型的直方圖分布。
2)讀取新一幀圖像,確定模板的坐標(biāo)位置。
①對(duì)跟蹤窗口內(nèi)的像素進(jìn)行閾值分割,以區(qū)分目標(biāo)和背景;
②利用式(8)統(tǒng)計(jì)候選目標(biāo)的直方圖分布;
③利用傳統(tǒng)Mean Shift算法的3)~7)步計(jì)算目標(biāo)位置,并記錄最終的目標(biāo)相似度ρ;
④ 若 ρ≥ρth(ρth為預(yù)先設(shè)定的遮擋閾值),說明目標(biāo)沒有被遮擋,記錄目標(biāo)的位置信息并根據(jù)跟蹤窗口及分塊的基本方法,計(jì)算每個(gè)子塊相對(duì)于目標(biāo)坐標(biāo)的位置偏差,讀取下一幀圖像,返回步驟①;若ρ<ρth,執(zhí)行步驟⑤;
本實(shí)驗(yàn)采取的圖像序列是在室外獲取的人由遠(yuǎn)及近且存在遮擋的視頻。圖2給出了跟蹤效果圖。
圖2 跟蹤實(shí)例Fig.2 Example of tracking
圖中,黑色矩形是傳統(tǒng)Mean Shift算法的跟蹤結(jié)果;白色矩形區(qū)域是經(jīng)過背景優(yōu)化和動(dòng)態(tài)分析后的目標(biāo)跟蹤結(jié)果。其中,第1幀中黑色矩形區(qū)域?yàn)槭謩?dòng)的方法選取的目標(biāo)位置;在第88幀中,我們發(fā)現(xiàn)用傳統(tǒng)的Mean Shift算法雖然能跟上目標(biāo),但由于它沒有根據(jù)目標(biāo)的大小變化及時(shí)更新核窗的大小,使得跟蹤位置出現(xiàn)偏差,而改進(jìn)算法加入了背景優(yōu)化及動(dòng)態(tài)分析策略,算法自動(dòng)根據(jù)目標(biāo)大小變化調(diào)整跟蹤窗口,目標(biāo)跟蹤定位較為準(zhǔn)確;在第167幀中,目標(biāo)被部分遮擋,傳統(tǒng)的Mean Shift算法出現(xiàn)了很大的位置偏差,而改進(jìn)算法判斷遮擋情況,自動(dòng)根據(jù)第1、2子塊信息進(jìn)行整個(gè)目標(biāo)位置的判定,結(jié)果較好;在第269幀到第345幀中,目標(biāo)經(jīng)歷了一個(gè)完全遮擋過程,傳統(tǒng)的Mean Shift算法陷入了局部最小值,而改進(jìn)算法此時(shí)所有的子塊的均小于設(shè)定的閾值,采用二維線性預(yù)測(cè)方法進(jìn)行預(yù)測(cè),當(dāng)目標(biāo)脫離遮擋時(shí),更新目標(biāo)模板,重新跟蹤。
將算法跟蹤結(jié)果與手動(dòng)提取的結(jié)果采用計(jì)算定位偏差的方法進(jìn)行比較,結(jié)果如表1所示。定位偏差Ei為
其中:(xo,yo)為手動(dòng)的方法提取的目標(biāo)中心位置;(xi,yi)為算法跟蹤的中心位置結(jié)果,單位為像素;i為幀數(shù)序列。從表中可以看出,改進(jìn)的算法具有更高的跟蹤精度。
表1 定位偏差比較Table 1 Comparasion of location errors
傳統(tǒng)的Mean Shift算法由于算法簡(jiǎn)潔、實(shí)時(shí)性強(qiáng),被廣泛應(yīng)用于視頻目標(biāo)跟蹤領(lǐng)域,但該算法中,參與目標(biāo)定位時(shí),在包括目標(biāo)的同時(shí)不可避免地會(huì)引入背景像素,因此背景像素?zé)o疑會(huì)給定位結(jié)果帶來偏差;此外,由于傳統(tǒng)的Mean Shift算法沒有相應(yīng)的動(dòng)態(tài)分析方法,使得目標(biāo)在發(fā)生遮擋時(shí),算法容易陷入局部最小值,造成跟蹤失敗。本文針對(duì)傳統(tǒng)Mean Shift算法的上述缺陷,提出了兩方面的改進(jìn)措施:1)對(duì)跟蹤窗口內(nèi)的背景像素進(jìn)行優(yōu)化,采取閾值分割、數(shù)學(xué)形態(tài)學(xué)等方法區(qū)分目標(biāo)和背景,對(duì)目標(biāo)和背景采取不同的權(quán)值進(jìn)行建模;2)以基于分塊思想的動(dòng)態(tài)分析方法,實(shí)時(shí)判斷是否存在遮擋,當(dāng)有部分遮擋時(shí),利用其余未遮擋的子塊根據(jù)各自的位置偏差進(jìn)行目標(biāo)定位,當(dāng)目標(biāo)被完全遮擋時(shí),利于二維線性預(yù)測(cè)的方法對(duì)目標(biāo)進(jìn)行預(yù)測(cè),防止目標(biāo)的丟失。整個(gè)跟蹤過程中根據(jù)子塊的位置偏差不斷更新跟蹤窗口的大小,間隔固定幀數(shù)或目標(biāo)脫離遮擋時(shí)更新模板。實(shí)驗(yàn)表明,將背景優(yōu)化和動(dòng)態(tài)分析方法附加在傳統(tǒng)的Mean Shift算法中,有效改善了Mean Shift跟蹤算法的不足,對(duì)于復(fù)雜條件下的運(yùn)動(dòng)目標(biāo)跟蹤具有很好的魯棒性。
[1] 劉鋼,劉明,匡海鵬,等.多目標(biāo)跟蹤方法綜述[J].電光與控制,2004,11(3):26-29.
[2] CHENG Yizong.Mean Shift,mode seeking,and clustering[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1995,17(8):790-799.
[3] ZHOU Huiyu,YUAN Yuan,SHI Chunmei.Object tracking using SIFT features and mean shift[J].Computer Vision and Image Understanding,2009,113(3):345-352.
[4] NING Jifeng,ZHANG Lei,ZHANG D.Robust object tracking using joint color-texture histogram[J].International Journal of Pattern Recognition & Artificial Intelligence,2009,23(7):1245-1263.
[5] 付勇,何明一,劉超.Mean Shift目標(biāo)跟蹤核函數(shù)寬度的自適應(yīng)調(diào)整[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(17):243-245.
[6] 顏佳,吳敏淵,陳淑珍,等.應(yīng)用Mean Shift和分塊的抗遮擋跟蹤[J].光學(xué)精密工程,2010,18(6):1413-1418.
[7] 張旭,李志國.基于粒子濾波和均值平移的目標(biāo)跟蹤[J].激光與紅外,2008,38(8):834-836.
[8] COMANICIU D,RAMESH V,MEER P.Real-time tracking of non-rigid objects using Mean Shift[C]//IEEE Conference on Computer Vision and Pattern Recognition,2000:142-149.
[9] ADAM A,RIVLIN E,SHIMSHON L.Robust fragments-based tracking using the integral histogram[C]//Computer Vision and Pattern Recognition,IEEE Computer Society Conference,2006:798-805.
[10] 王春平,王建華,朱元昌.遮擋情況下運(yùn)動(dòng)目標(biāo)的航跡預(yù)測(cè)方法研究[J].火力與指揮控制,2005,30(s):107-108.