王 彤,王 巍,2,3*,崔益豪,朱天宇
(1. 河北工程大學(xué)信息與電氣工程學(xué)院,河北邯鄲056038; 2. 物聯(lián)網(wǎng)技術(shù)應(yīng)用教育部工程研究中心(江南大學(xué)),江蘇無(wú)錫214122;3. 江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇無(wú)錫214122)
(*通信作者電子郵箱wangwei83@hebeu.edu.cn)
近年來(lái),隨著大量監(jiān)控?cái)z像頭的使用,視頻監(jiān)控?cái)?shù)據(jù)爆炸性增長(zhǎng),對(duì)海量視頻數(shù)據(jù)的存儲(chǔ)、檢索、瀏覽提出了嚴(yán)峻的挑戰(zhàn)。為解決這一問(wèn)題Pritch等[1-2]和Rav-Acha等[3]提出了視頻濃縮技術(shù),極大提高了視頻瀏覽的速度,壓縮了監(jiān)控視頻存儲(chǔ)空間。其中運(yùn)動(dòng)目標(biāo)檢測(cè)作為視頻濃縮技術(shù)中的第一步驟,也是視頻濃縮系統(tǒng)搭建的基礎(chǔ),目的是為了提取到完整的背景與運(yùn)動(dòng)目標(biāo),所以運(yùn)動(dòng)目標(biāo)檢測(cè)技術(shù)作為視頻濃縮技術(shù)的關(guān)鍵步驟成為國(guó)內(nèi)外研究學(xué)者關(guān)注的重點(diǎn)。
運(yùn)動(dòng)目標(biāo)檢測(cè)的基本思想是:從視頻的幀圖像中建立背景模型,將當(dāng)前幀圖像與背景模型比較,得到運(yùn)動(dòng)目標(biāo)的信息。目前比較常用運(yùn)動(dòng)目標(biāo)檢測(cè)的方法主要有:幀差法[4]、光流法[5]和高斯混合建模(Gaussian Mixture Model,GMM)[6]。幀差法對(duì)背影變化不敏感,當(dāng)光照有細(xì)微變化影響圖像像素有輕微變化,運(yùn)行差分時(shí)可以相互抵消,穩(wěn)定性較好,但是很難適應(yīng)復(fù)雜的場(chǎng)景,所檢測(cè)出來(lái)的目標(biāo)有很大的“空洞”,并且?guī)g間隔的選擇對(duì)目標(biāo)檢測(cè)結(jié)果影響較大。光流法計(jì)算量大,對(duì)光線太敏感,在光照變化大的場(chǎng)景下識(shí)別效果不佳。雖然GMM[7]方法可以準(zhǔn)確檢測(cè)運(yùn)動(dòng)目標(biāo),且對(duì)光線的變化不敏感,但是建模過(guò)程復(fù)雜,計(jì)算量大,對(duì)慢速運(yùn)動(dòng)的目標(biāo)檢測(cè)效果 不 好。 2009 年,Barnich 等[8-9]提 出 了ViBe(Visual Background extractor)算法。ViBe算法的提出為運(yùn)動(dòng)目標(biāo)檢測(cè)提供了一個(gè)新的思路,使用ViBe 完成運(yùn)動(dòng)目標(biāo)檢測(cè)相對(duì)于其他算法計(jì)算量小,處理速度快,樣本衰減最優(yōu),具有較好的運(yùn)動(dòng)目標(biāo)檢測(cè)性能。
但是ViBe 算法隨著檢測(cè)速度的提高,鬼影會(huì)被引進(jìn)檢測(cè)中造成前景誤判,而且該算法在動(dòng)態(tài)背景中容易受噪聲和背景的干擾。基于高斯混合模型的ViBe 算法[10],雖然減少了鬼影出現(xiàn),但是由于建立模型方法的復(fù)雜性,導(dǎo)致算法計(jì)算能力下降,使得算法缺少實(shí)時(shí)性;結(jié)合三幀差分的ViBe 算法[11],雖然在特定情況下可以避免“鬼影”的出現(xiàn),但是在有些情況下會(huì)產(chǎn)生新的“鬼影”或空洞,并且選擇的步長(zhǎng)對(duì)其影響很大。而顏色布局描述子(Color Layout Descriptor,CLD)[12-15]可以描述視頻序列中幀圖像與幀圖像之間的顏色分布情況,獲得圖像的特征信息。所以本文提出了融合CLD 選取關(guān)鍵幀對(duì)關(guān)鍵幀進(jìn)行三幀差法[16]提取真實(shí)的背景模型的ViBe 算法來(lái)抑制鬼影的出現(xiàn),在運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度不同的場(chǎng)景下檢測(cè)步長(zhǎng)參數(shù)對(duì)結(jié)合三幀差分的ViBe 算法的影響,同時(shí)探索本文算法是否能彌補(bǔ)結(jié)合三幀差分的ViBe 算法在不用運(yùn)動(dòng)目標(biāo)速度的條件下需要改變步長(zhǎng)以適應(yīng)環(huán)境變化的缺點(diǎn)。在背景更新階段通過(guò)加入形態(tài)學(xué)處理和自適應(yīng)閾值相結(jié)合的方法消除動(dòng)態(tài)背景干擾。
ViBe 算法是一種非參數(shù)化聚類(lèi)背景建模方法,與其他算法相比ViBe 算法僅用第一幀圖像就可以完成背景模型初始化。它的基本思想是:為每一個(gè)像素點(diǎn)創(chuàng)建一個(gè)背景樣本集,將每一幀畫(huà)面的各個(gè)像素點(diǎn)與其對(duì)應(yīng)的背景樣本集作匹配,判斷該像素點(diǎn)是否為背景,有時(shí)由于光線的變化、相機(jī)的抖動(dòng)等原因?qū)е卤尘鞍l(fā)生了變化,所以當(dāng)檢測(cè)中滿足一定條件時(shí),會(huì)對(duì)背景樣本集進(jìn)行更新。該算法的核心部分包括背景模型初始化、背景像素點(diǎn)匹配、背景模型更新和異常處理模塊。具體流程如下:
1)ViBe 算法利用一個(gè)像素點(diǎn)與周?chē)渌袼攸c(diǎn)的灰度值相似特點(diǎn),隨機(jī)選取N個(gè)該像素點(diǎn)的周?chē)肃徲蛳袼刂担瑸槊恳粋€(gè)像素點(diǎn)建立一個(gè)背景采樣本集來(lái)初始化背景模型。
2)以2-D 歐氏空間的半徑R作為判斷閾值,對(duì)視頻中的每一幀圖像的每一個(gè)像素點(diǎn)與對(duì)應(yīng)的背景模型中的N個(gè)樣本值比較來(lái)判斷該像素點(diǎn)是否為背景像素點(diǎn)。統(tǒng)計(jì)在背景采樣樣本集中匹配為背景點(diǎn)的個(gè)數(shù)n,與所設(shè)定的個(gè)數(shù)匹配閾值#min作比較,若匹配數(shù)大于該閾值則表示該點(diǎn)為背景點(diǎn),如式(1)所示:

