王 敏,鄭嘉豪,王金寶
(1.西安電子科技大學電子工程學院,陜西 西安 710071;2.西安電子科技大學機電工程學院,陜西 西安 710126)
車輛視頻檢測技術(shù)是當今研究的熱門課題,有著廣泛的應(yīng)用前景。在智能交通系統(tǒng)中,利用視頻處理技術(shù)對交通信息,如車流量、違章車輛、車牌號等的檢測和識別,與傳統(tǒng)電磁線圈檢測、紅外檢測、雷達檢測[1]等方法相比有著成本低、安裝方便、信息量大的特點。而將這些信息從視頻圖像中提取出來,需要使用光流法、幀差法、背景差法、邊緣檢測法[2]等方法,其中背景差法具有速度快,準確性高的特點,適用于資源有限,對實時性要求較高的嵌入式檢測設(shè)備。背景差法關(guān)鍵在于找到一種背景更新算法實時獲得與實際背景相同或接近的道路背景,常用的背景更新算法有平均法、自適應(yīng)更新法以及高斯模型法等。首先簡單介紹多幀平均法和自適應(yīng)更新法兩種背景更新算法,其次將兩種算法在ADSP-BF561平臺上實現(xiàn),并對兩者的實時性做出比較和分析。
在車輛視頻檢測背景差法中采用當前幀與背景幀相減的方法提取運動車輛,導出諸如車速等其他交通信息。為保證檢測的準確性,獲取一個與實際交通道路相同或貼近的背景至關(guān)重要,本節(jié)簡單介紹多幀平均法和自適應(yīng)法兩種背景獲取與更新算法。
多幀平均法是連續(xù)采集多幀圖像,將各圖像對應(yīng)像素點的值相加后求平均值,各均值像素構(gòu)成新的圖像即為背景圖像。對于只有亮度信息的黑白圖像,只需對各像素點的亮度作平均即可;對于有色度和飽和度的YUV圖像或RGB圖像,則需要分別對亮度、色度和飽和度或R,G,B這3個參數(shù)作平均運算。設(shè)連續(xù)采集N幀圖像,第n,n=0,1,…,N-1幀圖像的某個像素為In(x,y),采用多幀平均法后,背景圖像中對應(yīng)的像素為 Bn(x,y),則
對于多幀平均算法,背景每N幀更新一次,N太小會影響背景的真實性,太大則會使背景相對滯后,具體可根據(jù)道路交通流疏密情況和系統(tǒng)對實時性要求而定。圖1是一幀原始圖像以及取各種值時所獲的背景圖像。
自適應(yīng)背景更新算法[3]是先取1幀圖像作為原始背景,然后利用當前幀對其不斷更新。具體做法是:以亮度信息的變化量為依據(jù),判斷出當前幀相對于前一幀的運動像素點和靜止像素點;運動像素點所對應(yīng)的背景點不更新,保持不變;而靜止像素點所對應(yīng)的背景點則更新為當前幀像素點與背景點的加權(quán)值,即
圖1 一幀原始圖像及N取各種值情況下所獲得的背景圖像
設(shè)某像素點在當前幀中的值為In(x,y),對應(yīng)的前一幀和背景中的值分別為 In-1(x,y) 和 Bn-1(x,y),Bn(x,y)為更新后的背景值,Sn(x,y)為當前幀與前一幀之差的絕對值
求出 Sn(x,y)的均值 μn和方差 σn,按式(3)對Sn(x,y)作二值化處理,其中k的值可根據(jù)實驗結(jié)果而定,文中取1,獲得了較理想效果,如圖2(b)所示。
至此可以找出An(x,y)中為255的點即為運動像素點,其他則是靜止像素點,背景更新為舊背景Bn-1(x,y)與當前幀 In(x,y)的線性加權(quán)[3],經(jīng)多次更新后得到如圖2(c)所示的背景圖像。
其中,?為背景更新速率,它等于當前幀中運動像素點數(shù)除以總像素點數(shù)。
圖2 更新后背景圖像
文中將多幀平均和自適應(yīng)兩種背景更新方法在ADSP-BF561處理器上實現(xiàn),這里先介紹BF561硬件平臺和軟件實現(xiàn)流程,然后通過測試數(shù)據(jù)對兩種算法的實時性進行比較和分析。
硬件采用ADI公司ADSP-BF561 EZ-KIT開發(fā)平臺[4],從攝頭輸出的模擬視頻信號經(jīng)開發(fā)平臺上的視頻解碼器ADV7183,轉(zhuǎn)換成YUV格式的數(shù)字視頻信號,數(shù)字視頻信號通過BF561芯片上的PPI接口存入外部SDRAM中,一幀數(shù)據(jù)傳輸完成繼續(xù)下一幀數(shù)據(jù)傳輸,與此同時BF561對上一幀數(shù)據(jù)進行處理,如圖3所示。
圖3 信號處理流圖
ADV7183是ADI公司一款視頻解碼器,支持混合和分量視頻輸入,采樣率27 MHz,數(shù)字視頻以Cb Y Cr Y 4∶2∶2的格式并行輸出,其輸出接口可與BF561的PPI口無縫相連。
BF561是一款雙核32位DSP處理器[5],每個內(nèi)核時鐘最高可達600 MHz。片內(nèi)共含有328 kB的SRAM,分為L1和L2兩級,每個內(nèi)核含有100 kB的L1SRAM,可用于指令和數(shù)據(jù)存儲,工作在核時鐘速率,L2為兩個內(nèi)核共享的存儲區(qū),共128 kB,工作在1/2核時鐘頻率。BF561有2個DMA(Direct Memory Access)控制器,每個DMA支持12通道的DMA傳輸,共24通道,此外還有2個存儲器DMA(MDMA)控制器,每個支持2通道存儲器到存儲器的DMA訪問,BF561片上外設(shè)PPI接口(Parallel Peripheral Interface)為數(shù)字視頻信號的輸入提供無縫接口。
ADSP-BF561 EZ-KIT開發(fā)平臺上有兩片、共64 MB、可32位訪問的SDRAM,作為BF561的外部存儲器,時鐘速率可達120 MHz。
模擬視頻信號通過ADC轉(zhuǎn)換后,輸出數(shù)字視頻信號,每幀含有576行,每行720個像素點,數(shù)據(jù)量為810 kB,在DSP內(nèi)存中放不下,只能通過PPI口DMA存入到外部SDRAM中,當要進行數(shù)據(jù)處理時再從SDRAM中調(diào)入到內(nèi)存中運行。SDRAM的時鐘速率相對于DSP內(nèi)核時鐘來說較慢,因此在內(nèi)存中開辟出2倍于一次需要處理的數(shù)據(jù)容量的空間,然后通過MDMA的方式,進行數(shù)據(jù)傳輸,當一個在進行數(shù)據(jù)處理時,另一個可以傳輸數(shù)據(jù),這樣可以減少數(shù)據(jù)傳輸對時間的浪費,從而提高處理速度。另外BF561有兩個內(nèi)核,每個內(nèi)核有2個MDMA通道,可同時獨立運行,因此可使雙核同時工作,進一步提高處理速度。
背景更新算法在BF561上的實現(xiàn),主要是要將一幀圖像分成若干部分,分先后輸入到內(nèi)部存儲器中再作處理。文中將一幀圖像分成64部分,按順序以32位MDMA的方式輸入到L2存儲器中,L2存儲器分成A,B兩部分,當A在作1/64幀數(shù)據(jù)處理時,B則進行1/64幀數(shù)據(jù)傳輸,數(shù)據(jù)處理和傳輸交替進行,保證內(nèi)核以全速率處理數(shù)據(jù)而不用停下等待數(shù)據(jù)傳輸。圖4是A,B兩區(qū)交替進行MDMA數(shù)據(jù)傳輸和數(shù)據(jù)處理完成一幀視頻數(shù)據(jù)處理的流程圖。
圖4 一幀視頻數(shù)據(jù)處理流程圖
道路交通狀況以及通過兩種方法獲得的背景分別如圖1(a),圖1(f)和圖2(c)所示,由圖可知兩種方法都能獲得較理想的背景幀。下面從實時性方面比較兩者的區(qū)別。
對于多幀平均法,每64幀更新一次,分別在10 s,20 s,40 s內(nèi)測試,測得實際更新次數(shù)與理論更新次數(shù)一致,可見多幀平均法實時性較好,若只對感興趣的區(qū)域進行更新,也就是在一幀視頻中繪出若干個虛擬檢測線圈,線圈內(nèi)部作為感興趣的區(qū)域,只對此部分進行更新和處理,運算量會減少很多,在背景更新的同時就有足夠的時間進行車輛檢測等其他運算。
對于自適應(yīng)更新法,用10 s,250幀作測試,分別以每1幀更新一次、每2幀更新一次和每4幀更新一次測試自適應(yīng)更新法實際更新次數(shù),得表1數(shù)據(jù)。從表中可知,對于分辨率為720×576的YUV 4∶2∶2圖像,采用自適應(yīng)背景更新方法,10 s內(nèi)250幀視頻最多只能更新100次,若數(shù)據(jù)量為原來的1/2.5,則可以滿足1幀更新一次的實時性要求,可以在下一幀數(shù)據(jù)到來之前完成一次背景更新。對于車輛視頻檢測,除背景更新外,還有車輛的檢測和速度測量等處理,假設(shè)車輛檢測等其他處理所占的時間與背景更新時間相同,則當數(shù)據(jù)量為原來的1/5時,可滿足背景實時更新和車輛實時檢測要求。同多幀平均法一樣,為減少數(shù)據(jù)處理量,在一幀圖像上畫出幾個虛擬檢測線圈,使線圈包圍的像素點的總數(shù)不大于整幅圖像的1/5,就可以在一幀之內(nèi)完成背景更新和其他檢測處理運算,因為我們只關(guān)心線圈內(nèi)的部分,背景更新和檢測運算也只針對這部分。
表1 自適應(yīng)法10 s內(nèi)理論與實際更新次數(shù)
文中在ADSP-BF561處理器平臺上實現(xiàn)了多幀平均法和自適應(yīng)法兩種背景更新方法,實驗證明兩種方法均能較好地獲取背景圖像并有辦法滿足實時性要求。兩種算法不僅可以很好地應(yīng)用于后續(xù)的基于背景差法的車輛視頻檢測中,也可用于其他基于視頻的動目標檢測場合。
[1]劉相瑩.智能交通中的車輛檢測技術(shù)及其發(fā)展[J].科技信息,2007(28):263-264.
[2]張暉,董育寧.基于視頻的車輛檢測算法綜述[J].南京郵電大學學報,2007,27(3):88 -94.
[3]LEI MANCHUN,DAMIEN L,PIERRE G,et al.A video -based real-time vehicle counting system using adaptive background method[C].IEEE International Conference on Signal Image Technology and Internet Based Systems,2008:523-528.
[4]Analog Devices,Inc.ADSP - BF561 EZ - KIT lite?evaluation system manual[M].USA:Analog Devices,Inc,2008.
[5]Analog Devices,Inc.ADSP - BF61 blackfin?processor hardware reference[M].USA:Analog Devices,Inc,2010.