主頁(http://m.by236.com):基于DSP智能視頻監控系統的軟硬件設計(2) · 自動跟蹤:自動跟蹤實現對于運動對象的連續檢測,通過對運動物體的跟蹤,獲得其位置、速度、運動軌跡等運動信息。使用卡爾曼濾波的方法進行目標跟蹤,輸出運動物體的位置及中心坐標等; · 攝像機模糊、遮擋及非法移動檢測:攝像機模糊、遮擋及非法移動檢測是需要發現影響監控攝像機正常工作或者威脅監控攝像機自身安全的活動。使用DCT變換,統計全局的圖像變化信息,判斷攝像機是否模糊;利用圖像灰度直方圖變化信息,判斷攝像機是否被遮擋;使用模板匹配的方法,判斷攝像機是否非法移動,輸出模糊、遮擋及非法移動情況信息和程度。 系統優化 1、三緩沖結構 設置三緩沖組成緩沖區隊列。在實際處理過程中,使用其中兩個緩沖區進行數據接收,另外一個緩沖區進行圖像處理等(具體的三緩沖區結構如圖5所示)。
圖5 三緩沖結構 利用回調函數對緩沖區進行管理,每接收完一整幅圖像后產生一次回調。使用三個變量維護當前緩沖區狀態,Frame Buffer1和Frame Buffer2用于維護在循環中接收的兩個緩沖區,Frame Counter為當前最新接收到的緩沖區。每次接收數據的存儲位置根據Frame Buffer1和Frame Buffer2的值決定。 在主循環過程中,使用一個變量Active Index維護當前處理中的緩沖區。每當開始處理新的一幀時,交換Frame Counter和Active Index的值,并同時更新Frame Buffer1和Frame Buffer2。實現將上一幀處理結束的緩沖區加到輸入緩沖中,而將最新一幀緩沖并進行處理的目的。 2、算法優化 系統對大部分的功能實現算法進行了優化。在物體檢測、數量統計、自動跟蹤、入侵檢測、遺留物體檢測等算法中都需要使用背景模型。因此,系統重點對背景建模算法進行了優化。 背景建模主要包括兩個部分:一是用當前圖像和背景模型的均值和方差矩陣進行比較,得到前景圖像和更新后的背景模型;二是對前景圖像進行膨脹、腐蝕的形態學運算。 · 背景模型更新:模型更新過程涉及的數據有:當前圖像幀緩沖(8位)、當前前景幀圖像(8位)、背景均值模型(32位)、背景方差模型(32位)、前景駐留時間矩陣(16位)。為了提高運算速度,需要首先將內存搬運到L1中再進行處理。其步驟如下: 第一步:在L1內存中分配行緩存區用于計算,采用PINGPONG結構設計雙緩沖區。 第二步:使用兩個DMA通道用于輸入和輸出。首先使用異步DMA方式輸入一行輸入圖像、均值和方差矩陣及駐留時間矩陣,交替使用current和bck指針分別指向輸入和處理緩沖區,并不斷更新實現雙緩沖結構。這里要求從第二行輸入起使用同步DMA方式進行傳輸,因此使用了回調函數Line In Caqll Back和input_index變量,實現依次輸入4個緩沖區。 由于這里要求將輸入并計算后的新均值、方差和駐留時間行矩陣傳回SDRAM中,因此輸出DMA采用異步方式,等待完成后才會開始下一次的DMA輸入。這樣,在一定程度上,可避免同時向一個SDRAM區讀/寫內存。 · 膨脹、腐蝕算法:這里同樣也使用行處理方式進行膨脹、腐蝕兩步運算。根據膨脹、腐蝕算法的特點,需要輸入3行緩沖,然后進行一行的處理。因此,需設計使用6行輸入的前景緩沖和兩行膨脹、腐蝕處理結果作為3行輸入和1行輸出雙緩沖。由于輸入和輸出的緩沖區沒有沖突問題,因而輸入和輸出均采用同步模式,并注意輸入緩沖增量設為一行。 (中國集群通信網 | 責任編輯:陳曉亮) |