式(1)表示在圖像中(x,y)點(diǎn)在t時(shí)刻被判定為背景像素點(diǎn);b(x,y,t)=1,表示在圖像中(x,y)點(diǎn)在t時(shí)刻被判定為前景像素點(diǎn);最終得到一個(gè)二值化圖像的檢測(cè)結(jié)果。
3)ViBe 算法采用隨機(jī)選取像素點(diǎn)的方法來(lái)更新背景像素模型,經(jīng)過(guò)運(yùn)動(dòng)目標(biāo)檢測(cè)后如果檢測(cè)出像素點(diǎn)x是背景像素,那么從樣本集中隨機(jī)選擇一個(gè)樣本用該像素點(diǎn)的像素值v(x)代替。這種更新方式避免視頻中細(xì)微的抖動(dòng)對(duì)背景建模的影響,避免產(chǎn)生重影和誤差,使目標(biāo)檢測(cè)更加準(zhǔn)確。
4)在實(shí)際場(chǎng)景中,背景不是一成不變的,由于受到環(huán)境的影響,背景的變化會(huì)影響到算法的判斷,將變化了的背景判斷為前景。ViBe 算法會(huì)采用保守更新和前景計(jì)數(shù)點(diǎn)相結(jié)合的方法,即:判斷為前景的像素點(diǎn)不會(huì)被填充進(jìn)背景模型中,同時(shí)如果該像素點(diǎn)連續(xù)被判定為前景點(diǎn)的話,則將其更新為背景點(diǎn)。
顏色布局描述子(CLD)[13]是用來(lái)描述顏色在圖像中空間分布的顏色描述符,以一種緊湊的形式,有效地表達(dá)了圖像的顏色空間分布,計(jì)算代價(jià)小,提供了圖像與圖像的匹配和高速的片段與片段的匹配,常用于圖像檢索與視頻摘要技術(shù)。本文使用CLD 檢測(cè)視頻中不相似的幀畫(huà)面,選取本文算法需要的關(guān)鍵幀畫(huà)面。
CLD 的提取分為4 個(gè)階段,分別是:圖像分割、獲取區(qū)域塊代表顏色、離散余弦變換(Discrete Cosine Transform,DCT)和鋸齒掃描系數(shù)的非線性量化。如圖1 所示,首先將圖像從RGB 色彩模式(RGB color mode,RGB)映射到Y(jié)CrCb 空間中,用8×8 柵欄把圖像分割成64 個(gè)區(qū)域塊,計(jì)算每一塊的所有像素點(diǎn)各個(gè)顏色分量(Y,Cr,Cb)的平均值作為該區(qū)域塊的代表顏色,對(duì)每個(gè)區(qū)域塊的代表顏色進(jìn)行二維DCT。

圖1 顏色布局描述子原理圖Fig. 1 Principle diagram of color layout descriptor
然后對(duì)三組系數(shù)矩陣做之字掃描,由于經(jīng)過(guò)了DCT,所以圖像的主要信息全部集中在系數(shù)矩陣的左上角,矩陣的左上角是低頻部分的集中區(qū)域,矩陣的右下角部分則是圖像的冗余信息,找出低頻系數(shù)進(jìn)行量化,得到顏色布局特征參數(shù)。本文采用的是非線性量化,目的是減少系數(shù)矩陣的信息存儲(chǔ),使高頻部分量化后趨于0。對(duì)于Y 分量,取出6個(gè)低頻系數(shù)分別為F(0,0)、F(0,1)、F(1,0)、F(2,0)、F(1,1)、F(0,2),對(duì)于Cb,Cr 顏色分量分別取F(0,0)、F(0,1)、F(1,0),3 個(gè)顏色分量總共取得12 個(gè)參數(shù)構(gòu)成該圖像的顏色局部描述符,圖像間的相似程度用顏色布局描述符的特征向量的距離來(lái)判斷。

