圖像採集
圖像指的是一切圖片和影像的總稱,是現代信息社會中最常見、最基本的一種數據信息。圖像在人們的生活和生產中無處不見,它在人類獲取的外部信息中占據著重要的地位。記錄圖像信息的手段從一開始的膠片技術一直發展到現在套用最廣泛的 CCD/CMOS 圖像感測器。圖像採集系統是一種採集、獲取數位化視頻圖像信息,並依據要求將其上傳至計算機、播放或者存儲起來的硬體設備。對於現在的普遍套用來說,圖像採集基本都是指採集 CCD/CMOS 相機輸出的圖像信號。採集精度、採集速度和採集系統的存儲量是圖像採集系統的關鍵要素。尤其是高速圖像採集系統中,數據量普遍偏大,所以對數據的儲存和傳輸有著更加嚴格的要求。
套用背景
隨著現代電子技術的飛速發展,高速圖像採集技術在越來越多的領域都有了廣泛的套用,例如圖像處理、電視會議、治安監控系統、交通監控、工業控制、軍事、醫學、航天等方面。可以說在我們生活的方方面面都能涉及到圖像採集技術,套用領域各不相同也就帶來了對技術的不同要求。最常見的圖像採集器件就是圖像採集卡,而目前市場大部分的圖像採集卡都對圖像數據傳輸格式有一定限制,而且採用的是“相機—圖像採集卡—計算機”這樣的連線傳輸模式,直接傳輸到計算機上,這種方式功能單一、傳輸速度有限,並且需要直連計算機受工作環境限制較大。所以設計一種高速、使用方便的圖像採集系統將能符合許多領域的套用需求。
研究現狀
圖像採集系統的發展方向有非常大一部分因素是由
CCD/
CMOS 感測器的發展決定的。從 1969 年 CCD 器件發明以來,人們對這類感測器的研究就從來沒有間斷過。至 20 世紀 90 年代解析度突破百萬像素並開始在數字相機中廣泛套用。直到現在由於半導體製造工藝的飛速發展,大 CCD/CMOS 感測器的解析度已經達到數千萬像素,大面陣、小像元的 CCD 感測器層出不窮,美國 EG&G.Retion就研製出 8192×8192 像元的高解析度 CCD 圖像感測器。另外 CMOS 感測器雖然成像質量相較於 CCD 感測器略差,但是讀取速度卻非常快,加拿大 Dalsa 公司開發的 CMOS 感測器最高讀出速度可達 20000 幀/秒。所以幾乎所有數字相機的輸出圖像數據量都有個明顯的增長,這就必然要求圖像採集系統採集跟上高速大量的相機輸出數據,這也是現今高速圖像採集系統的發展趨勢。 早期的圖像採集由於計算機匯流排速度實在太低,視頻圖像完全不能實時採集並送入計算機或存儲下來,所以通常採用膠片式高速攝影機將運動事件以圖像的方式記錄下來。等到膠片沖洗完,直接在膠片上進行觀察分析。這種方法的缺點很多,使用時占用眾多設備,採集到所需圖像耗時長,整個過程效率極低。到現在這種方法已漸漸淘汰。 上世紀九十年代前,主要是以模擬信號為主的圖像信息採集處理系統。在工業套用、視頻監控等系統中,圖像信息主要是以模擬信號為主,但是模擬信號的固有局限性難以滿足更高的套用要求,數位化是必然的方向。
高速數據採集系統分類
如今,隨著數字相機和計算機技術的飛速發展,圖像採集技術主要就是採集數字相機的圖像數據,一般常見的有如下幾種系統:
PCI 圖像採集卡
第一類是最常見的 PCI
圖像採集卡,圖像採集卡與主機板間採用 PCI 接口連線,圖像數據流向是“相機—圖像採集卡—計算機”這樣的模式。圖像採集卡使用非常簡單,成本也不高,其作用只是將數據直接上傳到計算機,所有的後續存儲和處理都是在計算機上實現的。圖像採集卡採用 PCI 的理論頻寬峰值是 132MB/s,實際套用中一般因為與其他 PCI 設備產生衝突等原因很難能達到峰值頻寬。這種圖像採集系統還有一大缺點是必須連線電腦,在很多戶外環境下使用極不方便。而且其百兆出頭的採集速度在先進很多設備上難以滿足採集速度要求,所以一些此類圖像採集卡上都帶有數據壓縮功能,尤其是對於視頻採集上,不同檔次的採集卡具有不同檔次的壓縮性能。對數據的壓縮在不太注重質量的情況下可以不考慮,甚至壓縮之後還便於存儲,但另外一些有嚴格要求的情況就難以滿足使用需求了。
控制晶片
第二類系統是在硬體採集過程中加入控制晶片進行一些相對簡單的圖像處理,如灰度均衡、彩色圖像二值化或圖像重構等。早期系統中,多使用
單片機或者
DSP 控制來實現此功能,但隨著數據量越來越大,這種方式已經很難滿足要求。現在高速度的
FPGA 以及部分專用數字處理晶片的出現以及流行為這種圖像採集和處理系統帶來了新的解決方案。目前在圖像方面已經有了很多成熟的IP Core,如濾波器、顏色空間轉換、圖像編碼器等[12],利用 FPGA 來實現數位訊號處理系統的計算已經比較普遍了。FPGA 具有高速、開發時間短、靈活性高、可並行處理等優點。相比於純軟體的串列工作方式,FPGA 硬體的並行和流水線工作方式在速度上占有很大優勢,而且同時可以利用 FPGA 進行外部邏輯控制,在一定程度上也提高了系統的集成度。近年來就有非常多對基於 FPGA 集合圖像處理的圖像採集系統的研究。
板載存儲
第三類是實現圖像採集並把採集到的圖像數據直接進行板載存儲,不必須連線計算機的方案。這種方案相較於直接連線計算機,將數據全部傳輸到計算機上的方法有一個比較明顯的優勢,就是使用方便。若要直接上傳至計算機,那么不論採集條件和環境如何,都必須要攜帶一台計算機才能進行相關工作,這在戶外有些情況下是非常麻煩,甚至不可能達到的。如果是板載存儲,那么採集設備體積就很小,可以任意攜帶,環境適應性大大加強。這種方式在早期,主要是限制於存儲器的速度和容量。早些時候小體積的存儲器存儲空間有限,當要求存放大容量的圖像信息時就要對圖像進行壓縮,這樣難免會丟失部分圖像信息。一些較好的方法可以在某些程度上帶來一些存儲上的最佳化措施,例如存儲少量圖像時進行高解析度的原圖存儲,而需要繼續存儲更多圖像信息時,就把先前存入的高質量圖像壓縮來空出存儲空間以存儲後來的圖像。這種彈性儲存法能在有限的空間記憶體儲儘量高質量的圖像,但存儲過程中需要大量的運算,必然導致存儲速度降低。之前對於這方面的研究還比較少,現在由於半導體工藝的發展,高速度大容量小體積存儲器的出現,鑒於板載存儲廣泛的適用性,對這種系統的研究具有很高的實用意義。
高速數據採集系統設計
利用近年來提出的一些高速度、高性能的接口,採用現在套用很廣的
Nand Flash大容量存儲晶片提出一種板載存儲的高速圖像採集系統。
利用高速接口和存儲器,設計出一種高速圖像採集系統方案。整個高速圖像採集系統構成如圖所示,包括數據輸入採集模組、顯示模組、存儲模組、數據輸出模組和核心控制晶片 FPGA。
FPGA 是系統的控制核心,所有模組都由 FPGA 聯繫起來,圖像數據每一步的流向都是由 FPGA 來控制的。
數據輸入採集模組的作用是接收數字相機傳輸來的圖像視頻信號並且傳到FPGA 上以供後續操作。採集接口只有一種,就是當下非常流行的高速相機接口
Camera Link。Camera Link 接口接收相機傳輸來的 LVDS 信號轉化為系統內部使用的 TTL 信號送給 FPGA。
顯示模組是一種可選擇的輔助作用,用於在採集過程中觀察所採集到的圖像或者採集後重放存儲晶片內儲存的圖像信息。顯示模組的接口是 DVI 接口,使用時連線 DVI 顯示器方可工作。
存儲模組是此高速圖像採集系統的核心,FPGA 接收到採集的圖像數據,經過高速快取,最終儲存在系統內。使用
DDR2 SDRAM 來進行數據快取,最終存儲在 NAND Flash 存儲器內。 所存數據最終是要上傳到計算機來進行處理或者存儲的,數據輸出模組就是這個作用。
與計算機連線使用的是 USB3.0 接口,USB 接口是計算機上最常見的接口,新版本的 USB3.0 也在各方面性能有了很大的提高。
FPGA
本 系 統 使 用 的 FPGA 是
Xilinx 公 司 生 產 的 Spartan-6 系 列 芯 片XC6SLX25-3FG484C。Spartan 系列是 Xilinx 公司面向普通工業、商業的領域的低成本系列晶片。新一代 Spartan-6 系列不僅擁有業界領先的系統集成能力,同時還能實現適用於大批量套用的最低總成本。與上一代 Spartan 系列相比,該系列晶片功耗僅為其 50%,且速度更快,連線功能更加豐富全面。
電源模組
電源是系統設計中非常重要的一部分,如果電源不穩定,就會對電路的正常工作造成影響,不但電路運行會出現問題,而且會影響器件的使用壽命。在電源設計上,為了保證每個器件都能正確獲得其所需電壓,就要考慮電源傳輸過程中的阻抗,也要顧及儘量消除電源噪聲等影響。
採集模組
採集模組就是 Camera Link 接收部分,使用的是 National Semiconductor 公司的 LVDS 接收晶片 DS90CR288A,此晶片接收四對 LVDS 信號並轉化為 28 位LVTTL/LVCMOS 數據,最高支持 85MHz 像素時鐘,也就是 2.38Gbit/s 的數據傳輸速度。晶片典型套用如圖所示,左半部分是相機內的 TTL/CMOS 信號轉化為 LVDS 信號輸出,右半部分是本系統接收連線線傳來的四對相機 LVDS 信號和一對時鐘信號經過 Camera Link 接口後,由 DS90CR288A 晶片轉化回 28 路LVTTL/LVCMOS 信號。
顯示模組
顯示模組的視頻接口使用的是 DVI 接口,在系統設計中既包含 DVI 視頻輸入接口,也包含了 DVI 視頻輸出接口。其中輸入接口的目的是在系統調試過程中,利用 DVI 輸入的圖像數據進行後面存儲功能的調試,就不詳細介紹了。而 DVI輸出接口的作用則是對採集模組 Camera Link 採集來的圖像數據進行顯示,可以採集來實時顯示,也可以用來顯示之前存儲在系統中的圖像信息以作驗證之用。
存儲模組
存儲模組是 FPGA 接收到 Camera Link 接口採集來的圖像數據先經過 DDR2 SDRAM 快取,然後存入 NAND Flash 中。所以該模組主要包含 DDR2 SDRAM 和NAND Flash 兩個部分。
數據輸出模組
圖像採集系統的作用是把採集到的數據上傳到計算機上,本設計雖然著重於使用方便的圖像採集板載存儲,但最後肯定要把圖像上傳到計算機進行存儲、處理、分析等工作。USB 接口幾乎是現在最流行的計算機接口,USB3.0 的提出也解決了之前版本速度偏低的問題,可以將圖像數據快速傳輸到計算機上。
核心問題
就所要實現的功能來看,高速圖像採集系統所做的就是保證圖像數據流可靠地按照預先安排好的路徑傳輸、顯示、存儲。其各模組之間的速度匹配關係的優劣在很大程度上決定了整個系統的性能好壞,要儘量做到不過度浪費某一模組的數據傳輸能力,同時也要保證不能造成前面模組傳輸來的數據量超過後面所能處理、存儲的能力導致數據錯誤或者丟幀現象。這在設計上必須要考慮到每一模組的速度以及模組之間的速度匹配問題,這也是系統能夠高效、穩定工作的一個關鍵。