• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的動態(tài)可重構(gòu)邊緣檢測系統(tǒng)設(shè)計

      2012-06-25 07:02:36向厚振張志杰
      電視技術(shù) 2012年7期
      關(guān)鍵詞:通濾波算子邊緣

      王 鵬,向厚振,張志杰

      (中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)

      通常情況下,對圖像的數(shù)字處理算法都是建立在馮諾依曼結(jié)構(gòu)的通用處理器的軟件上進行,如果將其移植到幾十兆赫茲的微控制器運行時,運行效果會非常不理想,根本無法達到實時處理的要求。隨著科技的發(fā)展,F(xiàn)PGA由于其高度的靈活性、現(xiàn)場可編程優(yōu)點以及高度的并行運算能力,成為了工程師們設(shè)計的首選。利用FPGA的流水線操作可以解決數(shù)字信號處理時數(shù)據(jù)傳輸需要的高帶寬,利用其并行運算提高運算速度,尤其是其靈活性特點使得硬件實現(xiàn)的算法能夠支持大范圍數(shù)字信號處理應(yīng)用成為可能。

      邊緣檢測在圖像處理領(lǐng)域有廣泛的應(yīng)用,Sobel算子屬于傳統(tǒng)邊緣檢測算子,對噪聲比較敏感,在硬件實現(xiàn)時,效果并不理想,而高通濾波可以抑制低頻分量,凸顯邊緣,降低噪聲,因此,先對圖像進行高通處理再進行邊緣檢測,可以獲得較好的效果。但缺點是兩種算法計算量都較大,消耗較多的硬件邏輯資源,造成浪費。考慮到FPGA內(nèi)部構(gòu)造出的時序邏輯系統(tǒng),并非每個模塊都時刻在工作,而是依據(jù)邏輯功能要求,輪流工作[1],因此利用可重構(gòu)計算技術(shù)可以解決這樣的問題。

      依據(jù)以上論述而設(shè)計的邊緣檢測系統(tǒng),不僅提高芯片利用率,并且使得該算法系統(tǒng)易于擴展,易于移植,擁有較好的性能效果。

      1 Virtex-4系列動態(tài)自重構(gòu)系統(tǒng)介紹

      早在20世紀60年代,可重構(gòu)計算技術(shù)已經(jīng)出現(xiàn),雖然比較粗糙,但為之后的研究奠定了基礎(chǔ)?;赟RAM的FPGA的出現(xiàn),使得可重構(gòu)計算技術(shù)得到更好的發(fā)展和應(yīng)用,并且使得傳統(tǒng)設(shè)計方法中隨著數(shù)字系統(tǒng)規(guī)模增大,單片F(xiàn)PGA資源利用率下降的問題得到較好解決。

      部分可重構(gòu)允許在不破壞FPGA其他資源繼續(xù)運行的情況下聯(lián)機重配置FPGA的一部分,通過刪除在那一刻FPGA中沒有有效執(zhí)行的功能來提高有效的邏輯密度。

      盡管基于SRAM的FPGA均可實現(xiàn)重構(gòu)功能,但是并非都可以實現(xiàn)動態(tài)可重構(gòu)功能。Xilinx公司的Virtex-4系列芯片基于SRAM結(jié)構(gòu),且具有動態(tài)重構(gòu)性能。本文使用該系列的SC4VSX25芯片,它內(nèi)部擁有1片32位MicroBlaze,4 個 DCM 模塊,128 個 Xtreme DSP Slice,9 個Bank,128個18 kbyte的Block RAM,23040個Logic Cells,10240個 Slice,64 ×40 Array。

      本文使用的CCD攝像機采集的視頻輸出信號是模擬信號,要進行進一步處理,需要首先進行A/D轉(zhuǎn)換。使用EDK工具中I2C核對TVP5150芯片配置,當芯片上電工作時,輸出的是 BT.656格式的視頻數(shù)據(jù),此時利用TVP5150的AVID管腳為高電平且VBLK管腳為低電平時輸出的視頻數(shù)據(jù)為有效數(shù)據(jù)的特點,將1幀的576×720個有效灰度數(shù)據(jù)存入外部存儲器中。

      Sobel算子的邊緣檢測程序比特流和高通濾波程序比特流分別存放在外部存儲器的的不同位置中,在嵌入式32位MicroBlaze控制下,從片外存儲器讀取配置數(shù)據(jù)寫入內(nèi)部配置端口(ICAP),可以完成芯片的動態(tài)重構(gòu)[2]。FPGA的系統(tǒng)架構(gòu)如圖1所示。

      圖1 FPGA的系統(tǒng)架構(gòu)

      在這個架構(gòu)中,硬件資源可分為兩部分:

      1)動態(tài)可重構(gòu)區(qū)域。高通濾波和邊緣檢測算法可以自動在這里按照應(yīng)用要求重新配置。

      2)靜態(tài)區(qū)域。包括32位的MicroBlaze,可重構(gòu)控制器,還有系統(tǒng)的其他部分。

      其中,MicroBlaze充當CPU,用于決定何時使用何種算法。可以利用Xilinx公司的EDK工具,生成MicroBlaze以及DDR控制器、DMA等資源,它們均通過OPB總線連接在一起,之后將EDK作為子模塊添加到ISE工程中[3]。DMA的作用是解放CPU,使得存儲在DDR中的圖像數(shù)據(jù),直接與動態(tài)可重構(gòu)區(qū)域交互,以提高傳輸速度??芍貥?gòu)控制器主要負責將存儲在外部的比特流通過ICAP接口讀入內(nèi)部配置存儲單元。

      對于動態(tài)可重構(gòu)的模塊法和差別設(shè)計法,模塊法可以充分利用并行性特點,且各模塊相互獨立便于優(yōu)化,提高整體性能和設(shè)計效率,因此選用模塊方法。需要注意的是,靜態(tài)模塊和動態(tài)模塊之間不是相互獨立的,而是需要使用總線宏來進行連接,以便各子模塊通信。

      配置的流程如圖2所示。

      圖2 配置的流程

      2 高通濾波子模塊

      CCD攝像機采集的數(shù)據(jù),通常情況有很多噪聲,而Sobel算子對噪聲比較敏感,如果不首先將這些噪聲濾除掉,勢必影響之后的檢測效果。雖然Sobel算子也具有一定的噪聲平滑作用,但是精度不高。

      濾波算法一般都是用模板來進行,而模板的尺寸均為奇數(shù),通常采用的是3×3,5×5,7×7。這里采用空間域3×3模板。所謂空間域濾波,就是將模板在待處理的原始圖像中逐點的滑動,預(yù)先定義的濾波器系數(shù)與濾波模板對應(yīng)的像素進行特定的計算得出該點所需的響應(yīng)[4]。實現(xiàn)的步驟如圖3所示。

      圖3 濾波算法實現(xiàn)步驟

      這里所采用的高通濾波模板如圖4所示。

      圖4 高通濾波模板

      為了可以同時提取模板中的9個像素,本文采用了圖5所示的結(jié)構(gòu)。其中,每個FIFO使用的是片內(nèi)的BRAM,用CoreGenerator生成,容量為1 k×8 bit,存儲1行720個灰度數(shù)據(jù),SRi為8位的移位寄存器,用VHDL語言描述,這樣在FIFO和SR的輸出端口恰好構(gòu)成1個3×3的模板。值得注意的是,為了保證能夠有較穩(wěn)定的數(shù)據(jù),設(shè)置FIFO的讀時鐘較寫時鐘晚半個周期。以上模板中的負數(shù),采用補碼方式進行計算,并且預(yù)留進位。經(jīng)過圖3的計算步驟,邊緣頻率分量得以保存[5]。

      圖5 模板結(jié)構(gòu)

      3 Sobel算子下的邊緣檢測模塊實現(xiàn)

      Sobel算子是通常用于水平和垂直邊緣的一個簡單檢測子[6],能夠很好地處理灰度漸變且噪聲多的圖像。水平梯度Gx和垂直梯度Gy可以由下面公式計算得出

      式中:S為強度,θ為方向。但在這里,只使用強度S。與高通部分相同的是,仍然要構(gòu)建3×3模板,只是模板內(nèi)系數(shù)不同,并且需要水平和垂直方向兩個模板分別對Gx和Gy進行計算。詳細的構(gòu)建流程如圖6所示。

      圖6 構(gòu)建流程圖

      正如圖6所示,來自高通濾波器的數(shù)據(jù)流分別同時使用2個3×3模板進行卷積處理,其中,Gx的模板如圖7所示,Gy的模板如圖8所示。

      圖7 Gx的模板

      圖8 Gy的模板

      經(jīng)過運算后的9個數(shù)據(jù)需要再經(jīng)過加法器(見圖9)求和,將和值送出,與Gy求得的和值進行均方運算。

      圖9 加法器

      對2個矩陣對應(yīng)像素求均方根,得到的數(shù)據(jù)即為該點的像素梯度強度值,最后判斷其與閾值的關(guān)系,滿足T1≤S≤T2,輸出235,否則輸出16。因為在BT.656格式中,色度信號被填充為128,代表無色度信號,灰度信號被填充為16或235,分別代表黑色和白色??梢允褂肰HDL來構(gòu)造狀態(tài)機,實現(xiàn)BT.656視頻格式,完成圖像在LCD上的顯示,亦可利用TVP5150的視頻輸出信號,填充有效數(shù)據(jù),但需要注意時序問題,否則會造成顯示的不同步。而閾值的選擇,需要根據(jù)不同背景不同光照來選擇。在這里,模板中的負數(shù),仍然采用補碼方式進行計算,并且預(yù)留進位。乘法器可以使用VHDL語言進行編寫,也可以使用Xilinx自帶的CoreGenerator來生成,這里選擇后者。

      當然,由于Gx與Gy的計算方式僅僅是模板內(nèi)部系數(shù)不同,所以,可以在完成Gx結(jié)構(gòu)之后,將其復(fù)制并修改模板系數(shù)就可以完成Gy結(jié)構(gòu)。

      4 實驗結(jié)果及其分析

      本文采用合眾達公司的SEED-XDTK FPGA教學(xué)實驗平臺,截取視頻中一幅圖片,在LCD顯示器上顯示,實驗結(jié)果如圖10所示。由圖10可見,本文的設(shè)計初步達到要求,但與軟件處理的效果仍稍有差距。

      5 小結(jié)

      本文首先利用Xilinx公司的EDK嵌入式開發(fā)軟件完成了硬件平臺搭建,并將其作為子模塊嵌入到ISE工程中,之后,在ISE中完成算法模塊搭建,由于使用了大量FPGA自帶的硬件資源,避免了編寫大量程序代碼,利用硬件平臺完成了高通濾波和Sobel算法的動態(tài)重構(gòu),有效提高了硬件資源利用率并且方便算法擴展,有較強的通用性和移植性。

      [1]朱明程.FPGA動態(tài)可重構(gòu)技術(shù)及其應(yīng)用[J].電子產(chǎn)品世界,2000(6):13-14.

      [2]覃祥菊,朱明程,張?zhí)?FPGA動態(tài)可重構(gòu)技術(shù)原理及實現(xiàn)方法分析[J]. 電子器件,2004,27(2):277-282.

      [3]田耘,徐文波.Xilinx FPGA開發(fā)實用教程[M].北京:清華大學(xué)出版社,2011.

      [4]趙磊.基于FPGA圖像增強技術(shù)的實現(xiàn)[D].昆明:昆明理工大學(xué),2008.

      [5]王德勝,康令州.基于FPGA的實時圖像采集與預(yù)處理[J].電視技術(shù),2011,35(3):32-35.

      [6]SONKA M,HLAVAC V,BOYLE R.圖像處理、分析與機器視覺[M].3版.艾海舟,蘇延超,等,譯.北京:清華大學(xué)出版社,2011.

      猜你喜歡
      通濾波算子邊緣
      聲吶發(fā)射機負載阻抗變化仿真分析
      擬微分算子在Hp(ω)上的有界性
      各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應(yīng)用
      一類Markov模算子半群與相應(yīng)的算子值Dirichlet型刻畫
      二階有源低通濾波電路的計算機輔助設(shè)計
      電子制作(2017年1期)2017-05-17 03:54:07
      一張圖看懂邊緣計算
      Roper-Suffridge延拓算子與Loewner鏈
      基于復(fù)帶通濾波的智能電表量測算法及其DSP實現(xiàn)
      基于頻域分析和低通濾波的光伏并網(wǎng)逆變器諧振抑制研究
      在邊緣尋找自我
      雕塑(1999年2期)1999-06-28 05:01:42
      岳池县| 沈阳市| 汕尾市| 石泉县| 顺平县| 廉江市| 綦江县| 石棉县| 荃湾区| 张家口市| 青岛市| 万山特区| 商洛市| 久治县| 寻甸| 万源市| 宜兴市| 乐亭县| 克拉玛依市| 海口市| 隆化县| 安宁市| 北辰区| 弥勒县| 莱芜市| 永寿县| 龙岩市| 乌什县| 漳州市| 荣昌县| 太白县| 唐海县| 长宁区| 凯里市| 孟连| 石楼县| 政和县| 西丰县| 自治县| 米脂县| 琼中|