其中:D(img1,img2)表示img1,img2 兩個(gè)圖像的相似性量度,(Yi,img1,Cbi,img1,Cri,img1)和(Yi,img2,Cbi,img2,Cri,img2)分別是圖像img1與img2的各顏色分量對(duì)應(yīng)的第i個(gè)DCT 系數(shù)。圖像越相似,D(img1,img2)的值越小。
本文提出算法流程如圖2所示。本文采用CLD 描述子選取關(guān)鍵幀圖像做差分運(yùn)算,得到監(jiān)控視頻中真實(shí)背景,利用真實(shí)背景來(lái)建立背景采樣樣本集,但是在監(jiān)控的實(shí)際場(chǎng)景中,背景并不是一成不變的,所以使用自適應(yīng)閾值判別檢測(cè)誤判前景,使得動(dòng)態(tài)背景下背景模型更加穩(wěn)定。

圖2 基于CLD的ViBe算法流程Fig. 2 Flow chart of ViBe algorithm based on CLD
由于ViBe 算法選用的視頻第一幀圖像來(lái)建立背景模型,所以當(dāng)?shù)谝粠瑘D像中有運(yùn)動(dòng)目標(biāo)時(shí),會(huì)把運(yùn)動(dòng)目標(biāo)像素點(diǎn)放入背景模型中當(dāng)作背景樣本值,這樣檢測(cè)運(yùn)動(dòng)目標(biāo)時(shí),會(huì)把運(yùn)動(dòng)目標(biāo)誤檢為背景,所以當(dāng)該運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)時(shí),會(huì)出現(xiàn)“鬼影”,結(jié)合三幀差分的ViBe 算法[11]在一些場(chǎng)景下可以有效地解決這一問(wèn)題;但是這種方法得到的運(yùn)動(dòng)目標(biāo)不連續(xù),會(huì)產(chǎn)生空洞,而步長(zhǎng)的選擇又對(duì)其影響特別大,步長(zhǎng)過(guò)短時(shí),或者運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度過(guò)慢,幀差后的運(yùn)動(dòng)目標(biāo)有可能發(fā)生重合,因?yàn)橄袼攸c(diǎn)的像素值相差不多,所以運(yùn)動(dòng)目標(biāo)區(qū)域會(huì)有空白,造成空洞,甚至有些區(qū)域會(huì)產(chǎn)生新的“鬼影”。
本文提出采用CLD 描述符來(lái)選取關(guān)鍵幀,設(shè)定CLD 處理幀數(shù)N,圖像相似度閾值a,將提出的3 個(gè)關(guān)鍵幀記作img1、img2、img3,作三幀差分,得到背景圖像。
1)選取關(guān)鍵幀:將視頻圖片前N幀圖像的格式從RGB 空間,轉(zhuǎn)換為YCrCb 空間,之后經(jīng)過(guò)DCT 和量化,取得顏色局部描述符,求得第1 幀圖像img1 的描述符與后面每一幀圖像的相似性量度,直到其值大于圖像相似度閾值a小于b,獲取該關(guān)鍵幀圖像img2,再用相同的方法獲取第三幀關(guān)鍵幀img3圖像。
2)確定運(yùn)動(dòng)目標(biāo)位置:將獲取的三幀關(guān)鍵幀圖像作三幀差分運(yùn)算,即如式(3),將得到的差分結(jié)果作“與”運(yùn)算,根據(jù)閾值φ來(lái)判斷第1幀關(guān)鍵幀圖像中的運(yùn)動(dòng)目標(biāo)位置。

3)填充運(yùn)動(dòng)目標(biāo)位置:將img1 含有運(yùn)動(dòng)目標(biāo)的位置用img3中該位置填充,得到的結(jié)果作為真實(shí)的背景圖像。
4)將得到的真實(shí)的背景作為檢測(cè)運(yùn)動(dòng)目標(biāo)的背景模型,用其建立背景采樣樣本集,從第一幀視頻圖像開(kāi)始檢測(cè)運(yùn)動(dòng)目標(biāo)。
該算法具體流程如下所示:

在實(shí)際應(yīng)用的背景中,有很多含有高頻運(yùn)動(dòng)的背景即動(dòng)態(tài)背景,比如:含有風(fēng)吹動(dòng)樹(shù)葉的背景、陽(yáng)光照射下水面波紋晃動(dòng)的背景。在動(dòng)態(tài)背景的場(chǎng)景下,由于樹(shù)葉或者水面像素的變化,在檢測(cè)計(jì)算中容易形成誤判,把這些動(dòng)態(tài)背景的晃動(dòng)誤判為前景。在檢測(cè)出來(lái)的背景處存在較多的白點(diǎn)現(xiàn)象,這些白點(diǎn)包括噪聲點(diǎn)以及受到動(dòng)態(tài)背景影響的背景像素點(diǎn)。為了解決這一問(wèn)題,本文通過(guò)形態(tài)學(xué)處理,通過(guò)開(kāi)運(yùn)算,先腐蝕后膨脹來(lái)處理動(dòng)態(tài)背景中小的噪聲點(diǎn),將動(dòng)態(tài)背景中小的連通域分離開(kāi),平滑較大運(yùn)動(dòng)物體的邊界輪廓且并不改變連通區(qū)域面積的大小,然后通過(guò)計(jì)算前景連通域面積,設(shè)立一個(gè)自適應(yīng)的連通區(qū)域面積閾值,即若連通區(qū)域面積小于當(dāng)前幀中面積最大的前景連通區(qū)域面積的k%,采用填補(bǔ)空洞的辦法更新背景模型,消除背景干擾點(diǎn)。該算法的具體實(shí)現(xiàn)流程如下所示。

本文實(shí)驗(yàn)是在系統(tǒng)類(lèi)型為64 位操作系統(tǒng)的Windows7 聯(lián)想臺(tái)式電腦,內(nèi)存為8 GB 的環(huán)境下實(shí)現(xiàn)的,并且本文算法是在編程運(yùn)行環(huán)境為MatlabR2016a 進(jìn)行編寫(xiě)的。同時(shí)本章將本文算法與Van- Droogenbroeck 和Olivier Barnich 提出的ViBe 算法和結(jié)合三幀差分法的ViBe 算法進(jìn)行實(shí)驗(yàn)對(duì)比。本實(shí)驗(yàn)中相關(guān)參數(shù)的選擇如下:背景樣本集中樣本個(gè)數(shù)N=20,樣本集匹配點(diǎn)的個(gè)數(shù)閾值R=20,#min=2,更新采樣概率為16,真實(shí)背景檢測(cè)閾值φ=30,相似度閾值a=0.72,b=0.67。本文分別在單運(yùn)動(dòng)目標(biāo)場(chǎng)景、多運(yùn)動(dòng)目標(biāo)場(chǎng)景、含有動(dòng)態(tài)背景的場(chǎng)景對(duì)本文算法進(jìn)行測(cè)試。將原始ViBe 算法、結(jié)合三幀差分的ViBe 算法與本文算法在鬼影消除方面進(jìn)行比較,重點(diǎn)體現(xiàn)本文算法在運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度不同的情況下有良好的魯棒性,彌補(bǔ)結(jié)合三幀差分的ViBe 算法在環(huán)境不同的情況下需要調(diào)整參數(shù)大小以適應(yīng)其變化的缺點(diǎn);將本文算法在動(dòng)態(tài)背景下進(jìn)行測(cè)試,并對(duì)其結(jié)果與單高斯背景建模、多高斯背景建模、原始ViBe算法進(jìn)行對(duì)比分析。
如圖3 所示,分別是ViBe 算法、結(jié)合三幀差分的ViBe 算法以及本文算法提取的背景模型以及檢測(cè)結(jié)果。第一行所示的三張圖片分別為ViBe 算法、結(jié)合三幀差分的ViBe 算法、本文算法所提取的背景模型。如圖3(a)是原始視頻第一幀圖像,也是ViBe 算法所選取的背景模型,該背景模型表現(xiàn)出ViBe 算法第一幀建模的特點(diǎn),保留了第一幀圖像所包含的所有前景信息;圖3(b)是結(jié)合是三幀差分的ViBe算法提取的背景模型,通過(guò)算法的優(yōu)化,該算法提取的背景模型雖然減少了前景信息量,但是仍然包含少量運(yùn)動(dòng)目標(biāo)信息;圖3(c)是通過(guò)本文算法提取出的背景模型,前兩者算法所提取的背景模型都包含著運(yùn)動(dòng)目標(biāo)信息,而本文算法提取到的背景模型完整且清晰,實(shí)驗(yàn)結(jié)果表明由于本文算法可以提取出完整、準(zhǔn)確的背景模型,所以為以后的檢測(cè)的準(zhǔn)確性提供了保障。
圖3(d)(e)(f)是ViBe 算法、結(jié)合三幀差分的ViBe 算法以及本文算法對(duì)原始視頻第80 幀圖像進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)的實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)表明本文算法可以完全避免“鬼影”的出現(xiàn)。圖3(d)為ViBe算法對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)實(shí)驗(yàn)結(jié)果,圖3(a)中ViBe算法提取的背景模型中的運(yùn)動(dòng)目標(biāo)即黑色矩形框中的位置,被記錄為背景信息,導(dǎo)致當(dāng)運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)時(shí),運(yùn)動(dòng)目標(biāo)所在位置的像素點(diǎn)被記錄為前景信息,造成誤判,形成圖3(d)中白色矩形框中的“鬼影”;圖3(e)是結(jié)合三幀差法ViBe算法檢測(cè)運(yùn)動(dòng)目標(biāo)的實(shí)驗(yàn)結(jié)果,由于做幀差時(shí),運(yùn)動(dòng)目標(biāo)位置發(fā)生重疊,導(dǎo)致提取背景圖像時(shí),會(huì)把另一幀運(yùn)動(dòng)目標(biāo)的位置替換到背景圖相應(yīng)位置,所以建立背景模型不準(zhǔn)確,同樣將部分運(yùn)動(dòng)目標(biāo)信息讀入背景模型中,白色矩形框中的導(dǎo)致“鬼影”出現(xiàn);圖3(d)是本文算法提取完整背景模型,成功消除了“鬼影”,得到真實(shí)運(yùn)動(dòng)目標(biāo),且具有良好的魯棒性,不容易受到噪聲干擾。

