練海晨,蔣亞平
(河海大學(xué)計(jì)算機(jī)與信息學(xué)院,江蘇 南京 210098)
在工業(yè)產(chǎn)業(yè)飛速發(fā)展的今天,用計(jì)算機(jī)代替人力完成對(duì)現(xiàn)場(chǎng)情況的記錄與分析已經(jīng)越來越必要。傳統(tǒng)的視頻監(jiān)控系統(tǒng)主要由人工對(duì)采集的圖像信息進(jìn)行分析,工作量非常巨大。所以,由計(jì)算機(jī)來代替人對(duì)這些信息進(jìn)行分析和記錄是必要且明智的選擇。本文致力于解決物流倉(cāng)庫(kù)環(huán)境下,運(yùn)送軌道上的多目標(biāo)跟蹤問題。
在工業(yè)現(xiàn)場(chǎng)的智能視頻監(jiān)控中,倉(cāng)庫(kù)物流管理是一個(gè)新興而復(fù)雜的領(lǐng)域。工業(yè)現(xiàn)場(chǎng)的物流倉(cāng)庫(kù)環(huán)境復(fù)雜,不僅背景中存在大量相似的物體,而且運(yùn)動(dòng)軌道上的跟蹤目標(biāo)也很相似,加上跟蹤過程中目標(biāo)的旋轉(zhuǎn)、大小變化以及相互遮擋等因素,大大增加了工業(yè)現(xiàn)場(chǎng)多目標(biāo)跟蹤的難度。隨著三十多年眾多學(xué)者的不斷探索和研究,大量的跟蹤算法被提出,解決了跟蹤過程中遇到的各種問題和挑戰(zhàn),包括目標(biāo)突然快速運(yùn)動(dòng)、外觀變化、尺度變化、光照變化、局部遮擋或者短時(shí)間全部遮擋、背景復(fù)雜的干擾等[1]。
一般地,跟蹤算法主要包括目標(biāo)建模、搜索策略和目標(biāo)更新,其中跟蹤算法的突破主要集中在目標(biāo)建模和搜索策略方面[2]。在計(jì)算機(jī)視覺技術(shù)快速發(fā)展下,外觀模型的建立方法層出不窮。如文獻(xiàn)[3]提出的利用圖像分割方法,將被跟蹤區(qū)域分割成多個(gè)超像素塊,結(jié)合SIFT特征,形成詞匯本,并計(jì)算每個(gè)詞在詞匯本上的權(quán)值,作為目標(biāo)的外觀模型。實(shí)驗(yàn)證明,該方法能有效地提高跟蹤準(zhǔn)確率,但是復(fù)雜的計(jì)算過程,使算法無法滿足實(shí)時(shí)監(jiān)控的要求。
對(duì)于目標(biāo)搜索策略,現(xiàn)有的多目標(biāo)跟蹤技術(shù)大都使用粒子濾波來搜索最佳匹配[4]。粒子濾波采用蒙特卡洛法采樣觀測(cè)樣本,使得算法不易陷入局部極小值,但是隨著目標(biāo)狀態(tài)空間的增加,需要采樣大量的粒子才能保證跟蹤的精度,而對(duì)每個(gè)粒子的計(jì)算需要消耗大量的時(shí)間,很難滿足實(shí)時(shí)性的要求[5]。光流法一直被認(rèn)為是一種計(jì)算復(fù)雜度較高的方法,且很少被應(yīng)用在實(shí)時(shí)監(jiān)控中。然而,文獻(xiàn)[6]提出一種稀疏光流快速計(jì)算的目標(biāo)跟蹤算法,克服了實(shí)時(shí)性差的問題,能很好地適應(yīng)于目標(biāo)遮擋情況并且能跟蹤快速運(yùn)動(dòng)目標(biāo),但跟蹤準(zhǔn)確率還有待提高。文獻(xiàn)[7]提出一種SVM核函數(shù)的結(jié)構(gòu)化輸出策略,該方法利用支持向量機(jī)的自由性以及輸出空間的泛化能力,構(gòu)成一個(gè)有效的結(jié)構(gòu)化輸出框架,并加入維數(shù)限制機(jī)制來防止SVM向量的維數(shù)災(zāi)難。實(shí)驗(yàn)證明,該算法跟蹤效果優(yōu)于當(dāng)今最先進(jìn)的檢測(cè)跟蹤算法。然而,該算法的缺點(diǎn)在于時(shí)間復(fù)雜度過高,無法滿足實(shí)時(shí)監(jiān)控系統(tǒng)的需要。
Camshift(Continuously Adaptive Mean Shift)算法是一種基于圖像顏色特征的目標(biāo)跟蹤算法,由于具有目標(biāo)形變不敏感性以及實(shí)時(shí)性好等特點(diǎn)近年來倍受青睞[8]。然而傳統(tǒng)的Camshift算法在跟蹤過程中沒有利用跟蹤目標(biāo)的運(yùn)動(dòng)信息,在周圍環(huán)境干擾較強(qiáng)或者存在遮擋的情況下,很難對(duì)目標(biāo)進(jìn)行準(zhǔn)確跟蹤[9-11]。粒子濾波與Camshift算法的結(jié)合,可以加強(qiáng)跟蹤的魯棒性,但粒子濾波的難點(diǎn)在于分布的選擇及粒子退化的問題[12-13]。Deilamani等人用多特征融合的方法對(duì)Camshift跟蹤算法進(jìn)行改進(jìn)[14],實(shí)驗(yàn)結(jié)果表明:多特征融合有效地提高了復(fù)雜環(huán)境下Camshift算法的跟蹤準(zhǔn)確率,但算法的復(fù)雜度過高,不能滿足實(shí)時(shí)跟蹤系統(tǒng)的需要。
為解決物流倉(cāng)庫(kù)環(huán)境下,運(yùn)送軌道上的多目標(biāo)實(shí)時(shí)跟蹤問題,本文在傳統(tǒng)的Camshift跟蹤算法上加以改進(jìn),選用HSV顏色空間,減少光照帶來的影響。算法主要思想是利用跟蹤目標(biāo)特征的顏色直方圖對(duì)目標(biāo)概率密度進(jìn)行快速估計(jì);在此基礎(chǔ)上利用背景建模對(duì)目標(biāo)概率密度進(jìn)行濾波,減少靜止背景中相似物體對(duì)Camshift算法的影響。在Camshift算法迭代搜索過程中,將每次迭代搜索結(jié)果與速度信息加權(quán),計(jì)算出優(yōu)秀的搜索結(jié)果。在多目標(biāo)跟蹤過程中,根據(jù)搜索的順序,將前一個(gè)目標(biāo)的搜索得出的區(qū)域在概率密度圖中置0,以減少對(duì)后面搜索的干擾。通過上述過程的改進(jìn),使得算法不僅能處理背景復(fù)雜情況下的目標(biāo)跟蹤問題,還能對(duì)多個(gè)相似目標(biāo)同時(shí)進(jìn)行有效準(zhǔn)確跟蹤。
Camshift算法是根據(jù)連續(xù)圖像顏色動(dòng)態(tài)變化的概率分布來進(jìn)行目標(biāo)搜索的一種方法,用于對(duì)彩色運(yùn)動(dòng)目標(biāo)進(jìn)行的視覺跟蹤?;舅枷胧歉鶕?jù)目標(biāo)的顏色特征在當(dāng)前視頻圖像幀中搜素運(yùn)動(dòng)目標(biāo)所在的位置和大小,在下一幀圖像中,用運(yùn)動(dòng)目標(biāo)當(dāng)前的位置和大小初始化搜索窗口,不斷重復(fù)上述過程從而實(shí)現(xiàn)對(duì)目標(biāo)的連續(xù)跟蹤。當(dāng)跟蹤彩色目標(biāo)時(shí),Camshift算法從圖像的顏色直方圖中獲取顏色概率分布[15]。由于Camshift算法是計(jì)算局部最優(yōu)解的算法,它不依賴于跟蹤對(duì)象的具體模型,對(duì)噪聲干擾不敏感,同時(shí)其計(jì)算簡(jiǎn)單、效率高,因而具有很強(qiáng)的魯棒性和良好的實(shí)時(shí)性。
針對(duì)物流倉(cāng)庫(kù)運(yùn)動(dòng)軌道的特點(diǎn),本文設(shè)計(jì)出有效的多目標(biāo)跟蹤算法,對(duì)軌道上的目標(biāo)進(jìn)行跟蹤。首先,運(yùn)動(dòng)區(qū)域圖與概率分布圖的融合有效地減少了背景中相似物體對(duì)跟蹤結(jié)果的干擾。但是場(chǎng)景監(jiān)控中,傳送帶上運(yùn)動(dòng)的多個(gè)物體之間的相互干擾還沒有解決,所以在Camshift算法搜索結(jié)果決策時(shí),加入運(yùn)動(dòng)方向信息,減少搜索結(jié)果向運(yùn)動(dòng)反方向移動(dòng)的可能性。多目標(biāo)搜索過程中,通過在概率密度圖像中,將已搜索目標(biāo)的區(qū)域置0,減少相似目標(biāo)之間的相互干擾。圖1為算法流程圖。
圖1 算法流程圖
背景建模的任務(wù)是通過對(duì)一段連續(xù)的視頻圖像序列進(jìn)行統(tǒng)計(jì)和分析,從中提取相對(duì)不變的像素信息,并將這些像素信息作為整個(gè)視頻的參考背景。本文采用統(tǒng)計(jì)法提取的背景。為了減少光照帶來的影響,本文使用HSV顏色模型的H分量值作為像素值。
統(tǒng)計(jì)提取法的基本假設(shè)是在視頻序列中,運(yùn)動(dòng)物體不會(huì)始終在某個(gè)位置保持不動(dòng)[16]。定義相關(guān)圖像序列的像素值為 I(x,y,t),其中(x,y)表示像素點(diǎn)空間位置,t表示幀數(shù)。那么相鄰幀間的灰度變化可以表示為:
其中T表示閾值,用來濾除噪聲。對(duì)于坐標(biāo)為(x,y)的像素點(diǎn),CDM(x,y,t)表示第t幀與第t-1幀之間像素值差,它記錄像素點(diǎn)(x,y)的像素值隨時(shí)間變化。通過統(tǒng)計(jì),CDM中持續(xù)為0的,表示像素值沒有發(fā)生變化,取其中最長(zhǎng)的一個(gè)區(qū)間,把這段的像素值作為背景。本文采用背景差法從圖像中獲得目標(biāo)圖像。
算法的準(zhǔn)確跟蹤離不開外觀模型的選擇,本文選擇顏色特征直方圖作為外觀模型的描述,以直方圖匹配度計(jì)算來評(píng)判跟蹤準(zhǔn)確率。
2.2.1 參考模板特征直方圖與候選區(qū)域直方圖
其中,?是Cronecker Detal函數(shù),C是歸一化常數(shù),用以保證=1。候選區(qū)域直方圖計(jì)算與參考模板特征直方圖類似,計(jì)算公式如式(5):
其中,Ch為歸一化常數(shù)。
2.2.2 直方圖匹配度計(jì)算
運(yùn)動(dòng)目標(biāo)跟蹤的實(shí)質(zhì)是在連續(xù)幀中尋找與參考模板最為相似的候選區(qū)域,因此物體跟蹤可以簡(jiǎn)化為尋找最優(yōu)的y,使得pu(y)與qu最相似。通常使用Bhattacharrya系數(shù)ρ(y)來衡量?jī)烧咧g的相似度,Bhattacharrya系數(shù)ρ(y)的定義如下:
Bhattacharrya系數(shù) ρ(y)越大,則 pu(y)與 qu越相似。
物流倉(cāng)庫(kù)中,跟蹤目標(biāo)都沿著物流軌道運(yùn)動(dòng),運(yùn)動(dòng)方向與前幾幀都存在關(guān)聯(lián),所以在位置決策階段引入運(yùn)動(dòng)方向信息,有效地抑制搜索框往運(yùn)動(dòng)反方向進(jìn)行搜索。多目標(biāo)跟蹤的順序按照目標(biāo)進(jìn)入軌道的順序進(jìn)行,當(dāng)一個(gè)目標(biāo)搜索成功后,將其所在區(qū)域在后一個(gè)目標(biāo)的概率目標(biāo)圖像中濾除,排除了搜索框鎖定前方目標(biāo)的可能。所以,軌道上的目標(biāo)能夠有效準(zhǔn)確地進(jìn)行跟蹤。
在視頻監(jiān)控區(qū)域,檢測(cè)到多個(gè)目標(biāo)時(shí),系統(tǒng)給目標(biāo)按照進(jìn)入軌道的順序分別命名:TAG1,TAG2,TAG3,...依次類推,針對(duì)當(dāng)前幀的跟蹤,對(duì)目標(biāo)逐個(gè)進(jìn)行搜索,算法如下:
1)參考當(dāng)前目標(biāo)提取的目標(biāo)特征直方圖,計(jì)算出當(dāng)前幀的當(dāng)前搜索目標(biāo)的顏色概率分布圖像。
2)比對(duì)運(yùn)動(dòng)區(qū)域圖像,根據(jù)坐標(biāo),把非運(yùn)動(dòng)坐標(biāo)所對(duì)應(yīng)的概率值置為0,當(dāng)前幀中有目標(biāo)跟蹤跟蹤結(jié)束,且跟蹤成功,則將已成功跟蹤的結(jié)果區(qū)域概率密度值置為0,得到新的概率分布圖像I(x,y)。
3)計(jì)算以(x0,y0)為中心的候選目標(biāo)區(qū)域的0階矩M00及關(guān)于x0,y0一階矩M10和M01:
4)使用公式(10)和公式(11)計(jì)算出候選目標(biāo)的新位置(x1,y1):
5)記錄當(dāng)前位置坐標(biāo)到數(shù)組Point[],計(jì)算當(dāng)前位置候選區(qū)域相似度,存儲(chǔ)在數(shù)組Lhd[]中。
8)提取前3幀中當(dāng)前目標(biāo)所在位置a0,a1(a1為位置坐標(biāo),a0為前一幀中目標(biāo)的坐標(biāo),以此類推),估計(jì)出當(dāng)前目標(biāo)的運(yùn)動(dòng)方向向量=a0-a1。
9)將數(shù)組Point[]中保存的坐標(biāo)分別與前一幀目標(biāo)的搜索位置坐標(biāo)相減,計(jì)算位移方向向量,依次為,...,n為迭代次數(shù)。,...分別與計(jì)算余弦值,保存為cos1,cos2,...,cosn。
10)將cosi與所對(duì)應(yīng)位置的候選區(qū)域的相似度相乘,結(jié)果保存到數(shù)組CosLhd[]。
11)把CosLhd[]中最大的值所對(duì)應(yīng)的位置作為跟蹤的最終結(jié)果。如果所有目標(biāo)跟蹤結(jié)束,則跟蹤結(jié)束,否則繼續(xù)執(zhí)行步驟1),對(duì)下一個(gè)目標(biāo)進(jìn)行跟蹤。
為了驗(yàn)證本文算法的有效性,筆者通過書店物流倉(cāng)庫(kù)的真實(shí)監(jiān)控視頻進(jìn)行了物品箱跟蹤實(shí)驗(yàn)。算法在Intel Core i5處理器,2.80 GHz計(jì)算機(jī)上運(yùn)行,利用VC++編程實(shí)現(xiàn),檢測(cè)算法性能,重點(diǎn)是對(duì)算法魯棒性和實(shí)時(shí)性進(jìn)行檢測(cè),包括遮擋、相似物體干擾情況下的跟蹤結(jié)果。
實(shí)驗(yàn)視頻為物流倉(cāng)庫(kù)的監(jiān)控視頻,攝像頭位置固定,視頻共150幀,每幀大小320×240。實(shí)驗(yàn)中對(duì)視頻中物流倉(cāng)庫(kù)軌道上的箱子進(jìn)行跟蹤,軌道周圍有大量相似物體干擾,被跟蹤物體在運(yùn)動(dòng)中會(huì)出現(xiàn)相互遮擋、旋轉(zhuǎn)等情況,以下是實(shí)驗(yàn)結(jié)果。
首先利用Camshift與Kalman濾波融合算法對(duì)物流倉(cāng)庫(kù)進(jìn)行復(fù)雜環(huán)境跟蹤實(shí)驗(yàn)。Camshift與Kalman濾波融合是目標(biāo)跟蹤領(lǐng)域一個(gè)比較經(jīng)典的組合算法[17],由Kalman濾波通過目標(biāo)前一幀的速度信息以及位置信息,預(yù)測(cè)當(dāng)前幀目標(biāo)出現(xiàn)的位置,然后通過Camshift來準(zhǔn)確搜索,提高搜索效率。圖2為Camshift算法與Kalman濾波融合的跟蹤算法的結(jié)果圖,由于目標(biāo)周圍存在大量相似物體,而算法的預(yù)測(cè)與搜索,都是基于顏色特征來進(jìn)行的,所以出現(xiàn)跟蹤失敗。而本文算法考慮到靜態(tài)背景存在干擾,引入背景濾除操作,在搜索過程中,將運(yùn)動(dòng)方向信息考慮到搜索結(jié)果的決策中,有利于排除相似物體的干擾,即使當(dāng)目標(biāo)出現(xiàn)被遮擋的情況下,也能很好地定位目標(biāo)。圖3為本文算法跟蹤效果圖。
圖2 復(fù)雜背景干擾Camshift+Kalman結(jié)果
圖3 本文算法實(shí)驗(yàn)效果圖
在物流倉(cāng)庫(kù)中,周圍堆砌的物體對(duì)跟蹤目標(biāo)的干擾是一個(gè)不可忽視的問題,尤其是與目標(biāo)完全相同的物體干擾。本實(shí)驗(yàn)很好地展示了本文算法對(duì)這類問題的處理能力。實(shí)驗(yàn)表明:本文算法可以在背景干擾較強(qiáng)的物流倉(cāng)庫(kù)環(huán)境下對(duì)目標(biāo)進(jìn)行準(zhǔn)確的跟蹤。
物流倉(cāng)庫(kù)環(huán)境下的多目標(biāo)跟蹤存在很多影響因素,如目標(biāo)的旋轉(zhuǎn)、鏡深引起的目標(biāo)大小的變化、遮擋以及多目標(biāo)之間干擾等情況。首先用Camshift與Kalman濾波融合算法進(jìn)行實(shí)驗(yàn),該算法被大量文獻(xiàn)證明可以很好地解決目標(biāo)遮擋以及相互干擾等問題。從圖4中可以看出,當(dāng)被跟蹤的2個(gè)目標(biāo)相距較遠(yuǎn)時(shí),該算法能準(zhǔn)確地跟蹤目標(biāo),然而當(dāng)目標(biāo)相互靠近,由于目標(biāo)太過相似,跟蹤就出現(xiàn)嚴(yán)重偏差。而Camshift算法是基于顏色的搜索,無法辨別顏色相似的目標(biāo)。而本文算法,除了顏色特征,在搜索結(jié)果決策時(shí)引入運(yùn)動(dòng)方向信息,并且在針對(duì)多目標(biāo)跟蹤時(shí),將前一個(gè)目標(biāo)的搜索結(jié)果,在新目標(biāo)搜索的概率密度圖像中置0,減少了相似目標(biāo)之間的干擾。所以如圖5顯示,無論運(yùn)動(dòng)目標(biāo)是明顯分開,還是目標(biāo)位置非常接近,本文算法都能準(zhǔn)確地對(duì)目標(biāo)進(jìn)行跟蹤。
圖4 Camshift+Kalman多目標(biāo)跟蹤效果圖
圖5 本文算法多目標(biāo)跟蹤效果圖
工業(yè)現(xiàn)場(chǎng)環(huán)境復(fù)雜,空間較大,跟蹤過程中有很大的不確定性。本文算法在如此復(fù)雜環(huán)境下,準(zhǔn)確地對(duì)多個(gè)目標(biāo)進(jìn)行跟蹤。
在實(shí)時(shí)性方面,本算法處理150幀圖像所用時(shí)間為3.79 s,能夠達(dá)到實(shí)時(shí)處理的要求。
實(shí)驗(yàn)結(jié)果表明:在物流倉(cāng)庫(kù)環(huán)境下,本文算法有很好的魯棒性和實(shí)時(shí)性,很好地解決運(yùn)送軌道上的多目標(biāo)跟蹤問題。
本文研究在工業(yè)現(xiàn)場(chǎng)復(fù)雜環(huán)境下對(duì)多目標(biāo)進(jìn)行跟蹤的問題,提出了一種融合背景建模和運(yùn)動(dòng)信息的Camshift算法,并在搜索過程加以約束限制,提高多目標(biāo)跟蹤的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明:在物流倉(cāng)庫(kù)環(huán)境下,背景干擾的問題得到有效的解決;運(yùn)動(dòng)信息的融合,以及對(duì)跟蹤區(qū)域?yàn)V波,有效的解決了跟蹤過程中多個(gè)目標(biāo)之間的相互干擾問題;實(shí)現(xiàn)了在物流倉(cāng)庫(kù)的復(fù)雜環(huán)境下對(duì)多目標(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ì)算機(jī)科學(xué),2013,40(6):204-209.
[3]羅會(huì)蘭,鐘睿,孔繁勝.基于超像素的點(diǎn)跟蹤方法[J].中國(guó)圖象圖形學(xué)報(bào),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é)報(bào),2013,47(12):1848-1854.
[6]陳添丁,胡鑒,吳滌.稀疏光流快速計(jì)算的動(dòng)態(tài)目標(biāo)檢測(cè)與跟蹤[J].中國(guó)圖象圖形學(xué)報(bào),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ì)算機(jī)工程與設(shè)計(jì),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算法的眼動(dòng)跟蹤方法[J].計(jì)算機(jī)應(yīng)用研究,2014,31(4):1220-1224.
[11]楊杰,穆平安,戴曙光.一種改進(jìn)Camshift算法的研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(2):167-170.
[12]陶勇,王田苗,魏洪興,等.基于Camshift和粒子濾波的老人陪護(hù)機(jī)器人人臉跟蹤[J].中國(guó)機(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)運(yùn)動(dòng)軌跡跟蹤算法及DSP實(shí)現(xiàn)[D].杭州:浙江大學(xué),2006.
[17]王景武,王玉德,王東方.改進(jìn)的Camshift與Kalman融合的目標(biāo)跟蹤算法[J].電子技術(shù),2014(11):11-13.