• 
    

    
    

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

      基 于 FPGA 的 雙 邊 濾 波 算 法

      2019-09-03 11:33:26黃繼業(yè)陸燕怡
      實驗室研究與探索 2019年8期
      關(guān)鍵詞:雙邊高斯灰度

      黃繼業(yè), 陸燕怡

      (杭州電子科技大學(xué) 電子信息學(xué)院, 杭州 310018)

      0 引 言

      圖像濾波是一種在保留圖像大部分特征細(xì)節(jié)的基礎(chǔ)上對圖像噪聲進行抑制的操作。圖像濾波在人工智能、交通運輸和人臉識別等領(lǐng)域具有廣泛應(yīng)用,其中雙邊濾波是如今應(yīng)用最廣泛的圖像濾波算法之一。雙邊濾波算法是一種基于高斯濾波的改進算法,考慮到周圍一定范圍內(nèi)像素的權(quán)重問題,對于各種像素值賦予不同的權(quán)重,并且在加權(quán)平均后得到當(dāng)前的結(jié)果。雙邊濾波在去噪的同時很好地保留圖像邊緣的解控信息,于是,它一直是研究的熱點[1-10]。

      傳統(tǒng)的雙邊濾波主要通過計算機或類計算機的處理器實現(xiàn),耗時較長,且無法做到多副圖像并行處理。本文采用基于FPGA實現(xiàn)技術(shù),參考了文獻[2]中對于雙邊濾波算法的改進方案,根據(jù)像素的相似性加入篩選函數(shù),使得雙邊濾波的速度得到優(yōu)化[10-14]。由于其計算速度較快,計算效果很好,可以節(jié)約大量開發(fā)成本。

      1 系統(tǒng)總體設(shè)計

      圖1 系統(tǒng)的總體框圖

      2 軟件設(shè)計

      2.1 輸入緩沖模塊

      2.1.1 輸入緩沖方案論證

      (1) 直接傳輸法。不進行緩沖,將圖像數(shù)據(jù)按行順序輸入緩存器,通過地址查找緩存器中的圖像數(shù)據(jù)。優(yōu)點:查找數(shù)據(jù)方便,數(shù)據(jù)觀察比較直觀。缺點:數(shù)據(jù)無法持續(xù)輸入,去緩沖區(qū)查找數(shù)據(jù)較為耗時且數(shù)據(jù)傳輸比較耗時。

      (2) 數(shù)據(jù)緩沖法。搭建行緩沖器,將圖片數(shù)據(jù)分解為方便處理的數(shù)據(jù)格式。優(yōu)點:便于數(shù)據(jù)下一步計算,數(shù)據(jù)流傳送且代碼編寫方便。缺點:需要多加入一個模塊,占用資源。

      綜上比較,選擇方案(2)。

      2.1.2 輸入緩沖流程

      數(shù)據(jù)從攝像頭端傳入,按照時鐘信號按行掃描,其數(shù)據(jù)個數(shù)與掃描分辨率相同。數(shù)據(jù)傳入緩沖區(qū),將圖像數(shù)據(jù)切割成適合計算模板的數(shù)據(jù)格式。數(shù)據(jù)并行傳送至計算模塊,即若算子模板為n×n,則為n行數(shù)據(jù)并行傳輸n個數(shù)據(jù)給計算的數(shù)據(jù)緩沖區(qū),即存儲了對應(yīng)于一個算子模板的數(shù)據(jù)量。

      向晚去宮里赴宴,皇帝滿心歡喜迎出來,看到名滿天下的美人已經(jīng)衰老如斯,周身也不是少婦淡雅的蘭香,而是隱約透出秋冬林木中的腐敗氣味,一時興味索然,舉箸難食,又命雨鸞彈琴唱曲。雨鸞叮咚奏琴,吟唱當(dāng)日流行坊中的《洛陽女兒行》,嗓音固然是如黃鶯在谷,乳燕啼林,婉轉(zhuǎn)好聽,但由一名“老婦”唱出來,更見荒唐無聊。好在李隆基自命風(fēng)流,涵養(yǎng)不錯,硬著頭皮聽完,也叫了幾聲好,才帶著他一身的雞皮疙瘩走掉了。

      2.2 雙邊濾波計算模塊

      2.2.1 雙邊濾波模型和理論基礎(chǔ)

      (1) 雙邊濾波特性。雙邊濾波是在高斯濾波上加入了對于相鄰像素灰度值權(quán)重考慮的濾波模型,是一種非線性的濾波器。它不僅考慮了像素的歐式距離,也考慮到了像素范圍域中的輻射差異,可以達到保持邊界、降噪平滑的效果。其雙邊濾波的公式如下:

      (1)

      式中:g為原圖像數(shù)據(jù);w為權(quán)值,由空間權(quán)值和亮度權(quán)值組成,

      (2)

      ws為空間鄰近因子的權(quán)重,即與空間距離相關(guān)的權(quán)值,一般由高斯濾波直接計算得到:

      (3)

      wr為亮度相似因子的權(quán)重,與周圍像素灰度值相關(guān)的權(quán)值,

      w(i,j)=ws(i,j)·wr(i,j)

      (4)

      (2) 雙邊濾波實現(xiàn)。在高斯濾波中可以發(fā)現(xiàn),離目標(biāo)點越近的像素點對結(jié)果的影響越大,即權(quán)重越大??紤]到濾波模型在像素空間距離上的權(quán)重問題,雙邊濾波的第1個模板為高斯濾波模板,用于考慮像素的空間距離影響問題,其公式如下:

      i∈[-r,r],j∈[-r,r]

      (5)

      式中,r為模板半徑。

      高斯濾波最終可以簡化為n×n的整數(shù)濾波模板,可直接作為雙邊濾波的第1個模板。該模板可以用Matlab軟件直接仿真得到,且該模板為固定的全局模板,不根據(jù)圖片數(shù)據(jù)的變化而變化,只與濾波模板半徑有關(guān)[3]。在雙邊濾波中可發(fā)現(xiàn)圖像中心像素內(nèi)像素亮度是另一需要考慮的權(quán)重信息量。得到灰度值權(quán)重模板后,需要點乘高斯模板,最終得到雙邊濾波模板。由于有權(quán)重模板的加入,數(shù)據(jù)引入了浮點數(shù),所以需要重新計算模板的總和值。最終將圖片數(shù)據(jù)點乘雙邊濾波模板即得到最終的濾波后圖像數(shù)據(jù)。

      2.2.2 灰度值權(quán)重模板

      雙邊濾波模板是由2個模板點乘后得到的,1個模板為全局的高斯模板,不需要根據(jù)圖片數(shù)據(jù)而變化;第2個是與灰度級差值相關(guān)的模板。根據(jù)權(quán)重公式:

      D=exp(-[f(x+i,y+j)-f(x,y)]2·50),

      i∈[-r,r],j∈[-r,r]

      (6)

      得到雙邊濾波的權(quán)重矩陣,其中D為第2個模板,即灰度權(quán)重矩陣。

      (1)使用乘法模塊。 在雙邊濾波計算模塊處調(diào)用浮點乘法模塊直接根據(jù)計算公式計算其權(quán)重矩陣。優(yōu)點:計算更加精準(zhǔn),濾波效果較好。缺點:計算量較大,消耗的資源較多。

      (2) 采用狀態(tài)機進行層次劃分。根據(jù)模板中心點的灰度值,對于其四周的灰度值進行劃分,根據(jù)權(quán)重值倒推至該權(quán)重所處的灰度值范圍,將其范圍內(nèi)的灰度值所對應(yīng)的權(quán)重值都用該權(quán)重值替代。優(yōu)點:計算量較小,消耗的資源少,不需要調(diào)用任何乘法資源模塊,除法資源模塊等;缺點:精度值相比較于方案(1)小了很多,而且對于灰度值相差較大的數(shù)據(jù)處理效果沒有方案(1)好。

      (3) 采用ROM模塊進行權(quán)重查詢。每個模塊像素值對中間像素值相減,將輸出結(jié)果作為地址查詢ROM內(nèi)部的值,其中ROM中存儲的是每個像素差值對應(yīng)的權(quán)重值。優(yōu)點:可預(yù)先做好計算,直接進行地址查詢即可,速度較快;缺點:占用了一定的FPGA資源。

      分析方案(1)在速度慢,公式繁多復(fù)雜,需要多次調(diào)用乘法模塊,雖然代碼較為簡單,但是消耗過大;方案(2)的特點在于將繁瑣的公式倒推為限定的灰度值區(qū)間的對應(yīng)關(guān)系,大大減少了資源的消耗,同時提高了計算速度,根據(jù)其得到的模板較為快速;相比較上述方案,方案(3)的速度更加快,而且消耗的資源更少。最終選擇方案(3)。

      2.2.3 雙邊濾波計算框圖

      整個圖片的雙邊濾波計算過程是,只需要根據(jù)單個模板的濾波計算過程,擴展成為整個圖片的濾波計算就可以得到整個圖片的雙邊濾波效果。其單個模板的計算過程:① 將模板中間像素值和周圍像素值送入減法器輸入的兩端。② 從減法器輸出端得到像素差值作為ROM的地址輸入,其中ROM中存儲的是灰度權(quán)重值,該權(quán)重值數(shù)據(jù)可以通過Matlab計算預(yù)先得到。③ 將從ROM輸出端得到的數(shù)據(jù),一路點乘高斯模板,由于高斯模板是全局固定模板,所以可以根據(jù)位移計算乘法,從而計算整個模板的點乘數(shù)據(jù);另外一路點乘全一模板,得到模板總和。④ 高斯模板這路的輸出存儲進FIFO中;全一模板的一路輸出點乘高斯模板的總和,由于高斯模板是固定的,所以全一模板的這一路乘的是一個固定的常數(shù),可以根據(jù)位移來實現(xiàn)乘法。⑤ 從FIFO一路的輸出相乘總和的倒數(shù),輸出即是濾波完成后的中間像素值。具體計算框圖如圖2所示。

      圖2 單個模板像素計算框架

      3 系統(tǒng)的控制過程

      由于采用的基于FPGA的雙邊濾波算法,所以考慮減少復(fù)雜運算。整體計算過程分為數(shù)據(jù)采集、數(shù)據(jù)切割、數(shù)據(jù)計算、數(shù)據(jù)整合,數(shù)據(jù)輸出包括:① 圖像數(shù)據(jù)從攝像機處采集。② 圖片數(shù)據(jù)輸入緩沖區(qū)的數(shù)據(jù)按照模塊并行輸出。③ 比較中間像素與周圍像素值灰度大小。④ 根據(jù)灰度值差距的大小找到ROM中對應(yīng)的權(quán)值,填入模板數(shù)組中。⑤ 上述的權(quán)值數(shù)組點乘高斯模板,得到最終計算模板;另外一個輸出點乘全一模板,用于得到灰度值權(quán)重模板總和。⑥ 灰度值模板總和乘以固定的高斯模板總和,計算得到最終權(quán)值模板的總和值,存儲。⑦ 將圖片數(shù)據(jù)點乘最終權(quán)值模板,得到計算后的中間像素值。⑧ 計算后的中間像素值除以權(quán)值模板總和值,得到濾波后的中間像素值。⑨ 所有中間像素值傳輸至輸出緩沖區(qū),整合得到濾波圖片。

      雙邊濾波計算系統(tǒng)流程圖如圖3所示。雙邊濾波的算法模塊使用了3×3模板,所以總共使用了1個移位寄存器、9個存儲權(quán)重值的ROM、9個乘法器、1個除法器。由于系統(tǒng)使用了IP核導(dǎo)致圖像處理結(jié)果的數(shù)據(jù)輸出具有20個時鐘的延遲,所以額外加了一個Flag信號作為輸出信號讀取的使能信號,該信號用于后續(xù)數(shù)據(jù)讀取的保證,從而消除時鐘延遲對于圖像輸出造成的影響。

      4 基于FPGA的雙邊濾波結(jié)果

      對圖片進行雙邊濾波,截取其濾波結(jié)果存入輸出緩存區(qū)中,使用VGA將圖像數(shù)據(jù)顯示出來,如此可以得到圖像數(shù)據(jù)。為了截取圖像,將輸出信號保存至TXT文本中,然后使用Matlab軟件對圖像進行截取。如圖4所示。

      由圖4可知,兩種濾波算法對于圖片噪聲具有抑制效果,但高斯濾波在濾波的同時模糊了圖片的細(xì)節(jié)和邊緣從而造成了重影的情況,而雙邊濾波可以在抑制噪聲的同時保留了一定的圖片細(xì)節(jié)和邊緣,但同樣加強了噪聲的影響,但是比高斯濾波具有更好的性能。

      圖3 雙邊濾波計算系統(tǒng)流程圖

      (a) 圖像原圖

      (b) 高斯濾波后圖片

      (c) 雙邊濾波后的圖片

      5 結(jié) 語

      本文設(shè)計并實現(xiàn)了一個基于FPGA的對于圖像進行雙邊濾波的系統(tǒng)。一般的圖像雙邊濾波計算系統(tǒng)的計算量復(fù)雜,計算時間較長,需要計算型主機進行實現(xiàn)。本系統(tǒng)采用了FPGA進行實現(xiàn),可以較快速并消耗小資源地對圖片進行圖像雙邊濾波計算,充分保留了圖片的細(xì)節(jié)。其計算過程也可以利用Matlab軟件進行編程仿真[15],讓同學(xué)對雙邊濾波的實現(xiàn)過程更加明確。通過對雙邊濾波算子模板的改進,使得雙邊濾波算法計算速度加快,占用資源消耗減少,但相對于高斯濾波保留了其一定的細(xì)節(jié)。

      猜你喜歡
      雙邊高斯灰度
      小高斯的大發(fā)現(xiàn)
      采用改進導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
      基于灰度拉伸的圖像水位識別方法研究
      天才數(shù)學(xué)家——高斯
      電子產(chǎn)品回收供應(yīng)鏈的雙邊匹配策略
      基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
      基于灰度線性建模的亞像素圖像抖動量計算
      新型自適應(yīng)穩(wěn)健雙邊濾波圖像分割
      雙邊同步驅(qū)動焊接夾具設(shè)計
      焊接(2015年5期)2015-07-18 11:03:41
      有限域上高斯正規(guī)基的一個注記
      临武县| 肇东市| 尚义县| 巴彦淖尔市| 阳江市| 古田县| 潼南县| 新巴尔虎左旗| 应城市| 灵宝市| 伊金霍洛旗| 凤山县| 正阳县| 札达县| 鄯善县| 通化市| 遵化市| 岑巩县| 昔阳县| 招远市| 磐石市| 灌阳县| 马关县| 白水县| 阳信县| 卢氏县| 雅江县| 远安县| 调兵山市| 漯河市| 奇台县| 彝良县| 太湖县| 邵阳市| 葫芦岛市| 莱阳市| 诸暨市| 营山县| 独山县| 靖边县| 民和|