圖3 三種算法在單目標(biāo)場(chǎng)景下的實(shí)驗(yàn)結(jié)果Fig. 3 Experimental results of three algorithms in single target scenarios
圖4 是在多目標(biāo)運(yùn)動(dòng)的場(chǎng)景下對(duì)ViBe 算法、結(jié)合三幀差分的ViBe 算法以及本文算法進(jìn)行測(cè)試,可以看到本文改進(jìn)后的算法在運(yùn)動(dòng)目標(biāo)多且混亂的情況下,仍然可以準(zhǔn)確檢測(cè)出運(yùn)動(dòng)目標(biāo)位置。圖4(a)為原視頻原始圖片,圖4(b)為本文算法提取到的背景模型,可以看出本文算法提取到了完整的背景信息且不包含任何運(yùn)動(dòng)目標(biāo)信息;圖4(c)中右上角有許多誤判的運(yùn)動(dòng)目標(biāo),由于運(yùn)動(dòng)目標(biāo)離鏡頭遠(yuǎn),運(yùn)動(dòng)目標(biāo)面積小,且運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)緩慢,造成有許多鬼影出現(xiàn)在檢測(cè)畫(huà)面中,所以在檢測(cè)出來(lái)的運(yùn)動(dòng)目標(biāo)中無(wú)法判斷哪些是真正的運(yùn)動(dòng)目標(biāo),哪些是“鬼影”。所以該算法在多目標(biāo)且環(huán)境復(fù)雜的場(chǎng)景下容易發(fā)生檢測(cè)混亂;圖4(d)和圖4(c)效果相差不多,在檢測(cè)運(yùn)動(dòng)速度較快的運(yùn)動(dòng)目標(biāo)時(shí),鬼影消除效果比較好,但是在檢測(cè)圖片的左上角處,存在運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)緩慢的運(yùn)動(dòng)目標(biāo),所以仍然出現(xiàn)大量“鬼影”;圖4(e)可以清楚地看出本文算法通過(guò)CLD 描述子選取的關(guān)鍵幀做三幀差法還原出來(lái)的背景要比原ViBe 算法和結(jié)合三幀差分的ViBe 算法還原的背景模型要真實(shí)、可靠、準(zhǔn)確,所以在檢測(cè)過(guò)程中徹底消除了鬼影,提取出的運(yùn)動(dòng)目標(biāo)清晰準(zhǔn)確。

圖4 三種算法在多目標(biāo)場(chǎng)景下的實(shí)驗(yàn)結(jié)果Fig. 4 Experimental results of three algorithms in multi-target scenarios
圖5 是在運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度不同的情況下對(duì)算法的準(zhǔn)確性進(jìn)行測(cè)試。從圖5 的實(shí)驗(yàn)結(jié)果可以明顯地看出,運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速率的不同,會(huì)影響算法的準(zhǔn)確度。對(duì)于原ViBe 算法,只要第一幀視頻有運(yùn)動(dòng)目標(biāo),ViBe 算法百分之百會(huì)檢測(cè)出鬼影,造成誤判,所以運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)快慢對(duì)該算法無(wú)顯著影響。
圖5 測(cè)試結(jié)果顯示,結(jié)合三幀差分的ViBe 算法在運(yùn)動(dòng)目標(biāo)速度慢的時(shí)候,即在行人的測(cè)試視頻場(chǎng)景下,其檢測(cè)結(jié)果與ViBe 算法相同,當(dāng)運(yùn)動(dòng)目標(biāo)速度快時(shí),即在城市汽車(chē)測(cè)試視頻場(chǎng)景下時(shí),其“鬼影”的像素面積比ViBe算法產(chǎn)生的“鬼影”像素面積減少將近一半;在高速汽車(chē)的測(cè)試視頻場(chǎng)景下,其檢測(cè)結(jié)果與本文算法檢測(cè)結(jié)果一致,且不產(chǎn)生“鬼影”。

圖5 三種算法在不同運(yùn)動(dòng)目標(biāo)速度下的實(shí)驗(yàn)結(jié)果Fig. 5 Experimental results of three algorithms at different moving target speed
從圖6(a)中不難看出運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度對(duì)結(jié)合三幀差的算法檢測(cè)的準(zhǔn)確率有很大的影響。

