0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的實時圖像處理仿真實驗方案實現(xiàn)

454398 ? 來源:電子技術(shù)應(yīng)用 ? 作者:武昊男,儲成群, ? 2020-09-27 16:42 ? 次閱讀

對CMOS圖像傳感器采集圖像過程中的噪聲預(yù)處理問題,提出一種在FPGA中實現(xiàn)的可配置的自適應(yīng)加權(quán)均值濾波模塊設(shè)計方案。該模塊通過檢測濾波窗口內(nèi)不同方向的方差來確定紋理方向,從而自動生成相應(yīng)的加權(quán)系數(shù),可以對寬度不超過4 094像素的圖像進行流水線式的加權(quán)均值濾波處理,達到去噪保邊的目的。最后經(jīng)過實驗驗證,當(dāng)圖像寬度為2 048時,輸入輸出延時僅為42.04 μs,滿足實時性要求,且濾波后的圖像噪點明顯減少,紋理邊緣毛刺消失,能較好地改善圖像質(zhì)量。

0 引言

CMOS圖像傳感器相較于傳統(tǒng)的CCD而言,具有更高的集成度,更靈活的圖像捕獲方式,更寬的動態(tài)范圍,加上其低成本、低功耗的特點,越來越受到人們的重視并得到廣泛的應(yīng)用。但是CMOS圖像傳感器在采集圖像過程中由于暗電流放大器偏差等原因?qū)е缕淇乖肼暷芰^差,引起圖像噪點增多,質(zhì)量下降[1],這會直接影響圖像的后期處理工作。為方便圖像的后續(xù)處理,在圖像采集過程中,對圖像進行預(yù)處理是十分必要的。

1 降噪方法

高斯噪聲是數(shù)字圖像中最常見的噪聲[2],消除圖像高斯噪聲一般考慮使用均值濾波方法。傳統(tǒng)的鄰域均值濾波法對高斯噪聲可以起到抑制作用[2],但是會引起圖像邊緣部分細(xì)節(jié)的丟失。針對圖像噪聲與紋理邊緣的相似性,文獻[2]提出一種基于置信區(qū)間的自適應(yīng)加權(quán)均值濾波方法。該方法利用高斯噪聲的正態(tài)分布特性,將灰度值處于置信區(qū)間內(nèi)的像素點判斷為噪聲,能在濾除噪聲的同時,保證圖像邊緣不受影響。但該方法需要對噪聲圖像的灰度均值及噪聲的標(biāo)準(zhǔn)差預(yù)先進行估計,實時性較差。文獻[3]提出一種基于灰度值相似度和空間鄰近度的加權(quán)均值濾波算法,不僅考慮到濾波窗口中像素值的灰度值差異,也考慮到距離對中心像素點的影響,根據(jù)其兩個參數(shù)局部鄰域灰度因子和局部鄰域空間因子,生成加權(quán)系數(shù)。該方法相比于傳統(tǒng)的高斯濾波方法有更好的去噪效果,但運算量較大,處理速度較慢。

文獻[4]設(shè)計了一種基于極值點的加權(quán)均值濾波方法。該方法可以根據(jù)圖像的灰度值,自適應(yīng)調(diào)整加權(quán)系數(shù)。通過4個方向上的方差計算,可以確定濾波窗口與紋理邊緣是否重合,并判斷出紋理的方向,據(jù)此生成不同的權(quán)重。這樣就可以達到較好的去噪保邊的效果。但如果使用上位機實現(xiàn)該算法,無法保證實時性。

通常上位機處理速度較慢,無法與圖像采集、傳輸與存儲系統(tǒng)形成一套流水線,而FPGA具有高速、并行、數(shù)據(jù)吞吐量大的特點,因此針對以上問題,提出一種基于FPGA實現(xiàn)的自適應(yīng)加權(quán)均值濾波方法。該方法將文獻[4]提出優(yōu)化算法映射到FPGA中,實現(xiàn)實時的圖像處理。

