薛賓田 張建偉 劉 博
(河南牧業(yè)經(jīng)濟學(xué)院信息工程學(xué)院 河南 鄭州 450044)
視頻分割是指根據(jù)一定的相似性準(zhǔn)則將視頻序列中每幀圖像分割成不同區(qū)域的過程,是計算機視覺,數(shù)字圖像處理等領(lǐng)域基礎(chǔ)性研究熱點之一[1-2,17]。視頻分割技術(shù)被廣泛應(yīng)用于視頻目標(biāo)跟蹤、視頻概括、虛擬演播、遠程教育和增強現(xiàn)實等系統(tǒng)。
基于Gibbs能量最小化的圖割(Graph Cut)算法是一種有效的分割方法。通過Greig等提出的基于組合最優(yōu)化的最大流/最小切求出能量函數(shù)的最小值,從而獲得視頻的幀的分割結(jié)果[3-5]。能量函授構(gòu)造的好壞直接影響了視頻分割效果的好壞,本文采用文獻[6]中提出的顏色/對比度模型,該模型考慮了相鄰像素間的相似度,同時也考慮了前景和背景的顏色特征,能夠充分地利用視頻幀中提供的信息。但是當(dāng)視頻背景有噪聲或者背景和前景交界處顏色相似時,該模型顏色分量和對比度分量模型都無法提供有效的分割信息,從而導(dǎo)致分割不精確。
考慮到顏色/對比度模型只使用了視頻的顏色,而基于LBP的背景模型具有灰度單調(diào)變化不會導(dǎo)致LBP值發(fā)生改變特點,它對于光照的變化、搖擺的樹木、起伏的湖面和閃爍的監(jiān)視器這些復(fù)雜的情況,還有背景中有新的物體進入或者舊的物體移出這些情況,都有很好的適應(yīng)性,從而可以借助這些特點來改進能量函數(shù)的顏色分量[7]。基于Canny算子邊緣檢測算法對圖像中較細邊緣有很好的表現(xiàn)[8],該算法和其他算法相比在模糊邊緣檢測上更具有優(yōu)勢。這兩點為我們解決問題提供了思路。
本文提出的一種新的視頻分割算法,借助自動更新的LBP背景模型改進能量函數(shù)的顏色分量,利用Canny邊緣檢測算法得到增強的邊緣信息改進對比度分量,解決視頻背景光照發(fā)生變化或者前景和背景交界處顏色相似時分割精度較低問題。
設(shè)無向圖G=(V,E)代表當(dāng)前視頻幀的抽象表示,I代表當(dāng)前視頻幀圖像,V代表I中所有像素的集合,E是所有像素的鄰域集合,鄰域代表四鄰域或者八鄰域。把圖像分割問題轉(zhuǎn)化為像素的二值標(biāo)記組合最優(yōu)化問題。若對無向圖G中E集合賦予相應(yīng)的權(quán)值,比如像素間的相似程度,則一個圖像的割總權(quán)值越小,表明分割越合理。一般使用最大流/最小切算法對該類問題進行最優(yōu)化求解[9-12]。
集合z=(z1,z2,…,zi,…,zN)表示整幅圖像,Zi代表圖像中像素,αi∈{0,1}表示像素i屬于前景或背景的狀態(tài)(其中0表示背景,1表示前景),α=(α1,α2,…,αi,…,αN)表示當(dāng)前圖像的一種分割狀態(tài),ε表示所有相鄰像素的集合,相鄰像素之間的關(guān)系分為兩種情況,可以是4連通或者8連通,對像素點以及其對應(yīng)所屬狀態(tài)定義完成后,能量函數(shù)E(α)可以表現(xiàn)為如下的形式:
(1)
式中:ED是數(shù)據(jù)項,也稱為顏色分量,用來衡量第i個像素屬于前景或者背景的代價,表示該像素與前景或者背景的相似度,相似度越高則能量越小,分割時越容易被劃分到相似的區(qū)域;ES是光滑項,也稱為對比度分量,用來衡量鄰接的像素同時屬于前景或背景的代價,表示的是圖像中邊界信息,對比度越高則能量越小,分割時越容易將相鄰的兩點劃分到不同的部分;參數(shù)λ是顏色分量和對比度分量之間的平衡因子,主要用于分割時控制數(shù)據(jù)項和光滑項所占的比重。最后使用最大流/最小切算法最小化能量函數(shù)去的最優(yōu)解。
全局顏色模型對圖像整體空間具有很好的描述,且對于噪聲有較好的抑制效果,局部顏色模型相對于全局顏色模型能夠很好地體現(xiàn)圖像細節(jié)部分,但對噪聲較敏感。結(jié)合兩種模型的特點,本文將全局顏色模型和局部模型相結(jié)合產(chǎn)生新的顏色模型。高斯混合模型(GMM)表示顏色全局模型,背景顏色模型表示為p(ziB),前景顏色模型表示為p(ziF),具體含義為第i個像素屬于前景和背景概率。背景顏色模型如下:
(2)
局部顏色模型利用單高斯密度分布函數(shù)來進行計算:
(3)
(4)
pmix(zi)=(1-λ)·p(zi)+λ·pB(zi)
(5)
式中:λ用于調(diào)節(jié)全局顏色模型和局部顏色模型的比例。使用該顏色模型,可以較為準(zhǔn)確地計算當(dāng)前視頻圖像中像素分別屬于前景和背景的相似度。在實驗中,為了方便計算和保證數(shù)據(jù)的規(guī)范性,會將計算結(jié)果量化到[0,1]區(qū)間上,使用的是文獻[2-3]的方法。最后能量函數(shù)中的數(shù)據(jù)項ED表示如下:
(6)
對于能量函數(shù)中光滑項對比度模型定義如下:
ES(αi,αj)=αi-αj·exp(-βdij)
(7)
利用高斯混合模型來計算顏色分量是一種非常有效的方式,可以處理大多數(shù)情況下的分割問題,但是在進行精確度較高的視頻分割時,受到背景和其他因素的干擾,效果會受到不同程度的影響,如圖1(b)中,目標(biāo)任務(wù)的左邊肩膀處有明顯的顏色分量計算錯誤。
(a)t=1原圖(b)t=1顏色相似度
(c)t=49原圖(d)t=49顏色相似度圖1 顏色相似度結(jié)果
由于高斯混合模型只使用了前景和背景的顏色信息,這些信息在某些情況下不具有區(qū)分性,比如當(dāng)前景和背景顏色相似時,或者光照發(fā)生變化時。為了克服這一問題,本文選擇了紋理特征具有不受顏色和光照變化的特點,計算速度快,描述類型豐富的LBP特征。本文主要通過使用LBP特征來建立背景模型,然后對待檢測視頻幀進行分塊,計算出每塊區(qū)域?qū)儆诒尘澳P偷母怕剩缓笫褂玫玫降母怕手祦硇薷哪芰亢瘮?shù)中背景局部顏色模型在顏色分量中的比重。
首先LBP紋理特征計算公式如下:
(8)
在對背景建模時,本文采用基于分區(qū)的背景建模方法,這種方法可以降低LBP特征位置因素對模型的影響,對于前景檢查更加魯棒。即根據(jù)設(shè)計好的分塊原則把一副圖像分為若干個成為block的塊,可以計算出k個具有不同權(quán)重的直方圖并進行歸一化:{x1,x2,…,xk}作為背景模型,模塊的權(quán)重本文使用wk來表示。
對接下來視頻幀進行處理時,首先進行分塊操作,計算每個塊的LBP直方圖xt,歸一化,并和已經(jīng)得到的k個直方圖model:{x1,x2,…,xk}進行比較。本文使用最小交集法(histogram intersection)來計算兩個直方圖相似度,該方法簡單快速且有效。當(dāng)前塊和背景模型中相應(yīng)塊相似度simk計算公式如下:
(9)
為了保證LBP背景模型的準(zhǔn)確性,本文為背景模型實時更新。更新策略如下:首先判斷當(dāng)前塊與背景模型的距離與設(shè)置的閾值Tp的關(guān)系,如果它與模型中所有的直方圖距離都小于Tp,那么使用該直方圖替換當(dāng)前k個model中權(quán)值最小的一個,并對其進行權(quán)值初始化,一般設(shè)置為0.01。如果在k個model中找到了大于等于設(shè)置的閾值Tp,說明與當(dāng)前塊比較的model直方圖是最佳直方圖,而且需要對其bins值和權(quán)重進行更新。
(10)
式中:αb是直方圖各bins更新速率,αw是權(quán)重更新速率。Mk值取1對于最佳匹配最直方圖,其他情況取0。背景模型的更新速度和αb、αw取值有關(guān),取值越大背景模型更新速率越快。
根據(jù)圖像分塊策略不同,每個像素可能被多個圖像塊重復(fù)分配,所以可以通過計算這些圖像塊屬于背景概率的平均值來表示每個像素與背景的相似度。
(11)
式中:M表示當(dāng)前像素被分配給圖像塊的數(shù)量,blockN表示每個圖像塊中像素點的個數(shù)。根據(jù)LBP背景模型得到的像素與背景的相似度對能量函數(shù)顏色分量進行改進后的顏色分量計算公式如下:
pmix(zi)=(1-PBLBP)·p(zi)+PBLBP·pB(zi)
(12)
使用改進后的顏色分量進行實驗。實驗結(jié)果如圖2、圖3所示,可以看出,新的顏色模型計算方法較之前的顏色模型計算方法相比,準(zhǔn)確度有了較大的提高,其中vk視頻序列目標(biāo)的肩部和胸部最為明顯。
(a)t=2(b)t=29(c)t=49圖2 舊顏色分量結(jié)果
(a)t=2(b)t=29(c)t=49圖3 新顏色分量結(jié)果
對比度分量光滑項主要通過像素梯度值進行計算,但是當(dāng)前景和背景交界處顏色相近時梯度計算不準(zhǔn)確,圖像分割容易產(chǎn)生錯誤。針對該問題本文使用Canny邊緣檢測算子的特點和優(yōu)勢來提高分割精度。Canny邊緣檢測算子與其他邊緣檢測算子相比具有以下優(yōu)點:最優(yōu)檢測,即算法盡可能多地標(biāo)識出圖像中的實際邊緣,漏檢和誤檢率都盡可能??;最優(yōu)定位原則,檢測到的邊緣點受噪聲影響程度與其距離實際邊緣的距離程度成正比;檢測點與邊緣點一一對應(yīng)。
Canny算法的基本思想是尋找一幅圖像中灰度強度變化最快的位置,即指梯度方向,梯度值變化最快。對平滑后的圖像使用Sobel算子計算水平和豎直方向的一階導(dǎo)數(shù)值(圖像梯度)(Gx和Gy)。根據(jù)得到的這兩幅梯度圖找到邊界的梯度和方向,如下所示:
(13)
在算法分割過程中,只有屬于前景和背景之間的邊緣信息對于分割能起到幫助作用,而前景和背景之中的邊緣信息則會對分割產(chǎn)生干擾,因此對比度分量的計算公式具有很大改進空間,改進的思路大致分為兩個方面,第一是加強前景和背景之間弱邊緣的信息,第二是剔除前景和背景之中的強邊緣信息的干擾。
針對弱邊緣的問題,使用Canny邊緣檢測算法來解決。該算法主要是為改進對比度分量設(shè)計,用于加強視頻序列中的弱邊緣信息。在實驗中,直接對視頻圖像進行邊緣檢測,效果有一定的提升,但并未達到預(yù)期。因為在一些特殊的情況下,前景目標(biāo)的一部分和背景目標(biāo)的部分非常相似,幾乎完全融合在一起,此時該處檢測不出任何弱邊緣信息,所以Canny邊緣檢測也失去了作用,如圖4所示。由于直接對原圖進行檢測算法效果不甚理想,我們擴大了檢測對象的范圍,比如改進后顏色模型的結(jié)果,經(jīng)過試驗和分析,發(fā)現(xiàn)顏色模型的結(jié)果中包含了豐富的前景和背景之間的邊緣信息,其中甚至包含了一些原圖中無法區(qū)分的邊界信息,如圖5所示。
(a)t=2(b)t=29(c)t=49圖4 原圖Canny邊緣檢測結(jié)果
(a)t=2(b)t=29(c)t=49圖5 顏色模型Canny邊緣檢測結(jié)果
在實驗中,我們通過對顏色模型的結(jié)果做Canny邊緣檢測來計算新的對比度分量,該部分能夠在一定程度上解決前景和背景之間顏色相似度過高的問題。計算表達式如下:
Rcolor=Canny(Pmix)
(14)
式中:Pmix是顏色模型的結(jié)果,Rcolor表示新的圖像邊緣信息。
針對強邊緣的問題,主要采取的是剔除其影響的方式。基于此種情況,我們利用相鄰幀和背景圖像的信息,假設(shè)i和j是當(dāng)前輸入幀的一幅圖像中相鄰的兩個像素點,IT表示當(dāng)前幀圖像,IT-1表示前一幀圖像,IB表示背景幀圖像,IR表示T與T-1時刻幀差法的結(jié)果。本文中,我們同時計算當(dāng)前圖像和背景圖像中相鄰像素的差值:
(15)
如果i和j同時屬于背景時,dT(i,j)的值應(yīng)該近似逼近dB(i,j),而IR(i)和IR(j)的結(jié)果應(yīng)該同時趨近與零,根據(jù)以上特點,我們可以剔除圖像中背景強邊緣對于分割的影響,新的相鄰像素差值計算方式如下:
(16)
式中:max(IR(i),IR(j))表示的是像素i和j不屬于背景的概率,K用來調(diào)節(jié)整體的比例值(實驗中設(shè)定為0.7),確保DT(i,j)在[0,1]的區(qū)間上。
為了能夠同時完成增強期望的弱邊緣和剔除不需要的強邊緣,我們將Rcolor和DT(i,j)進行一定的整合,充分利用Canny邊緣檢測、LBP背景模型和背景圖像的信息。主要將dT(i,j)和dB(i,j)的計算圖像換成了對應(yīng)的Canny邊緣檢測結(jié)果。
(17)
最終將新的DT(i,j)代入對比度分量計算公式中,獲得新的公式:
ES(αi,αj)=αi-αj·exp(-β·DT(i,j))
(18)
改進后對比度分量結(jié)果如圖6所示。
(a)t=3(b)t=30
(c)t=49(d)t=62圖6 改進后對比度分量結(jié)果
使用式(12)和式(18)中改進過的顏色分量和對比度分量,組成新的能量函數(shù),使用最大流/最小切算法求解出結(jié)果,確定視頻幀中每個像素的分割狀態(tài),最終得到分割結(jié)果。
本文算法實現(xiàn)平臺:機器型號為Lenovo IdeaPad Y400N-IFI;CPU:i5-3210 2.5 GHz;內(nèi)存:4.0 GB;Windows 8中文版64位操作系統(tǒng);開發(fā)工具:msvc2008;圖像輔助庫:opencv_2.4.3。我們使用的實驗數(shù)據(jù)都來自微軟I2I工程[15]。
實驗首先使用微軟I2I自帶的視頻背景圖片進行混合高斯建模,然后利用背景差分法得到前景圖像并進行建模,背景和前面模型建立完畢后完成了實驗的初始化。為了證明本算法具有一定針對性的同時也適用于一般環(huán)境的視頻分割,實驗中專門選擇負(fù)責(zé)背景的視頻進行分割,同時也選取普通視頻進行分割,且和其他幾種常見的視頻分割算法做了對比,以此來驗證本文算法的有效性。
本文算法的實驗結(jié)果與Background Cut、Bilayer和Confidence-Based Color Modeling三種算法的實驗結(jié)果如圖7-圖10所示。圖7是本文算法進行視頻分割后隨機抽取其中某幾幀的分割結(jié)果。圖8-圖10是本文算法和文獻[13]中Background Cut視頻分割算法、文獻[14]中Bilayer視頻分割算法、文獻[8]中Confidence-Based Color Modeling視頻分割算法對相同視頻的分割結(jié)果對比。
(a)t=1(b)t=102(c)t=132圖7 ac視頻序列本文算法結(jié)果
(a) 原圖(b) BC算法(c) 本文算法圖8 Background Cut算法和本文算法比較
(a) 原圖(b) Bilayer算法(c) 本文算法圖9 Bilayer算法和本文算法比較
(a) 原圖(b) CCM算法(c) 本文算法圖10 Confidence-Based Color Modeling算法和本文算法比較
從以上實驗結(jié)果可知,本文算法和其他三種視頻分割算法相比,在背景復(fù)雜或者背景和前景顏色相似時,分割效果明顯優(yōu)于其他三種視頻分割算法。在其他幾種算法出現(xiàn)明顯分割錯誤的情況下,本文算法并未出現(xiàn)相同的錯誤,分割的準(zhǔn)確性有了較大的提高。
為了從整體上來驗證本文視頻分割算法的穩(wěn)定性和魯棒性,我們對本文視頻分割算法的結(jié)果進行錯誤率統(tǒng)計,并和其他三種視頻分割算法的結(jié)果做了對比,結(jié)果如表1所示。其中Background Cut、Bilayer和Confidence-Based Color Modeling算法的視頻分割結(jié)果和錯誤率數(shù)據(jù)來自文獻[8]和其發(fā)布的視頻。
表1 算法錯誤率統(tǒng)計 %
從表1中可以看出,本文算法的分割錯誤率明顯較低,特別是針對JM視頻,因為JM視頻中有大范圍的背景變化,導(dǎo)致其他算法分割錯誤率較高,而本文算法由于LBP背景模型能夠自動更新所以錯誤率較低。統(tǒng)計錯誤率的方式采用的是一幀中錯誤分割的像素占整幅圖像的比值,其中用于判斷像素分割正確與否的真值數(shù)據(jù)來源于微軟的I2I工程[15]。
針對視頻中目標(biāo)區(qū)域和背景區(qū)域交界處顏色相似或者背景情景較復(fù)雜圖像分割不精確問題,本文提出了基于LBP紋理特征和Canny算子的視頻分割算法。首先使用LBP背景模型得到像素與背景相似度信息,對能量函數(shù)的顏色分量進行改進,提高前景目標(biāo)像素與前景模型的相似度;然后使用Canny邊緣檢測算法,增強前景和背景交界處弱邊緣,并使用背景圖像和當(dāng)前幀圖像的梯度圖消除背景中強邊緣的影響;最后使用最大流/最小切算法求解改進后的能量函數(shù),得到分割結(jié)果。
視頻分割在當(dāng)前計算機視覺研究領(lǐng)域應(yīng)用廣泛,而且隨著當(dāng)前技術(shù)的發(fā)展,視頻的分辨率越來越高,數(shù)據(jù)量越來越大,目前視頻分割技術(shù)不能滿足實時分割需求。
隨著視頻分割技術(shù)應(yīng)用領(lǐng)域的不斷增加,以及當(dāng)前視頻錄制技術(shù)的不斷提高,視頻的分辨率也在不斷提高,且很多場合需要做到視頻分割的實時性。所以視頻分割算法的下一步研究方向是如何將視頻分割算法和大數(shù)據(jù)計算框架進行結(jié)合來提高視頻分割速度。