一種基于目標(biāo)跟蹤的行人徘徊檢測算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)字圖像處理及模式識別技術(shù)領(lǐng)域,具體涉及基于目標(biāo)跟蹤的行人徘 徊檢測算法。
【背景技術(shù)】
[0002] 智能視頻監(jiān)控技術(shù)與傳統(tǒng)的監(jiān)控方法相比具有明顯的優(yōu)點(diǎn):可以全天候監(jiān)控,不 存在疲勞的問題;擁有強(qiáng)大的處理能力,可以同時監(jiān)控多個目標(biāo);擁有較高的自主性,能夠 自動識別目標(biāo)并進(jìn)行報(bào)警。
[0003] 行人徘徊檢測分析是智能視頻監(jiān)控領(lǐng)域的重要組成部分。當(dāng)行人持續(xù)地、往復(fù)地 在監(jiān)控區(qū)域內(nèi)運(yùn)動時,可認(rèn)為該行人處于徘徊狀態(tài)。徘徊檢測可以對監(jiān)控區(qū)域內(nèi)的行人行 為進(jìn)行評估,及時發(fā)出警告。徘徊檢測可以應(yīng)用在眾多場景中,例如,在池塘、水庫等場景內(nèi) 徘徊的行人可能會有危險;在教室、車間等場景內(nèi)徘徊的行人可能會有不法舉動。
[0004] 目前對于行人徘徊檢測的研究較少。劉曉明[4] [5]提出基于靜態(tài)場景下的單 目標(biāo)徘徊檢測及跟蹤方法,該方法利用背景差分獲取目標(biāo)位置,通過camshift對目標(biāo)進(jìn) 行跟蹤獲取目標(biāo)的運(yùn)動軌跡。該方法局限較大,由于背景差分使用固定的背景模板,只能 運(yùn)用在靜態(tài)場景下。而當(dāng)背景較為復(fù)雜,或者有許多與目標(biāo)顏色相似像素干擾的情況下, camshift跟蹤效果不理想。劉強(qiáng)[6]提出基于離散曲率熵的徘徊行為檢測,該方法同樣采 用camshift對目標(biāo)進(jìn)行跟蹤,同時使用Kalman預(yù)測對跟蹤算法進(jìn)行修正。此方法存在同 樣的問題,且kalman濾波器對非線性場景下的預(yù)測效果較差。
[0005] 中國專利CN101770648A[1]提出了 "一種基于視頻監(jiān)控的徘徊檢測系統(tǒng)及方法"。 該專利提出的方法通過檢測目標(biāo)的運(yùn)動軌跡,當(dāng)軌跡長度超過設(shè)定閾值時判定為徘徊。此 方法涉及的目標(biāo)檢測算法為傳統(tǒng)的背景差分法,需要進(jìn)行背景建模、背景更新及前景檢測。 該背景差分方法需要存儲大量的背景數(shù)據(jù),同時在背景擾動、陰影抑制以及實(shí)時性方面存 在不足,不利于實(shí)際場景的應(yīng)用。中國專利CN102810206A[2]提出了"一種基于動態(tài)規(guī)劃的 實(shí)時徘徊檢測算法"。該專利提出的方法通過提取特征點(diǎn)進(jìn)行SSDA匹配,檢測匹配特征點(diǎn), 然后利用動態(tài)規(guī)劃進(jìn)行軌跡跟蹤,對軌跡進(jìn)行評價判斷是否為徘徊。此方法設(shè)計(jì)的特征對 光照變化較為敏感,在光照變化明顯的場景中匹配效果會急劇下降;SSDA匹配對于剛性物 體具有良好的效果,但是對于非剛性物體如行人等魯棒性較差。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提供一種基于目標(biāo)跟蹤的行人徘徊檢測算法,應(yīng)用于智能視頻 監(jiān)控系統(tǒng)中,以滿足系統(tǒng)實(shí)時性和準(zhǔn)確性的要求。
[0007] 本發(fā)明提出的基于目標(biāo)跟蹤的行人徘徊檢測算法,依次分為三個階段:目標(biāo)提取 階段,目標(biāo)跟蹤階段,徘徊判定階段。主框架如圖1所示。
[0008] 在目標(biāo)提取階段,通過Vibe背景差分的方法提取圖像中的運(yùn)動目標(biāo),具有較高的 時間性能和召回率;在目標(biāo)跟蹤階段,對提取出的運(yùn)動目標(biāo)計(jì)算顏色直方圖特征,然后利用 粒子濾波算法對連續(xù)幀進(jìn)行跟蹤以獲取目標(biāo)運(yùn)動軌跡,在實(shí)際場景中擁有較高的魯棒性和 實(shí)時性。最后在徘徊判定階段,使用目標(biāo)運(yùn)動軌跡的幾何特征進(jìn)行徘徊判定。具體說明如 下: 一、目標(biāo)提取階段,具體步驟為: (1)縮放圖像,即對輸入的第k幀圖像進(jìn)行預(yù)處理。
[0009] 對于分辨率大于1280 * 720的輸入圖像,使用雙線性差值算法將圖像等比例縮放 至寬度為720,對分辨率小于等1280 * 720的輸入圖像不進(jìn)行縮放處理。所用的轉(zhuǎn)換公式 為:
其中,罐表示原圖像中處的像素值,i、j分別表示x、y的整數(shù)部分,u、v表示小 數(shù)部分。
[0010] (2)利用Vibe模型對第k幀圖像進(jìn)行背景差分 為圖像中的每一個像素點(diǎn)建立包含N個樣本的樣本集:對于每一個像素點(diǎn),隨機(jī)選取 其相鄰點(diǎn)像素值作為樣本值對樣本集進(jìn)行填充。其中N的取值與硬件處理性能相關(guān),性能 越好N的取值可以適當(dāng)取較大值。
[0011] 對于第k幀圖像中每個像素點(diǎn),分別計(jì)算其與對應(yīng)樣本集中所有樣本的距離D,距 離計(jì)算公式為:
其中,r、g、b分別為該像素點(diǎn)紅色、綠色、藍(lán)色通道的值,rk、gk、bk分別為樣本點(diǎn)紅色、 綠色、藍(lán)色通道的值。
[0012] 統(tǒng)計(jì)其樣本集中與其距離D大于P-的樣本點(diǎn)個數(shù)η。若η大于難^,則標(biāo)記當(dāng)前點(diǎn) 為背景點(diǎn),否則標(biāo)記為前景點(diǎn)。其中_徵、繼I;是閾值,由實(shí)驗(yàn)確定給出的經(jīng)驗(yàn)值,使得算法在 耗時和效果之間能夠平衡。
[0013] 對標(biāo)記為背景的像素點(diǎn),以寒I#的概率去更新樣本集,同時以Ili的概率去更新其 相鄰像素點(diǎn)的樣本集,更新時采用隨機(jī)的方法選取要替換的樣本值。其中Il的值由實(shí)驗(yàn)統(tǒng)計(jì) 給出。
[0014] (3)計(jì)算第k幀圖像中的行人區(qū)域 初始時將圖像中的所有像素點(diǎn)標(biāo)記為未訪問,初始化區(qū)域標(biāo)記C=O。
[0015] 對于圖像中的某個前景點(diǎn),若其未被訪問:令C=C+1,將前景點(diǎn)標(biāo)記為已訪問、并 且屬于區(qū)域C。遞歸訪問該點(diǎn)周圍的四個相鄰點(diǎn),做同樣的標(biāo)記。
[0016] 遍歷圖像中所有未訪問過的前景點(diǎn),重復(fù)上述步驟,直到?jīng)]有未訪問的前景點(diǎn)。最 終得到C個行人區(qū)域。
[0017] (4)合并行人區(qū)域 遍歷所有區(qū)域,若區(qū)域中一點(diǎn)到另一個區(qū)域中一點(diǎn)的距離小于Lth,則將這兩個區(qū)域合 并為一個區(qū)域。距離計(jì)算公式為: LlN 丄UO丄(6548丄Z Λ "u 、" ?V / JA
其中,_奴_1和?υΡ分別表示一個像素點(diǎn)。Lth是閾值,根據(jù)圖像大小確定,使得屬于 同一個行人目標(biāo)的像素點(diǎn)成為一個聯(lián)通區(qū)域。
[0018] 二、目標(biāo)跟蹤階段,具體步驟為: (1)初始化行人的粒子濾波模型 對提取到的新的行人區(qū)域建立粒子濾波模型并進(jìn)行初始化。
[0019] 將行人目標(biāo)區(qū)域子圖像從RGB (紅、綠、藍(lán))色彩空間轉(zhuǎn)換為HSV (色調(diào)、飽和度、亮 度)色彩空間,公式如下:
其中,r、g、b分別為RGB色彩空間中三個通道的值,h、s、V分別為HSV色彩空間中三個 通道的值; 計(jì)算行人目標(biāo)區(qū)域子圖像的顏色直方圖Hist,公式如下:
其中,h、s、V分別為HSV色彩空間中三個通道的值,N為子圖像的大小,P為概率密度 函數(shù)。
[0020] 為該行人初始化N個粒子,公式如下:
其中,(x,y)為當(dāng)前圖像中行人區(qū)域中心點(diǎn)坐標(biāo),(xp,yp)為前一幀圖像中行人區(qū)域中 心點(diǎn)坐標(biāo),w為行人區(qū)域?qū)挾?,h為行人區(qū)域高度,s為縮放尺度,sp為前一幀的縮放尺度, Hist為行人區(qū)域(X,y, w, h)的顏色直方圖。
[0021] (2)對第k幀圖像進(jìn)行粒子轉(zhuǎn)移 對第k幀圖像中每個行人目標(biāo)區(qū)域,更新所有的N個粒子,公式如下:
其中,C由均值為0的高斯函數(shù)采樣得到,Hist為粒子更新后圖像(XiSi, YiSi, WiSi, hlSl)區(qū)域的HSV顏色直方圖,*表示前一幀圖像中相應(yīng)的值。
[0022] 計(jì)算每個粒子的權(quán)重,公式如下:
其中,K為歸一化系數(shù),λ為常數(shù),Hist為粒子初始化時的顏色直方圖。
[0023] (3)更新第k幀行人目標(biāo)的狀態(tài) 計(jì)算第k幀行人的位置,公式如下:
對權(quán)重Jii從大到小進(jìn)行排序,若Ji 'Jith,則丟棄_|對應(yīng)的粒子。Jith是閾值,由實(shí) 驗(yàn)給出的經(jīng)驗(yàn)值,用以抑制粒子的退化。
[0024] 若粒子總數(shù)小于N,則用最大權(quán)重TIi'對應(yīng)的粒子填充。
[0025] 三、徘徊判定階段,具體步驟為: (1)計(jì)算行人運(yùn)動區(qū)域和運(yùn)動軌跡 對第k幀中出現(xiàn)的所有行人,計(jì)算其從初始至今的運(yùn)動區(qū)域和運(yùn)動軌跡。
[0026] 獲取行人在0到k幀的軌跡點(diǎn),計(jì)算其運(yùn)動區(qū)域)),計(jì)算公 式為:
其中,|s|夢f為行人在第k幀中的位置。
[0027] 由于計(jì)算得到的行人軌跡有一定的噪聲,因此需要對軌跡進(jìn)行平滑,計(jì)算公式 為:
計(jì)算新軌跡點(diǎn)各點(diǎn)的曲率If。
[0028] (2)判斷運(yùn)動軌跡與運(yùn)動區(qū)域 計(jì)算行人運(yùn)動軌跡長度與運(yùn)動區(qū)域所在矩形對角線長度的比值,計(jì)算公式為:
其中,Z為行人運(yùn)動軌跡長度。
[0029] 計(jì)算行人運(yùn)動區(qū)域與監(jiān)控區(qū)域面積的比值,計(jì)算公式為:
其中,W、H分別為監(jiān)控區(qū)域的寬度和高度。
[0030] 若α大于%^且β大于爲(wèi)&則判斷行人行為屬于徘徊。為閾值,是由 實(shí)驗(yàn)統(tǒng)計(jì)出的經(jīng)驗(yàn)值,使得算法準(zhǔn)確性保持在一定水平的同時降低誤判率。
[0031] 否則,繼續(xù)計(jì)算運(yùn)動軌跡的離散曲率熵E,計(jì)算公式為:
其中,Il 0?為離散曲率的直方圖。
[0032] 若E大于|_,則判斷行人行為屬于徘徊。為閾值,是由實(shí)驗(yàn)統(tǒng)計(jì)出的經(jīng)驗(yàn)值, 使得算法準(zhǔn)確性保持在一定水平的同時降低誤判率。
[0033] 本發(fā)明使用Vibe模型對背景進(jìn)行差分以獲取目標(biāo),使用基于顏色的粒子濾波跟 蹤方法對目標(biāo)進(jìn)行跟蹤,利用目標(biāo)移動軌跡的幾何特征進(jìn)行徘徊檢測。對比現(xiàn)有技術(shù),本發(fā) 明所使用的方法能夠?qū)?fù)雜非線性的場景進(jìn)行處理,無需存儲大量背景數(shù)據(jù);能夠有效應(yīng) 對背景擾動,對光照有較強(qiáng)的魯棒性;能夠有效跟蹤監(jiān)測非剛性物體,如行人;能夠滿足實(shí) 時性要求。<