2 算法分析及其FPGA映射

高斯噪聲是基于像素點的噪聲,因此考慮使用3×3的濾波窗口[5]。采用3×3的窗口對圖像進行均值濾波時,圖像第1行和第1列及最后1行和最后1列的像素點會由于數(shù)據(jù)不足而無法參與運算。為保證數(shù)據(jù)的完整性,可以采用填充法[6],在處理前先對圖像進行2×2的擴展。擴充后數(shù)據(jù)如圖1所示,白色部分為圖像原始數(shù)據(jù),陰影部分為填充的數(shù)據(jù)。

濾波模板生成,首先需要檢測窗口中心點是否為極值點,如果是則可能是噪聲點或紋理邊緣[7]。通過窗口4個方向上3個點方差計算確定該點是噪聲還是紋理邊緣,如圖2所示。如果濾波窗口與紋理邊緣重合,4個方向中與紋理邊緣有交叉的方向,由于灰度值跳變,會出現(xiàn)方差較大的情況。

而與紋理邊緣平行的方向上,灰度值不會出現(xiàn)大幅跳變,因此方差較小。根據(jù)4個方向的方差,確定紋理邊緣的方向,再確定其加權(quán)系數(shù),在穿越圖像紋理邊緣的方向上,不做濾波處理。方向1到4上生成加權(quán)系數(shù)分別為A、B、C、D。

A=0 0 0

以上權(quán)重的模版矩陣都符合正態(tài)分布的規(guī)律,且矩陣所有元素的和為2的整數(shù)次冪,在后續(xù)的歸一化運算中,可以通過移位寄存器代替除法器實現(xiàn),節(jié)省大量FPGA資源。

3 FPGA實現(xiàn)

本設(shè)計選用Xilinx FPGA XC6SLX45作為主控芯片,以模塊化設(shè)計理念為指導(dǎo),設(shè)計了分辨率可配置的加權(quán)均值濾波模塊。該模塊由4個部分組成,包括數(shù)據(jù)緩存模塊、權(quán)重生成模塊、加權(quán)求和模塊以及求均值模塊,四個子模塊采用流水線的方式工作,保證數(shù)據(jù)能夠?qū)崟r處理,整體邏輯設(shè)計如圖3所示。

3.1 數(shù)據(jù)緩存模塊設(shè)計

數(shù)據(jù)緩存模塊的功能是將1路12 bit數(shù)據(jù)流,經(jīng)過緩存和時序調(diào)整調(diào)整為3路并行的12 bit數(shù)據(jù)流。該模塊使用兩個深度為4 K,寬度為12 bit的讀優(yōu)先RAM,分別用來存儲一行有效圖像數(shù)據(jù)。根據(jù)行同步信號Hsync和場同步信號Vsync來判斷傳感器采集回的數(shù)據(jù)是否有效。

每當(dāng)Hsync的一個上升沿到來時,鎖存輸入的數(shù)據(jù),得到每行數(shù)據(jù)的第一個像素。經(jīng)過計數(shù)后,再次鎖存每行數(shù)據(jù)的最后一個像素。輸入的數(shù)據(jù)延時一個時鐘,同時把鎖存的首位數(shù)據(jù)和末位數(shù)據(jù)與輸入數(shù)據(jù)組合,形成一路新的數(shù)據(jù)流,如圖4所示。由于RAM_4 K用于緩存一行擴充數(shù)據(jù),因此圖像數(shù)據(jù)的寬度需要小于4 094,否則會造成數(shù)據(jù)丟失。

