<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Stratix II EP2S60的改進(jìn)中值濾波器的設(shè)計(jì)及實(shí)現(xiàn)

          基于Stratix II EP2S60的改進(jìn)中值濾波器的設(shè)計(jì)及實(shí)現(xiàn)

          作者: 時(shí)間:2007-02-08 來源:網(wǎng)絡(luò) 收藏

          1 引言

          眾所周知,在復(fù)雜背景條件下,要對(duì)弱小目標(biāo)進(jìn)行準(zhǔn)確有效地跟蹤、是一個(gè)難題。這種情況下,由于目標(biāo)與背景的對(duì)比度較小、信噪比較低,若直接進(jìn)行跟蹤、往往比較困難,所以必須先對(duì)圖像信號(hào)進(jìn)行濾波預(yù)處理,以達(dá)到抑制背景。增加目標(biāo)強(qiáng)度,從而提高圖像信噪比的目的,為后續(xù)工作打下良好的基礎(chǔ)。

          實(shí)時(shí)圖像處理器中,信號(hào)預(yù)處理包括對(duì)圖像的各種濾波、直方圖統(tǒng)計(jì)及均衡、圖像增強(qiáng)、灰度變換等,它們共同的特點(diǎn)是處理量大,如果用一般的軟件來實(shí)現(xiàn)勢(shì)必會(huì)比較慢。而對(duì)于一些實(shí)時(shí)性要求比較高的系統(tǒng),處理速度往往是要考慮的關(guān)鍵因素,一旦速度跟不上,實(shí)時(shí)性也無從談起。針對(duì)圖像預(yù)處理階段運(yùn)算結(jié)構(gòu)比較簡(jiǎn)單的特點(diǎn),用FPGA進(jìn)行硬件實(shí)現(xiàn)無疑是理想的選擇,這樣同時(shí)兼顧了速度和靈活性,大大減輕了DSP的負(fù)擔(dān)。

          本系統(tǒng)采用Verilog HDL語言。利用一種快速的中值濾波改進(jìn)算法對(duì)電路進(jìn)行設(shè)計(jì),并以Altera公司生產(chǎn)的Stratix II EP2S60F67214型FPGA芯片為硬件平臺(tái)。該器件繼承了Altera公司Stratix II系列的共同優(yōu)點(diǎn),由于引入了嶄新的自適應(yīng)邏輯模塊(ALM),使得Stratix II有更高的性能和邏輯封裝、更少的邏輯和布線級(jí)數(shù)以及更強(qiáng)的DSP支持,而Stratix II EP2S60F67214更是比Xilinx公司的類似器件Virtex-4XC4VLX60多出18%的器件邏輯,其中包括51 182個(gè)寄存器位,2 544 129個(gè)存儲(chǔ)器位以及48 352個(gè)ALUT,該器件資源豐富,只需占用很小一部分實(shí)現(xiàn)中值濾波器,為后續(xù)設(shè)計(jì)的增長(zhǎng)留有更多空間。

          2 中值濾波的基本原理及改進(jìn)算法

          2.1中值濾波的基本原理

          中值濾波是由Tukey發(fā)明的一種非線性信號(hào)處理技術(shù),早期用于一維信號(hào)處理,后來很快被用到二維數(shù)字圖像平滑中,是一種有效抑制圖像噪聲,提高圖像信噪比的非線性濾波技術(shù)。它是一種鄰域運(yùn)算,類似于卷積,但計(jì)算的不是加權(quán)求和,而是把鄰域中的像素按灰度級(jí)進(jìn)行排序,然后選擇該組的中間值作為輸出像素值。與均值濾波器以及其他線性濾波器相比,中值濾波器的突出特點(diǎn)是在很好地濾除脈沖噪聲(Impulsive Noise)和椒鹽噪聲(Salt and Pepper Noise)的同時(shí),還能夠保護(hù)目標(biāo)圖像邊緣輪廓的細(xì)?。用公湿?jiǎng)硎疚?br>
          g(x,y)=median{f(x-i,y-i)},(i,j)∈S (1)

          式中g(shù)(x,y),f(x,y)為像素灰度值,S為模板窗口。

          而中值濾波的具體實(shí)現(xiàn)過程一般為:

          (1)選擇一個(gè)(2n+1)×(2n+1)的滑動(dòng)窗口(通常為3*3或者5*5),使其沿圖像的行或者列方向逐像素滑動(dòng)(通常為從左至右,從上到下逐行移動(dòng))。

          (2)每次滑動(dòng)后,對(duì)窗口內(nèi)的像素灰度值進(jìn)行排序,用排序所得的中間值代替窗口中心位置像素的灰度值。

          2.2中指濾波的改進(jìn)算法

          中值濾波的算法很多,但通常排序量較大。需要消耗大量時(shí)間,不利于圖像處理的實(shí)時(shí)性。本文采用一種窗口大小為3*3的快速排序算法。大大降低了排序量。

          為了便于說明。將3*3窗口內(nèi)的各個(gè)像素分別定義為M11,M12,M13,M21,M22,M23,M31,M32,M33。像素排列如表1。

          首先分別對(duì)窗口中的每一行計(jì)算最大值、中值、最小值,這樣一共可以得到9個(gè)數(shù)值,分別包括3個(gè)最大值、3個(gè)中值、3個(gè)最小值:

          第一行的最大值:Max1=max[M11,M12,M13];

          第一行的中值:Med1=med[M11,M12,M13];

          第一行的最小值:Min1=min[M11,M12,M13];

          依此類推:

          Max2=max[M21,M22,M23];Med2=med[M21,M22,M23];Min2=min[M21,M22,M23];

          Max3=max[M31,M32,M33];Med3=med[M31,M32,M33];Min3=min[M31,M32,M33];

          式中,max表示取最大值,med表示取中值,min表示取最小值。

          不難判斷,9個(gè)數(shù)值中。3個(gè)最大值中的最大值和3個(gè)最小值中的最小值一定是9個(gè)像素中的最大值和最小值;3個(gè)中值中的最大值至少大于5個(gè)像素:即本行中的最小值、其他2行的中值及最小值:而3個(gè)中值中的最小值至少小于5個(gè)像素:即本行中的最大值、其他2行的中值及最小值。最后,比較3個(gè)最大值中的最小值Min_of_Max,3個(gè)中值中的中值Med_of_Med,3個(gè)最小值中的最大值Max_of_Min.得到的中間值即為濾波的最后結(jié)果Med_of_nine。具體過程表示如下:

          Min_of_Max=min[Max1,Max2,Max3];

          Med_of_Med=med[Med1,Med2,Med3];

          Max_of_Min=max[Min1,Min2,Min3];

          則最后濾波結(jié)果:

          Med_of_nine=med[Min_of_Max,Med_of_Med,Max_of_Min];

          利用這種排序法的中值濾波運(yùn)算僅需17次比較,與傳統(tǒng)算法相比。比較次數(shù)減少了近2倍,且該算法十分適用于在FPGA上做并行處理,大大提高了濾波的速度。

          3中值濾波器硬件電路設(shè)計(jì)

          關(guān)鍵要完成2個(gè)模塊的設(shè)計(jì),分別是:

          3.1 3*3窗口模塊

          用硬件實(shí)現(xiàn)二維中值濾波,很重要的一點(diǎn)是能可靠地存儲(chǔ)實(shí)時(shí)圖像數(shù)據(jù),并且使延時(shí)最短。為了滿足實(shí)時(shí)性的要求,對(duì)圖像進(jìn)行全幀預(yù)處理,但這種全幀預(yù)處理并不是先將整幀圖像數(shù)據(jù)完全保存在存儲(chǔ)器中后再對(duì)全幀圖像數(shù)據(jù)進(jìn)行處理,而是存儲(chǔ)n-1行圖像數(shù)據(jù)后便開始處理,其中n為窗口大小。在本設(shè)計(jì)中,選用3*3窗口的中值濾波器,即n=3。這樣設(shè)計(jì)的好處是,F(xiàn)PGA可以以串行流水方式實(shí)現(xiàn)該模塊,節(jié)省了許多時(shí)間,為實(shí)時(shí)處理創(chuàng)造了有利條件。圖1給出3*3窗口中值濾波硬件框圖。

          圖1中,D代表延時(shí)器,F(xiàn)IFO代表先進(jìn)先出存儲(chǔ)器。該先進(jìn)先出存儲(chǔ)器模塊如圖2所示,wrreq和rdreq分別為寫、讀使能,aclr為異步清零。圖像數(shù)據(jù)以像素時(shí)鐘節(jié)拍從數(shù)據(jù)輸入端依次輸入,F(xiàn)IFO用來存儲(chǔ)一行數(shù)據(jù),從而使M11,M12,…,M33正好對(duì)應(yīng)3*3窗口的9個(gè)圖像數(shù)據(jù)(見表1)。當(dāng)數(shù)據(jù)流不斷從數(shù)據(jù)輸入端輸入時(shí),3*3模板對(duì)應(yīng)的圖像數(shù)據(jù)不斷地跟著變化,這樣就可以對(duì)一幀圖像的所有像素都進(jìn)行3*3模板處理。
          3.2 3*3窗口內(nèi)9個(gè)數(shù)值的排序模塊

          由前面2.2節(jié)對(duì)中值濾波改進(jìn)算法的說明不難看出,整個(gè)排序?qū)嶋H就是要進(jìn)行7次3值比較:

          1) 3*3窗口每一行的3個(gè)數(shù)進(jìn)行比較.分別得出每行的最大值、中值、最小值,一共有3行,需3次3值比較;

          2)3個(gè)最大值組、中值組、最小值組進(jìn)行3值比較,3個(gè)組需3次3值比較;

          3)最大值組中的最小值、中值組中的中值、最小值組中的最大值3個(gè)數(shù)再進(jìn)行一次比較。需1次3值比較。

          為了盡量節(jié)約資源,充分利用硬件設(shè)計(jì)中的"模塊復(fù)用"原則,只需先設(shè)計(jì)一個(gè)簡(jiǎn)單的3值比較器模塊,7次調(diào)用該模塊即可以輕松完成中值濾波排序。

          另外,在圖像的各個(gè)邊緣。由于無法用3*3窗口覆蓋(窗口的一部分要覆蓋到圖像的外部)。所以無法直接調(diào)用該中值濾波排序模塊。參考了大量基于領(lǐng)域的圖像硬件處理系統(tǒng)的做法。本文將圖像邊緣像素簡(jiǎn)單地設(shè)成"0"。并不會(huì)影響整個(gè)中值濾波的效果。這樣只需再加一個(gè)判斷窗口位置的模塊,如果判斷結(jié)果是邊緣.則不調(diào)用排序模塊而把"0"直接賦到輸出端;反之。則調(diào)用該排序模塊。

          4 基于FPGA的處理結(jié)果

          整個(gè)電路的設(shè)計(jì)使用Verilog HDL語言編寫,以Altera公司的Stratix II EP2S60器件為硬件平臺(tái),在Quartus II 5.1的軟件開發(fā)環(huán)境下實(shí)現(xiàn)320*256*16 bit灰度圖像的中值濾波。該圖像1場(chǎng)時(shí)間是20ms(其中場(chǎng)消隱時(shí)間約為6.35 ms),像素時(shí)鐘是6 MHz,算法占用資源如表2所示。

          由表2可見,該中值濾波設(shè)計(jì)的芯片資源占用率是非常小的,因此絕大部分資源可以用于后續(xù)的開發(fā)設(shè)計(jì)中。處理一場(chǎng)數(shù)據(jù)所需時(shí)間僅約為4.2 ms,完全滿足整個(gè)系統(tǒng)對(duì)速度的高要求。而同樣的3×3模板中值濾波若在ADI的TS201型DSP上處理,所需時(shí)間約為15.3 ms。顯而易見,基于Stratix II EP2S60來實(shí)現(xiàn)圖像的中值濾波比基于TS201來實(shí)現(xiàn)有更好的實(shí)時(shí)性優(yōu)勢(shì),而且該設(shè)計(jì)使用了快速中值濾波算法,所以比傳統(tǒng)算法節(jié)約了更多時(shí)間,資源占用率也非常小。輸入、輸出圖像分別如圖3、圖4所示,由于本濾波模塊把邊緣置為0,所以圖的邊緣是一條黑線。對(duì)比前后圖像可以看出中值濾波對(duì)椒鹽有很好的濾波作用。

          5 結(jié)束語

          本設(shè)計(jì)方案采用了一種改進(jìn)的快速中值濾波算法,成功地在Altera公司的高性能Stratix II EP2S60上實(shí)現(xiàn)整個(gè)數(shù)字圖像濾波,在保證實(shí)時(shí)性的同時(shí),使得硬件體積大為縮減,大大降低了成本,具有很強(qiáng)的實(shí)用價(jià)值。如果再結(jié)合其他濾波預(yù)處理方法,則可以進(jìn)一步提高其濾除的能力,更好地改善圖像質(zhì)量。本設(shè)計(jì)方案只能運(yùn)用于矩陣型3*3模板,對(duì)于其他類型的模板(如5*5模板、十字線型模板),需要重新進(jìn)行系統(tǒng)設(shè)計(jì)。另外。在FPGA設(shè)計(jì)中,一定要嚴(yán)格控制時(shí)序,保證時(shí)鐘有足夠的建立時(shí)間和保持時(shí)間,并保證時(shí)序的嚴(yán)格同步,電路的延時(shí)應(yīng)該盡可能小。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();