(沈陽(yáng)理工大學(xué) 遼寧 沈陽(yáng) 110159)
智能視頻監(jiān)控系統(tǒng)中運(yùn)動(dòng)行人跟蹤技術(shù)研究
劉釗
(沈陽(yáng)理工大學(xué) 遼寧 沈陽(yáng) 110159)
運(yùn)動(dòng)目標(biāo)的跟蹤算法Camshift是在跟蹤問(wèn)題時(shí)會(huì)被利用到的方法。不但在部分遮擋的情況下跟蹤目標(biāo),而且還能達(dá)到在原有基礎(chǔ)算法上智能的追蹤移動(dòng)的目標(biāo),并且提高原算法的適用范圍和準(zhǔn)確率。
行人跟蹤;MeanShift;目標(biāo)檢測(cè)
針對(duì)時(shí)間跟蹤算法復(fù)雜的動(dòng)態(tài)場(chǎng)景雖然有很多算法,但是目前對(duì)于跟蹤算法中很多算法的應(yīng)用在復(fù)雜的動(dòng)態(tài)場(chǎng)景中時(shí)并不是特別理想,很多時(shí)候會(huì)收到影響,比如會(huì)受到光線、天氣或雜亂背景等影響,這些算法只能在固定不變的背景或者是在特定的環(huán)境下才能夠使用。研究人員不得不提高算法的通用性能用來(lái)克服一些困難,尤其是大多算法應(yīng)用在復(fù)雜的動(dòng)態(tài)場(chǎng)景中的時(shí)候。因此運(yùn)動(dòng)目標(biāo)智能檢測(cè)跟蹤算法仍然是現(xiàn)在研究人員的研究重點(diǎn)。
MeanShift算法屬于直方圖方法,它的計(jì)算過(guò)程是:將圖像中所有點(diǎn)的像素值作為統(tǒng)計(jì)數(shù)據(jù),并將其分為相等的若干區(qū)間,然后從(0,0)坐標(biāo)處開始統(tǒng)計(jì),將所有的像素值分布到各自適合的區(qū)間,作出直方圖,以待觀察。假如圖像的像素值由256,256,256個(gè)數(shù)值組成,則計(jì)算維數(shù)過(guò)大,不適宜使用直方圖方法,所以可以采用抽樣算法把數(shù)值范圍減小到16,16,16即可滿足直方圖計(jì)算條件。
(一)目標(biāo)模型的選取和描述。在MeanShift算法中,通常是用某一個(gè)隨機(jī)變量參數(shù)來(lái)表示目標(biāo)區(qū)域中的像素點(diǎn),然后確定一個(gè)中心點(diǎn),這里可以參考核函數(shù)的原理。對(duì)于離中心點(diǎn)越遠(yuǎn)的像素值通常對(duì)整體特征的影響較小,所有給予較小的權(quán)重。給不同區(qū)域的像素點(diǎn)不同的權(quán)重可以是算法更加準(zhǔn)確的描述特征。算法用一個(gè)物體的灰度或色彩分布來(lái)描述這個(gè)物體,假設(shè)物體中心位于 ,則該物體可以表示為:
(4-1)
(二)候選模型的描述。跟蹤目標(biāo)的根本原理就是需找不同幀中相同的特征部分,所有對(duì)于候選模型的描述應(yīng)該采取與目標(biāo)模型完全相同的描述方法。
(4-2)
(三)目標(biāo)相似性度量
(4-3)
式(4-3)在目標(biāo)點(diǎn)泰勒展開可得:
(4-4)
化簡(jiǎn)后得到
(4-5)
即為Meanshift算法的迭代表達(dá)式,利用此式就可以在當(dāng)前幀找到目標(biāo)最匹配的區(qū)域。
(四)經(jīng)典MeanShift跟蹤算法的優(yōu)缺點(diǎn)。其中對(duì)目標(biāo)區(qū)域以及后續(xù)候選區(qū)域的概率密度采用直方圖表示法,此方法簡(jiǎn)單直接,且易于對(duì)比,所以基于此本算法有以下優(yōu)點(diǎn):算法計(jì)算量小、復(fù)雜度低、具有較高的魯棒性。
但與此同時(shí),算法的使用范圍受到了較大的限制,主要原因如下:(1)缺乏更新機(jī)制,跟蹤全程都采用的是初始幀作為目標(biāo)模型,對(duì)環(huán)境和突發(fā)狀況,如光照變化或者遮擋的處理欠佳,易導(dǎo)致跟蹤失敗。(2)統(tǒng)計(jì)數(shù)據(jù)單一,雖然算法簡(jiǎn)單,可以大大提高跟蹤的速度,但是對(duì)背景的特定要求較高,一旦遇到背景顏色與目標(biāo)顏色過(guò)于接近,算法設(shè)定的相似性參數(shù)很容易達(dá)到閾值范圍,對(duì)目標(biāo)的跟蹤造成誤判,導(dǎo)致跟蹤失敗。(3)每幀圖像之間的關(guān)聯(lián)過(guò)大,在任意一次計(jì)算過(guò)程中,相鄰兩幀都存在很大的關(guān)聯(lián)性,當(dāng)前幀搜素的開始位置即為前一幀目標(biāo)圖像的質(zhì)心。如果遇到跟蹤目標(biāo)突然加速的情況,導(dǎo)致兩幀之間沒(méi)有重疊的部分,甚至出現(xiàn)較大的距離,此時(shí)對(duì)于當(dāng)前幀開始的位置如果繼續(xù)采用前一幀的中心位置,必然會(huì)造成較大的誤差。(4)跟蹤窗口大小固定。
本文提出用高斯函數(shù)對(duì)無(wú)遮擋物的運(yùn)動(dòng)行人目標(biāo)區(qū)域建立背景模型,通過(guò)分析監(jiān)控視頻流的前幾幀建立運(yùn)動(dòng)行人目標(biāo)區(qū)域的標(biāo)準(zhǔn)模型;在隨后的視頻流中,利用幀差法檢測(cè)出運(yùn)動(dòng)行人目標(biāo)區(qū)域,分析該區(qū)域與標(biāo)準(zhǔn)模型的差異,可以確定有無(wú)遮擋物以及遮擋物的位置。發(fā)現(xiàn)區(qū)域中有遮擋物時(shí),CamShift算法通過(guò)將遮擋物區(qū)域的H分量置0的方法消除了跟蹤偏移問(wèn)題,從而較為準(zhǔn)確地跟蹤了運(yùn)動(dòng)行人。算法的詳細(xì)過(guò)程如下:
(1)圈定初始目標(biāo)區(qū)域,建立標(biāo)準(zhǔn)模型。在監(jiān)控視頻流的前幾幀,使用手動(dòng)方式圈定運(yùn)動(dòng)行人目標(biāo)區(qū)域。根據(jù)不同圖像序列,對(duì)目標(biāo)區(qū)域進(jìn)行適當(dāng)?shù)臄U(kuò)展,以方便準(zhǔn)確地感知遮擋物的存在。本文中向圈定的目標(biāo)區(qū)域四周擴(kuò)展了20個(gè)像素值。利用高斯模型對(duì)前幾幀目標(biāo)區(qū)域進(jìn)行背景建模,得到背景模型的二值化圖像。
(2)計(jì)算遮擋物區(qū)域。利用幀差法獲取當(dāng)前幀的運(yùn)動(dòng)行人目標(biāo)區(qū)域,將該區(qū)域的大小調(diào)整為背景模型的大小,假設(shè)該區(qū)域二值化圖像為cur。同樣,已取得的背景模型與每幀圖像中檢測(cè)到的運(yùn)動(dòng)行人區(qū)域也常常有重疊的部分。因此,將背景模型base與當(dāng)前幀的目標(biāo)區(qū)域圖像cur進(jìn)行與運(yùn)算,即base&cur,得到二者的公共部分,再將當(dāng)前幀減去公共部分,即cur-(base&cur),得到當(dāng)前幀目標(biāo)區(qū)域與公共部分有差異的部分,并將此結(jié)果重新賦給背景模型base。
對(duì)當(dāng)前幀的目標(biāo)區(qū)域圖像cur進(jìn)行顏色空間轉(zhuǎn)換,提取HSV空間的H分量,并重新賦給cur;利用目標(biāo)區(qū)域H分量灰度圖cur和背景模型base再次計(jì)算cur-(cur&base),如果cur-(cur&base)中沒(méi)有明顯目標(biāo),則認(rèn)為目標(biāo)區(qū)域cur中沒(méi)有出現(xiàn)遮擋物,則CamShift算法不用做任何調(diào)整,繼續(xù)對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤。
如果cur-(cur&base)中出現(xiàn)明顯目標(biāo),則認(rèn)為目標(biāo)區(qū)域中出現(xiàn)了遮擋物,cur-(cur&base)中的目標(biāo)區(qū)域就是遮擋物的位置。根據(jù)遮擋物的位置,將當(dāng)前幀H分量灰度圖中對(duì)應(yīng)位置的值清零,得到當(dāng)前幀的新的H分量灰度圖
在本小節(jié)中,利用運(yùn)動(dòng)物體和運(yùn)動(dòng)行人遇到遮擋物的視頻作為實(shí)驗(yàn)對(duì)象。本文對(duì)原始的CamShift算法進(jìn)行了改進(jìn),利用高斯模型對(duì)運(yùn)動(dòng)目標(biāo)區(qū)域進(jìn)行建模得到標(biāo)準(zhǔn)模型,跟蹤過(guò)程中每一幀圖像中運(yùn)動(dòng)目標(biāo)區(qū)域?qū)Ρ葮?biāo)準(zhǔn)模型可以有效地找到遮擋物的位置,忽略相應(yīng)位置上的H分量灰度值,從而避免了遮擋物對(duì)CamShift算法跟蹤的干擾,得到了準(zhǔn)確的運(yùn)動(dòng)目標(biāo)位置。將改進(jìn)的CamShift算法應(yīng)用于小杯子(運(yùn)動(dòng)目標(biāo))逐漸接近大杯子(遮擋物)的視頻流,
重點(diǎn)部分介紹了MeanShift算法和CamShift算法的基本原理。CamShift算法的運(yùn)行速度快,算法復(fù)雜度低,但是當(dāng)運(yùn)動(dòng)目標(biāo)目標(biāo)的顏色與監(jiān)控背景顏色一樣或者接近時(shí),跟蹤的區(qū)域就會(huì)出現(xiàn)偏移。文中提出了一種改進(jìn)的CamShift算法,它能夠解決運(yùn)動(dòng)行人目標(biāo)路過(guò)遮擋物時(shí),特別是運(yùn)動(dòng)行人目標(biāo)的顏色跟遮擋物的顏色相似時(shí),跟蹤出現(xiàn)明顯偏移的問(wèn)題。接著通過(guò)兩組實(shí)驗(yàn)比較分析了原始CamShift算法和改進(jìn)的CamShift算法的有效性,證實(shí)了改進(jìn)的CamShift算法能夠排除遮擋物的干擾,使跟蹤效果更好。
[1]宋路.基于模板匹配與線性預(yù)測(cè)的目標(biāo)跟蹤算法[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版).2015
劉釗,男,沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院,計(jì)算機(jī)技術(shù)專業(yè)碩士研究生,研究方向計(jì)算機(jī)技術(shù)。