數(shù)據(jù)緩存模塊的一個關(guān)鍵信號是行計數(shù)信號,當(dāng)一幀圖像數(shù)據(jù)到來即Vsync的一個上升沿到來時,行計數(shù)信號清零,每次Hsync的上升沿到來時,行計數(shù)加1。由于需要對數(shù)據(jù)進行擴充,因此第一行和最后一行數(shù)據(jù)做特殊處理。當(dāng)?shù)谝恍薪M合數(shù)據(jù)到來時,同時存儲進兩個RAM中,此時3個輸出通道無輸出。當(dāng)?shù)诙薪M合數(shù)據(jù)到來時,1通道輸出第二行數(shù)據(jù),2通道和3通道輸出第一行數(shù)據(jù),如圖5所示。

中間數(shù)據(jù)到來時,延時后輸入1通道,且作為RAM1的輸入。RAM1的輸出同時輸入至RAM2中。在數(shù)據(jù)輸入的同時,將上次存入RAM的數(shù)據(jù)讀出。這樣當(dāng)?shù)贜行數(shù)據(jù)到來時,1通道輸出第N行數(shù)據(jù),2通道輸出第N-1行數(shù)據(jù),3通道輸出N-2行數(shù)據(jù),即完成三行數(shù)據(jù)的同步輸出,邏輯圖如圖6所示。

當(dāng)最后一行數(shù)據(jù)輸入完成后,開始對其進行擴充。此時Data_in為無效輸入,并且RAM1輸出為最后一行數(shù)據(jù),同時賦值給1通道和2通道,RAM2輸出倒數(shù)第二行數(shù)據(jù),賦值給3通道,完成最后一行數(shù)據(jù)的擴充,如圖7所示。

經(jīng)過RAM緩存后的數(shù)據(jù)輸出受RAM使能控制,由于RAM緩存的圖像數(shù)據(jù)是擴展后的數(shù)據(jù),RAM的使能信號要在行同步信號的基礎(chǔ)上擴展兩個時鐘。三個通道的信號要經(jīng)過適當(dāng)?shù)难訒r實現(xiàn)數(shù)據(jù)的同步。

3.2 權(quán)重生成模塊設(shè)計

權(quán)重生成模塊的目的是檢測濾波窗口的中心像素點是平滑區(qū)域還是邊緣區(qū)域,并根據(jù)檢測結(jié)果生成相應(yīng)的加權(quán)系數(shù)[6],其工作流程如圖8所示。

該模塊由加法器、減法器和乘法器構(gòu)成,數(shù)據(jù)緩存模塊輸出的三行數(shù)據(jù)分別進行三次鎖存,得到窗口內(nèi)9個像素點的灰度值Pix0~Pix8。其中Pix3~Pix5作為水平方向;Pix2、Pix4、Pix6作為45°方向;Pix1、Pix4、Pix7作為90°方向;Pix0、Pix4、Pix8作為135°方向,分別計算方差。求灰度和時,中心像素點Pix4權(quán)重為2,另外兩個點權(quán)重為1。這樣計算標(biāo)準(zhǔn)差時,只需將灰度和通過兩個移位寄存器即可。方差計算完成后,根據(jù)方差生成相應(yīng)的權(quán)重模板及歸一化系數(shù),作為后續(xù)處理的參數(shù)。為保證處理過程流水線化,此模塊通過四路并行計算方差,因此占用了較多DSP資源。

3.3 加權(quán)求和模塊設(shè)計

加權(quán)求和模塊的功能實現(xiàn)同一行的三個像素點的加權(quán)運算。該模塊由3個乘法器及兩個加法器組成,如圖9所示。一路數(shù)據(jù)輸入后,經(jīng)過三次鎖存,得到同一行的3個相鄰像素點。同時輸入乘法器,進行加權(quán)運算,權(quán)重由權(quán)重生成模塊給出。運算完畢后把兩個乘法器的運算結(jié)果輸入加法器進行求和運算,再把得到的結(jié)果與另一個乘法器得到的結(jié)果輸入下一級加法器進行求和,得到同行3個像素點的加權(quán)求和輸出,如圖9所示。加權(quán)求和模塊共調(diào)用三次,完成三路數(shù)據(jù)的同步加權(quán)求和運算。

