??? 摘? 要: 針對高速視覺測量系統(tǒng)數據處理速度快、數據處理量大的特點,將FPGA技術與DSP技術相結合,研究了一種基于FPGA和多DSP的多通道并行處理的高速視覺測量系統(tǒng)。詳細介紹了FPGA技術與多DSP技術在數字圖像處理過程中的不同應用、高速視覺測量系統(tǒng)的總體結構以及各部分的工作原理。?
??? 關鍵詞: 高速視覺測量; FPGA;? DSP?
?
??? 視覺測量技術是建立在機器視覺研究基礎上的一門新興技術,重點研究物體的幾何尺寸及物體的位置、姿態(tài)等的測量。隨著檢測節(jié)點的增多,視覺測量系統(tǒng)需要處理的數據量也不斷增大,對視覺測量系統(tǒng)的測量速度提出了更高的要求,單一的數據處理芯片和順序的數據處理方式已經無法滿足現(xiàn)階段高速視覺測量系統(tǒng)的設計要求。近幾年來,微電子技術和集成電路制造技術的發(fā)展,特別是現(xiàn)場可編程門陣列(FPGA)和數字信號處理器(DSP)的發(fā)展,為視覺測量系統(tǒng)中測量速度的提高提供了新的解決思路和方法。針對不同的測量目標,設計具有針對性的專用型高速視覺測量系統(tǒng)是視覺測量技術發(fā)展的一個必然趨勢。?
1 整體方案設計?
??? 高速視覺測量系統(tǒng)研究的主要目的是基于計算機視覺的方法對空間快速運動目標的幾何尺寸、位置及姿態(tài)等參數進行測量,并根據上述參數實現(xiàn)對運動目標的快速實時跟蹤。針對被測目標高速運動的特點,系統(tǒng)選用Fillfactory公司生產的LUPA1300型高速CMOS圖像傳感器作為運動目標的圖像采集器,全分辨率下圖像數據通過16路并行的輸出放大器輸出,數據傳輸量達590MPixels/s。圖像傳感器輸出的離散模擬像素數據需要經過高速A/D轉換器轉換后才能成為圖像處理系統(tǒng)能夠處理的數字信號。圖像處理系統(tǒng)通過對圖像數據進行圖像去噪、增強、邊緣檢測、目標提取等處理,從大量的圖像數據中提取出被測運動目標的圖像特征,通過接口電路將數據傳輸至決策系統(tǒng)或計算機中。決策系統(tǒng)或計算機根據特征數據產生機械機構的控制信號,控制整個視覺測量系統(tǒng)的運動,實現(xiàn)對高速運動目標的跟蹤和檢測。本文對高速視覺測量系統(tǒng)的圖像采集和數據處理功能進行了研究,設計了一種多通道并行的高速視覺測量系統(tǒng)。該系統(tǒng)采用FPGA和多DSP并行處理相結合的系統(tǒng)結構,充分利用FPGA和DSP在運算速度和數據處理方面的特點,實現(xiàn)對大量圖像數據快速實時的數據處理功能。使系統(tǒng)能滿足快速運動目標實時、穩(wěn)定、高速處理的要求。系統(tǒng)整體原理框圖如圖1所示。?
?
?
??? 圖中,數據采集子系統(tǒng)采用低壓差分信號(LVDS)技術解決了并行走線對于電路可靠性的影響及對傳輸速度和距離的限制。以FPGA為主要功能芯片的圖像預處理子系統(tǒng),主要實現(xiàn)對高速圖像數據的灰度修正、平滑去噪、圖像銳化等功能,同時還要承擔總線控制、幀存控制等任務。基于多DSP并行處理結構的圖像處理子系統(tǒng)主要實現(xiàn)被測目標的邊緣檢測,輪廓、位置等特征信息的提取等功能。這種多DSP的并行處理結構通過總線連接一個容量較大的SDRAM作為全局外部存儲器,同時各DSP之間也可通過局部總線進行數據傳輸,便于流水線式或分布式并行算法的實現(xiàn)。?
2 數據采集子系統(tǒng)的設計?
??? 根據被測目標高速運動的特點和系統(tǒng)設計的實時性要求,整個系統(tǒng)必須選用高速的圖像采集傳感器及相應的圖像放大和A/D轉換電路,實現(xiàn)對高速運動目標的實時圖像采集和數據轉換。圖2為數據采集子系統(tǒng)原理框圖。?
?
?
2.1 LUPA1300型CMOS圖像傳感器?
??? 目前,圖像采集方面應用的圖像傳感器主要有兩種:CCD(Charge Coupled Device)圖像傳感器和CMOS(Complementary Metal Oxide Semiconductor)圖像傳感器。相比于CCD而言,CMOS圖像傳感器具有低成本、低功耗、單電壓、無拖影、無光暈、片上集成等優(yōu)點,而其隨機讀取的特性,在某些情況下可以大大提高圖像采集的速率[1]。盡管CMOS圖像傳感器還存在著電離環(huán)境下暗電流稍大、高分辨率、高性能器件有待于進一步發(fā)展等問題,但隨著固體圖像技術和集成電路技術的發(fā)展,其應用領域必將逐步擴大。?
??? 根據上述的比較和設計的實際要求,本系統(tǒng)決定選用Fillfactory公司生產的LUPA1300型高速CMOS黑白圖像傳感器作為高速運動目標的圖像采集器件。該圖像傳感器是一種同步式快門的有源像素傳感器,具有1 280×1 024像素單元陣列、像素尺寸為14μm×14μm、全分辨率下的幀速可達450幀/秒(開窗情況下幀速可以更高)。其高幀速通過片上集成的16路并行輸出放大器實現(xiàn),每個放大器的像素率均為40MHz,讀出順序從左到右,每一路輸出放大器可以驅動10pF的輸出電容。圖3為LUPA1300型CMOS圖像傳感器的結構原理圖。?
?
?
2.2 A/D轉換電路的設計?
??? 根據圖像傳感器的指標,若每個像素為10位,則圖像傳感器的傳輸數據量將達5.9Gb/s(1 280×1 024×450×10)。?
數據傳輸或A/D轉換時若采用并行走線的傳輸方式,無疑會對電路的可靠性產生極大影響,而且傳輸速度和距離也有極大的限制,以目前的主流存儲設備想要達到這么大的數據吞吐量是很困難的。因此,傳輸過程中必須采取新的傳輸方式。?
??? LVDS(Low Voltage Differential Signaling)是一種低振幅差分信號技術,使用幅度非常低的信號(約350mV),通過一對差分PCB走線或平衡電纜傳輸數據。它能以高達數千Mb/s的速度傳送串行數據[2]。LVDS具有高速傳輸能力、低噪聲/低電磁干擾、低功耗等優(yōu)點,目前已經成為高速I/O接口的首選信號形式。?
??? 本文選用Analog Device公司的AD9212芯片作為數據采集子系統(tǒng)A/D轉換器件。AD9212是一種八通道LVDS串行A/D轉換芯片,采樣精度為10位,最高采樣頻率65MS/s,模擬帶寬最高325MHz,片上集成采樣保持電路。2片AD9212芯片即可滿足數據采集子系統(tǒng)對數據傳輸速度和數據量的要求。AD9212芯片對輸入信號有著特殊的要求,設計過程中采用集成差分運算放大器AD8334將圖像傳感器輸出的模擬信號放大,再送入AD9212芯片的信號輸入端。同時A/D轉換器時鐘的好壞對信號的采集也有著明顯的影響,因此需要高精度、低抖動的時鐘信號。本文采用時鐘驅動芯片AD9515作為時鐘驅動器,其ADC時鐘電路如圖4所示。?
?
?
3 圖像預處理的FPGA設計?
??? 由于成像條件、噪聲等因素的影響,經過數據采集以后的圖像數據中包含有大量的噪聲,可能導致被測目標圖像相對于整幅圖像來說比較模糊,使數據處理部分無法從圖像數據中提取和處理被測目標特征等問題;同時由于光源和曝光時間等原因,數據采集以后的圖像數據可能存在灰度分布過分集中或整幅圖像亮度不夠等失真現(xiàn)象,影響了系統(tǒng)的檢測精度和分析結果,不利于被測目標的檢測,嚴重時可能導致檢測失敗[3]。因此,在進行被測目標特征提取之前,系統(tǒng)需要將大量的圖像數據送入圖像預處理子系統(tǒng)進行圖像灰度修正、圖像平滑去噪、圖像銳化等圖像預處理,以便于后續(xù)的數據處理子系統(tǒng)能夠快速地進行被測目標的特征提取和處理。圖像預處理過程需要根據不同的測量對象選擇適當的圖像預處理算法,才能實現(xiàn)整個圖像序列的快速灰度修正、去噪和銳化等目的。?
??? 圖像預處理子系統(tǒng)采用的絕大部分圖像預處理算法相對簡單,但需要處理的數據量大,且需要較快的數據處理速度,因此選用FPGA芯片作為圖像預處理的主要功能芯片,其內部各模塊的功能如圖5所示,圖6為串行數據解串模塊仿真圖。?
?
?
?
4 多DSP并行結構的圖像處理子系統(tǒng)設計?
??? 圖像預處理僅僅是對圖像序列進行了一些簡單的處理,并未提取出被測目標的實際尺寸、位置、輪廓、姿態(tài)等參數信息,因此,圖像預處理后的圖像數據必須送入圖像處理單元進行進一步的處理。與圖像預處理部分的算法相比較,圖像處理單元的算法更加復雜和更難以實現(xiàn)。因為DSP更適合完成復雜的算法,因此選用DSP芯片作為圖像處理的主要功能芯片。但要實現(xiàn)如此大的運算量和實時性的高要求,單片DSP的運算速度顯得力不從心。在這種情況下,本文采用多片DSP并行的系統(tǒng)結構來代替單片DSP芯片實現(xiàn)圖像處理功能。實際設計過程中,根據DSP算法的運算量以及系統(tǒng)對實時性的要求,本文選擇4片DSP芯片來共同實現(xiàn)處理任務。圖像處理部分的結構框圖如圖7所示。圖中,F(xiàn)PGA主要負責時序控制和幀數據緩存控制等功能,4片DSP芯片作為數據運算處理器來實現(xiàn)圖像高速并行處理功能。整個圖像處理子系統(tǒng)采用共享總線和基于Link口兩種并行結構相結合的并行處理結構,F(xiàn)PGA與DSP芯片之間的數據交換采用共享總線的方式,而各DSP芯片之間的數據交換則由DSP芯片的Link口實現(xiàn)[4]。這種并行總線方式,各DSP芯片既可以獨立實現(xiàn)各自的算法程序,也可以進行并行計算,共同完成一個DSP算法。?
?
?
??? 圖8為4個DSP數據運算處理器與單個DSP數據運算處理器的速度比較。由圖中可以看出,4個DSP處理器與單個DSP的速度比在3.770~3.969之間,實際應用中,峰值運算速度能夠滿足圖像處理子系統(tǒng)數據處理的要求。?
?
?
??? 本文針對被測目標高速運動的特點和視覺測量系統(tǒng)實時性的要求,著重研究了高速視覺測量系統(tǒng)的整個設計和研究過程,提出了一種基于FPGA和多DSP的圖像并行處理結構。根據FPGA和DSP的運算特點,將其分別應用于高速視覺測量系統(tǒng)的圖像預處理和圖像處理兩個子系統(tǒng)中,并通過試驗測試,證明這種并行處理結構能夠實現(xiàn)高速視覺測量系統(tǒng)的處理功能。文中還考慮了圖像采集器件的工作特點,采用LVDS技術使整個數據采集部分的可靠性和集成度大大增強,便于后續(xù)的圖像處理功能的實現(xiàn)。?
參考文獻?
[1] 尤政, 李濤. CMOS圖像傳感器在空間技術中的應用[J]. 光學技術, 2002,28(1):31-35.?
[2]?王勝, 王新宇. LVDS技術及其在高速系統(tǒng)中的應用[J]. 遙測遙控, 2005,26(4): 41-46.?
[3]?楊杰, 付忠良, 阮波. 照度不均勻圖像的快速自適應灰度修正[J]. 計算機應用, 2005,25(3): 598-602.?
[4]?杜金榜, 鐘小鵬, 王躍科.多DSP并行處理系統(tǒng)的設計與開發(fā)[J].計算機測量與控制,2006,14(5):658-660,666.