圖6 運(yùn)動(dòng)目標(biāo)速度與步長(zhǎng)對(duì)結(jié)合三幀差分的ViBe算法的影響Fig. 6 Effect of moving target speed and step size on ViBe algorithm combined with three frame difference
隨著運(yùn)動(dòng)目標(biāo)速度的變化,運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度越快,那么該算法的準(zhǔn)確率呈上升趨勢(shì),當(dāng)運(yùn)動(dòng)目標(biāo)速度達(dá)到70 km/h的時(shí)候,結(jié)合三幀差分的ViBe 算法與本文算法的準(zhǔn)確度達(dá)到一致,但是運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度越慢,就越容易檢測(cè)出鬼影,造成算法對(duì)前景的誤判,影響ViBe 算法準(zhǔn)確度。而本文算法無(wú)論運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度的快慢都有很好的魯棒性,可以完整檢測(cè)出運(yùn)動(dòng)目標(biāo)且完全避免鬼影的出現(xiàn)。圖6(b)(c)(d)是結(jié)合三幀差分的ViBe 算法在運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度不同的情況下步長(zhǎng)的選擇對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)準(zhǔn)確率的影響。實(shí)驗(yàn)表明,如圖6(b)所示在運(yùn)動(dòng)目標(biāo)在5 km/h的速度下運(yùn)動(dòng),結(jié)合三幀差分的ViBe算法步長(zhǎng)選取20幀時(shí),其準(zhǔn)確率可以與本文算法在運(yùn)動(dòng)目標(biāo)速度為5 km/h 時(shí)的準(zhǔn)確率達(dá)到一致;圖6(c)表明在運(yùn)動(dòng)目標(biāo)速度為40 km/h 時(shí),結(jié)合三幀差分的ViBe 算法步長(zhǎng)選取10 幀可以使準(zhǔn)確率達(dá)到最大值與本文算法在運(yùn)動(dòng)目標(biāo)速度為40 km/h 時(shí)的準(zhǔn)確率達(dá)到一致;圖6(d)表明當(dāng)運(yùn)動(dòng)目標(biāo)速度為70 km/h 時(shí),步長(zhǎng)選為5 幀時(shí),結(jié)合三幀差分的ViBe 算法的準(zhǔn)確率等于本文算法在運(yùn)動(dòng)目標(biāo)為70 km/h 時(shí)的準(zhǔn)確率。經(jīng)過(guò)兩種算法的實(shí)驗(yàn)對(duì)比表明,結(jié)合三幀差分的ViBe 算法只有在步長(zhǎng)與運(yùn)動(dòng)目標(biāo)速度達(dá)到一定條件時(shí),其算法準(zhǔn)確率才可以與本文算法的準(zhǔn)確率達(dá)到一致,而本文算法不需要協(xié)調(diào)步長(zhǎng)參數(shù)與運(yùn)動(dòng)目標(biāo)速度就可以達(dá)到最大準(zhǔn)確率。
表1、表2是在公共區(qū)域監(jiān)控視頻場(chǎng)景中運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度不同的情況下,相似度量閾值的選擇對(duì)準(zhǔn)確率的影響。相似度量閾值決定了關(guān)鍵幀的選取,同時(shí)也決定了運(yùn)動(dòng)目標(biāo)檢測(cè)的準(zhǔn)確率。經(jīng)過(guò)6組行人測(cè)試視頻與6組汽車(chē)測(cè)試視頻的實(shí)驗(yàn)表明,本文算法對(duì)相似度量閾值的選取十分敏感,偏大或偏小都會(huì)影響運(yùn)動(dòng)目標(biāo)檢測(cè)的準(zhǔn)確度。其中行人測(cè)試視頻中的視頻1 和視頻2 是在公園里行走的行人的視頻;視頻3 廣場(chǎng)上來(lái)回行走的人群與騎著自行車(chē)的人的視頻;視頻4、5是校園教學(xué)樓走廊上下課的學(xué)生,視頻6是實(shí)驗(yàn)樓大廳行走的研究人員。當(dāng)本文算法的相似度量閾值選擇為a=0.62,b=0.67時(shí),對(duì)6組基于行人的室外監(jiān)控視頻進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè),得到的準(zhǔn)確率最大值為94.4%,最小值為41.1%,雖然在檢測(cè)視頻3時(shí),其準(zhǔn)確率大于當(dāng)a=0.67,b=0.72時(shí)對(duì)該視頻檢測(cè)的準(zhǔn)確度,但是該閾值僅適用于視頻3,其他視頻的準(zhǔn)確度并未有明顯優(yōu)勢(shì)。當(dāng)a=0.72,b=0.78時(shí),其檢測(cè)后的準(zhǔn)確率最高94.6%,最低48.4%,該閾值的設(shè)定對(duì)視頻2、6有良好的適應(yīng)力;但是對(duì)于視頻5、6選擇a=0.67,b=0.72,可以使檢測(cè)結(jié)果準(zhǔn)確率更高。實(shí)驗(yàn)結(jié)果表明,本文算法選取相似量度閾值a=0.67,b=0.72 時(shí),在室外行人運(yùn)動(dòng)的場(chǎng)景下的運(yùn)動(dòng)目標(biāo)檢測(cè)準(zhǔn)確率更高、更穩(wěn)定。
對(duì)基于汽車(chē)行駛的視頻,同樣用本文算法做相同的實(shí)驗(yàn),在汽車(chē)測(cè)試視頻中,視頻1、2 是汽車(chē)在城市主城區(qū)正常行駛的視頻;視頻3、4 是在汽車(chē)在高架橋上行駛的測(cè)試視頻;視頻5、6 是汽車(chē)在高速公路上行駛的測(cè)試視頻。當(dāng)相似度量閾值為a=0.62,b=0.67 時(shí),檢測(cè)準(zhǔn)確率最大值為92.8%,最小值為40%,該閾值適用于汽車(chē)測(cè)試視頻4,但對(duì)于其他測(cè)試視頻效果并不理想;相似度量閾值為a=0.72,b=0.78 時(shí),檢測(cè)結(jié)果準(zhǔn)確率最大值為93.3%,最小值為52.8%,在6 段測(cè)試視頻中,僅對(duì)視頻4 有不錯(cuò)的效果,不適用于測(cè)試視頻中所有的場(chǎng)景。與上一組實(shí)驗(yàn)相同,當(dāng)相似量度閾值為a=0.67,b=0.72 時(shí),檢測(cè)結(jié)果的準(zhǔn)確率高且穩(wěn)定。由兩組實(shí)驗(yàn)可知在室外場(chǎng)景下,本文算法選擇相似度量閾值為a=0.67,b=0.72 時(shí),可是使本文算法的準(zhǔn)確率性能達(dá)到最優(yōu)。同時(shí)運(yùn)動(dòng)目標(biāo)速度不同而選取的閾值相同進(jìn)一步證明了本文算法的準(zhǔn)確率只與相似量度閾值有關(guān),運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)速度并不影響相似量度閾值的選擇。經(jīng)過(guò)兩組實(shí)驗(yàn)測(cè)試表明本文所選取的閾值a=0.67,b=0.72在不同的運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)速度下具有良好的穩(wěn)定性。

