摘 要:介紹了一種基于DSP芯片ADSP-TSl01S的圖像采集和處理系統,應用于復雜條件下目標的檢測。
關鍵詞:圖像采集和處理;DSP
引言
視頻目標識別與跟蹤技術是當今世界重要的研究課題,它幾乎涉及了圖像處理分析的各個方面。利用紅外成像實現目標識別與跟蹤,在現代防御技術中具有重要的地位。由于紅外傳感器受到大氣熱輻射和作用距離遠以及探測器噪聲等影響,用其探測到的目標在紅外圖像上多呈現為對比度低的特點,尤其在復雜背景下小目標常被淹沒在大量噪聲中。
本文介紹的就是一套基于DSP芯片ADSP-TSl01S的圖像采集和處理系統,用于實現復雜背景下動目標的檢測。
算法簡介
一般來說,圖像中的噪聲往往和信號交織在一起,圖像的能量主要集中在其低頻部分,噪聲所在的頻段主要在高頻段,同時系統中所要提取的目標邊緣信息也主要集中在其高頻部分,因此,如何去掉高頻干擾又同時保持邊緣信息,是我們研究的內容。
本系統考慮的檢測算法研究主要包括兩個方面:一是圖像的平滑處理,即除去高頻的噪聲;二是從靜止或慢變的背景中檢測出運動目標。現有的圖像平滑處理方法大致有鄰域平均法、低通濾波法、多圖像平均法、自適應平滑濾波法和中值濾波法等方法。幾種方法各有優缺點和適用的場合。在硬件實現上用多圖像平均法實現起來會比較容易,即利用對同一景物的多幅圖像取平均值來消除噪聲產生的高頻成分。這種方法的困難在于如何難于把多幅圖像配準起來,以便使相應的像素能正確地對應排列。試驗表明,M幅圖像平均可把噪聲方差減小M倍。

從靜止或慢變的背景中檢測出運動目標的方法主要有光流法和幀間差閾值法。由于噪聲、多光源、陰影、透明性和遮擋性等原因,使得計算出的光流場分布不是十分可靠和精確,光流場的計算實時性和實用性較差。幀間差閾值法速度快,易于硬件實現。其原理是:連續的視頻流場景具有連續性,若圖像沒有運動,則連續幀圖像之間變化很小;反之則會引起幀差,幀差圖像在對象的邊界處將具有較高的灰度值,而背景和對象內部的像素點較暗,可以給幀差圖像設置門限將其二值化,這樣就能清晰地得到目標的邊緣和運動軌跡。
硬件實現
根據算法要求來設計硬件系統。該系統可以分別對模擬視頻信號和數字視頻信號兩種輸入信號進行處理,最后將處理后的數據轉化成模擬信號輸出,直接在監視器上顯示出來。該系統主要包括兩個部分:模擬部分和數字部分。模擬部分分為視頻信號采集、同步分離和DA變換三個模塊;數字部分包括圖像的存儲、算法處理和系統控制三個模塊。總體原理框圖如圖1所不。

圖像采集模塊
圖像采集模塊由直流恢復電路、視頻放大電路和AD變換電路組成。各部分功能如下:
(1)直流恢復。電視信號在頻率域的頻帶是從零到6MHz,其中接近零頻率的信號屬于信號的平均分量,代表電視圖像的背景亮度。直流分量的喪失會使得圖像背景亮度不定,還使得電視信號的動態范圍加大,也就增加了對通道動態范圍的要求。并且還使同步脈沖和消隱脈沖的頂部不平,給同步分離帶來了困難。因此,在采樣前必須恢復圖像的直流分量。該部分設計使用直流恢復電路芯片EL4390CN,可以把直流分量鉗位在一個恒定電平上,適用的視頻信號帶寬范圍小于80MHz。在設計中,我們把電平鉗位在零電平上,即將零電平視為消隱電平。
(2)視頻放大。因為攝像頭輸出的視頻信號只有1V(峰—峰值),為保證轉換精度,在MD變換前要對模擬視頻信號進行放大,實現調節圖像對比度的目的。設計中選用運放芯片ADS031來搭建一個低通濾波的運算放大電路。帶寬設為3MHz,增益為2。
(3)A/D變換電路。一般八位數字視頻信號就能滿足圖像灰度級要求,所以該部分采用高速模數轉換器芯片AD9057,它是具有采樣保持功能的8位高速、低功耗、低成本的模數轉換器,內部參考電壓2.5V,最高采樣頻率可達120MHz。該系統要求圖像分辨率為320x240,所以選用速率為40MSPS的AD9057,采樣時鐘由FPGA產生(針對模擬視頻接口,時鐘為行頻鎖相信頻后的時鐘),采樣有效期由FPGA控制行/列計數器決定。
同步分離模塊
同步分離部分包括同步分離電路和鎖相信頻電路兩部分。
同步分離電路是從輸入的模擬視頻信號中提取出行同步、場同步信號和奇偶場信號,送給控制模塊作為系統時序產生電路的基準信號,用于控制后續電路。該部分選用同步分離電路芯片EL4583。EL4583芯片可以處理標準的NTSC、PAL和SECAM制式的視頻信號,工作在5V電壓下。允許峰峰值為0.5-2V的信號輸入。
鎖相電路主要是用鎖定行頻,將行頻倍頻后的時鐘輸出作為視頻模/數轉換器的采樣時鐘。我們選用芯片EL4584。EL4584可以鎖定頻率在36MHz以下的信號(包括視頻信號),兼容NTSC和PAL電視制式。這里通過調節EL4584的外圍電阻電容把行頻倍頻鎖定到需要的時鐘頻率上。該系統中把PAL制式的行頻15625Hz倍頻到13.5MHz送給FPGA。
D/A變換模塊

