賈建英,董安國
(長安大學(xué) 理學(xué)院,陜西 西安710064)
目前,運動目標(biāo)檢測主要依托于3 種常用的方法:光流法[1,2]、幀差法[3,4]和背景減除法[5,6]。光流法因其算法復(fù)雜、抗噪性差,若沒有特殊硬件裝置,則無法實時地提取運動目標(biāo);幀差法雖不能完整地提取目標(biāo)信息,但能很好地適應(yīng)動態(tài)環(huán)境、光線變化對提取結(jié)果影響較?。槐尘皽p除法是當(dāng)前常用的方法之一,但其對外部條件變化過于敏感,易使提取的目標(biāo)出現(xiàn)部分空洞。王歡[7]提出了在對運動目標(biāo)進(jìn)行跟蹤時可利用運動差分直方圖作為衡量目標(biāo)運動特征的依據(jù),而背景區(qū)域和目標(biāo)區(qū)域?qū)?yīng)的運動差分直方圖分布是不同的。據(jù)此,提出了一種逐次分塊差分直方圖算法,用于對運動目標(biāo)的提取,由于背景塊和目標(biāo)塊對應(yīng)的差分直方圖分布不同,可以通過逐步去除背景提取運動目標(biāo),這不僅能準(zhǔn)確完整地提取出運動目標(biāo),而且還能夠提高算法速度。
視頻圖像序列在拍攝時,由于受到各種隨機(jī)干擾因素的影響,圖像中時常伴隨著大量的噪聲,不能直接用于目標(biāo)提取。需要對圖像進(jìn)行預(yù)處理,使本文算法的抗干擾性能更好。因此,運用二維離散小波變換的快速算法Mallat塔式分解[8]先對視頻圖像序列中隨機(jī)取出的相鄰兩幀圖像分別進(jìn)行二維離散小波分解,得到各自的低頻圖像,經(jīng)過預(yù)處理得到的低頻圖像可用于運動目標(biāo)提取,不但能濾掉圖像中的高頻成分,消除椒鹽、高斯等噪聲對運動目標(biāo)提取的干擾,也能在一定程度上縮短算法運算時間。
圖1 (a)、(b)為一段自拍視頻中隨機(jī)取出的兩幀相鄰圖像,圖2 (a)、(b)分別是圖1 (a)、(b)Mallat塔式分解結(jié)果,其中圖2 (a)、 (b)左上角為Mallat塔式分解后的低頻圖像。
圖1 從一段自拍視頻中取出的兩幀相鄰圖像
圖2 Mallat塔式分解結(jié)束
假設(shè)在視頻圖像序列中隨機(jī)取出兩幀相鄰圖像為f1和f2,對f1和f2作差分運算得到差分圖像f,再求差分圖像f 的直方圖P(rk),求得的直方圖P(rk)定義為運動差分直方圖。P(rk)的計算公式如下
式中:rk——第k級灰度,nk——圖像中灰度為rk的像素個數(shù),n——圖像中像素的總數(shù),k=0,1,…,L-1(L-1是圖像灰度級的最大值)。
圖3為圖1 (a)與 (b)的差分圖像,圖4為運動差分直方圖 (水平軸為對應(yīng)灰度級值rk,縱軸對應(yīng)于P(rk)的值)。
圖3 差分圖像
圖4 運動差分直方圖
分析相鄰兩幀的差分圖像,因拍攝視頻時攝像機(jī)是固定的,視頻圖像序列中運動目標(biāo)是車輛,靜止不動的是背景,若將差分圖像f 進(jìn)行分塊,背景區(qū)域塊所對應(yīng)的差分直方圖中灰度級分布極不均勻,0 灰度級處集中了幾乎所有像素,而其它灰度級上基本沒有像素;而包含目標(biāo)區(qū)域塊所對應(yīng)的差分直方圖中灰度級分布只是不太均勻,除0灰度級外,其余各個灰度級上都含有部分像素。為了更加準(zhǔn)確的說明運動差分圖像直方圖這一特點,通過圖5中A、B、C這3個塊進(jìn)行了驗證。
圖5 對差分圖像進(jìn)行分塊
圖5是對差分圖像圖3進(jìn)行分塊得到的,選圖5中的3塊分別記作A、B、C,其中A 塊中只含背景,B 塊中既含目標(biāo)又含背景,C塊中只含目標(biāo)。只含背景區(qū)域塊A 所對應(yīng)的運動差分直方圖如圖6 (a)所示,從圖6 可以看出,對于只含背景區(qū)域的塊來說,幾乎所有像素均集中在0灰度級,其它灰度級上基本沒有像素。圖6 (b)、(c)分別是塊B、C對應(yīng)的運動差分直方圖,可以看出對于包含車輛目標(biāo)的塊,其對應(yīng)的運動差分直方圖中灰度級分布只是不太均勻,各個灰度級上都含有部分像素。
基于上述分析,針對視頻圖像序列中運動目標(biāo)的提取,去除背景只需看相鄰幀的差分圖像分塊后每塊所對應(yīng)的運動差分直方圖中除0灰度級外,其余各個灰度級上是否基本沒有像素,因此本文提出了逐次分塊差分直方圖對運動目標(biāo)的提取算法。
圖6 運動差分直方圖
由上面運動差分直方圖知,對于視頻圖像序列中兩幀相鄰圖像在提取運動目標(biāo)時先將圖像進(jìn)行分塊處理,如何分塊[9]成了問題,為了準(zhǔn)確地提取運動目標(biāo),塊的大小必須適中。一般情況下,分塊過小,塊中包含的元素過少,每小塊的灰度值很接近,易將包含車輛目標(biāo)的某塊錯誤的歸為背景區(qū)域,造成目標(biāo)空洞,且算法運算量過大。因此,本文采用較大的塊進(jìn)行分塊處理。
先將兩幀相鄰圖像以及它們的差分圖像均劃分為32*32像素大小的塊 (若圖像的寬或高不能被32整除,則將圖像以0像素進(jìn)行下邊界或右邊界延拓,因為0像素的存在并不影響利用運動差分直方圖去除背景),求出每塊所對應(yīng)的運動差分直方圖,選取合適的閾值T,若某塊對應(yīng)的運動差分直方圖中除0 灰度級外,其它灰度級上也有像素,且包含像素的其它灰度級的個數(shù)大于閾值T,說明當(dāng)前塊中包含目標(biāo),則將該塊歸為目標(biāo)區(qū)域;否則將該塊歸為背景區(qū)域,并令該塊的像素全變?yōu)?。如圖7 (a)所示,圖7(a)為將圖像分為每小塊大小為32*32像素,利用差分直方圖對圖1 (b)去除背景的結(jié)果。此時已去除大部分背景,目標(biāo)周圍依然還存在部分背景,因而再對上面去除背景的結(jié)果以及對應(yīng)的差分圖像進(jìn)一步分塊,劃分為16*16像素大小的塊,可依據(jù)上述規(guī)則利用差分直方圖去除背景,結(jié)果如圖7 (b)所示。因目標(biāo)周圍的背景仍較多,以2的冪次繼續(xù)劃分,每塊大小分為8*8、4*4像素,結(jié)果分別如圖7 (c)、(d)。由圖7 (d)看出,圖像中背景成分幾乎沒有,由前面如何確定分塊大小的原則知,不宜繼續(xù)進(jìn)行劃分,否則分塊太小造成了目標(biāo)漏洞,而圖7 (d)顯示了利用逐次分塊差分直方圖提取到的目標(biāo)是準(zhǔn)確且完整的。
圖7 逐次分塊差分直方圖去除背影過程
本文算法具體步驟如下:
(1)將視頻圖像序列中隨機(jī)取出的兩幀相鄰圖像運用Mallat塔式分解進(jìn)行圖像預(yù)處理,得到各自的低頻圖像;
(2)利用上步得到的兩幀低頻圖像求得它們的差分圖像,將兩幀低頻圖像以及差分圖像均劃分為大小適中的塊;
(3)求得每塊所對應(yīng)的差分直方圖,根據(jù)目標(biāo)區(qū)域塊和背景區(qū)域塊運動差分直方圖分布不同這一特點,選取適當(dāng)?shù)拈撝?,分析判斷每塊對應(yīng)的差分直方圖的分布情況,除0灰度級外,有像素的其它灰度級的個數(shù)是否大于閾值,若大于,則將該塊歸為目標(biāo)區(qū)域,否則,該塊歸為背景區(qū)域,并令該塊的像素值全為0;
(4)對上步去除背景的結(jié)果繼續(xù)進(jìn)行分半劃分,重復(fù)第 (3)~ (4),直至每小塊的像素大小劃分為4*4。
下面對本文算法進(jìn)行數(shù)值仿真實驗。實驗計算機(jī)CPU為Intel Core i5-3210M2.50GHZ,操作系統(tǒng)為Windows 7,仿真軟件為MATLAB 7.1。
圖8是利用不同算法提取視頻序列圖像圖1 (b)中運動目標(biāo)的實驗結(jié)果。圖8 (a)是采用本文算法提取的結(jié)果,本文算法在樹枝晃動、光照變化等復(fù)雜背景情況下,能有效地避免運動目標(biāo)內(nèi)空洞的出現(xiàn),提取的運動目標(biāo)是完整且準(zhǔn)確的。圖8 (b)是采用幀差法[4]提取的結(jié)果,因目標(biāo)上部分像素較為相近,前后幀直接作差,易使目標(biāo)中這部分像素被減為0 而當(dāng)作背景,造成了目標(biāo)上出現(xiàn)空洞。圖8 (c)是采用背景減除的中值模型法[10]提取的結(jié)果,該算法將背景模型中背景每一像素值取為在視頻序列圖像中所有幀同一位置像素值的中位數(shù),再將背景模型與所要提取的幀作差,而目標(biāo)中像素在背景模型和提取的幀中像素值一旦相同,就造成了提取到的目標(biāo)出現(xiàn)空洞,又因要在樹枝晃動、光照變化等復(fù)雜背景情況下提取目標(biāo),更易使提取到的目標(biāo)中出現(xiàn)大量背景成分。圖8 (d)是采用高斯混合模型法[11]提取的結(jié)果,因要在樹枝晃動、光照變化等復(fù)雜背景情況下提取目標(biāo),背景模型不能得到很好的更新,使得提取結(jié)果受到嚴(yán)重影響,目標(biāo)中出現(xiàn)了大量空洞。
圖8 運動目標(biāo)提取算法比較
為更好地說明本文算法提取運動目標(biāo)的效果,下面列舉了其它幾種自拍視頻序列圖像中運動目標(biāo)在不同算法下的提取結(jié)果,如圖9、圖10所示。
圖9中第一行的3幅圖為自拍視頻序列中待提取目標(biāo)的一幀圖像;第二行的3幅圖為本文算法提取運動目標(biāo)的結(jié)果;圖10中第一行的3幅圖為背景減除的中值模型法提取運動目標(biāo)的結(jié)果;第二行的3幅圖為高斯混合模型法[12]提取運動目標(biāo)的結(jié)果。
圖9 本文算法目標(biāo)提取結(jié)果
圖10 背景減除的中值模型法和高斯混合模型法目標(biāo)提取結(jié)果
到目前為止還不存在一種算法就能解決所有類型運動目標(biāo)提取,但我們還是能根據(jù)實際情況對現(xiàn)有的算法實行改進(jìn),讓它更符合我們要求中最關(guān)注的情況。本文利用差分直方圖在背景區(qū)域塊與目標(biāo)區(qū)域塊的分布不同這一特點,對相鄰兩幀和差分圖像進(jìn)行逐次分塊,分析每塊的差分直方圖分布情況以逐步去除背景,最終在視頻圖像序列中提取到完整的運動目標(biāo)。實驗也表明了在解決視頻圖像序列中車輛運動目標(biāo)的提取本文算法具有較好的檢測性,但如何在更復(fù)雜的背景 (如背景遮擋)下準(zhǔn)確且完整地提取運動目標(biāo)將為下一步研究目標(biāo)。
[1]Yin Jianqin,Han Yanbin,Hou Wendi,et al.Detection of the mobile object with camouflage color under dynamic background based on optical flow [J].Procedia Engineering,2011,15:2201-2205.
[2]WU Zhenjie,MAO Xiaobo.Improved optical flow estimation algorithm based on frame difference [J].Computer Engineering and Applications,2013,49 (18):200-203 (in Chinese).[吳振杰,毛曉波.一種改進(jìn)的幀間差光流場算法 [J].計算機(jī)工程與應(yīng)用,2013,49 (18):200-203.]
[3]Zhu Man,Sun Shuifa,Han Shuheng,et al.Comparison of moving object detection algorithms [C]//World Automation Congress,2012.
[4]HAO Haogang,CHEN Jiaqi.Moving object detection algorithm based on five frame difference and background difference[J].Computer Engineering,2012,38 (4):146-148 (in Chinese).[郝毫剛,陳家琪.基于五幀差分和背景差分的運動目標(biāo)檢測算法 [J].計算機(jī)工程,2012,38 (4):146-148.]
[5]Yang Jingjing,Dai Yaping.A modified method of vehicle extraction based on background subtraction [C]//IEEE International Conference on Fuzzy Systems,2012.
[6]Zhang Ruolin,Ding Jian.Object tracking and detecting based on adaptive background subtraction [J].Procedia Engineering,2012,29:1351-1355.
[7]WANG Huan.Research on moving object detection and tracking techniques [D].Nanjing:Nanjing University of Science and Technology,2009 (in Chinese).[王歡.運動目標(biāo)檢測與跟蹤技術(shù)研究 [D].南京:南京理工大學(xué),2009.]
[8]LIU Wei,LI Chunqing,ZHANG Yanfen.Prediction of COD time series based on wavelet and LS-SVM [J].Microelectronics and Computer,2013,30 (4):26-29 (in Chinese). [劉偉,李春青,張艷芬.基于小波分解和最小二乘支持向量機(jī)的COD預(yù)測 [J].微電子學(xué)與計算機(jī),2013,30 (4):26-29.]
[9]TIAN Hongjin,ZHAN Yinwei.Moving object detection based on adaptive image blocking and SSIMl[J].Computer Science,2014,41 (2):119-122 (in Chinese). [田洪金,戰(zhàn)蔭偉.基于自適應(yīng)分塊和SSIM 的運動目標(biāo)檢測 [J].計算機(jī)科學(xué),2014,41 (2):119-122.]
[10]YANG Zhibang,XU Cheng.Shadow elimination algorithm for foreground based on statistical model[J].Journal of Chinese Computer Systems,2013,34 (2):423-428 (in Chinese).[楊志邦,徐成.一種基于統(tǒng)計模型的前景陰影消除算法 [J].小型微型計算機(jī)系統(tǒng),2013,34 (2):423-428.]
[11]Xie Yong.Improved gaussian mixture model in video motion detection [J].Journal of Multimedia,2013,8 (5):527-533.
[12]REN Keqiang,ZHANG Panhua,XIE Bin.Adaptive learning algorithm for moving target detection based on Gaussian mixture model[J].Computer Engineering and Design,2014,35 (3):968-974 (in Chinese). [任克強(qiáng),張盼華,謝斌.自適應(yīng)學(xué)習(xí)的混合高斯模型運動目標(biāo)檢測算法 [J].計算機(jī)工程,2014,35 (3):968-974.]