表1 本文算法在行人視頻下選擇不同相似度量閾值的準(zhǔn)確率Tab. 1 Accuracy of the proposed algorithm to select different similarity measurement thresholds under pedestrian video

表2 本文算法在汽車(chē)視頻下選擇不同相似度量閾值的準(zhǔn)確率Tab. 2 Accuracy of the proposed algorithm to select different similarity measurement thresholds under car video
由于在動(dòng)態(tài)背景下很難建立一個(gè)穩(wěn)定的背景模型,所以在動(dòng)態(tài)背景下進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)的效果不好,許多算法都不能很好地處理這個(gè)問(wèn)題,本文所選取的視頻是分別是具有水面波紋、噴泉以及晃動(dòng)的樹(shù)葉的動(dòng)態(tài)背景視頻。圖7 是在動(dòng)態(tài)背景下對(duì)單高斯背景建模、多高斯背景建模、ViBe 算法與本文算法進(jìn)行實(shí)驗(yàn)對(duì)比,檢測(cè)算法在動(dòng)態(tài)背景下的適應(yīng)度。通過(guò)實(shí)驗(yàn)可以看出多高斯和單高斯在水面波紋晃動(dòng)的情況下都會(huì)有誤檢的情況,單高斯背景建模雖然在動(dòng)態(tài)背景下有很好的適應(yīng)力,可是在檢測(cè)運(yùn)動(dòng)目標(biāo)時(shí),有嚴(yán)重的空洞現(xiàn)象,而且容易受到噪聲的影響;多高斯背景建模的背景建模初始化速度和背景更新的計(jì)算方法復(fù)雜,計(jì)算速度慢,雖然不會(huì)有空洞的現(xiàn)象,但是很容易受動(dòng)態(tài)背景的影響,而且不具有抗噪性,檢測(cè)質(zhì)量很差;ViBe 算法由于它是第一幀圖像背景建模所以很難適應(yīng)動(dòng)態(tài)背景的變化,檢測(cè)結(jié)果所誤檢信息不僅包含因?yàn)閯?dòng)態(tài)背景變化所含有的背景信息還包括產(chǎn)生的“鬼影”;而本文算法在動(dòng)態(tài)背景下仍然會(huì)穩(wěn)定檢測(cè)出前景信息,所以會(huì)產(chǎn)生較多且面積大的誤檢區(qū)域。圖7(f)的實(shí)驗(yàn)是針對(duì)動(dòng)態(tài)背景情況下提出的本文算法,經(jīng)過(guò)本文所提出的形態(tài)學(xué)后處理可以有效地去除動(dòng)態(tài)背景對(duì)ViBe 算法的干擾,鬼影和誤檢的虛警幾乎為零,但是也有前景被誤檢為背景的地方,并且還有空洞產(chǎn)生,但是整體來(lái)看,本文算法大大提高了檢測(cè)的準(zhǔn)確性和清晰度,其抗噪性和魯棒性皆優(yōu)于其他三種算法,檢測(cè)出的結(jié)果更接近真實(shí)的運(yùn)動(dòng)目標(biāo)。
ViBe 算法是一種像素級(jí)的背景建模方法,它的初始幀建模的特點(diǎn)相對(duì)于其他算法就有初始化速度快的優(yōu)點(diǎn),并且ViBe 算法的背景更新策略是以像素為單位進(jìn)行更新,如果該算法在背景更新中將全部像素點(diǎn)更新,則更新部分的算法時(shí)間復(fù)雜度為O(height*width),但是ViBe 算法更新策略中,每一個(gè)點(diǎn)都有更新的概率,所以更新部分的時(shí)間復(fù)雜度就會(huì)降為O(1/rate*height*width),一般rate的值取16。經(jīng)過(guò)對(duì)ViBe算法的分析,ViBe 算法初始幀建模的特點(diǎn)使其在該部分的代碼時(shí)間復(fù)雜度為O(1),在ViBe 算法中該復(fù)雜度可以忽略不計(jì),估計(jì)出ViBe 算法在目標(biāo)檢測(cè)時(shí)的時(shí)間復(fù)雜度為O[1+(n*height*width)3+n*1/rate*height*width]。根據(jù)時(shí)間復(fù)雜度的規(guī)則次數(shù)小的忽略,則ViBe 算法最后的時(shí)間復(fù)雜度為O[(height*width)3]。結(jié)合三幀差分的ViBe 算法為了改善原始ViBe 的“鬼影”的缺點(diǎn),在背景建模部分做出了改進(jìn),將初始幀建模,改為結(jié)合三幀差分建模,根據(jù)步長(zhǎng)選擇三幀幀圖像做差分運(yùn)算,得到的差分結(jié)果做填充,該算法在背景建模部分的改進(jìn)并不涉及循環(huán),故其時(shí)間復(fù)雜度仍然與原始ViBe 算法保持一致,為O[(n*height*width)3]。本文算法在結(jié)合三幀差分的ViBe 的基礎(chǔ)上加入了用CLD 提取關(guān)鍵幀的方法,并且在ViBe 算法的更新策略上加入了形態(tài)學(xué)處理以及設(shè)立自適應(yīng)閾值的方法來(lái)讓本文算法更好地適應(yīng)動(dòng)態(tài)背景的變化。由于在背景建模階段加入的循環(huán)次數(shù)是根據(jù)圖像相似程度來(lái)決定的,并且尋找關(guān)鍵幀圖像時(shí)做出循環(huán)處理,該部分的循環(huán)次數(shù)不會(huì)超過(guò)視頻總幀數(shù)n,所以在本文算法中該部分的時(shí)間復(fù)雜度忽略不計(jì),本文算法的時(shí)間復(fù)雜度即同樣為O[(n*height*width)3]。
通過(guò)對(duì)ViBe算法、結(jié)合三幀差分的ViBe算法以及本文算法的時(shí)間復(fù)雜度的估計(jì)與分析,可以發(fā)現(xiàn)三種算法時(shí)間復(fù)雜度是同一數(shù)量級(jí)的,并且都是由視頻幀數(shù)以及像素值來(lái)決定的,只通過(guò)估計(jì)時(shí)間復(fù)雜度無(wú)法比較三者的效率,但是算法的運(yùn)行時(shí)間可以更直觀地說(shuō)明算法的效率與復(fù)雜度。表3是ViBe算法、結(jié)合三幀差分的ViBe算法以及本文算法在三種規(guī)格的視頻下的運(yùn)行時(shí)間比較,從中可以看出隨著幀數(shù)的增多三種算法的運(yùn)行時(shí)間都在增長(zhǎng),且結(jié)合三幀差分的ViBe算法以及本文算法的運(yùn)行時(shí)間都高于原始ViBe算法,但是相差并不多。就此說(shuō)明,隨著本文算法抑制“鬼影”的性能以及適應(yīng)動(dòng)態(tài)背景的性能的提高,算法的運(yùn)行時(shí)間也在增多。

