鄧 博,范文兵,常伯樂
(鄭州大學(xué) 信息工程學(xué)院,河南 鄭州450001)
在生活中,大部分有意義的視覺信息是包含在運動物體中的,所以運動物體的檢測在機(jī)器視覺應(yīng)用領(lǐng)域是一個重要的課題。運動物體檢測主要是對攝像頭獲取的動態(tài)序列圖像進(jìn)行運算分析的過程,要處理的數(shù)據(jù)量通常很龐大,現(xiàn)有的算法在一般處理器上實現(xiàn)起來處理速度較慢,實時性有所不足,而對于許多用戶來說,需要的是一種體積小同時具備智能化,而且實時性很強(qiáng)的基于嵌入式的智能監(jiān)控系統(tǒng)產(chǎn)品。因此,對基于嵌入式的運動檢測算法的研究具有很強(qiáng)的實際意義。
現(xiàn)有的運動目標(biāo)檢測方法主要有三種:光流法、幀差法和背景差法。
光流法[1]利用圖像序列中的像素強(qiáng)度數(shù)據(jù)的時域變化和相關(guān)性來確定各像素點位置的運動,缺點是計算方法復(fù)雜,處理速度慢,達(dá)不到實時處理的要求。
幀差法[2]是將相鄰兩幀圖像相對應(yīng)像素點的灰度值相減,然后將差值二值化,得到的圖形區(qū)域就是有運動物體經(jīng)過區(qū)域。缺點是該方法容易產(chǎn)生空洞,影響檢測結(jié)果。
背景差法[3]是先計算出一幅背景的參考圖像(或者模型),然后將其與新獲取的幀做比較,得到一幅標(biāo)記出運動目標(biāo)區(qū)域的二值圖像。常用的建立模型方法有均值法、中值法、W4法、高斯法、核密度估計法等。這幾種建模法共同的缺點就是建模的過程需要幾十幀進(jìn)行學(xué)習(xí),實時性不高?;诖?,Olivier Barnich等人于2009年提出一種ViBe(Visual Background Extractor)[4-6]背景模型的運動檢測算法,其算法實時性較高,適用于嵌入式系統(tǒng)。
本文介紹了新型背景建模算法ViBe的算法思想及其在嵌入式視頻處理系統(tǒng)TMS320DM6437上實現(xiàn)的具體流程,并引入幀級更新策略,以彌補(bǔ)原算法對突變背景更新較慢的不足。隨后對算法得出的前景目標(biāo)進(jìn)行二值化、中值濾波、連通域捕捉,最終實現(xiàn)對運動目標(biāo)的捕捉。
ViBe算法用同一幀圖像中像素點作為樣本點來對像素建模,并使用隨機(jī)的方法建立、更新背景模型。實驗表明[5],該算法運算復(fù)雜度低,抗噪聲性好,在灰度圖像空間建模時不需要浮點運算[4],適合在嵌入式系統(tǒng)上實現(xiàn)。
首先將t時刻x點位置的像素值定義為pt(x),并在該像素點的某個鄰域Nt(x)內(nèi)有放回的隨機(jī)取N次像素點,記為樣本集合
再把顏色空間中與pt(x)歐幾里德距離小于R的像素點集合定義為
然后取兩個集合交集的勢,公式為
如圖1所示,坐標(biāo)軸C1和C2表示某二維的顏色空間,SR(pt(x))范圍內(nèi)包含Bt(x)元素的個數(shù)即是count的取值。
圖1 像素點背景分類
這樣,對任意時刻t,任意像素點pt(x),可以取定一個閾值#min,使得pt(x)的概率足夠大,公式為
集合Bt(x)即是t時刻x像素點的背景模型[4]。由此完成對像素點分類。
如果x位置像素點被判定為背景,系統(tǒng)生成一個隨機(jī)函數(shù)來判定這個像素是否被用來更新背景模型,如果判定為要更新,則系統(tǒng)用該點像素值pt(x)隨機(jī)的去替換背景模型Bt(x)中的某一個元素[4],如圖2所示。
圖2 像素點背景模型更新
除此之外,還要考慮到該像素點的鄰域Nt(x),由于圖像中相臨近位置的像素點在顏色空間的相關(guān)性很強(qiáng),因此其鄰域像素為背景像素的可能性就很大。使用該點像素值pt(x)來更新鄰域Nt(x)內(nèi)隨機(jī)某位置xi像素點的背景模型Bt(xi),能夠?qū)⒈尘爸型蝗煌?坎㈤L時間逗留的前景目標(biāo)去除,使其不被檢測成為前景目標(biāo)。具體算法過程,在后面詳細(xì)介紹。
TMS320DM6437(簡稱DM6437)是專為高性能、低成本視頻應(yīng)用開發(fā)的,主頻600 MHz,32位定點,采用達(dá)芬奇(DaVinci)技術(shù)。該器件采用TI第3代超長指令集結(jié)構(gòu)(VelociTI.3)的TMS320C64x+DSP內(nèi)核,主頻可達(dá)600 MHz。除此之外,DM6437內(nèi)部集成一個視頻處理子系統(tǒng)(VPSS),包括視頻處理前端(VPFE)和視頻處理后端(VPBE)兩部分,從硬件上完成必要的視頻預(yù)處理和后處理[6]。
DM6437的軟件系統(tǒng)是基于DSP/BIOS實時操作系統(tǒng)構(gòu)建的。在DM6437的軟件結(jié)構(gòu)中,系統(tǒng)通過調(diào)用相應(yīng)的API接口,建立了6個通道句柄,包括3個視頻采集通道和3個視頻顯示通道,并為各通道分配對應(yīng)的緩存區(qū)。這樣,系統(tǒng)建立了2個隊列:一個是由CCD控制器維護(hù)的視頻采集隊列;另一個是由應(yīng)用層維護(hù)的視頻顯示隊列。2個隊列各包含3個緩存區(qū),對于隊列的數(shù)據(jù)操作可以通過調(diào)用FVID_exchange函數(shù)來完成[7]。對視頻采集隊列的句柄執(zhí)行FVID_exchange函數(shù),CCD控制器把攝像頭新采集到的一幀數(shù)據(jù)填充到隊列頂部的緩存區(qū),并把該緩存區(qū)排到視頻顯示隊列的底部,以待顯示(如圖3所示);對視頻顯示隊列執(zhí)行FVID_exchange,應(yīng)用層會把隊列頂部的緩存區(qū)數(shù)據(jù)顯示出來,并把該緩存區(qū)送還給視頻采集隊列的底部,等待重新填充數(shù)據(jù)(如圖4所示)。第2次執(zhí)行該函數(shù),會完成一個數(shù)據(jù)“采集—顯示”的過程,因此,對于視頻圖像的處理,就應(yīng)該在第2次執(zhí)行該函數(shù)之間完成。
考慮到ViBe背景建模相對較低的運算量以及DM6437的運算能力,本文設(shè)計了一種基于DM6437平臺的運動目標(biāo)檢測程序,以實現(xiàn)在嵌入式系統(tǒng)中完成對運動物體的偵測和捕捉。
在DM6437視頻系統(tǒng)中,首先通過視頻預(yù)處理,把圖像的顏色空間設(shè)置為YUV格式,以便于和灰度空間的轉(zhuǎn)換。這樣,對圖像灰度值得操作即為對圖像Y分量的操作。下面論文中對圖像的背景模型建立以及更新都是在灰度空間進(jìn)行的。
基于系統(tǒng)軟件的框架,設(shè)計的程序結(jié)構(gòu)如圖5所示。
圖5 程序結(jié)構(gòu)圖
程序流程主要分下面幾個步驟:
1)建立背景模型
取視頻的第一幀數(shù)據(jù),用ViBe算法對所有像素點建立背景模型,然后將原圖像數(shù)據(jù)送交屏幕顯示。
在第1.2節(jié)介紹過,對像素點建模先要選取該點某個的領(lǐng)域,在確定鄰域覆蓋的范圍時,選擇應(yīng)該適中[5],實驗結(jié)果表明,對于實驗平臺所用的分辨率為720×480的圖像,選擇八鄰域能得出滿意的結(jié)果。將像素點pt(x)的八鄰域內(nèi)所有點的像素值所組成的集合記為
這里用上標(biāo)i表示元素序號。在Nt(x)中有放回的隨機(jī)選取N次,所選到的像素值組成一個新的集合,計算像素點pt(x)的背景模型,記為
實驗的結(jié)果顯示,在灰度圖像空間,取值R=20,N/#min=10效果較好,本文取N=20,#min=2。
2)對當(dāng)前幀像素點分類
取視頻的第n(n≥2)幀數(shù)據(jù),與背景模型對比以確定各像素點是不是前景類型。由于在灰度空間,顏色的維度是1,因此式(2)等價于
所以,判斷x位置像素pt(x)是否為前景目標(biāo)的準(zhǔn)則是對該點背景模型Bt(x)進(jìn)行如下運算
對式(8)重復(fù)計算N=20次,如果背景候選點個數(shù)大于等于#min,則x位置像素pt(x)判定為背景點,否則為前景點。
3)隨機(jī)的對各像素點背景模型更新,具體過程如圖6所示。
圖6 像素點背景模型更新流程圖
其中,步驟②和步驟④判斷結(jié)果要具有隨機(jī)性,可以設(shè)定生成隨機(jī)整數(shù)r∈[0,φ-1]作為判定依據(jù),φ代表背景模型的更新和傳播頻率,當(dāng)r=0時,判定為真,否則判定為假。步驟⑤是對八鄰域像素點的背景模型進(jìn)行隨機(jī)更新,這樣可以去除攝像頭或者運動目標(biāo)的微動所引起的誤差以及重影,還可以逐步消除前一幀背景模型的偽前景目標(biāo)[5]。
4)對ViBe模型更新算法進(jìn)行改進(jìn),加入幀級更新。
由于ViBe算法對背景模型的更新策略是對像素點背景模型的更新,而且這種更新還具有隨機(jī)性,那么如果因為光照變化或者其他特殊原因使得視頻圖像出現(xiàn)突變,就會導(dǎo)致很長一段時間內(nèi)背景模型與當(dāng)前實際視頻圖像相差較大,以致不能正確檢測出前景目標(biāo)。為此,在視頻圖像發(fā)生突變的情況下,引用幀級更新的策略,對當(dāng)前幀圖像重新建立背景模型。由于在視頻圖像沒有突變的情況下,每幀圖像的像素點背景模型更新的個數(shù)是相近的,對這一數(shù)據(jù)進(jìn)行統(tǒng)計,記為NR,與前一幀更新的像素點數(shù)NR'做比較,公式為
如果式(9)成立,則判定圖像發(fā)生突變,系統(tǒng)對當(dāng)前幀重新建立背景模型,在其后的第二幀就可以提取前景了。由于ViBe算法建模簡單快速,所以重新建立背景不會降低系統(tǒng)的實時性。
5)完成像素點背景分類后,按式(10)做二值化
這樣按照步驟1)至步驟5),對整幀圖像所有像素遍歷一遍后得到前景二值化圖像數(shù)據(jù),如果把數(shù)據(jù)送屏幕顯示,得到圖像如圖7a所示(圖像中,手是運動物體)。
6)對前景二值圖像進(jìn)行中值濾波[8],用3×3的滑動窗口遍歷整幀圖像,消除孤立像素點,濾波后圖像效果如圖7b所示。
7)對前景二值圖的連通區(qū)域標(biāo)號,并用矩形框標(biāo)注前景目標(biāo)。本文使用掃描標(biāo)記法[9],對一幀圖像從上到下、從左到右逐點掃描遍歷,對前景像素點進(jìn)行連通域標(biāo)號,掃描過后可能存在同一連通域內(nèi)像素點標(biāo)號不統(tǒng)一的情況,為此,進(jìn)行第二輪掃描,查看并統(tǒng)一各相鄰的前景點的連通域標(biāo)號,使得同一連通域內(nèi)所有像素點標(biāo)號統(tǒng)一,同時得出連通域的范圍坐標(biāo),畫矩形框標(biāo)注該連通域,效果如圖7c所示。
8)將步驟7)畫出的矩形框等坐標(biāo)疊加到這一幀的原始圖像上,標(biāo)注出運動目標(biāo)的區(qū)域,結(jié)果如圖7d所示。至此,預(yù)期目標(biāo)達(dá)成。
本文針對ViBe背景建模的低運算量的特性,設(shè)計了一種實時性很強(qiáng)的基于ViBe背景建模算法的運動檢測方案,并在DM6437嵌入式視頻系統(tǒng)平臺上實現(xiàn)該方案。在ViBe背景模型更新環(huán)節(jié),本文在原算法的策略基礎(chǔ)上引入了一種幀間更新的機(jī)制,使得系統(tǒng)能更快地適應(yīng)背景的突變。然后通過與背景模型對比完成對圖像前景的分類,最后對前景二值圖像的連通域標(biāo)號操作以完成對運動目標(biāo)的捕捉。實驗結(jié)果表明,本文提出的基于ViBe背景建模的運動檢測方案在嵌入式實時系統(tǒng)中具有很強(qiáng)的實用性。
圖7 實驗平臺上實現(xiàn)方案效果
[1]BARRON J L,F(xiàn)LEET D J,BEAUCHEMIN S S.Performance of optical flow techniques[J].International Journal of Computer Vision,1994,12(1):43-47.
[2]梁國山,朱秀昌.用于人體檢測的改進(jìn)的幀差法[J].電視技術(shù),2009,33(S1):133-135.
[3]李澤峰,朱凌云.基于改進(jìn)背景差法的運動目標(biāo)檢測[J].儀表技術(shù),2012(1):34-36.
[4]BARNICH O,DROOGENBROECK M V.ViBe:a powerful random technique to estimate the background in video sequences[C]//Proc.IEEE Int.Conf.Acoustics Speech and Signal Processing(ICASSP).[S.l.]:IEEE Press,2009:945-948.
[5]BARNICH O,DROOGENBROECK M V.ViBe:a universal background subtraction algorithm for video sequences[J].IEEE Trans.Image Processing,2011,20(6):1709-1724.
[6]Texas Instrument.TMS320DM6437 digital media processor[EB/OL].[2012-08-20].http://www.ti.com/lit/ds/symlink/tms320dm 6437.pdf.
[7]Texas Instrument.DSP/BIOS VPFE device driver user’s manual[EB/OL].[2012-08-20].http://www.ti.com/lit/an/spraap3a/spraap3a.pdf.
[8]蘇禮坤,陳懷新.中值濾波的視頻背景更新[J].光電工程,2010,37(1):131-135.
[9]齊美彬,鮮柯,蔣建國.一種基于車輛遮擋模型的車流量統(tǒng)計算法[J].儀器儀表學(xué)報,2010,31(6):1335-1341.