3.4 求均值模塊設(shè)計

求均值模塊調(diào)用了兩個加法器實現(xiàn)三路同步數(shù)據(jù)的求和運算。通過移位寄存器來計算輸出的均值。當(dāng)歸一化系數(shù)分別為4和16時,加法器輸出數(shù)據(jù)經(jīng)過2個或4個向右的移位寄存器輸出,如圖10所示。

12 bit數(shù)據(jù)經(jīng)過乘法器、加法器的運算后,變成24 bit數(shù)據(jù),但是有效數(shù)據(jù)位不變,只需取低12 bit即可。

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

在ISE邏輯仿真時賦值給該模塊不同的圖像參數(shù),驗證模塊的正確性和可配置性。以9×5分辨率的圖像為例:輸入圖像有效數(shù)據(jù)為1~9,數(shù)據(jù)緩存模塊輸出應(yīng)為擴充后的并行3行數(shù)據(jù),經(jīng)過權(quán)重生成后,加權(quán)求和輸出,如圖11所示。

在仿真過程中,根據(jù)數(shù)據(jù)輸入與數(shù)據(jù)輸出的延遲判斷,在輸入圖像寬度為2 048像素情況下,處理延時為42.04 μs,滿足實時性要求。

實驗對象選擇ON公司的CMOS圖像傳感器MT9P031,對采集到的2 048×1 944分辨率的圖像進行預(yù)處理。結(jié)果如圖12所示,其中圖12(a)為模板圖像,圖12(b)為采集回的原始圖像,圖12(c)為傳統(tǒng)加權(quán)均值濾波處理過的圖像,圖12(d)為本文方法處理后的圖像。可以看到未處理圖像的噪點較多,且紋理邊緣有毛刺;經(jīng)過傳統(tǒng)加權(quán)均值濾波處理后,圖像的噪點減少,紋理邊緣毛刺消失,但比較模糊;使用本文方法處理后的圖像噪點較少,同時邊緣也更加清晰,圖像質(zhì)量得到明顯改善。通過MATLAB對處理結(jié)果及原始圖像進行均方差MES與峰值信噪比PSNR計算比較,結(jié)果見表1。

從表1中圖像的客觀指標(biāo)可以看到,通過本文方法處理后的圖像相較于傳統(tǒng)加權(quán)均值濾波處理后的圖像,其峰值信噪比提高1.04 dB。說明本文方法優(yōu)于傳統(tǒng)的加權(quán)均值濾波方法。

FPGA資源占用率見表2。由表2數(shù)據(jù)可知,除DSP資源外,本設(shè)計的資源占用率低,而一般圖像采集系統(tǒng)對DSP需求不高,因此可以方便嵌入CMOS圖像采集系統(tǒng)設(shè)計中。

5 結(jié)論

針對傳統(tǒng)均值濾波處理圖像時實時性差等特點,結(jié)合FPGA并行處理數(shù)據(jù)的高效性,實現(xiàn)圖像的自適應(yīng)加權(quán)均值濾波處理,具有可配置、低延時的特點。實驗結(jié)果表明,本設(shè)計能夠在不影響數(shù)據(jù)傳輸速度的情況下,嵌入圖像采集系統(tǒng)中,形成一套流水線,并有效提高CMOS圖像傳感器采集圖像的質(zhì)量。

參考文獻

[1] 徐琳亮.CMOS圖像傳感器預(yù)處理數(shù)字電路的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2017.

[2] 陳家益,黃楠,熊剛強,等.基于置信區(qū)間的自適應(yīng)加權(quán)均值濾波算法[J].南京理工大學(xué)學(xué)報,2017,41(3):307-312.

[3] 張文娟,康家銀.一種用于圖像降噪的自適應(yīng)均值濾波算法[J].小型微型計算機系統(tǒng),2011,32(12):2495-2498.