表3 三種算法的運(yùn)行時(shí)間對(duì)比Tab. 3 Comparison of running time of three algorithms
本文提出了融合提取關(guān)鍵幀改進(jìn)的ViBe 算法,在原始的ViBe 算法融合CLD 描述子提取關(guān)鍵幀結(jié)合三幀差分法建立背景模型,以及加入自適應(yīng)閾值的策略來(lái)控制動(dòng)態(tài)背景下的干擾,完全避免了ViBe 算法鬼影的出現(xiàn),準(zhǔn)確檢測(cè)出運(yùn)動(dòng)目標(biāo)的位置以及運(yùn)動(dòng)信息,大大降低了誤檢率,可以很好地適應(yīng)動(dòng)態(tài)背景。本文分別在單目標(biāo)、多目標(biāo)、運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度不同和動(dòng)態(tài)背景等多種場(chǎng)景下對(duì)此算法進(jìn)行測(cè)試,與結(jié)合三幀差法的ViBe 算法進(jìn)行對(duì)比,實(shí)驗(yàn)表明在大多數(shù)情況下本文算法的準(zhǔn)確率要優(yōu)于結(jié)合三幀差法的ViBe 算法。在運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度快時(shí),結(jié)合三幀差分法的ViBe 算法的準(zhǔn)確率會(huì)與本文算法準(zhǔn)確率達(dá)到一致。經(jīng)過(guò)在具有動(dòng)態(tài)背景下的視頻對(duì)單高斯背景建模、多高斯背景建模、ViBe 算法和本文提出的算法進(jìn)行測(cè)試,可以得出本文算法避免檢測(cè)過(guò)程中雖然會(huì)出現(xiàn)空洞、殘缺現(xiàn)象,但是大體來(lái)看,在動(dòng)態(tài)背景下與其他三種算法相比更能克服動(dòng)態(tài)背景的干擾,提高了原始ViBe 算法的抗噪性和魯棒性。