該部分主要是將處理完的數字信號模擬化,并與同步信號進行疊加,形成標準的模擬視頻信號。再經過運算放大后直接在監視器上輸出。選用視頻DAC芯片ADV7123。該芯片有三組10bit的數字信號輸入端,可以分別處理RGB信號。因為我們處理的是灰度信號,只需利用其一組輸入,其他兩組接地。ADV7123另外還有三路輸入控制信號(CLOCK、BLANK、SYNC),用于控制D/A時鐘、消隱信號和復合同步信號,均由FPGA產生。FPGA控制信號有效期、消隱期的長短以及同步頭脈寬。運算放大電路仍用AD8031,把模擬視頻信號幅度調整到理想值。
數據存儲模塊
數據的存儲主要由兩片FIFO和兩片SDRAM完成。
兩片FIFO作為一幀數據輸入和輸出的緩存。選用芯片IDT72V3690,存儲空間為32,768x36,讀寫時鐘可達166MHz。因為一幀320x240圖像數據量很大,一片IDT72V3690無法一次裝下一幀數據,可以分成四次中斷來傳輸一幀數。其讀寫時鐘也均由FPGA控制。
SDRAM用于多幀圖像數據的存儲。算法需要對多幀數據求均值和做幀差,需要保留連續的多幀數據。SDRAM芯片選用MT48LC4M32B2,有128Mb的存儲空間,32位數據線。兩片并用,分別接64bit數據總線的高低32bit。
主處理模塊
該系統的主要處理單元是DSP芯片。DSP芯片是為完成大量的實時計算而設計的,是數字信號處理系統的核心,正因為高速DSP芯片的出現,使大量圖像數據的實時運算成為可能。DSP芯片選用ADI公司的ADSP-TSl01S,工作時鐘300MHz。ADSP—TSl01S的片內資源主要有:(1)雙運算模塊,每個運算模塊有一個ALU、一個乘法器、一個移位器及通信加速器;(2)雙整數ALU,提供數據尋址和指針操作;(3)6Mbits SRAM,分為MO、M1和M2共3部分;(4)3套相互獨立的32位地址、128位數據內部總線,分別對應連接內部SRAM的MO、M1和M2;(5)程序控制器、中斷控制器和SDRAM控制器;(6)DMA控制器,共有14個DMA通道;(7)32位地址、64位數據的外部端口和4個鏈路口。其外設接口框圖如圖2所示。
檢測算法(包括多幀數據求平均、求幀差、閾值判斷和二值化)都在DSP內完成。FIFO與DSP、DSP與SDRAM以及FIFO與SDRAM之間的數據傳輸都利用DMA方式。與n公司C62x和C67x系列DSP芯片相比,TSl01有FLYBY模式,支持外設到外設的直接數據傳輸,減小了DSP的負擔。基本程序流程如圖3所示。
時序控制模塊
系統時序控制由FPGA完成。芯片選用EPF10K10AQC208,有576個邏輯單元,72個邏輯陣列塊,150個I/O管腳。時鐘由100MHz晶振提供。完成的時序控制功能包括:(1)產生DSP的啟動時序;(2)對行同步和像素時鐘進行計數,控制A/D和D/A時鐘有效期;(3)由輸入的視頻同步信號和時鐘信號以及DSP的讀寫信號來控制兩片FIFO的讀寫時序:(4)產生DSP的中斷信號;(5)為DSP外設分配片選空間。另外FPGA也對數據進行預處理,以減小DSP的運算量。
結語
該系統是一個通用的視頻處理平臺,可以外接模擬或數字兩種視頻信號,對視頻信號進行實時處理,并將處理后的圖像輸出到監視器上顯示。當前在此系統平臺上完成的是復雜條件下目標的檢測算法,圖像分辨率320x240。也可以用該系統實現其他圖像處理算法,處理的電視制式、圖像分辨率都可以自定義,有很高的靈活性。