庾鵬,王旭,仝天樂(lè),王秀超
?。ㄙF州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽(yáng) 550000)
摘要:提出了一種基于GrabCut算法和四幀差分法相結(jié)合的運(yùn)動(dòng)目標(biāo)檢測(cè)和提取算法。首先,利用四幀差分法對(duì)視頻中連續(xù)的四幀圖像進(jìn)行二次差分;然后,對(duì)差分后的圖像分別做水平投影和垂直投影,計(jì)算運(yùn)動(dòng)目標(biāo)區(qū)域;最后,使用GrabCut算法分割目標(biāo)區(qū)域得到完整的運(yùn)動(dòng)目標(biāo)。實(shí)驗(yàn)結(jié)果證明,該方法既能精確和完整地檢測(cè)出運(yùn)動(dòng)目標(biāo),又能有效地去除空洞、拉伸等現(xiàn)象。
關(guān)鍵詞:四幀差分;GrabCut分割;目標(biāo)檢測(cè)
0引言
目前隨著科技的不斷發(fā)展,智能化視頻監(jiān)控在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用,例如智能交通監(jiān)控、安全防范系統(tǒng)、值崗檢測(cè)系統(tǒng)等。無(wú)論應(yīng)用在何種領(lǐng)域,對(duì)視頻中移動(dòng)物體的研究和分析才有價(jià)值,目標(biāo)的完整提取是各種后期處理和應(yīng)用的基礎(chǔ),所以對(duì)移動(dòng)目標(biāo)的檢測(cè)與完整提取也就成為了視頻處理研究中的一個(gè)熱門問(wèn)題。近些年來(lái)很多學(xué)者已經(jīng)對(duì)這方面問(wèn)題進(jìn)行了研究,也提出了很多移動(dòng)目標(biāo)檢測(cè)與提取的方法,主要有光流分析法[1]、幀間差分法和背景差分法[2]3種。
背景差分法是將視頻圖像與背景圖像做差分,取差分值較大的區(qū)域?yàn)橐苿?dòng)目標(biāo),然而難以得到合適的背景圖像,而且易受外界干擾。幀間差分法與背景差分法類似,幀間差分法是對(duì)視頻中連續(xù)幀做差分,具有計(jì)算效率高、實(shí)時(shí)性好等特點(diǎn),但是容易出現(xiàn)重疊、空洞、拉伸等問(wèn)題。光流分析法檢測(cè)效果比前兩種好,但是計(jì)算復(fù)雜,不能達(dá)到實(shí)時(shí)性。3種方法都很難取得完整的目標(biāo),GrabCut[3]算法綜合了圖像的紋理信息和邊界信息對(duì)圖像進(jìn)行分割,只需要少量的交互操作就可以達(dá)到高精度的分割。根據(jù)上述問(wèn)題,結(jié)合幀間差分法和GrabCut算法的各自優(yōu)點(diǎn),提出了以四幀差分法計(jì)算和框定運(yùn)動(dòng)目標(biāo)區(qū)域,GrabCut算法在框定區(qū)域內(nèi)精確分割目標(biāo)的方法。
1基于GrabCut算法和四幀差分法的運(yùn)動(dòng)目標(biāo)檢測(cè)與提取
1.1預(yù)處理
在使用本文提出的算法前,對(duì)每一幀圖像進(jìn)行預(yù)處理十分必要,它可以提高算法在實(shí)際應(yīng)用中的效率。圖像平滑可以有效減少圖像中的噪聲,改善圖像的質(zhì)量,有利于對(duì)目標(biāo)的提?。?]。直方圖均衡化是圖像空域增強(qiáng)的一種經(jīng)典方法,可以改善圖像灰度分布,增強(qiáng)圖像的整體對(duì)比度,方法簡(jiǎn)單、高效[5]。本文實(shí)驗(yàn)使用的預(yù)處理是高斯濾波和直方圖均衡。
1.2四幀差分法快速檢測(cè)目標(biāo)區(qū)域
?。?)四幀差分
提取視頻圖像中連續(xù)的四幀,經(jīng)過(guò)預(yù)處理后為f1(x,y)、f2(x,y)、f3(x,y)、f4(x,y),計(jì)算f1(x,y)與f3(x,y)以及f2(x,y)與f4(x,y)的差值圖像,差分結(jié)果為g1(x,y)與g2(x,y),計(jì)算方法如式(1)、(2)所示。g1(x,y)與g2(x,y)中已經(jīng)包含運(yùn)動(dòng)目標(biāo)的信息,對(duì)其進(jìn)行“與”運(yùn)算[6],得到結(jié)果為H(x,y)。H(x,y)定義如式(3)。
g1(x,y)=|f3(x,y)-f1(x,y)|(1)
g2(x,y)=|f4(x,y)-f2(x,y)|(2)
H(x,y)=|g1(x,y)g2(x,y)|(3)
?。?)運(yùn)動(dòng)目標(biāo)域框定
在經(jīng)過(guò)兩次差分處理之后,靜止的背景基本被去除,但由于外界環(huán)境變化復(fù)雜,光線不斷變化,使得沒(méi)有移動(dòng)的物體在水平投影和垂直投影并不為0,因此要使用一個(gè)閾值T,分割去除因?yàn)楣饩€變化而造成靜止物體移動(dòng)假象的部分。
首先對(duì)H(x,y)水平投影得到Hx(x,y),如式(5),然后使用閾值Tm(式(6))對(duì)Hx(x,y)閾值分割,數(shù)值大于Tm的保持不變,小于Tm的為0,根據(jù)閾值分割后的圖像可以得到運(yùn)動(dòng)物體水平方向的范圍(x1,x2)。在垂直方向沒(méi)有必要全部投影,只需要對(duì)水平檢測(cè)范圍(x1,x2)之間進(jìn)行垂直投影,得到Hy(x,y),如式(4),同樣進(jìn)行閾值分割但閾值為Tn(式(7)),根據(jù)閾值分割后的圖像可以得到運(yùn)動(dòng)物體垂直方向的范圍(y1,y2)。從而得到運(yùn)動(dòng)物體的區(qū)域(x1,x2,y1,y2)。
Hy(x,y)=∑x2x=x1H(x,y)(m為圖像總列數(shù),n為圖像總行數(shù)。y=1,2,3,...,n)(4)
Hx(x,y)=∑ny=1H(x,y)(n為圖像總行數(shù),m為圖像總列數(shù)。x=1,2,3,...,m)(5)
Tm=∑mx=1Hx(x,y)/m(6)
Tn=∑ny=1Hy(x,y)/n(7)
1.3GrabCut圖像分割法
近年來(lái)許多學(xué)者提出基于圖論的圖像分割,GrabCut[7]算法就是基于圖論的一種優(yōu)秀分割方法。GrabCut算法利用圖像中紋理(顏色)信息和邊界(反差)信息,只需要少量的用戶交互操作,就可以有效地從復(fù)雜的背景中分割出前景目標(biāo)圖像。該算法用戶只需要提供背景區(qū)域的像素及框選目標(biāo),方框外的像素全部為背景,即可對(duì)GMM進(jìn)行建模和完成良好的分割。通過(guò)使用四幀差分法快速框定目標(biāo)區(qū)域,然后使用GrabCut算法分割,快速取得完整的運(yùn)動(dòng)目標(biāo)。
從整個(gè)圖像的Gibbs能量可以得到[3]:E(α,k,θ,z)=U(α,k,θ,z)+V(α,z),第一項(xiàng)為數(shù)據(jù)項(xiàng)(t-link的權(quán)值),第二項(xiàng)為平滑項(xiàng)(nlink的權(quán)值),最終目標(biāo)經(jīng)過(guò)不斷地迭代計(jì)算出最小的能量函數(shù)。總共有兩個(gè)高斯混合模型(背景和前景),每個(gè)高斯混合模型有K個(gè)分量,每個(gè)分量包含3個(gè)參數(shù)要估計(jì),即權(quán)重π、均值u、協(xié)方差Σ。
計(jì)算數(shù)據(jù)項(xiàng):U(α,k,θ,z)=∑nD(αn,kn,θ,zn),參數(shù)α={α1....αn},αn=0或1。若αn為0,像素點(diǎn)為背景;若αn為1,則像素點(diǎn)為前景。參數(shù)K是一個(gè)向量,K={k1,k2....kn},每個(gè)kn屬于集合{1,2,....k},對(duì)應(yīng)著k個(gè)高斯分量[8]。參數(shù)θ為圖像的背景與前景的灰度直方圖。參數(shù)z為圖像的灰度數(shù)組,z={z1....zn},zn是第n個(gè)像素的灰度值。
GrabCut算法流程描述[9]:(1)、(2)為初始化步驟,(3)~(6)為迭代最小化步驟。
(1)用戶框定目標(biāo)區(qū)域,方框外的全部像素為背景像素TB,方框內(nèi)的全部像素作為“可能目標(biāo)”TU。對(duì)TB內(nèi)的每一個(gè)像素初始化標(biāo)簽αn=0,對(duì)TU內(nèi)的每一個(gè)像素初始化標(biāo)簽αn=1。
?。?)通過(guò)kmeas算法初始化背景和前景中每一個(gè)像素高斯混合模型分量。
(3)對(duì)每一個(gè)像素分配GMM中的高斯分量:kn=argminknDn(αn,kn,θ,zn)。
?。?)對(duì)于圖像數(shù)據(jù)Z,學(xué)習(xí)優(yōu)化GMM參數(shù):θ=argminθU(α,k,θ,z)。
?。?)分析Gibbs能量項(xiàng),建立一個(gè)圖,通過(guò)最大流最小切割定理算法進(jìn)行分割。
min{αn:n∈TU}minkE(α,k,θ,z)
?。?)重復(fù)步驟(3)~步驟(5),直到收斂[10]。
2實(shí)驗(yàn)結(jié)果
圖1經(jīng)過(guò)灰度化之后的圖像本實(shí)驗(yàn)硬件運(yùn)行環(huán)境為:Intel(R) Core(TM)2 Quad 2.33 GHz CUP和4.00 GB內(nèi)存,軟件運(yùn)行環(huán)境為:Windows 7、Microsoft Visual Studio 2005、opencv1.0。視頻中每一幀大小為576×704,每秒處理20幀,基本可以滿足視頻監(jiān)控中的實(shí)時(shí)性。圖1為視頻中取出的第100幀、101幀、102幀、103幀經(jīng)過(guò)灰度化之后的圖像。
圖2為使用四幀差分法得到的實(shí)驗(yàn)結(jié)果。
圖3中圖(a)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行垂直投影,計(jì)算出圖像像素平均值為Tn=8.720 2,圖(b)為經(jīng)過(guò)閾值Tn過(guò)濾后的結(jié)果,通過(guò)計(jì)算其中一個(gè)運(yùn)動(dòng)物體區(qū)域的橫坐標(biāo)是(335,420),圖(c)為截取原圖中橫坐標(biāo)在(335,420)之間的實(shí)驗(yàn)結(jié)果,圖(d)為(c)做水平投影,計(jì)算出像素平均圖2實(shí)驗(yàn)結(jié)果值為Tm=11.658 0。圖(e)為經(jīng)過(guò)閾值Tm過(guò)濾后的結(jié)果,并且計(jì)算出運(yùn)動(dòng)物體區(qū)域的縱坐標(biāo)為(330,420),圖(f)為最終切割結(jié)果。
圖4(a)中的方框?yàn)榻?jīng)過(guò)投影之后計(jì)算出的運(yùn)動(dòng)物體的區(qū)域,(b)是通過(guò)GrabCut算法切割以后提取到的完整運(yùn)動(dòng)目標(biāo),實(shí)驗(yàn)發(fā)現(xiàn)雖然目標(biāo)有一部分區(qū)域與背景相似, 但GrabCut算法仍能完整地將其分割出來(lái)。
3結(jié)論
本文融合四幀差分法與GrabCut算法對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行檢查與提取,首先利用高速濾波和直方圖均衡化對(duì)每一幀圖像進(jìn)行預(yù)處理,然后通過(guò)四幀差分法和投影法得到運(yùn)動(dòng)目標(biāo)區(qū)域,最后通過(guò)GrabCut算法分割提取完整目標(biāo)。實(shí)驗(yàn)結(jié)果表明,本文所提出的算法可以快速、精準(zhǔn)、完整地檢測(cè)出運(yùn)動(dòng)目標(biāo),而且適用性廣泛。
參考文獻(xiàn)
?。?] 袁國(guó)武,陳志強(qiáng),龔健,等. 一種結(jié)合光流法與三幀差分法的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J]. 小型微型計(jì)算機(jī)系統(tǒng),2013,34(3):668671.
[2] 杜晶晶. 智能視頻監(jiān)控中運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤算法研究[D].成都:西南交通大學(xué),2009.
?。?] 周勝安. 一種基于前景物形態(tài)的GrabCut改進(jìn)算法[J]. 電腦知識(shí)與技術(shù),2010,6(33):95179519.
?。?] 袁國(guó)武. 智能視頻監(jiān)控中的運(yùn)動(dòng)目標(biāo)檢測(cè)和跟蹤算法研究[D].昆明:云南大學(xué),2012.
?。?] 彭艷芳. 視頻運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤算法研究[D].武漢:武漢理工大學(xué),2010.
?。?] 張鵬,李思岑,楊燕翔. 融合邊緣檢測(cè)的四幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)[J]. 電子技術(shù)與軟件工程,2014(20):106107.
?。?] 王鈞銘,高立鑫,趙力,等. GrabCut彩色圖像分割算法的研究[J]. 電視技術(shù),2008,32(6):1517.