陳從平,江高勇,張 力,凌 陽(yáng),郁春明,閆煥章,張 屹
(1.常州大學(xué) 機(jī)械與軌道交通學(xué)院,江蘇 常州 213164; 2.常州大學(xué) 材料科學(xué)與工程學(xué)院,江蘇 常州 213164)
關(guān)鍵字:運(yùn)動(dòng)目標(biāo)檢測(cè);ViBe算法;幀差法;鬼影;自適應(yīng)閾值
運(yùn)動(dòng)目標(biāo)檢測(cè)是實(shí)現(xiàn)計(jì)算機(jī)視覺(jué)對(duì)動(dòng)態(tài)目標(biāo)進(jìn)行鎖定跟蹤與分類(lèi)識(shí)別的關(guān)鍵,已廣泛應(yīng)用于如行人跟蹤,車(chē)輛追蹤,自動(dòng)駕駛等目標(biāo)處于運(yùn)動(dòng)狀態(tài)的視覺(jué)檢測(cè)場(chǎng)合,并隨著計(jì)算機(jī)和信息技術(shù)的發(fā)展正不斷擴(kuò)展應(yīng)用領(lǐng)域。
現(xiàn)有的目標(biāo)檢測(cè)方法主要有:光流法[1-3]、幀差法[4-6]、背景差分法[7-9]等,其中光流法利用背景幀的所有像素點(diǎn)建立速度矢量場(chǎng),當(dāng)圖像中存在運(yùn)動(dòng)目標(biāo)時(shí),由于運(yùn)動(dòng)目標(biāo)的速度矢量和背景點(diǎn)速度矢量不同,兩者會(huì)產(chǎn)生相對(duì)運(yùn)動(dòng),造成矢量場(chǎng)的動(dòng)態(tài)變化,此時(shí)通過(guò)定位矢量場(chǎng)中的突變位置來(lái)完成目標(biāo)檢測(cè),但該方法計(jì)算量大,難以實(shí)現(xiàn)實(shí)時(shí)和有效檢測(cè)。幀差法利用相鄰幀圖像存在運(yùn)動(dòng)目標(biāo)時(shí)會(huì)有明顯變化來(lái)實(shí)現(xiàn)目標(biāo)檢測(cè),通過(guò)將相鄰幀圖像對(duì)應(yīng)像素差分來(lái)獲得前景目標(biāo),該類(lèi)方法檢測(cè)效果不完整且內(nèi)部有孔洞。背景差分法通過(guò)建立背景模型,將當(dāng)前幀圖像與背景模型進(jìn)行比對(duì),通過(guò)設(shè)定相關(guān)閾值,進(jìn)而可以有效地提取出運(yùn)動(dòng)目標(biāo)。
常用的背景差分法主要有GMM[10]、Codebook模型[11]和ViBe[12]算法(visual background extraction algorithm),GMM利用多個(gè)帶有權(quán)重的高斯密度函數(shù)在時(shí)域上構(gòu)建背景模型,通過(guò)判定某像素點(diǎn)是否符合該時(shí)域的正態(tài)分布來(lái)判別前景點(diǎn)和背景點(diǎn),但是其計(jì)算量會(huì)隨時(shí)間增大,影響檢測(cè)速度。Codebook模型通過(guò)逐個(gè)為像素建立碼本集和進(jìn)行目標(biāo)檢測(cè),但背景擾動(dòng)下檢測(cè)準(zhǔn)確度較低。ViBe算法利用首幀圖像快速建立背景模型,將保守更新策略與前景點(diǎn)計(jì)數(shù)結(jié)合進(jìn)行背景更新,與GMM和Codebook相比邏輯簡(jiǎn)單,計(jì)算量小,運(yùn)算速度快,對(duì)背景擾動(dòng)有一定適應(yīng)性,但仍存在一些缺點(diǎn):1)當(dāng)初始幀存在運(yùn)動(dòng)目標(biāo)時(shí),檢測(cè)過(guò)程中會(huì)產(chǎn)生鬼影;2)背景初始化時(shí)從中心像素點(diǎn)的8鄰域內(nèi)選取20個(gè)像素點(diǎn)會(huì)導(dǎo)致重復(fù)選取;3)當(dāng)存在背景擾動(dòng)時(shí),固定分割閾值會(huì)導(dǎo)致檢測(cè)準(zhǔn)確率低。針對(duì)這些問(wèn)題,CHEN等人[13]提出檢測(cè)出鬼影后重復(fù)初始化鬼影區(qū)域,以加速鬼影消失。JIN[14]和ZHANG[15]利用ViBe算法檢測(cè)出前景區(qū)域,再通過(guò)改進(jìn)邊緣檢測(cè)算法提取運(yùn)動(dòng)目標(biāo)邊緣信息,最后將前景區(qū)域與運(yùn)動(dòng)目標(biāo)邊緣信息結(jié)合以獲得更準(zhǔn)確的前景目標(biāo)。涂偉強(qiáng)等人[16]采用前n幀圖像的平均像素值初始化背景模型來(lái)抑制鬼影,并根據(jù)最大類(lèi)間方差計(jì)算分割閾值以完成前景檢測(cè)。劉志豪等人[17]利用多幀初始化背景模型來(lái)消除鬼影,通過(guò)衡量背景擾動(dòng)程度構(gòu)建自適應(yīng)分類(lèi)閾值來(lái)完成前景檢測(cè)。劉家軍等人[18]通過(guò)選擇顏色和空間位置相近的點(diǎn)建立背景模型,并利用迭代法確定自適應(yīng)分割閾值,最后通過(guò)幀差法和二元指數(shù)分布結(jié)合來(lái)確定背景模型的更新概率。Huang等人[19]利用奇數(shù)幀圖像中的像素點(diǎn)建立背景模型,在背景更新過(guò)程中加入Time of map機(jī)制來(lái)抑制鬼影。方嵐等人[20]通過(guò)像素直方圖相似度匹配判別鬼影,將檢測(cè)出的鬼影區(qū)域替換為背景來(lái)實(shí)現(xiàn)鬼影抑制。崔鵬翔等人[21]提出利用歐式距離和Tanimoto系數(shù)結(jié)合,通過(guò)計(jì)算前景目標(biāo)區(qū)域和鄰域背景區(qū)域像素灰度直方圖的相似度來(lái)檢測(cè)鬼影,通過(guò)將鬼影區(qū)域設(shè)置為背景區(qū)域來(lái)實(shí)現(xiàn)消除鬼影。
本文提出一種改進(jìn)ViBe算法,利用改進(jìn)三幀差分法定位初始幀中的運(yùn)動(dòng)目標(biāo),并用最大外接矩形框選目標(biāo)區(qū)域,再通過(guò)局部初始化去除初始幀中的運(yùn)動(dòng)目標(biāo),在抑制鬼影的同時(shí)避免了重復(fù)初始化,減少了消除鬼影的時(shí)間。利用灰度相似函數(shù)和時(shí)空相似性結(jié)合,從初始五幀中按照灰度相似性等比例選取20個(gè)像素點(diǎn)建立背景模型,避免了樣本點(diǎn)重復(fù)選取的同時(shí)增加了背景模型的魯棒性。利用平均差法衡量樣本點(diǎn)集合的離散程度,構(gòu)建自適應(yīng)分割閾值代替原有的固定分割閾值,增加了算法對(duì)背景擾動(dòng)的適應(yīng)性。通過(guò)使用公共數(shù)據(jù)集CDnet2014中的視頻序列進(jìn)行實(shí)驗(yàn)對(duì)比,本文算法的總體表現(xiàn)優(yōu)于傳統(tǒng)ViBe算法以及其他算法。
ViBe算法是一種像素級(jí)視頻背景建模方法,該算法采用隨機(jī)策略從中心像素點(diǎn)的8鄰域內(nèi)選取20個(gè)像素點(diǎn)建立背景模型,將輸入像素點(diǎn)與背景模型中的樣本點(diǎn)進(jìn)行距離判定和閾值比較來(lái)完成前景檢測(cè),ViBe運(yùn)動(dòng)目標(biāo)檢測(cè)方法主要分為背景模型初始化、前景檢測(cè)、背景更新三個(gè)階段。
利用首幀圖像初始化背景模型,初始化背景模型的過(guò)程就是選取像素點(diǎn)放入樣本點(diǎn)集合的過(guò)程。樣本點(diǎn)選取過(guò)程如圖1所示,設(shè)圖1(a)為視頻序列中首幀圖像,圖1(b)表示從首幀圖像中某中心像素點(diǎn)x的8鄰域內(nèi)隨機(jī)選取N個(gè)樣本點(diǎn),圖1(c)表示利用隨機(jī)選取的N個(gè)樣本點(diǎn)建立像素點(diǎn)x的樣本點(diǎn)集合P(x,y),當(dāng)首幀所有像素點(diǎn)的樣本點(diǎn)集合選取完成后就完成了背景模型的初始化。
圖1 ViBe背景模型
P(x,y)={p1(x,y),p2(x,y)……pN(x,y)}
(1)
其中:Pi(x,y)(i=1,…N)表示樣本點(diǎn),N為P(x,y)中樣本點(diǎn)數(shù)量。
前景檢測(cè)是將新輸入像素點(diǎn)與背景模型中的樣本點(diǎn)進(jìn)行距離判定和閾值比較,從而判斷該像素點(diǎn)是否為前景點(diǎn)。如圖2所示,某一輸入像素點(diǎn)v的像素值為v(x,y),計(jì)算該像素點(diǎn)與其背景模型中樣本點(diǎn)的歐式距離,統(tǒng)計(jì)新輸入像素點(diǎn)v與背景模型中樣本點(diǎn)歐式距離小于匹配半徑R的個(gè)數(shù),即以v(x,y)為圓心,R為匹配半徑的歐式距離圓范圍內(nèi)樣本點(diǎn)個(gè)數(shù),若個(gè)數(shù)大于nmin,則認(rèn)為新輸入像素點(diǎn)v與首幀圖像中對(duì)應(yīng)位置像素點(diǎn)相似性較高,將其判定為背景點(diǎn),若個(gè)數(shù)小于nmin,則認(rèn)為新輸入像素點(diǎn)v與首幀圖像中對(duì)應(yīng)位置像素點(diǎn)相似性較低,將其判定為前景點(diǎn),公式表達(dá)為:
圖2 前景檢測(cè)示意圖
(2)
其中:BG為背景點(diǎn),F(xiàn)G為前景點(diǎn),SR[v(x,y)]是以v(x,y)為圓心,R為半徑的圓,nmin為樣本點(diǎn)匹配閾值。
背景模型更新策略分為保守更新策略和盲目更新策略,保守更新策略是只有背景點(diǎn)才能更新背景模型。該策略能夠準(zhǔn)確檢測(cè)運(yùn)動(dòng)目標(biāo),但是當(dāng)初始幀存在運(yùn)動(dòng)目標(biāo)時(shí),會(huì)將運(yùn)動(dòng)目標(biāo)當(dāng)作背景點(diǎn)放入背景模型中,在后續(xù)目標(biāo)檢測(cè)時(shí)會(huì)產(chǎn)生鬼影。盲目更新策略為前景點(diǎn)和背景點(diǎn)都會(huì)更新背景模型,對(duì)死鎖不敏感。但是當(dāng)運(yùn)動(dòng)目標(biāo)速度緩慢時(shí),檢測(cè)準(zhǔn)確度會(huì)降低。
ViBe算法將保守更新策略與前景點(diǎn)計(jì)數(shù)相結(jié)合,前景點(diǎn)計(jì)數(shù)就是對(duì)像素點(diǎn)進(jìn)行統(tǒng)計(jì),當(dāng)某一像素點(diǎn)連續(xù)K次被判定為前景時(shí),則會(huì)強(qiáng)制判定該像素點(diǎn)為背景點(diǎn),并用來(lái)更新背景模型。所以在ViBe算法檢測(cè)過(guò)程中,若某像素點(diǎn)被判定為背景點(diǎn)或連續(xù)k次被判定為前景點(diǎn),將有1/φ的概率更新與之對(duì)應(yīng)的背景模型中的樣本值及其鄰域像素點(diǎn)的樣本值,φ為更新因子。
ViBe算法利用首幀圖像初始化背景模型,雖然減少了建立背景模型的時(shí)間,但是當(dāng)首幀存在運(yùn)動(dòng)目標(biāo)時(shí)會(huì)產(chǎn)生鬼影,而且利用首幀圖像各像素點(diǎn)8鄰域內(nèi)隨機(jī)選取20個(gè)樣本點(diǎn)的策略,會(huì)導(dǎo)致樣本點(diǎn)重復(fù)選取和樣本點(diǎn)信息單一,導(dǎo)致像素點(diǎn)誤分類(lèi)和背景模型魯棒性不強(qiáng),另外當(dāng)背景存在擾動(dòng)情況時(shí),固定分割閾值適應(yīng)性差,會(huì)將部分背景點(diǎn)誤檢為前景點(diǎn),導(dǎo)致檢測(cè)準(zhǔn)確度低,針對(duì)以上問(wèn)題,本文提出一種改進(jìn)方法,其流程如圖3所示。
圖3 改進(jìn)算法流程圖
ViBe算法用首幀圖像初始化背景模型,如果首幀存在運(yùn)動(dòng)目標(biāo),建立背景模型時(shí)會(huì)將運(yùn)動(dòng)目標(biāo)歸為背景點(diǎn),放入到背景模型中,在前景檢測(cè)時(shí),當(dāng)首幀圖像中的運(yùn)動(dòng)目標(biāo)移動(dòng)后,先前運(yùn)動(dòng)目標(biāo)所在區(qū)域會(huì)顯示真實(shí)背景,而真實(shí)背景會(huì)被檢測(cè)為前景目標(biāo),此時(shí)就產(chǎn)生了鬼影。消除鬼影需要判斷初始幀中是否有運(yùn)動(dòng)目標(biāo)并消除運(yùn)動(dòng)目標(biāo),為此本文提出改進(jìn)三幀差分對(duì)初始幀進(jìn)行目標(biāo)檢測(cè),若得到的二值圖像連通域大于Smin,則認(rèn)為會(huì)在后續(xù)目標(biāo)檢測(cè)中會(huì)產(chǎn)生鬼影,并利用最小外接矩形定位鬼影區(qū)域,最后通過(guò)局部初始化進(jìn)行鬼影抑制。
改進(jìn)三幀差分示意圖如4所示,從視頻第一幀開(kāi)始,對(duì)連續(xù)三幀k-1、k、k+1圖像進(jìn)行差分運(yùn)算,將差分結(jié)果進(jìn)行OTSU閾值分割,從而得到當(dāng)前幀的前景目標(biāo),對(duì)得到的前景目標(biāo)進(jìn)行中值濾波操作,以去除前景目標(biāo)中的細(xì)小干擾點(diǎn),接著進(jìn)行膨脹運(yùn)算,使前景目標(biāo)更完整,最終獲得2個(gè)前景目標(biāo)dif1和dif2,再將dif1和dif2分別與k幀的邊緣提取結(jié)果進(jìn)行與運(yùn)算,得到的兩個(gè)結(jié)果再進(jìn)行或運(yùn)算,以獲得邊緣信息較為完整的前景目標(biāo)dif3,去除dif3中面積小于S1的前景斑點(diǎn)區(qū)域,填充面積小于S2的前景孔洞區(qū)域得到dif4,即初始幀中的運(yùn)動(dòng)目標(biāo)。
圖4 改進(jìn)三幀差分流程圖
在得到初始幀中的目標(biāo)dif4后需要進(jìn)行鬼影判斷、鬼影定位和鬼影抑制,鬼影判斷通過(guò)設(shè)置面積閾值Smin實(shí)現(xiàn),若初始幀中的運(yùn)動(dòng)目標(biāo)區(qū)域dif4的連通分量面積大于Smin,則認(rèn)為dif4區(qū)域會(huì)在前景檢測(cè)階段產(chǎn)生鬼影;鬼影定位通過(guò)最小外接矩形實(shí)現(xiàn),用最小外接矩形框選住dif4區(qū)域,以包含整個(gè)前景目標(biāo)區(qū)域,至此可以定位鬼影區(qū)域,設(shè)為Pg;鬼影抑制通過(guò)局部初始化最小外接矩形內(nèi)部區(qū)域?qū)崿F(xiàn),設(shè)Pd為后續(xù)幀差結(jié)果中與Pg對(duì)應(yīng)區(qū)域,當(dāng)Pd在幀差結(jié)果中被判定為背景時(shí),說(shuō)明Pd區(qū)域是真實(shí)背景,此時(shí)停止幀差,并利用真實(shí)背景Pd區(qū)域初始化前M幀中與Pg對(duì)應(yīng)區(qū)域,這樣就將前M幀中的運(yùn)動(dòng)目標(biāo)區(qū)域替換成了真實(shí)背景,從而消除了初始幀中運(yùn)動(dòng)目標(biāo),達(dá)到鬼影抑制的效果,并為后續(xù)背景模型初始化做準(zhǔn)備。
ViBe算法通過(guò)從中心像素點(diǎn)的8鄰域內(nèi)隨機(jī)選取20個(gè)像素點(diǎn)構(gòu)建背景模型,此方法會(huì)引起像素點(diǎn)重復(fù)選取,像素點(diǎn)選取過(guò)于集中也容易導(dǎo)致像素點(diǎn)誤分類(lèi),而且背景模型缺少時(shí)域信息,當(dāng)背景中存在擾動(dòng)情況時(shí)建立的背景模型魯棒性不強(qiáng)。針對(duì)這些問(wèn)題,本文從樣本點(diǎn)選取方式和選取范圍上做出改進(jìn),樣本點(diǎn)選取方式方面,由原來(lái)的隨機(jī)選取策略改為利用灰度相似函數(shù)選取樣本點(diǎn),這樣在增加樣本點(diǎn)和中心像素點(diǎn)相似度的同時(shí)避免樣本點(diǎn)的單一和重復(fù),樣本點(diǎn)選取范圍方面,從空域和時(shí)域信息中選取樣本點(diǎn),空域上將采樣范圍由原來(lái)的8鄰域擴(kuò)大為24鄰域,時(shí)域上由原來(lái)的首幀選取樣本點(diǎn)改為從完成鬼影抑制后的初始M幀中選取,使背景模型具備時(shí)域信息,增加了背景模型的魯棒性,具體選取步驟如下:
定義灰度相似函數(shù),將24鄰域內(nèi)像素點(diǎn)的灰度值與中心像素點(diǎn)的灰度值做差,得到差值后取絕對(duì)值,即:
G(a,b)=|I(a)-I(b)|
(3)
其中:a為中心像素點(diǎn),b為鄰域中的某一像素點(diǎn),I(a)、I(b)為兩點(diǎn)灰度值。
建立樣本點(diǎn)子集,對(duì)于任一像素點(diǎn)x,第i幀處的像素值為pi(x,y),利用G(a,b)從像素點(diǎn)x當(dāng)前幀的24鄰域內(nèi)選取G(a,b)值最小的n個(gè)像素點(diǎn)構(gòu)成當(dāng)前幀的樣本點(diǎn)子集,表示為:
(4)
i為圖像幀序號(hào),n為當(dāng)前幀樣本點(diǎn)選取數(shù)量。
初始M幀選取完成后,可以得到M×n個(gè)樣本點(diǎn)建立背景模型,當(dāng)初始M幀所有像素點(diǎn)對(duì)應(yīng)的背景模型構(gòu)建好后,就完成了背景模型初始化。
確定初始M幀的值和每幀選取樣本點(diǎn)數(shù)量n的值也是初始化背景模型的關(guān)鍵步驟,初始幀M取值過(guò)大會(huì)影響初始化背景模型速度,降低算法的實(shí)時(shí)性,若M取值過(guò)小,則降低了背景模型中時(shí)域信息的豐富性和背景模型的魯棒性。為確定選取初始幀數(shù)與選取每幀樣本點(diǎn)數(shù)的最佳方案,選用存在背景擾動(dòng)的CDnet2014公共數(shù)據(jù)集中overpass視頻序列做實(shí)驗(yàn)分析,比較以下5種方案的F-measure值,該值越大,代表算法綜合性更好,5種方案分別為:3幀(每幀選取7個(gè)樣本點(diǎn))、4幀(每幀選取 5個(gè)樣本點(diǎn))、5幀(每幀選取4個(gè)樣本點(diǎn))、6幀(每幀選取4個(gè)樣本點(diǎn))、7幀(每幀選取3個(gè)樣本點(diǎn))。5種方案的F-measure值如圖5所示,5幀(每幀選取4個(gè)樣本點(diǎn))方案的F-measure值最大,最終確定利用初始5幀初始化背景模型,每幀選取n=4個(gè)樣本點(diǎn),共N=20個(gè)樣本點(diǎn)建立背景模型。
圖5 方案選取F-measure對(duì)比
ViBe算法使用全局固定分割閾值R對(duì)像素點(diǎn)進(jìn)行前景點(diǎn)和背景點(diǎn)的判定,可較好地適用于靜態(tài)背景,然而當(dāng)背景存在擾動(dòng)情況時(shí),固定分割閾值不能夠適應(yīng)背景中擾動(dòng)變化,導(dǎo)致檢測(cè)準(zhǔn)確度降低.為此本文提出一種基于平均差的自適應(yīng)分割閾值機(jī)制,基本思想是通過(guò)平均差法衡量樣本點(diǎn)集合的離散度,構(gòu)建自適應(yīng)分割閾值,即當(dāng)背景區(qū)域存在較大擾動(dòng)時(shí)適當(dāng)提高分割閾值,背景區(qū)域趨于穩(wěn)定時(shí)維持原有的分割閾值,平均差定義為:
(5)
式中,vi(x,y)表示樣本點(diǎn)集合中的樣本點(diǎn)像素值,μ(x,y)表示樣本點(diǎn)集合的像素平均值,μ(x,y)表達(dá)式為:
(6)
即計(jì)算樣本點(diǎn)集合中各樣本點(diǎn)像素值與樣本點(diǎn)像素平均值差分和的平均值,當(dāng)MD(x,y)值較大時(shí),說(shuō)明樣本點(diǎn)集合離散度高,背景存在擾動(dòng)情況,應(yīng)適當(dāng)增大分割閾值,當(dāng)MD(x,y)值較小時(shí),說(shuō)明樣本點(diǎn)集合離散度低,背景區(qū)域穩(wěn)定,分割閾值維持原來(lái)大小即可,自適應(yīng)分割閾值表達(dá)式為R(x,y)為:
(7)
式中,α為自適應(yīng)參數(shù),δ為尺度因子,固定分割閾值與自適應(yīng)分割閾值在擾動(dòng)背景下對(duì)比如圖6所示,如圖6(a)所示,當(dāng)采用固定分割閾值R時(shí),待測(cè)像素點(diǎn)v(x,y)歐式距離圓內(nèi),只有一個(gè)樣本點(diǎn),小于樣本匹配閾值nmin=2,則像素點(diǎn)v(x,y)判定為前景點(diǎn),如圖6(b)所示,采用自適應(yīng)分割閾值R(x,y)增大匹配半徑后,待測(cè)像素點(diǎn)v(x,y)歐式距離圓內(nèi),有兩個(gè)樣本點(diǎn),大于等于樣本匹配閾值nmin=2,則像素點(diǎn)v(x,y)判定為背景點(diǎn),因此在背景存在擾動(dòng)情況時(shí)采用自適應(yīng)分割閾值可以提高檢測(cè)準(zhǔn)確度。
圖6 背景擾動(dòng)情況下固定分割閾值和自適應(yīng)分割閾值對(duì)比圖
本文所用軟硬件條件為:操作系統(tǒng)選用Windows10操作系統(tǒng),主機(jī)信息為:(Intel(R)Core(TM)i9-9000K,32G內(nèi)存),在VS2017編譯環(huán)境下編譯程序,并運(yùn)用OpenCV。實(shí)驗(yàn)中的部分閾值取自經(jīng)驗(yàn)閾值,部分閾值取自原ViBe算法,分割閾值R取20,樣本點(diǎn)數(shù)目N取20,樣本匹配閾值nmin取2,自適應(yīng)更新閾值α取0.05,尺度因子取6。
為了驗(yàn)證本文改進(jìn)算法對(duì)鬼影抑制的有效性,選取CDnet2014公共數(shù)據(jù)集中highway視頻序列進(jìn)行鬼影抑制試驗(yàn),將原始ViBe算法檢測(cè)效果和本文抑制鬼影后的檢測(cè)效果做對(duì)比,實(shí)驗(yàn)對(duì)比如圖7所示。
圖7 鬼影消除實(shí)驗(yàn)對(duì)比圖
圖7(a)為highway視頻序列第60幀圖像,圖7(b)為傳統(tǒng)ViBe算法檢測(cè)效果,圖7(c)為本文改進(jìn)ViBe算法檢測(cè)效果,如圖7(b)所示,由于初始幀存在運(yùn)動(dòng)目標(biāo),可以看出檢測(cè)結(jié)果中有明顯的鬼影產(chǎn)生,如圖7(c)所示,在采用改進(jìn)三幀差分定位鬼影并局部初始化后,消除了初始幀的運(yùn)動(dòng)目標(biāo),從而抑制鬼影產(chǎn)生,鬼影消除有明顯的效果。
為了驗(yàn)證本文改進(jìn)算法對(duì)增強(qiáng)背景模型魯棒性的有效性,選取CDnet2014公共數(shù)據(jù)集中overpass視頻序列進(jìn)行背景模型魯棒性試驗(yàn),將原始ViBe算法檢測(cè)效果和采用本文方法建立的背景模型后的檢測(cè)效果做對(duì)比,實(shí)驗(yàn)對(duì)比如圖8所示。
圖8 背景模型魯棒性實(shí)驗(yàn)對(duì)比圖
圖8(a)為overpass視頻序列圖像,背景中的樹(shù)葉處于輕微晃動(dòng)狀態(tài),圖8(b)為傳統(tǒng)ViBe算法檢測(cè)結(jié)果,可以看出晃動(dòng)的樹(shù)葉被檢測(cè)為前景,圖8(c)為本文改進(jìn)算法檢測(cè)效果,由于建立背景模型時(shí)加入了時(shí)域信息,利用灰度相似函數(shù)從初始5幀中選取像素點(diǎn)建立背景模型,增加了背景模型中樣本點(diǎn)信息的豐富性,從而使背景模型具有較好的魯棒性。
為了驗(yàn)證本文改進(jìn)算法對(duì)背景擾動(dòng)的適應(yīng)性,選取CDnet2014公共數(shù)據(jù)集中overpass視頻序列進(jìn)行背景擾動(dòng)適應(yīng)性試驗(yàn),通過(guò)將原始ViBe算法和本文改進(jìn)算法做對(duì)比,實(shí)驗(yàn)對(duì)比如圖9所示。
圖9 背景擾動(dòng)實(shí)驗(yàn)對(duì)比圖
圖9(a)為overpass視頻序列第1 300幀圖像,圖9(b)為傳統(tǒng)ViBe算法檢測(cè)效果,圖9(c)為本文改進(jìn)ViBe算法檢測(cè)效果。如圖9(a)所示,并且由于風(fēng)的因素,背景中的樹(shù)葉處于輕微晃動(dòng)狀態(tài),如圖9(b)所示,傳統(tǒng)ViBe算法的檢測(cè)結(jié)果背景中的樹(shù)葉被判定為前景,因?yàn)閭鹘y(tǒng)ViBe算法的背景模型的建立方法和固定半徑閾值的匹配方法對(duì)動(dòng)態(tài)背景適應(yīng)性差,當(dāng)背景存在擾動(dòng)時(shí)固定分割閾值會(huì)導(dǎo)致檢測(cè)準(zhǔn)確度降低。如圖9(c)所示,背景中晃動(dòng)的樹(shù)葉大部分被正確判定為背景,由此可得,當(dāng)背景存在擾動(dòng)情況時(shí),利用平均差法構(gòu)建自適應(yīng)分割閾值對(duì)背景擾動(dòng)適應(yīng)好,可以有效提高檢測(cè)準(zhǔn)確度。
為對(duì)比本文算法與原始ViBe算法在去除鬼影、對(duì)背景擾動(dòng)適應(yīng)性方面的性能表現(xiàn),本文選用的指標(biāo)有真陽(yáng)性(TP)、真陰性(TN)、假陽(yáng)性(FP)、假陰性(FN)、準(zhǔn)確率(Precision)、召回比(Recall)、F度量(F-measure)、漏檢率(FNR),如式(8)~(11)所示:
(8)
(9)
(10)
(11)
式中,TP為正確分類(lèi)的前景數(shù),TN為正確分類(lèi)的背景數(shù),F(xiàn)P為錯(cuò)誤分類(lèi)的前景數(shù),F(xiàn)N為錯(cuò)誤分類(lèi)的背景數(shù),Precision是正確分類(lèi)的前景占總前景的比重,Recall是正確檢測(cè)前景像素的比率,F(xiàn)-measure為綜合評(píng)價(jià)指標(biāo)。
為了檢驗(yàn)本文算法在不同場(chǎng)景下的有效性,采用CDnet2014公共數(shù)據(jù)集中具有代表性的視頻序列,highway視頻序列、overpass視頻序列、canoe視頻序列總計(jì)3個(gè)實(shí)驗(yàn)樣本,其中highway視頻序列選取存在運(yùn)動(dòng)目標(biāo)的視頻幀作為初始幀,overpass視頻序列存在樹(shù)枝樹(shù)葉輕微晃動(dòng)的背景,canoe視頻序列存在湖面水紋波動(dòng)的背景擾動(dòng)情況。試驗(yàn)選用GMM算法、ViBe算法以及本文算法進(jìn)行實(shí)驗(yàn)對(duì)比,比較三種算法在消除鬼影和對(duì)背景擾動(dòng)的適應(yīng)性上的表現(xiàn),實(shí)驗(yàn)結(jié)果如圖10所示。
圖10 改進(jìn)算法與其他算法相比
highway視頻序列由于初始幀存在運(yùn)動(dòng)目標(biāo),傳統(tǒng)ViBe算法利用初始幀建立背景模型,會(huì)將初始幀的運(yùn)動(dòng)目標(biāo)放入背景模型中,導(dǎo)致前景檢測(cè)階段真實(shí)背景被檢測(cè)為鬼影,GMM由于采用個(gè)相互獨(dú)立的高斯分布來(lái)表征某一像素點(diǎn)的像素特征值,雖然沒(méi)有產(chǎn)生鬼影,但是檢測(cè)結(jié)果有大量孔洞且存在大量干擾信息;本文采用改進(jìn)三幀差分和最小外接矩形定位初始幀運(yùn)動(dòng)目標(biāo),通過(guò)局部初始化最小外接矩形區(qū)域圖像,從而消除初始幀運(yùn)動(dòng)目標(biāo),達(dá)到抑制鬼影產(chǎn)生的目的,且抑制效果明顯。overpass視頻序列背景區(qū)域存在輕微晃動(dòng)的樹(shù)葉,canoe視頻序列存在湖面水紋波動(dòng),GMM和傳統(tǒng)ViBe算法對(duì)于背景擾動(dòng)適應(yīng)性較差,檢測(cè)結(jié)果中將背景區(qū)域的擾動(dòng)信息誤檢成前景,而本文將灰度相似性與時(shí)域和空域信息相結(jié)合,從初始五幀中等比例選取20個(gè)樣本點(diǎn)建立背景模型,使背景模型中的樣本點(diǎn)具有空域和時(shí)域信息的同時(shí)與中心像素點(diǎn)有較高的相似度,提高了背景模型的魯棒性。其次,通過(guò)平均差法衡量背景模型離散程度并構(gòu)建自適應(yīng)分割閾值,提高了算法對(duì)背景擾動(dòng)的適應(yīng)性,因此當(dāng)背景存擾動(dòng)情況時(shí),本文算法可以很好的適應(yīng)背景擾動(dòng),從而提高檢測(cè)的準(zhǔn)確度。
同時(shí),利用上文評(píng)價(jià)指標(biāo)計(jì)算3種算法在3組不同視頻序列條件下的指標(biāo)值,以柱狀圖的形式進(jìn)行直觀對(duì)比,結(jié)果如圖11所示,可以發(fā)現(xiàn)由于ViBe算法無(wú)法處理初始幀存在運(yùn)動(dòng)目標(biāo)留下的鬼影,導(dǎo)致其在highway視頻序列條件下準(zhǔn)確率上明顯不如另外兩種算法,GMM算法的漏檢率在三個(gè)視頻序列條件下都高于算法,說(shuō)明其容易將運(yùn)動(dòng)目標(biāo)漏檢,運(yùn)動(dòng)目標(biāo)檢測(cè)不完整,孔洞較多。本文改進(jìn)算法在不同視頻序列條件下的準(zhǔn)確率、召回率和F度量三項(xiàng)指標(biāo)都明顯高于傳統(tǒng)ViBe算法,這表明本文算法不僅能完整檢測(cè)出運(yùn)動(dòng)目標(biāo),并且結(jié)果較為準(zhǔn)確。
圖11 不同視頻序列下各算法性能指標(biāo)對(duì)比
最后,利用上文評(píng)價(jià)指標(biāo)計(jì)算3種算法在3組視頻序列條件下的指標(biāo)平均值,結(jié)果如表1所示,可以發(fā)現(xiàn)與GMM和傳統(tǒng)ViBe算法相比,本文算法在highway、overpass、canoe,3個(gè)視頻序列條件下,準(zhǔn)確率分別平均提高了26.5%和22.3%,并且3個(gè)視頻序列的檢測(cè)均速在25frames/s左右,基本滿足實(shí)時(shí)檢測(cè)的要求。
表1 各算法不同場(chǎng)景評(píng)價(jià)指標(biāo)平均值
本文針對(duì)傳統(tǒng)ViBe算法在目標(biāo)檢測(cè)過(guò)程中易產(chǎn)生鬼影的問(wèn)題,利用改進(jìn)三幀差分法定位初始幀的運(yùn)動(dòng)目標(biāo),并用最小外接矩形框住目標(biāo)區(qū)域,最后通過(guò)局部初始化消除初始幀的運(yùn)動(dòng)目標(biāo),有效避免了鬼影的產(chǎn)生。在背景模型初始化階段,利用灰度相似函數(shù)從初始五幀等比例選取像素點(diǎn)建立背景模型,避免了樣本點(diǎn)重復(fù)選取的同時(shí)提高了背景模型的魯棒性。在前景檢測(cè)檢測(cè)階段,通過(guò)平均差法衡量樣本集合的離散度,構(gòu)建自適應(yīng)分割閾值代替原有的固定分割閾值,增強(qiáng)了對(duì)背景擾動(dòng)的適應(yīng)性,實(shí)驗(yàn)證明,本文算法可以有效消除鬼影并且提高在背景擾動(dòng)情況下的檢測(cè)準(zhǔn)確度,有較好的實(shí)用性。由于本文在背景更新階段沒(méi)有做進(jìn)一步改進(jìn),故在后期研究中可以通過(guò)構(gòu)建自適應(yīng)的更新因子來(lái)進(jìn)一步提高目標(biāo)檢測(cè)的準(zhǔn)確率和適應(yīng)性。