范哲意,周治國,劉志文
(北京理工大學 信息與電子學院,北京100081)
高素質專門人才和拔尖創新人才培養是高等教育的重要發展任務之一[1],實踐教學在人才培養過程中發揮著舉足輕重的作用。我校信息與電子學院在國家“985 工程”三期建設項目的支持下,建設了“電子信息類大學生實踐創新平臺”,為培養高素質創新人才提供了有利的條件,本文介紹的圖像處理實驗平臺是其中面向“數字圖像處理”方向實驗教學和創新活動的平臺。
“數字圖像處理”是電子信息類專業的重要專業課程之一,主要學習通過計算機對數字圖像進行分析和處理的基本理論和方法,課程的理論性、實踐性強,要求學生在掌握圖像處理和圖像分析的基本概念、基礎理論、典型方法的基礎上,掌握一定的實踐技能。在課程實驗教學的基礎上,將圖像處理的理論知識和綜合應用相結合,激發學生探索深層次的技術和應用,積極開展創新實驗,將促進學生創新意識和創新思維的培養,提高實際動手能力和創新能力[2-4]。
本文采用的圖像處理實驗平臺硬件架構以FPGA為核心,同時引入了模型化設計[5]的方法為學生參與實驗提供切入口,實驗過程直觀簡便,便于學生參與實驗。基于硬件平臺的實驗系統往往因為學生對硬件架構了解不足和繁瑣的開發流程使實驗的效果大打折扣,模型化設計的方法為解決這個問題提供了途徑,可以有效地降低硬件平臺應用程序的開發難度,很好地屏蔽各種不同目標平臺之間的差異性[6],學生不用關心具體的硬件實現細節,而是將工作的重心集中在核心算法和技術的開發。
實驗系統選用XUPV5-LX110T[7]作為處理平臺,該平臺是是一款以XILINX 公司Virtex-5 系列芯片XC5VLX110T 為核心的FPGA 平臺,外圍接口豐富,同時還集成了視頻輸入和輸出模塊,可實時采集圖像并進行分析和處理,非常適用于視頻和圖像處理的開發。其視頻輸入部分由AD9980 采樣芯片和VGA 接口組成,視頻輸出部分則由CH7301C 芯片和DVI 接口組成。
為了使學生集中于圖像處理算法和技術的研究和創新,提升實驗教學和創新活動的效果,采用了基于System Generator 的模型化設計方法簡化了FPGA 開發的流程,為學生方便快捷切入實驗提供了有效的途徑。
System Generator 是由Xilinx 公司和Mathworks 公司聯合開發的基于FPGA 的信號處理建模和設計工具[8],是一種系統級(或算法級)的設計工具,充分利用了Matlab/Simulink 強大的圖形化建模功能,使得用FPGA 設計DSP 系統完全通過Simulink 的圖形化界面進行建模、系統級仿真,設計模型可直接向HDL 語言代碼轉換[9]。設計者在不懂硬件描述語言設計時,仍可以完成硬件設計,先將處理算法抽象成為功能模塊,通過Simulink 建立系統的仿真模型,通過System Generator 模塊生成HDL 語言和工程,在ISE 中進行仿真、綜合,并下載到FPGA 目標平臺上進行測試和實現。其工作原理如圖1 所示。

圖1 System Generator 工作原理
利用System Generator 模型化設計方法進行實驗的流程[10]主要包括:
(1)根據算法原理,在在Simulink 環境中搭建系統模型。
(2)在Simulink 環境中對系統模型進行仿真分析,并進行相應的參數調整。
(3)啟動System Generator,完成系統模型到HDL代碼的轉換,生成完整的ISE 工程。
(4)在ISE 中調用生成的工程文件,進行綜合、布線、時序分析。
(5)配置下載到目標FPGA 平臺上實現,進行調試運行。
下面以實時圖像的邊緣檢測算法實現為例來說明利用System Generator 模型化設計方法進行實驗的過程。
邊緣檢測是數字圖像處理的基礎問題之一[11],是圖像分析與識別的重要環節,是目標檢測和圖像分割的重要基礎,在實時圖像處理中,利用Sobel 算子進行物體的邊緣檢測是經常用到的算法。
Sobel 算子是基于一階微分的邊緣檢測方法,計算簡單且能產生較好的檢測效果,對噪聲具有平滑作用,可以提供較為精確的邊緣方向信息。Sobel 邊緣檢測算法使用兩個方向算子(水平梯度算子和垂直梯度算子,見圖2)與圖像進行卷積運算得到水平梯度和垂直梯度,然后綜合水平梯度和垂直梯度求得灰度圖像中各個像素點的梯度值,設定檢測閾值,梯度值大于等于閾值的點為邊緣點,反之則不是邊緣點,從而實現邊緣檢測[12-13]。

