亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的圖像雙邊濾波器系統(tǒng)設(shè)計(jì)

        2022-07-27 12:07:32陳佳宇張華西劉銀萍
        儀表技術(shù)與傳感器 2022年6期
        關(guān)鍵詞:雙邊像素點(diǎn)高斯

        嚴(yán) 飛,陳佳宇,張華西,劉銀萍,劉 佳

        (1.南京信息工程大學(xué)自動(dòng)化學(xué)院,江蘇南京 210044;2.南京信息工程大學(xué)大氣物理學(xué)院,江蘇南京 210044;3.江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心,江蘇南京 210044)

        0 引言

        數(shù)字圖像在傳輸或者采集的過程中,會(huì)因?yàn)閭鬏斀涌?、傳輸距離、傳輸環(huán)境等因素引入各種不同的噪聲[1]。噪聲帶來的誤差會(huì)累計(jì)傳遞,因此需要對(duì)數(shù)字圖像進(jìn)行去噪,方便后期應(yīng)用。常用的圖像去噪方式有均值濾波、中值濾波以及高斯濾波等[2-5]。圖像存在的噪聲大多數(shù)為高斯噪聲,所以高斯濾波在圖像去噪中應(yīng)用廣泛。而高斯濾波只考慮了像素點(diǎn)空間分布,沒有考慮到像素值的差異,會(huì)將圖像邊緣模糊。在1998年,文獻(xiàn)[6]在高斯濾波算法的基礎(chǔ)上提出了雙邊濾波算法。雙邊濾波區(qū)別于高斯濾波,它在去除噪聲的同時(shí)可以使圖像邊緣保持清晰[7]。雙邊濾波等算法需要經(jīng)過大量的計(jì)算,在許多實(shí)時(shí)性要求比較高的場(chǎng)合采用傳統(tǒng)ARM、DSP等串行架構(gòu)處理器進(jìn)行處理難以保證實(shí)時(shí)性。文獻(xiàn)[8-9]采用GPU對(duì)算法實(shí)現(xiàn)硬件加速,但是GPU功耗太大,不利于嵌入式場(chǎng)景。

        從圖像去噪實(shí)時(shí)性與低功耗為目的出發(fā),從20世紀(jì)90年代開始,國(guó)外陸續(xù)有學(xué)者將FPGA用于圖像傳輸[10-13]。到21世紀(jì)初,使用者對(duì)于視頻圖像畫面質(zhì)量的要求不斷提高,催促視頻技術(shù)的飛速發(fā)展[14]。在國(guó)內(nèi),文獻(xiàn)[15-17]開始研究使用FPGA對(duì)圖像做預(yù)處理。近年來,文獻(xiàn)[18]采用FPGA對(duì)雙邊濾波進(jìn)行設(shè)計(jì),未對(duì)算法進(jìn)行優(yōu)化。文獻(xiàn)[19]將雙邊濾波值域核算法進(jìn)行拆分,對(duì)算法進(jìn)行加速的同時(shí),減少了值域核計(jì)算資源浪費(fèi)。

        本文深入研究了雙邊濾波算法[20],對(duì)算法中的空域核計(jì)算部分進(jìn)行剪枝并使用離散化[21]采樣方法對(duì)值域核進(jìn)行計(jì)算。因傳統(tǒng)3×3卷積核覆蓋像素特征點(diǎn)范圍小,本文綜合計(jì)算量考慮后用5×3卷積核設(shè)計(jì)了基于FPGA的圖像雙邊濾波系統(tǒng)[22]。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)在保證圖像去噪快速性的同時(shí),去噪質(zhì)量也得到保證。

        1 系統(tǒng)設(shè)計(jì)

        本設(shè)計(jì)采用的FPGA芯片是SPARTAN-7系列XC-7S50FGGA484-1,主要用來接收?qǐng)D像、處理圖像以及驅(qū)動(dòng)顯示器實(shí)時(shí)輸出顯示。

        圖1為Verilog程序模塊框圖,系統(tǒng)的工作流程分為如下幾個(gè)步驟:上位機(jī)通過串口將圖片為RGB888格式數(shù)據(jù)發(fā)送給FPGA,F(xiàn)PGA接收?qǐng)D片數(shù)據(jù)并拼接完成后經(jīng)過FIFO緩存器存放于DDR3存儲(chǔ)器。待接收完整幅圖片數(shù)據(jù)后,F(xiàn)PGA將數(shù)據(jù)從DDR3存儲(chǔ)器中循環(huán)讀出[23],經(jīng)過FIFO緩存器給雙邊濾波模塊進(jìn)行處理。雙邊濾波模塊處理數(shù)據(jù)并實(shí)時(shí)輸出,最后生成視頻時(shí)序并將數(shù)據(jù)依照視頻顯示時(shí)序同時(shí)經(jīng)過TMDS編碼模塊實(shí)時(shí)HDMI輸出顯示。

        圖1 Verilog程序模塊框圖

        本圖像雙邊濾波系統(tǒng)采用了參數(shù)化的設(shè)計(jì)方式,可以支持任意分辨率的圖像濾波處理。本次使用800×600分辨率圖像對(duì)雙邊濾波系統(tǒng)進(jìn)行實(shí)現(xiàn)。

        2 數(shù)據(jù)接收預(yù)處理

        前期采用Matlab將24位BMP圖像轉(zhuǎn)化為RGB888格式,通過上位機(jī)進(jìn)行傳輸。上位機(jī)依次傳輸8 bit數(shù)據(jù),在FPGA端接收3次8 bit數(shù)據(jù)拼接為單個(gè)像素點(diǎn)數(shù)據(jù)。每次接收完8 bit數(shù)據(jù)時(shí)拉高一個(gè)時(shí)鐘Rx_done完成信號(hào),接下來用Rx_done信號(hào)對(duì)接收數(shù)據(jù)進(jìn)行打拍操作,對(duì)數(shù)據(jù)拼接。

        與其他的濾波原理一樣,雙邊濾波所采用的是加權(quán)平均的方法。對(duì)周邊領(lǐng)域像素點(diǎn)的亮度值加權(quán)平均來表示像素點(diǎn)的強(qiáng)度??紤]到濾波處理時(shí)數(shù)據(jù)循環(huán)從DDR中讀取,因此在存儲(chǔ)數(shù)據(jù)時(shí)將RGB888格式的圖像數(shù)據(jù)信息轉(zhuǎn)化為YCbCr格式,為最后經(jīng)過雙邊濾波模塊處理時(shí)減少數(shù)據(jù)量與時(shí)鐘延時(shí)。

        RGB轉(zhuǎn)換為YCbCr的公式如下:

        Y=0.29R+0.587G+0.114B

        (1)

        Cb=-0.172R+0.511B+128

        (2)

        Cr=0.511R-0.428G-0.083B+128

        (3)

        圖2為RGB轉(zhuǎn)YCbCr仿真圖,本設(shè)計(jì)在FPGA內(nèi)部采用流水線的設(shè)計(jì)思想對(duì)YCbCr進(jìn)行計(jì)算。分3步進(jìn)行,分別是乘法、加減法與除法。只需3個(gè)時(shí)鐘周期便可輸出結(jié)果。由于FPGA不適合進(jìn)行浮點(diǎn)數(shù)的運(yùn)算。所以在對(duì)數(shù)據(jù)進(jìn)行計(jì)算時(shí),將所有數(shù)據(jù)進(jìn)行左移8位擴(kuò)大256倍進(jìn)行計(jì)算,在最終的計(jì)算結(jié)果右移8位進(jìn)行結(jié)果輸出。最小化減少計(jì)算過程中數(shù)據(jù)的精度損失。

        圖2 RGB轉(zhuǎn)YCbCr仿真圖

        3 雙邊濾波模塊設(shè)計(jì)

        3.1 雙邊濾波算法原理

        雙邊濾波算法于1988年由文獻(xiàn)[6]基于高斯濾波方法提出。傳統(tǒng)的高斯濾波方法直接將高斯權(quán)重系數(shù)與圖像信息直接做卷積運(yùn)算,只考慮了像素點(diǎn)間的空間距離關(guān)系,得到的圖像不清晰。雙邊濾波算法將高斯濾波權(quán)系數(shù)優(yōu)化成高斯函數(shù)和圖像亮度信息的乘積,優(yōu)化后的權(quán)系數(shù)再與圖像信息作卷積運(yùn)算,這樣就考慮到了像素點(diǎn)間的相似程度,使得到的圖像邊緣更加平滑。此方法對(duì)于彩色和灰度圖像的濾波均適用,具有很強(qiáng)的實(shí)用性。

        雙邊濾波的公式為

        (4)

        (5)

        在本設(shè)計(jì)中分別用ws與wr表示空間域核二維高斯濾波函數(shù)Gσs和圖像像素值域核Gσr,其計(jì)算公式為:

        (6)

        (7)

        式中:I(i,j)與I(m,n)分別為中心點(diǎn)與滑動(dòng)窗口中某個(gè)點(diǎn)像素亮度值;σs為空域標(biāo)準(zhǔn)差;σr為值域標(biāo)準(zhǔn)差。

        σs和σr均是已知的權(quán)重值,而i,j,m,n都是需要在窗口中遍歷確定的值。

        圖3為本系統(tǒng)設(shè)計(jì)選用的5×3滑動(dòng)窗口,它相比于傳統(tǒng)3×3與5×5窗口,獲得的特征像素點(diǎn)多,計(jì)算量適中。其中(i,j)為窗口的中心點(diǎn)坐標(biāo)值,(m,n)為滑動(dòng)窗口中的某個(gè)點(diǎn)坐標(biāo)值。

        圖3 5×3滑動(dòng)窗口

        在ws的計(jì)算中,ws只與σs和所選取的矩陣有關(guān),當(dāng)兩者都給定后,ws便是固定值。而wr所反映的是像素范圍域的輻射差異(例如卷積核中像素域中心像素之間相似程度、顏色深度、深度距離等),因此wr不僅與σr選取有關(guān),而且還與滑動(dòng)窗口中心點(diǎn)周圍像素點(diǎn)有關(guān)。

        3.2 雙邊濾波算法硬件加速實(shí)現(xiàn)

        區(qū)別于傳統(tǒng)設(shè)計(jì)方式將式(6)結(jié)果存入ROM,本文在對(duì)雙邊濾波模塊進(jìn)行設(shè)計(jì)時(shí)確定好σs,采用Matlab計(jì)算出ws值,由于浮點(diǎn)數(shù)不利于FPGA計(jì)算,因此將結(jié)果值擴(kuò)大211(2 048)倍取整變?yōu)?2位數(shù)據(jù)直接進(jìn)行賦值并在最終結(jié)果去掉低11位??梢怨?jié)省FPGA內(nèi)部存儲(chǔ)資源,減少計(jì)算帶來的時(shí)鐘延時(shí)。

        wr=2 048ax2,x∈[0,255]

        (8)

        如圖4所示,采用Matlab繪制出該函數(shù)曲線,對(duì)該曲線離散化,在x軸對(duì)其進(jìn)行255次等間隔采樣,抽取縱坐標(biāo)值取整進(jìn)行存儲(chǔ)作為wr近似計(jì)算結(jié)果,存入FPGA內(nèi)部8位查找表中進(jìn)行計(jì)算。

        圖4 函數(shù)曲線圖

        本文對(duì)該算法進(jìn)行優(yōu)化后,將值域核部分直接縮減為一個(gè)8位查找表結(jié)果輸出。相比于以往的16位查找表,使用的存儲(chǔ)資源縮減為原來的1/256,相比于4個(gè)8位查找表輸出結(jié)果相乘,存儲(chǔ)資源縮減為原來的1/4,同時(shí)省去了查找表后進(jìn)行乘法運(yùn)算的步驟,對(duì)算法進(jìn)行加速,減少了資源浪費(fèi)。

        圖5為FPGA內(nèi)部5×3雙邊濾波算法設(shè)計(jì)框圖,采用4個(gè)行緩存FIFO,上一級(jí)FIFO讀接口與下一級(jí)FIFO的寫接口相連。內(nèi)部采用計(jì)數(shù)器對(duì)FIFO中緩存的數(shù)據(jù)進(jìn)行計(jì)數(shù)。當(dāng)?shù)?級(jí)FIFO中數(shù)據(jù)緩存滿一行像素點(diǎn)的同時(shí)拉高第2級(jí)FIFO讀信號(hào)與第2級(jí)FIFO寫信號(hào),以此類推。為了對(duì)5×3窗口進(jìn)行圖像卷積運(yùn)算時(shí)補(bǔ)上空白2行像素點(diǎn),在第3行像素點(diǎn)讀入FIFO時(shí)便同時(shí)取出4個(gè)FIFO讀端口數(shù)據(jù)一起組成5×3矩陣第1列數(shù)據(jù),將數(shù)據(jù)存放于寄存器內(nèi)連打2拍,在第3拍便組成一個(gè)完整的5×3矩陣。

        圖5 雙邊濾波器算法設(shè)計(jì)框圖

        在進(jìn)行除法運(yùn)算時(shí),本設(shè)計(jì)中被除數(shù)為36位、除數(shù)為28位,如果使用XILINX提供的IP核進(jìn)行計(jì)算,將會(huì)消耗40個(gè)時(shí)鐘周期。為了降低延時(shí)改為移位比較法,將被除數(shù)存放于寄存器當(dāng)中,除數(shù)存放于移位寄存器中。最開始將除數(shù)整體左移8位,有效位與被除數(shù)進(jìn)行比較,當(dāng)被除數(shù)大于等于除數(shù)時(shí),輸出為1,其他情況為0。依次往右移位8次,只需8個(gè)時(shí)鐘即可拼接輸出計(jì)算結(jié)果。

        圖6為雙邊濾波器時(shí)序設(shè)計(jì)圖。雙邊濾波器模塊采用AXI總線進(jìn)行設(shè)計(jì),tuser為每幀起始使能一個(gè)時(shí)鐘周期,與第一個(gè)有效數(shù)據(jù)對(duì)齊,tvalid與有效數(shù)據(jù)對(duì)齊,tlast與每行最后一個(gè)有效數(shù)據(jù)對(duì)齊使能一個(gè)時(shí)鐘周期,tdata為數(shù)據(jù)線,每個(gè)時(shí)鐘周期傳遞一個(gè)像素點(diǎn)的有效數(shù)據(jù)。該模塊的設(shè)計(jì)靈活,完全符合VGA行掃描時(shí)序。

        預(yù)冷指迅速去除田間熱,將產(chǎn)品溫度降到適宜溫度的過程。預(yù)冷是果品冷鏈保藏運(yùn)輸中必不可少的環(huán)節(jié),必須在產(chǎn)地采收后立即進(jìn)行,若不能及時(shí)降溫預(yù)冷,在運(yùn)輸冷藏過程中很快就會(huì)達(dá)到成熟狀態(tài),大大縮短貯藏壽命。

        圖6 雙邊濾波器時(shí)序設(shè)計(jì)圖

        4 實(shí)驗(yàn)結(jié)果

        表1為采用SPARTEN-7系列的XCS7050FGGA484-1實(shí)現(xiàn)本工程的資源利用率以及功耗圖。系統(tǒng)內(nèi)部使用50 MHz時(shí)鐘對(duì)本算法進(jìn)行硬件加速,功率僅1.3 W。資源使用率低,因此該系統(tǒng)加速是輕量級(jí)的。

        圖7為雙邊濾波器模塊Modelsim仿真圖,從圖7可以看出,數(shù)據(jù)從s_axis_tvaild有效信號(hào)拉高到m_axis_tvaild有效信號(hào)拉高總計(jì)使用2 175個(gè)周期(43.5 μs)。

        表1 功耗與資源利用率

        使用800×600分辨率的圖片對(duì)雙邊濾波系統(tǒng)進(jìn)行驗(yàn)證,其處理結(jié)果如圖8所示。

        為了更好地對(duì)本系統(tǒng)的處理效果進(jìn)行評(píng)估。采用PSNR與SSIM作為圖像質(zhì)量評(píng)價(jià)指標(biāo),PSNR即峰值信噪比,是一種評(píng)價(jià)圖像的客觀標(biāo)準(zhǔn)。PSNR數(shù)值越大代表圖像失真越小。SSIM即結(jié)構(gòu)相似性,是衡量?jī)煞鶊D像相似度的指標(biāo)。SSIM∈[0,1],其值越大表示失真越小。

        (9)

        圖7 雙邊濾波器模塊Modelsim仿真圖

        (a)原圖

        (b)噪聲圖

        (c)FPGA處理圖

        (10)

        SSIM(X,Y)=l(X,Y)c(X,Y)s(X,Y)

        (11)

        (12)

        (13)

        (14)

        式中:MSE為當(dāng)前待測(cè)圖像X與參考圖像Y均方誤差;H、W為待測(cè)圖像的寬度和高度;n為像素比特?cái)?shù);μX、μY與σX、σY分別為圖像X和圖像Y的均值和方差;σXσY為圖像X、Y協(xié)方差;C1、C2、C3為常數(shù)。

        表2為PC機(jī)與FPGA處理對(duì)比。從表2可以看出,圖像在PC機(jī)上進(jìn)行同樣的處理消耗1.46 s,無法滿足實(shí)時(shí)性要求,在FPGA上對(duì)其進(jìn)行加速處理耗時(shí)13 ms。而且經(jīng)過本系統(tǒng)對(duì)圖像進(jìn)行去噪處理后,PSNR指標(biāo)與SSIM指標(biāo)都得到了明顯提高。

        表2 PC機(jī)與FPGA處理對(duì)比

        5 結(jié)束語(yǔ)

        本文設(shè)計(jì)了基于FPGA的圖像雙邊濾波處理系統(tǒng),以提高對(duì)圖像進(jìn)行雙邊濾波處理的速度與能效。對(duì)雙邊濾波算法進(jìn)行剖析,將算法進(jìn)行改進(jìn)。在FPGA上實(shí)現(xiàn)了對(duì)雙邊濾波算法的加速。實(shí)驗(yàn)結(jié)果證明:PSNR與SSIM值得到提升,且實(shí)時(shí)性得到保證,由此可說明,該系統(tǒng)設(shè)計(jì)是可行的。本文設(shè)計(jì)的系統(tǒng)中的雙邊濾波算法均使用純Verilog語(yǔ)言及參數(shù)化編程,模塊可移植性強(qiáng)。

        猜你喜歡
        雙邊像素點(diǎn)高斯
        小高斯的大發(fā)現(xiàn)
        天才數(shù)學(xué)家——高斯
        基于canvas的前端數(shù)據(jù)加密
        電子產(chǎn)品回收供應(yīng)鏈的雙邊匹配策略
        基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
        新型自適應(yīng)穩(wěn)健雙邊濾波圖像分割
        雙邊同步驅(qū)動(dòng)焊接夾具設(shè)計(jì)
        焊接(2015年5期)2015-07-18 11:03:41
        有限域上高斯正規(guī)基的一個(gè)注記
        基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
        中厚板雙邊剪模擬剪切的研究
        天津冶金(2014年4期)2014-02-28 16:52:46
        北条麻妃在线视频观看| 极品美女一区二区三区免费| 亚洲愉拍自拍视频一区| 国产大全一区二区三区| 亚洲国产综合精品一区| 国产av麻豆精品第一页| 日日噜噜夜夜狠狠视频| 天天燥日日燥| 国产一级毛片卡| 九九99久久精品在免费线97| 亚洲福利第一页在线观看| 日本免费一区二区三区在线播放 | 国产成人高清亚洲一区二区| 一本之道日本熟妇人妻| 一区二区三区视频在线观看免费| 天堂а√在线最新版中文在线 | AV中文码一区二区三区| 国产av精品久久一区二区| 国产在线91精品观看| 亚洲成a人无码| 免费无码午夜福利片69| 国产成人午夜福利在线观看者 | 99久久免费精品色老| 你懂的视频网站亚洲视频| 无码人妻h动漫中文字幕| 18禁美女裸身无遮挡免费网站| 国产精品九九九无码喷水| 国产青春草在线观看视频| 美女视频一区二区三区在线| 国产高清在线观看av片| 亚洲av无码第一区二区三区| 国产丝袜免费精品一区二区 | 日韩av一区二区毛片| 久久精品国产精品亚洲婷婷| 久久午夜精品人妻一区二区三区 | 亚洲av日韩av高潮潮喷无码| 亚洲中文一本无码AV在线无码| 伊人狼人激情综合影院| 国产精品私密保养| 成年女人毛片免费视频| 国产精品久久久久…|