王 巍,安友偉
(重慶郵電大學(xué)光電學(xué)院,重慶 400065)
責(zé)任編輯:時 雯
紅外圖像廣泛地應(yīng)用于紅外監(jiān)測與跟蹤系統(tǒng),而對整個系統(tǒng)來說,從紅外圖像中提取目標的邊緣信息是整個系統(tǒng)的前提與基礎(chǔ)。因此,國內(nèi)外研究人員一直關(guān)注于這方面的研究。James W.Davis等人采用兩階段模板方法檢測跟蹤人體在廣域紅外熱成像圖[1],此方法可以在高噪聲的紅外跟蹤圖像中提取出很好的效果。Basturk等人將克隆算法和細胞神經(jīng)網(wǎng)絡(luò)算法相結(jié)合應(yīng)用于圖像的邊緣檢測[2]。近年來,模糊數(shù)學(xué)、統(tǒng)計分析、小波變換[3]和數(shù)學(xué)形態(tài)學(xué)等算法也被應(yīng)用于紅外圖像的邊緣檢測。盡管這些方法都取得了良好的效果,但是在硬件實現(xiàn)上卻遇到了定點化難度大、開發(fā)周期長、風(fēng)險高、硬件系統(tǒng)不穩(wěn)定等問題。基于模型的設(shè)計方法將系統(tǒng)驗證與測試貫穿了整個設(shè)計過程,并且模塊化的設(shè)計方法和Verilog代碼的自動生成,大大降低了設(shè)計時間和開發(fā)成本。本文將Simulink和細胞神經(jīng)網(wǎng)絡(luò)的基本理論相結(jié)合,搭建細胞神經(jīng)網(wǎng)絡(luò)IP核模塊,然后組建紅外邊緣檢測系統(tǒng)模型,最后結(jié)合ISE,Modulsim對系統(tǒng)進行RTL級仿真、綜合和布局布線。
細胞神經(jīng)網(wǎng)絡(luò)(Cellular Neural Network,CNN)是由美國加州伯克萊大學(xué)的L.O.Chua和L.Yang于1988年提出,是一種將神經(jīng)網(wǎng)絡(luò)和細胞自動機(CA)相結(jié)合的陣列處理器,像細胞自動機一樣,它由大量細胞元組成,且只允許最鄰近的細胞之間直接通信,具有高速的并行處理能力,易于可編程邏輯陣列和VLSI的硬件實現(xiàn)特點[4]。用一階非線性微分方程描述細胞的狀態(tài)方程為
式中:Akl,Bkl是每個胞元的反饋模板和前饋模板;Rx是線性電阻值;I是閾值;ukl,xij,ykl表示胞元的輸入、狀態(tài)、輸出值。
由式(1)可知,整個細胞神經(jīng)網(wǎng)絡(luò)的功能由Akl,Bkl,I決定。由于細胞神經(jīng)網(wǎng)絡(luò)處理圖像的輸入值在[-1,1]之間,而一般的灰度圖像的像素值在[0,255]之間,所以在進行圖像處理之前,式(2)對輸入圖像進行預(yù)處理[5]
式中:gij∈ {0,1,2,…,255};|uij|≤1。
根據(jù)模塊化設(shè)計的原則,將整個紅外圖像邊緣檢測系統(tǒng)劃分為圖像輸入、輸出、模板輸入及細胞神經(jīng)網(wǎng)絡(luò)IP核模塊(如圖1所示)。這種設(shè)計方法將各模塊之間的信息量傳輸降低到最小,使它們的設(shè)計之間保持相對獨立,很大程度上降低了設(shè)計與驗證的難度。
圖1 系統(tǒng)設(shè)計總體結(jié)構(gòu)圖
從整個系統(tǒng)處理的時序角度考慮,在保證細胞神經(jīng)網(wǎng)絡(luò)IP核能實時處理輸入像素點的前提下,將輸入模塊與輸出模塊通過讀寫時能相關(guān)聯(lián),從而保證整個系統(tǒng)處于時間利用率最高的狀態(tài)。圖2清晰地表述了輸入、輸出模塊的工作流程和相互制約的關(guān)系。根據(jù)圖2的邏輯流程,利用Stateflow的控制行為能力特性,定義全局時鐘CLK、圖像輸入變量image和輸入、輸出模塊相互控制的讀寫時能變量RD,WR,從而搭建了圖像的輸入、輸出模塊,如圖3所示。
圖2 輸入、輸出模塊流程圖
圖3 輸入、輸出模塊的Stateflow圖(截圖)
根據(jù)整個系統(tǒng)結(jié)構(gòu),從細胞神經(jīng)網(wǎng)絡(luò)IP核模塊實時處理要求和設(shè)計復(fù)雜度角度考慮,利用Simulink的算法行為特性,創(chuàng)建獨立的子系統(tǒng)模塊,從而減小此模塊對整個系統(tǒng)設(shè)計帶來的難度。整個系統(tǒng)搭建的仿真模型如圖4所示。
圖4 紅外圖像邊緣檢測系統(tǒng)Simulink模型(截圖)
利用細胞神經(jīng)網(wǎng)絡(luò)陣列的規(guī)則特性和互聯(lián)的局域特性,所以只需設(shè)計單個胞元[6-7]便可以擴展成整個CNN網(wǎng)絡(luò)。由于數(shù)字圖像在時間域和空間域都是離散的,為了將CNN應(yīng)用于紅外圖像處理,所以將式(1)中的時間離散化,并且將xij(t)的導(dǎo)數(shù)用其相應(yīng)的差分形式來表示。從而得到近似CNN的狀態(tài)方程式的一階差分方程見式(3)式中:A,B為每個胞元的反饋模板和前饋模板;Rx是性電阻值;I是閾值矩陣;u表示胞元的輸入值;n表示時間點,x(n+1)表示胞元在n+1時刻的狀態(tài)值,y(n)表示在n時刻的輸出值。
根據(jù)上述的狀態(tài)方程,采用3×3的CNN模板設(shè)計方式(即A,B為3×3矩陣),利用Simulink搭建了細胞神經(jīng)網(wǎng)絡(luò)IP核子模塊(如圖5所示)。從硬件設(shè)計占用資源的方面考慮,本文的設(shè)計方法占用的乘法器就多,因此采用串行處理的設(shè)計方式。所以整個紅外圖像處理系統(tǒng)只包含了一個細胞神經(jīng)網(wǎng)絡(luò)IP核。
圖5 細胞元IP核Simulink模型(截圖)
本文采用基于模型的設(shè)計方法,將整個系統(tǒng)按功能劃分為三個子模塊。然后通過Stateflow和Simulink模塊搭建整個紅外圖像邊緣檢測系統(tǒng)。采用此設(shè)計系統(tǒng)對360×240的原始紅外圖像(如圖6a所示)進行邊緣檢測仿真,得到了如圖6b所示的仿真結(jié)果。從仿真結(jié)果來看,本文提出的基于模型的紅外圖像邊緣檢測設(shè)計方法取得了較好的效果,且與MATLAB軟件m代碼仿真的結(jié)果(如圖6c所示)進行對比并沒有太多差別。在得到滿足設(shè)計要求的結(jié)果后,利用Simulink硬件語言自動生成功能將所設(shè)計的紅外圖像邊緣檢測系統(tǒng)模型生成Verilog代碼文件。接著,在ISE中建立工程并調(diào)用Modelsim對生成的RTL級代碼進行功能仿真。從Modelsim的仿真結(jié)果(如圖7所示)分析,所生成的Verilog代碼完全符合系統(tǒng)設(shè)計需求,并與Simulink仿真得到的結(jié)果基本一致。在ISE12.3軟件環(huán)境下在Xilinx公司的Virtex-6系列的FPGA平臺上對生成的Verilog代碼進行綜合,將綜合后所占用的資源與傳統(tǒng)的設(shè)計方法相比較(如表1所示)。基于模型設(shè)計方法占用更合理、更少的資源,并且達到了142.693 MHz的最高頻率和7.927 Mpixel/s的處理速度。由此可見,基于模型設(shè)計方法無論在占用資源、工作效率和開發(fā)周期方面都有較大的優(yōu)勢。
圖6 不同方法的仿真結(jié)果對比
圖7 Modelsim仿真結(jié)果(截圖)
表1 ISE綜合結(jié)果對比
針對傳統(tǒng)算法硬件實現(xiàn)存在的問題,本文采用基于模型設(shè)計的方法,根據(jù)動態(tài)控制元結(jié)構(gòu)以及由其構(gòu)建系統(tǒng)的理念,根據(jù)模塊化、可視化系統(tǒng)設(shè)計的特點,運用基于Stateflow和Simulink的仿真工具,構(gòu)建了整個基于CNN算法紅外圖像邊緣檢測系統(tǒng),并對整個系統(tǒng)進行Simulink仿真驗證。在得到滿足要求的仿真結(jié)果后,通過Simulink系統(tǒng)模型自動生成RTL級Verilog代碼,最后運用ISE和Modelsim對生成的Verilog進行仿真驗證。仿真實驗結(jié)果表明,運用基于模型的設(shè)計思想來構(gòu)建系統(tǒng),可以將系統(tǒng)驗證與測試貫穿了整個設(shè)計過程,大大降低了設(shè)計風(fēng)險和開發(fā)周期,并且與傳統(tǒng)的設(shè)計方法相比占用資源更少、處理速度更高。
[1] DAVIS J W,KECK M A.A two-stage template approach to person detection in thermal imagery[C]//Proc.WACV/MOTIONS 2005.[S.l.]:IEEE Press,2005:364-369.
[2] BASTURK A,GUNAY E.Clonal selection algorithm based cloning template learning for edge detection in digital images with CNN[C]//Proc.Signal Processing,Communication and Applications Conference 2008.[S.l.]:IEEE Press,2008:1-4.
[3]甘斌,張雄偉,甘仲民.基于小波變換的多尺度圖像邊緣處理[J].電視技術(shù),2001,25(8):20-22.
[4] SLAVOVA A,RASHKOVA V.A novel CNN based image denoising model[C]//Proc.ECCTD 2011.[S.l.]:IEEE Press,:226-229.
[5]王懷穎.細胞神經(jīng)網(wǎng)絡(luò)在圖像處理中的應(yīng)用技術(shù)研究[D].南京:南京航空航天大學(xué),2007.
[6] SULEYMAN M.On hardware implementation of discrete-time cellular neural networks[D].Lund:Lund University,2008.
[7] SRIMAT C,MURUGAN S,VENKATA J,et al.A dynamically configurable coprocessor for convolutional neural networks[C]//Proc.International Symposium on Computer Architecture 2010.[S.l.]:IEEE Press,2010:247-257.