圖2 Sobel 算子模塊
基于圖像處理平臺的實時圖像邊緣檢測流程主要包括以下幾個步驟:視頻圖像采集、彩色圖像轉換為灰度圖像、邊緣檢測和處理結果輸出。
視頻圖像采集功能由BPS(BEEcube Platform Studio)提供的VGA 模塊(見圖3)可以直接實現,BPS工具是基于Simulink框架上的另一個系統級的、軟硬件協同開發的環境,可以自動生成特定硬件接口和相應軟件驅動[14]。

圖3 VGA 接口模塊
彩色圖像轉換為灰度圖像[15]采用如下轉換矩陣

其中:Y 為象素點的亮度;R、G、B 分別為三基色的相對強度。利用System Generator 創建上述轉換模型如圖4 所示。該模塊實現彩色圖像到灰度圖像的轉換,同時將視頻的行、場同步信號傳遞到下級算法模塊。
根據Sobel 邊緣檢測算法原理,利用System Generator 創建的邊緣檢測算法模型如圖5 所示。

圖4 彩色與灰度圖像轉換模型

圖5 Sobel 邊緣檢測算法模型
上述彩色與灰度圖像轉換模型和Sobel 邊緣檢測算法模型可以分別封裝為一個RGB2Y 子模塊和一個EdgeDetection 子模塊,以便頂層系統模型調用,封裝好的子模塊如圖6 所示。

圖6 (a)RGB2Y 子模塊 (b)EdgeDetection 子模塊
結果輸出功能采用BPS 提供的DVI 模塊(如圖7所示)直接實現。將前端處理模塊產生的R、G、B 像素分量信號、行同步、場同步以及像素使能信號依次接入DVI 模塊,并實現視頻流輸出。由于前端邊緣檢測模塊輸出只包含一種顏色分量Y,這里DVI 模塊的R、G、B 端子均采用分量Y 輸入。

圖7 DVI 模塊
最后,由上述各子模塊構建頂層系統模型如圖8所示。
這里選用一段交通監控視頻圖像處理實驗平臺對上述邊緣檢測模型進行仿真測試,實驗結果如圖9 所示,實驗結果表明了實驗系統的有效性。

圖8 頂層系統模型

圖9 (a)輸入視頻圖像(b)邊緣檢測結果
給出了一種基于FPGA 和System Generator 模型化設計方法的圖像處理實驗平臺,并在該平臺上實現了基于Sobel 算子的實時圖像邊緣檢測算法。該實驗平臺適用于圖像處理方面的實驗教學和創新活動。目前已經在我校電子信息技術實驗中心投入使用,主要面向高年級本科生和研究生,為高素質專門人才和拔尖創新人才培養提供了有效途徑。
[1] 教育部. 國家中長期教育改革和發展規劃綱要(2010-2020 年)[EB/OL]. 2010. http://www. moe. edu. cn/publicfiles/business/htmlfiles/moe/moe_177/201008/93785.html.
[2] 姜 珊,雙 凱.“數字圖像處理”課程的實驗教學改革[J]. 實驗室研究與探索,2006,25(5):644-646.
[3] 王漢萍,于海生,王 英,等. “數字圖像處理”實驗體系模塊化的研究[J]. 實驗室研究與探索,2007,26(12):31-33.
[4] 蔣 偉,官禮和,劉亞威. 數字圖像處理創新實驗的研究與實踐[J]. 實驗室研究與探索,2011,30(7):236-238,251.
[5] 劉 杰. 基于模型的設計及其嵌入式實現[M]. 北京:北京航空航天大學出版社,2010.
[6] 李 穎. Simulink 動態系統建模與仿真[M]. 西安:西安電子科技大學出版社,2009.
[7] Xilinx. XUPV5-LX110T Development System[EB/OL]. 2012.http://www.xilinx.com/univ/xupv5-lx110t.htm.
[8] 劉開健,吳光敏,樊則賓,等. 基于SYSGEN 的信號濾波系統的設計與實現[J]. 微計算機信息,2009,25(4-2):219-220,196.
[9] 牛斌凱,雍少為,張 建,等. 基于System Generator 開發數字信號處理系統[J]. 艦船電子工程,2010,30(1):129-132.
[10] 何錫君,陳華礎. 基于System Generator 的DDS 設計與實現[J].現代雷達,2008,30(2):88-90.
[11] 趙 芳,欒曉明,孫 越. 數字圖像幾種邊緣檢測算子檢測比較分析[J]. 自動化技術與應用,2009,28(3):68,72.
[12] 張麗紅,凌朝東. 基于FPGA 的Sobel 邊緣檢測應用[J]. 電子技術應用,2011,37(8):26-29.
[13] 姜炳旭,劉 杰,孫 可. Sobel 邊緣檢測的細化[J]. 沈陽師范大學學報,2010,28(4):503-506.
[14] MathWorks. BEEcube Platform Studio[EB/OL]. 2012. http://www. mathworks. cn/products/connections/product_detail/product_57841.html.
[15] 劉慶祥,蔣天發. 彩色與灰度圖像間轉換算法的研究[J]. 武漢理工大學學報,2003,27(3):344-346.