練海晨,蔣亞平
(河海大學(xué)計算機(jī)與信息學(xué)院,江蘇 南京 210098)
在工業(yè)產(chǎn)業(yè)飛速發(fā)展的今天,用計算機(jī)代替人力完成對現(xiàn)場情況的記錄與分析已經(jīng)越來越必要。傳統(tǒng)的視頻監(jiān)控系統(tǒng)主要由人工對采集的圖像信息進(jìn)行分析,工作量非常巨大。所以,由計算機(jī)來代替人對這些信息進(jìn)行分析和記錄是必要且明智的選擇。本文致力于解決物流倉庫環(huán)境下,運送軌道上的多目標(biāo)跟蹤問題。
在工業(yè)現(xiàn)場的智能視頻監(jiān)控中,倉庫物流管理是一個新興而復(fù)雜的領(lǐng)域。工業(yè)現(xiàn)場的物流倉庫環(huán)境復(fù)雜,不僅背景中存在大量相似的物體,而且運動軌道上的跟蹤目標(biāo)也很相似,加上跟蹤過程中目標(biāo)的旋轉(zhuǎn)、大小變化以及相互遮擋等因素,大大增加了工業(yè)現(xiàn)場多目標(biāo)跟蹤的難度。隨著三十多年眾多學(xué)者的不斷探索和研究,大量的跟蹤算法被提出,解決了跟蹤過程中遇到的各種問題和挑戰(zhàn),包括目標(biāo)突然快速運動、外觀變化、尺度變化、光照變化、局部遮擋或者短時間全部遮擋、背景復(fù)雜的干擾等[1]。
一般地,跟蹤算法主要包括目標(biāo)建模、搜索策略和目標(biāo)更新,其中跟蹤算法的突破主要集中在目標(biāo)建模和搜索策略方面[2]。在計算機(jī)視覺技術(shù)快速發(fā)展下,外觀模型的建立方法層出不窮。如文獻(xiàn)[3]提出的利用圖像分割方法,將被跟蹤區(qū)域分割成多個超像素塊,結(jié)合SIFT特征,形成詞匯本,并計算每個詞在詞匯本上的權(quán)值,作為目標(biāo)的外觀模型。實驗證明,該方法能有效地提高跟蹤準(zhǔn)確率,但是復(fù)雜的計算過程,使算法無法滿足實時監(jiān)控的要求。
對于目標(biāo)搜索策略,現(xiàn)有的多目標(biāo)跟蹤技術(shù)大都使用粒子濾波來搜索最佳匹配[4]。粒子濾波采用蒙特卡洛法采樣觀測樣本,使得算法不易陷入局部極小值,但是隨著目標(biāo)狀態(tài)空間的增加,需要采樣大量的粒子才能保證跟蹤的精度,而對每個粒子的計算需要消耗大量的時間,很難滿足實時性的要求[5]。光流法一直被認(rèn)為是一種計算復(fù)雜度較高的方法,且很少被應(yīng)用在實時監(jiān)控中。然而,文獻(xiàn)[6]提出一種稀疏光流快速計算的目標(biāo)跟蹤算法,克服了實時性差的問題,能很好地適應(yīng)于目標(biāo)遮擋情況并且能跟蹤快速運動目標(biāo),但跟蹤準(zhǔn)確率還有待提高。文獻(xiàn)[7]提出一種SVM核函數(shù)的結(jié)構(gòu)化輸出策略,該方法利用支持向量機(jī)的自由性以及輸出空間的泛化能力,構(gòu)成一個有效的結(jié)構(gòu)化輸出框架,并加入維數(shù)限制機(jī)制來防止SVM向量的維數(shù)災(zāi)難。實驗證明,該算法跟蹤效果優(yōu)于當(dāng)今最先進(jìn)的檢測跟蹤算法。然而,該算法的缺點在于時間復(fù)雜度過高,無法滿足實時監(jiān)控系統(tǒng)的需要。
Camshift(Continuously Adaptive Mean Shift)算法是一種基于圖像顏色特征的目標(biāo)跟蹤算法,由于具有目標(biāo)形變不敏感性以及實時性好等特點近年來倍受青睞[8]。然而傳統(tǒng)的Camshift算法在跟蹤過程中沒有利用跟蹤目標(biāo)的運動信息,在周圍環(huán)境干擾較強或者存在遮擋的情況下,很難對目標(biāo)進(jìn)行準(zhǔn)確跟蹤[9-11]。粒子濾波與Camshift算法的結(jié)合,可以加強跟蹤的魯棒性,但粒子濾波的難點在于分布的選擇及粒子退化的問題[12-13]。Deilamani等人用多特征融合的方法對Camshift跟蹤算法進(jìn)行改進(jìn)[14],實驗結(jié)果表明:多特征融合有效地提高了復(fù)雜環(huán)境下Camshift算法的跟蹤準(zhǔn)確率,但算法的復(fù)雜度過高,不能滿足實時跟蹤系統(tǒng)的需要。
為解決物流倉庫環(huán)境下,運送軌道上的多目標(biāo)實時跟蹤問題,本文在傳統(tǒng)的Camshift跟蹤算法上加以改進(jìn),選用HSV顏色空間,減少光照帶來的影響。算法主要思想是利用跟蹤目標(biāo)特征的顏色直方圖對目標(biāo)概率密度進(jìn)行快速估計;在此基礎(chǔ)上利用背景建模對目標(biāo)概率密度進(jìn)行濾波,減少靜止背景中相似物體對Camshift算法的影響。在Camshift算法迭代搜索過程中,將每次迭代搜索結(jié)果與速度信息加權(quán),計算出優(yōu)秀的搜索結(jié)果。在多目標(biāo)跟蹤過程中,根據(jù)搜索的順序,將前一個目標(biāo)的搜索得出的區(qū)域在概率密度圖中置0,以減少對后面搜索的干擾。通過上述過程的改進(jìn),使得算法不僅能處理背景復(fù)雜情況下的目標(biāo)跟蹤問題,還能對多個相似目標(biāo)同時進(jìn)行有效準(zhǔn)確跟蹤。
Camshift算法是根據(jù)連續(xù)圖像顏色動態(tài)變化的概率分布來進(jìn)行目標(biāo)搜索的一種方法,用于對彩色運動目標(biāo)進(jìn)行的視覺跟蹤。基本思想是根據(jù)目標(biāo)的顏色特征在當(dāng)前視頻圖像幀中搜素運動目標(biāo)所在的位置和大小,在下一幀圖像中,用運動目標(biāo)當(dāng)前的位置和大小初始化搜索窗口,不斷重復(fù)上述過程從而實現(xiàn)對目標(biāo)的連續(xù)跟蹤。當(dāng)跟蹤彩色目標(biāo)時,Camshift算法從圖像的顏色直方圖中獲取顏色概率分布[15]。由于Camshift算法是計算局部最優(yōu)解的算法,它不依賴于跟蹤對象的具體模型,對噪聲干擾不敏感,同時其計算簡單、效率高,因而具有很強的魯棒性和良好的實時性。
針對物流倉庫運動軌道的特點,本文設(shè)計出有效的多目標(biāo)跟蹤算法,對軌道上的目標(biāo)進(jìn)行跟蹤。首先,運動區(qū)域圖與概率分布圖的融合有效地減少了背景中相似物體對跟蹤結(jié)果的干擾。但是場景監(jiān)控中,傳送帶上運動的多個物體之間的相互干擾還沒有解決,所以在Camshift算法搜索結(jié)果決策時,加入運動方向信息,減少搜索結(jié)果向運動反方向移動的可能性。多目標(biāo)搜索過程中,通過在概率密度圖像中,將已搜索目標(biāo)的區(qū)域置0,減少相似目標(biāo)之間的相互干擾。圖1為算法流程圖。
圖1 算法流程圖
背景建模的任務(wù)是通過對一段連續(xù)的視頻圖像序列進(jìn)行統(tǒng)計和分析,從中提取相對不變的像素信息,并將這些像素信息作為整個視頻的參考背景。本文采用統(tǒng)計法提取的背景。為了減少光照帶來的影響,本文使用HSV顏色模型的H分量值作為像素值。
統(tǒng)計提取法的基本假設(shè)是在視頻序列中,運動物體不會始終在某個位置保持不動[16]。定義相關(guān)圖像序列的像素值為 I(x,y,t),其中(x,y)表示像素點空間位置,t表示幀數(shù)。那么相鄰幀間的灰度變化可以表示為:
其中T表示閾值,用來濾除噪聲。對于坐標(biāo)為(x,y)的像素點,CDM(x,y,t)表示第t幀與第t-1幀之間像素值差,它記錄像素點(x,y)的像素值隨時間變化。通過統(tǒng)計,CDM中持續(xù)為0的,表示像素值沒有發(fā)生變化,取其中最長的一個區(qū)間,把這段的像素值作為背景。本文采用背景差法從圖像中獲得目標(biāo)圖像。
算法的準(zhǔn)確跟蹤離不開外觀模型的選擇,本文選擇顏色特征直方圖作為外觀模型的描述,以直方圖匹配度計算來評判跟蹤準(zhǔn)確率。
2.2.1 參考模板特征直方圖與候選區(qū)域直方圖
其中,?是Cronecker Detal函數(shù),C是歸一化常數(shù),用以保證=1。候選區(qū)域直方圖計算與參考模板特征直方圖類似,計算公式如式(5):
其中,Ch為歸一化常數(shù)。
2.2.2 直方圖匹配度計算
運動目標(biāo)跟蹤的實質(zhì)是在連續(xù)幀中尋找與參考模板最為相似的候選區(qū)域,因此物體跟蹤可以簡化為尋找最優(yōu)的y,使得pu(y)與qu最相似。通常使用Bhattacharrya系數(shù)ρ(y)來衡量兩者之間的相似度,Bhattacharrya系數(shù)ρ(y)的定義如下:
Bhattacharrya系數(shù) ρ(y)越大,則 pu(y)與 qu越相似。
物流倉庫中,跟蹤目標(biāo)都沿著物流軌道運動,運動方向與前幾幀都存在關(guān)聯(lián),所以在位置決策階段引入運動方向信息,有效地抑制搜索框往運動反方向進(jìn)行搜索。多目標(biāo)跟蹤的順序按照目標(biāo)進(jìn)入軌道的順序進(jìn)行,當(dāng)一個目標(biāo)搜索成功后,將其所在區(qū)域在后一個目標(biāo)的概率目標(biāo)圖像中濾除,排除了搜索框鎖定前方目標(biāo)的可能。所以,軌道上的目標(biāo)能夠有效準(zhǔn)確地進(jìn)行跟蹤。
在視頻監(jiān)控區(qū)域,檢測到多個目標(biāo)時,系統(tǒng)給目標(biāo)按照進(jìn)入軌道的順序分別命名:TAG1,TAG2,TAG3,...依次類推,針對當(dāng)前幀的跟蹤,對目標(biāo)逐個進(jìn)行搜索,算法如下:
1)參考當(dāng)前目標(biāo)提取的目標(biāo)特征直方圖,計算出當(dāng)前幀的當(dāng)前搜索目標(biāo)的顏色概率分布圖像。
2)比對運動區(qū)域圖像,根據(jù)坐標(biāo),把非運動坐標(biāo)所對應(yīng)的概率值置為0,當(dāng)前幀中有目標(biāo)跟蹤跟蹤結(jié)束,且跟蹤成功,則將已成功跟蹤的結(jié)果區(qū)域概率密度值置為0,得到新的概率分布圖像I(x,y)。
3)計算以(x0,y0)為中心的候選目標(biāo)區(qū)域的0階矩M00及關(guān)于x0,y0一階矩M10和M01:
4)使用公式(10)和公式(11)計算出候選目標(biāo)的新位置(x1,y1):
5)記錄當(dāng)前位置坐標(biāo)到數(shù)組Point[],計算當(dāng)前位置候選區(qū)域相似度,存儲在數(shù)組Lhd[]中。
8)提取前3幀中當(dāng)前目標(biāo)所在位置a0,a1(a1為位置坐標(biāo),a0為前一幀中目標(biāo)的坐標(biāo),以此類推),估計出當(dāng)前目標(biāo)的運動方向向量=a0-a1。
9)將數(shù)組Point[]中保存的坐標(biāo)分別與前一幀目標(biāo)的搜索位置坐標(biāo)相減,計算位移方向向量,依次為,...,n為迭代次數(shù)。,...分別與計算余弦值,保存為cos1,cos2,...,cosn。
10)將cosi與所對應(yīng)位置的候選區(qū)域的相似度相乘,結(jié)果保存到數(shù)組CosLhd[]。
11)把CosLhd[]中最大的值所對應(yīng)的位置作為跟蹤的最終結(jié)果。如果所有目標(biāo)跟蹤結(jié)束,則跟蹤結(jié)束,否則繼續(xù)執(zhí)行步驟1),對下一個目標(biāo)進(jìn)行跟蹤。
為了驗證本文算法的有效性,筆者通過書店物流倉庫的真實監(jiān)控視頻進(jìn)行了物品箱跟蹤實驗。算法在Intel Core i5處理器,2.80 GHz計算機(jī)上運行,利用VC++編程實現(xiàn),檢測算法性能,重點是對算法魯棒性和實時性進(jìn)行檢測,包括遮擋、相似物體干擾情況下的跟蹤結(jié)果。
實驗視頻為物流倉庫的監(jiān)控視頻,攝像頭位置固定,視頻共150幀,每幀大小320×240。實驗中對視頻中物流倉庫軌道上的箱子進(jìn)行跟蹤,軌道周圍有大量相似物體干擾,被跟蹤物體在運動中會出現(xiàn)相互遮擋、旋轉(zhuǎn)等情況,以下是實驗結(jié)果。
首先利用Camshift與Kalman濾波融合算法對物流倉庫進(jìn)行復(fù)雜環(huán)境跟蹤實驗。Camshift與Kalman濾波融合是目標(biāo)跟蹤領(lǐng)域一個比較經(jīng)典的組合算法[17],由Kalman濾波通過目標(biāo)前一幀的速度信息以及位置信息,預(yù)測當(dāng)前幀目標(biāo)出現(xiàn)的位置,然后通過Camshift來準(zhǔn)確搜索,提高搜索效率。圖2為Camshift算法與Kalman濾波融合的跟蹤算法的結(jié)果圖,由于目標(biāo)周圍存在大量相似物體,而算法的預(yù)測與搜索,都是基于顏色特征來進(jìn)行的,所以出現(xiàn)跟蹤失敗。而本文算法考慮到靜態(tài)背景存在干擾,引入背景濾除操作,在搜索過程中,將運動方向信息考慮到搜索結(jié)果的決策中,有利于排除相似物體的干擾,即使當(dāng)目標(biāo)出現(xiàn)被遮擋的情況下,也能很好地定位目標(biāo)。圖3為本文算法跟蹤效果圖。
圖2 復(fù)雜背景干擾Camshift+Kalman結(jié)果
圖3 本文算法實驗效果圖
在物流倉庫中,周圍堆砌的物體對跟蹤目標(biāo)的干擾是一個不可忽視的問題,尤其是與目標(biāo)完全相同的物體干擾。本實驗很好地展示了本文算法對這類問題的處理能力。實驗表明:本文算法可以在背景干擾較強的物流倉庫環(huán)境下對目標(biāo)進(jìn)行準(zhǔn)確的跟蹤。
物流倉庫環(huán)境下的多目標(biāo)跟蹤存在很多影響因素,如目標(biāo)的旋轉(zhuǎn)、鏡深引起的目標(biāo)大小的變化、遮擋以及多目標(biāo)之間干擾等情況。首先用Camshift與Kalman濾波融合算法進(jìn)行實驗,該算法被大量文獻(xiàn)證明可以很好地解決目標(biāo)遮擋以及相互干擾等問題。從圖4中可以看出,當(dāng)被跟蹤的2個目標(biāo)相距較遠(yuǎn)時,該算法能準(zhǔn)確地跟蹤目標(biāo),然而當(dāng)目標(biāo)相互靠近,由于目標(biāo)太過相似,跟蹤就出現(xiàn)嚴(yán)重偏差。而Camshift算法是基于顏色的搜索,無法辨別顏色相似的目標(biāo)。而本文算法,除了顏色特征,在搜索結(jié)果決策時引入運動方向信息,并且在針對多目標(biāo)跟蹤時,將前一個目標(biāo)的搜索結(jié)果,在新目標(biāo)搜索的概率密度圖像中置0,減少了相似目標(biāo)之間的干擾。所以如圖5顯示,無論運動目標(biāo)是明顯分開,還是目標(biāo)位置非常接近,本文算法都能準(zhǔn)確地對目標(biāo)進(jìn)行跟蹤。
圖4 Camshift+Kalman多目標(biāo)跟蹤效果圖
圖5 本文算法多目標(biāo)跟蹤效果圖
工業(yè)現(xiàn)場環(huán)境復(fù)雜,空間較大,跟蹤過程中有很大的不確定性。本文算法在如此復(fù)雜環(huán)境下,準(zhǔn)確地對多個目標(biāo)進(jìn)行跟蹤。
在實時性方面,本算法處理150幀圖像所用時間為3.79 s,能夠達(dá)到實時處理的要求。
實驗結(jié)果表明:在物流倉庫環(huán)境下,本文算法有很好的魯棒性和實時性,很好地解決運送軌道上的多目標(biāo)跟蹤問題。
本文研究在工業(yè)現(xiàn)場復(fù)雜環(huán)境下對多目標(biāo)進(jìn)行跟蹤的問題,提出了一種融合背景建模和運動信息的Camshift算法,并在搜索過程加以約束限制,提高多目標(biāo)跟蹤的準(zhǔn)確率。實驗結(jié)果表明:在物流倉庫環(huán)境下,背景干擾的問題得到有效的解決;運動信息的融合,以及對跟蹤區(qū)域濾波,有效的解決了跟蹤過程中多個目標(biāo)之間的相互干擾問題;實現(xiàn)了在物流倉庫的復(fù)雜環(huán)境下對多目標(biāo)的準(zhǔn)確跟蹤。
[1]Yilmaz A,Javed O,Shah M.Object tracking:A survey[J].ACM Computing Surveys,2006,38(4):1-45.
[2]閆慶森,李臨生,徐曉峰,等.視頻跟蹤算法研究綜述[J].計算機(jī)科學(xué),2013,40(6):204-209.
[3]羅會蘭,鐘睿,孔繁勝.基于超像素的點跟蹤方法[J].中國圖象圖形學(xué)報,2014,19(3):428-438.
[4]Xu Xinyu,Li Baoxin.Adaptive Rao-Blackwellized particle filter and its evaluation for tracking in surveillance[J].IEEE Transactions on Image Processing,2007,16(3):838-849.
[5]馬珊,張鐵棟,龐永杰,等.基于改進(jìn)粒子濾波的聲圖像多目標(biāo)跟蹤方法[J].上海交通大學(xué)學(xué)報,2013,47(12):1848-1854.
[6]陳添丁,胡鑒,吳滌.稀疏光流快速計算的動態(tài)目標(biāo)檢測與跟蹤[J].中國圖象圖形學(xué)報,2013,18(12):1593-1600.
[7]Hare S,Saffari A,Torr P H S.Struck:Structured output tracking with kernels[C]//ICCV.2011:263-270.
[8]張宏志,張金換,岳卉,等.基于CamShift的目標(biāo)跟蹤算法[J].計算機(jī)工程與設(shè)計,2006,27(11):2012-2014.
[9]Zou Tengyue,Tang Xiaoqi,Song Bao.Improved Camshift tracking algorithm based on silhouette moving detection[C]//The Third International Conference on MultimediaInformation Networking and Security.2011:11-15.
[10]黃園剛,桑楠,郝宗波,等.改進(jìn)CamShift算法的眼動跟蹤方法[J].計算機(jī)應(yīng)用研究,2014,31(4):1220-1224.
[11]楊杰,穆平安,戴曙光.一種改進(jìn)Camshift算法的研究[J].計算機(jī)應(yīng)用與軟件,2014,31(2):167-170.
[12]陶勇,王田苗,魏洪興,等.基于Camshift和粒子濾波的老人陪護(hù)機(jī)器人人臉跟蹤[J].中國機(jī)械工程,2008,20(16):1904-1908.
[13]Wang Zhaowen,Yang Xiaokang,Xu Yi,et al.CamShift guided particle filter for visual tracking[J].Pattern Recognition Letters,2009,30(4):407-413.
[14]Deilamani M J,Asli R N.Moving object tracking based on Mean-shift algorithm and feature fusion[C]//2011 International Symposium on Artificial Intelligence and Signal Processing.2011:48-53.
[15]Nouar O D,Ali G.Improved object tracking with Camshift algorithm[C]//IEEE International Conference on Acoustics,Speech and Signal Processing.2006:657-660.
[16]譚熾烈.多目標(biāo)運動軌跡跟蹤算法及DSP實現(xiàn)[D].杭州:浙江大學(xué),2006.
[17]王景武,王玉德,王東方.改進(jìn)的Camshift與Kalman融合的目標(biāo)跟蹤算法[J].電子技術(shù),2014(11):11-13.