[4] 楊樊,韓艷麗.一種基于極值的自適應(yīng)均值濾波算法[J].紅外與激光工程,2006(S4):116-120.

[5] 彭宏,趙鵬博.邊緣檢測中的改進型均值濾波算法[J].計算機工程,2017,43(10):172-178.

[6] 張文娟,康家銀.一種用于圖像降噪的自適應(yīng)均值濾波算法[J].小型微型計算機系統(tǒng),2011,32(12):2495-2498.

[7] 郭貝貝,易三莉,賀建峰,等.改進的非局部均值濾波算法[J].計算機工程,2016,42(7):227-231.

[8] 李佐勇,湯可宗,胡錦美,等.椒鹽圖像的方向加權(quán)均值濾波算法[J].中國圖象圖形學(xué)報,2013,18(11):1407-1415.

作者信息:

武昊男,儲成群,任勇峰,焦新泉

(中北大學(xué) 電子測試技術(shù)國家重點實驗室,山西 太原030051)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21539

    瀏覽量

    600483
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5270

    瀏覽量

    119646
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1272

    瀏覽量

    56501
  • CMOS圖像傳感器
    +關(guān)注

    關(guān)注

    10

    文章

    212

    瀏覽量

    27595
收藏 人收藏

    評論

    相關(guān)推薦

    解決方案丨EasyGo新能源系統(tǒng)實時仿真應(yīng)用

    添加更多的教學(xué)或創(chuàng)新型的實驗內(nèi)容。 所有實驗均包含離線程序,控制算法實時程序,電路仿真實時程序等。其中,仿真側(cè)模型采用
    發(fā)表于 10-18 09:37

    PPEC-HIL 三相整流逆變實時仿真測試

    方案匹配您的科研/教學(xué)模式。今天為大家分享的是基于EasyGo實時仿真平臺的PPEC-HIL 三相整流逆變仿真實驗,并將其與三相整流逆變電路的實際
    發(fā)表于 10-12 15:40

    FPGA圖像處理領(lǐng)域的優(yōu)勢有哪些?

    等協(xié)同工作,實現(xiàn)高效的圖像處理。這種多接口支持使得FPGA在構(gòu)建復(fù)雜的圖像處理系統(tǒng)時具有更大的靈
    發(fā)表于 10-09 14:36

    EasyGo實時仿真丨PCS儲能變流器控制仿真應(yīng)用

    “CBox采用CPU+FPGA的雙模塊設(shè)計簡化了仿真流程,上位機軟件圖形化操作也很直觀,可在線實時調(diào)整參數(shù),極大地提高了工作效率?!薄A科某實驗
    發(fā)表于 09-20 10:17

    EasyGo實時仿真丨PCS儲能變流器控制仿真應(yīng)用

    “CBox采用CPU+FPGA的雙模塊設(shè)計簡化了仿真流程,上位機軟件圖形化操作也很直觀,可在線實時調(diào)整參數(shù),極大地提高了工作效率?!薄A科某實驗
    的頭像 發(fā)表于 09-19 18:10 ?213次閱讀
    EasyGo<b class='flag-5'>實時</b><b class='flag-5'>仿真</b>丨PCS儲能變流器控制<b class='flag-5'>仿真</b>應(yīng)用

    EasyGo 實時仿真 NetBox 操作指南

    NetBox 是一款基于FPGA架構(gòu)的一體化電力電子實時仿真產(chǎn)品,能夠以納秒級運行電力電子系統(tǒng)模型,搭配上EasyGoDesksim軟件,可使用實時調(diào)參、數(shù)據(jù)記錄等功能,更高效的進行硬
    的頭像 發(fā)表于 09-04 18:30 ?363次閱讀

    EasyGo實時仿真丨三相永磁同步電機開環(huán)實驗仿真應(yīng)用

    快速并行處理能力,在電機控制和并網(wǎng)算法中至關(guān)重要,是實現(xiàn)復(fù)雜控制策略的理想選擇。EasyGo半實物仿真平臺采用FPGA技術(shù),實現(xiàn)了ns級
    發(fā)表于 08-23 09:58

    EasyGo實時仿真丨三相永磁同步電機開環(huán)實驗仿真應(yīng)用

    快速并行處理能力,在電機控制和并網(wǎng)算法中至關(guān)重要,是實現(xiàn)復(fù)雜控制策略的理想選擇。EasyGo半實物仿真平臺采用FPGA技術(shù),實現(xiàn)了ns級
    的頭像 發(fā)表于 08-22 18:20 ?1006次閱讀
    EasyGo<b class='flag-5'>實時</b><b class='flag-5'>仿真</b>丨三相永磁同步電機開環(huán)<b class='flag-5'>實驗</b><b class='flag-5'>仿真</b>應(yīng)用

    FPGA設(shè)計經(jīng)驗之圖像處理

    系列:基于 FPGA圖像邊緣檢測系統(tǒng)設(shè)計(sobel算法) FPGA設(shè)計中 Verilog HDL實現(xiàn)基本的圖像濾波
    發(fā)表于 06-12 16:26

    基于FPGA實時邊緣檢測系統(tǒng)設(shè)計,Sobel圖像邊緣檢測,FPGA圖像處理

    計算機軟件實現(xiàn)方式有更快的處理速度。 經(jīng)驗證,系統(tǒng)工作穩(wěn)定,滿足實時性要求 。 MATLAB 與 FPGA無線通信、圖像
    發(fā)表于 05-24 07:45

    FPGA設(shè)計中 Verilog HDL實現(xiàn)基本的圖像濾波處理仿真

    今天給大俠帶來FPGA設(shè)計中用Verilog HDL實現(xiàn)基本的圖像濾波處理仿真,話不多說,上貨。 1、用matlab代碼,準(zhǔn)備好把圖片
    發(fā)表于 05-20 16:44

    多端口能量路由實時控制仿真系統(tǒng)解決方案

    。 CBox采取CPU+FPGA的硬件構(gòu)架及網(wǎng)口通訊模塊,可靈活的將算法模型程序部署到CPU或者FPGA硬件平臺上運行,通過EasyGo Desksim軟件控制,實時軟件監(jiān)控仿真結(jié)果。
    發(fā)表于 05-10 11:05

    DSP軟件 MATLAB仿真實驗報告

    電子發(fā)燒友網(wǎng)站提供《DSP軟件 MATLAB仿真實驗報告.pdf》資料免費下載
    發(fā)表于 03-24 09:49 ?10次下載

    電力電子實時仿真實驗室,助力高等教育信息化建設(shè)

    電力電子實時仿真實驗室隨著數(shù)字技術(shù)的飛速發(fā)展,傳統(tǒng)實驗室的資源受限和效率低下已經(jīng)不能滿足科研和工程實踐的需求。同時,一些領(lǐng)域的研究和實驗具有高風(fēng)險、高代價或不可逆性,不適宜在
    的頭像 發(fā)表于 12-27 08:22 ?976次閱讀
    電力電子<b class='flag-5'>實時</b><b class='flag-5'>仿真實驗</b>室,助力高等教育信息化建設(shè)

    高校電力電子實時仿真創(chuàng)新實驗系統(tǒng)解決方案

    EasyGo實時仿真實驗系統(tǒng)旨在為電氣相關(guān)專業(yè)的本科生和研究生提供技術(shù)領(lǐng)先、性能優(yōu)異的創(chuàng)新實驗平臺,基于該建設(shè)方案構(gòu)建的創(chuàng)新實驗基地,能夠輔
    的頭像 發(fā)表于 12-04 10:52 ?661次閱讀
    高校電力電子<b class='flag-5'>實時</b><b class='flag-5'>仿真</b>創(chuàng)新<b class='flag-5'>實驗</b>系統(tǒng)解決<b class='flag-5'>方案</b>