基于DM6446的視頻運動(dòng)車(chē)輛檢測系統
摘 要: 給出了一種基于DM6446 處理器的視頻運動(dòng)車(chē)輛檢測系統的技術(shù)實(shí)現方法,介紹了系統的硬件結構及軟件設計思路。結合DM6446 雙核處理器的特點(diǎn),給出了處理器ARM 端與DSP 端通信及雙緩沖區切換的具體方法。在視頻運動(dòng)車(chē)輛檢測算法上,采用差異積累法對DM6446 實(shí)時(shí)獲取的交通視頻數據進(jìn)行背景建模,用背景差法檢測車(chē)輛運動(dòng)區域,再結合Otsu 閾值化、形態(tài)學(xué)濾波及區域生長(cháng)等算法,最終在DM6446 硬件平臺上實(shí)現視頻運動(dòng)車(chē)輛的實(shí)時(shí)檢測。實(shí)驗結果表明,該系統具有良好檢測效果。
本文引用地址:http://dyxdggzs.com/article/148382.htm隨著(zhù)現代交通運輸業(yè)的快速發(fā)展,道路上的車(chē)輛日益增多,而伴隨而來(lái)的交通擁堵、道路使用效率不高等問(wèn)題卻給日常交通管理帶來(lái)了重重困難。融合了計算機、電子等現代高新科技的智能交通系統(ITS:Intelligent Transport System)提供了解決方法。
運動(dòng)車(chē)輛檢測是ITS 的重要組成部分,本文探討了以TI 的TMS320DM6446(簡(jiǎn)稱(chēng)DM6446)為嵌入式開(kāi)發(fā)平臺的交通視頻信息采集和處理系統的設計,通過(guò)分析實(shí)時(shí)交通視頻序列,采用差異積累背景建模、Otsu 自動(dòng)閾值選取、形態(tài)學(xué)濾波及區域生長(cháng)定位等技術(shù),最終實(shí)現交通場(chǎng)景視頻運動(dòng)車(chē)輛的檢測。
1 系統硬件構成
本系統選用的TMS320DM6446 是基于ARM926 和TMS320C64x+兩個(gè)核心的、高度集成的數字媒體處理器。ARM926EJ-S 采用管道化流水線(xiàn)可以執行32bit/16bit 指令集,并提供了獨立的16KB的指令Cache 和8KB 的數據Cache,可有效控制和管理外部中斷、各種接口及外設。TMS320C64x+屬TMS320C6000 系列高性能的定點(diǎn)DSP 處理器,集成了64 個(gè)32 位通用寄存器和8 個(gè)功能單元,硬件支持塊循環(huán)操作,采用二級Cache 結構:L1 程序/數據Cache 和L2 存儲/Cache.ARM 和DSP 共享外部256MB DDR SDRAM 存儲器,64MB NAND Flash用于存放ARM 和DSP 代碼。
系統硬件平臺還包含視頻處理子系統(VPSS)和眾多外設資源。VPSS 是DM6446 中專(zhuān)門(mén)負責視頻輸入輸出的硬件模塊,由視頻處理前端(VPFE)和視頻處理后端(VPBE)組成,系統模擬視頻信號經(jīng)由TVP5150解碼器解碼成YUV422 格式的視頻數據后傳送給VPFE 的CCD 控制器,然后通過(guò)EMIF 接口將暫存在VPSS 內部Buffer 中的數據傳送到外部DDR SDRAM中。VPBE 的屏幕顯示(OSD)模塊將視頻數據以YCbCr形式提交給視頻編碼器(VENC),通過(guò)視頻編碼器輸出到VGA 或CVBS 接口。本文處理系統的硬件拓撲結構如圖1 所示。
圖1 DM6446 系統平臺硬件結構示意圖
2 系統軟件設計
圖2 示意了系統硬件平臺軟件處理模塊的組成結構。如圖2 所示,軟件部分主要完成3 個(gè)任務(wù):圖像的采集與存放、ARM 與DSP 通信和視頻圖像處理。
圖2 DM6446 系統平臺軟件模塊構成框圖。
ARM 端負責初始化系統并控制數據的采集和存放。系統初始化時(shí)VPSS 被配置為場(chǎng)模式,VPFE 負責將采集到的視頻數據連續傳送到內存緩沖區。由于A(yíng)RM 端在向內存中存放圖像時(shí)DSP 端不能同時(shí)讀取,為了保證數據處理的正確性,本文采用雙緩沖機制,即:設定兩個(gè)各自連續的幀緩沖區VIDEO BUF0 和video BUF1,視頻數據交替的向這兩個(gè)區域緩沖刷新。
ARM 與DSP 兩核之間的通訊通過(guò)內存共享和中斷的方式實(shí)現。ARM 通過(guò)寄存器ARM2DSP0 向DSP發(fā)出中斷信號,DSP 使用寄存器DSP2ARM0 給ARM發(fā)送中斷信號。發(fā)中斷的一方在中斷信號發(fā)出前向共享內存填寫(xiě)命令,接收中斷的一方在中斷函數中讀取命令,其他模塊按照當前的命令執行相應任務(wù)。
視頻圖像的處理在DSP 核上進(jìn)行,采集到的視頻圖像數據為YUV422 格式,算法處理時(shí)僅讀取視頻數據的Y 分量,緊接將視頻數據進(jìn)行差異積累背景建模、運動(dòng)區域檢測等操作以實(shí)現對視頻序列運動(dòng)目標的檢測。最后DSP 負責將檢測完的視頻數據存放至固定顯示緩存區,由VPBE 讀取后顯示。
3 視頻運動(dòng)目標檢測算法設計
在獲得視頻數據后,需進(jìn)一步對視頻運動(dòng)目標進(jìn)行檢測(運動(dòng)車(chē)輛)。對固定相機的應用場(chǎng)合,一般采用背景差技術(shù)檢測視頻運動(dòng)目標,而背景差法又受背景建模效果的約束。目前存在如基于光流場(chǎng)、目標模型以及差分圖像等多種視頻運動(dòng)目標檢測方法?;诠饬鲌?chǎng)的目標檢測法對噪聲敏感、計算量大,導致算法實(shí)時(shí)性較差?;谀繕四P偷臋z測方法一般須建立目標的三維模型,再將模型投影至二維平面,再在圖像中進(jìn)行匹配?;诓罘謭D像的檢測方法較為常用,可分為鄰幀差和背景差兩種方法,背景差法是視頻運動(dòng)目標檢測中的流行方法。本文即采用背景差法對目標運動(dòng)區域進(jìn)行檢測,本文針對嵌入式應用,從檢測算法的處理效率出發(fā),場(chǎng)景背景模型的獲取采用文獻[4]所述的基于差異積累的背景建模法。對視頻運動(dòng)目標進(jìn)行檢測主要經(jīng)過(guò)四個(gè)步驟:差異積累背景建模、運動(dòng)區域檢測、形態(tài)學(xué)濾波和區域生長(cháng)法視頻運動(dòng)目標定位。
3.1 差異積累背景建模
差異積累背景建模法首先要建立差異圖像,設差異圖像為F(i,j,t),當前視頻幀為f(i,j,tc),基準幀為f(i,j,tb), 則由當前幀與基準幀比對可以得到一幅差異圖像,可表示為公式(1):
這里的Tf 是一個(gè)特定的門(mén)限,決定著(zhù)差異的程度。
若兩幅圖像間灰度差在其坐標上有較大的不同時(shí),F(i,j,t)的值被賦為1,否則為0.這樣可以生成一個(gè)像素值為0 或1,大小與輸入圖像一致的圖像矩陣,稱(chēng)為差異圖像?,F在考慮一組m 幀視頻序列{f(i,j,t1),f(i,j,t2), …, f(i,j,tm)},本文選取視頻的第f(i,j,tc-3)幀作為基準幀,系統初始化時(shí)將讀取的第一幀視頻數據賦予基準幀,基準幀隨著(zhù)視頻的輸入不斷迭代,程序實(shí)現時(shí)可按如下方式進(jìn)行迭代:
差異圖像描述了視頻圖像中物體的運動(dòng),若在連續圖像序列中存在相對穩定的非運動(dòng)區域則可考慮作為背景。差異圖像矩陣隨視頻幀變化而不斷改變,根據差異圖像每個(gè)像素值的變化程度可以得到一個(gè)差異積累動(dòng)態(tài)矩陣D(i,j,t)。 如公式(2)所示:
λ記錄每個(gè)像素差異積累的深度,動(dòng)態(tài)矩陣的單元數量和高寬比例與差異圖像矩陣相同,當差異圖像某位置處的值為0時(shí)使動(dòng)態(tài)矩陣相同位置處的計數器加1,這種計數器在動(dòng)態(tài)矩陣每個(gè)單元位置各有一個(gè)。在對視頻序列連續處理過(guò)程中,若動(dòng)態(tài)矩陣元素的計數器值等于λ時(shí),就認為對應位置的像素灰度值在規定范圍內無(wú)變化,可以作為背景像素。
背景的更新采用加權平均法,設更新前背景為Bold(i,j,t),新背景為Bnew(i,j,t),結合系數利用公式(3)可獲得當前更新的背景。應用場(chǎng)景的背景會(huì )隨著(zhù)新視頻幀的輸入而不斷進(jìn)行自動(dòng)更新,圖3 示意了差異積累法的背景更新效果。
圖3 差異積累背景建模過(guò)程示意圖
3.2 運動(dòng)區域檢測
在獲得背景模型后,采用背景差法即可獲得背景差圖,設背景差圖為Bd(i,j,t),則有:
對背景差圖做二值化處理即可獲得視頻運動(dòng)車(chē)輛區域。本文二值化閾值選取采用文獻[5]的Otsu 法(最大類(lèi)間方差法)。Otsu 法根據圖像的灰度特性,將圖像分成前景和背景兩部分。前景和背景之間的類(lèi)間方差越大,說(shuō)明構成圖像的兩部分差別越大,當部分前景錯分為背景或部分背景錯分為前景時(shí)都會(huì )導致兩部分差異變小,因此,使類(lèi)間方差最大的分類(lèi)意味著(zhù)錯分概率最小,選取使類(lèi)間方差最大和類(lèi)內方差最小的圖像灰度值作為最佳閾值。
評論