《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于CUDA的拉普拉斯金字塔的優(yōu)化
基于CUDA的拉普拉斯金字塔的優(yōu)化
2016年微型機與應(yīng)用第10期
邵靖凱,厲旭杰
(溫州大學(xué) 物理與電子信息工程學(xué)院,浙江 溫州 325035)
摘要: 提出了基于CUDA的并行拉普拉斯金字塔算法。算法采用的并行拉普拉斯算法很好地解決了共享存儲器的bank沖突和全局存儲器的合并訪問的問題,為了最大化并行效率,計算了SM占用率,并通過公式進(jìn)行了論證。在GTX480平臺下,基于CUDA的并行拉普拉斯金字塔算法獲得了幾十倍的加速比。最后,將基于CUDA的并行拉普拉斯金字塔算法成功地應(yīng)用于圖像融合和增強圖片的細(xì)節(jié)處理,充分證明了并行拉普拉斯金字塔算法廣泛的有效性和必要性。
Abstract:
Key words :

  邵靖凱,厲旭杰

  (溫州大學(xué) 物理與電子信息工程學(xué)院,浙江 溫州 325035)

  摘要:提出了基于CUDA的并行拉普拉斯金字塔算法。算法采用的并行拉普拉斯算法很好地解決了共享存儲器的bank沖突和全局存儲器的合并訪問的問題,為了最大化并行效率,計算了SM占用率,并通過公式進(jìn)行了論證。在GTX480平臺下,基于CUDA的并行拉普拉斯金字塔算法獲得了幾十倍的加速比。最后,將基于CUDA的并行拉普拉斯金字塔算法成功地應(yīng)用于圖像融合和增強圖片的細(xì)節(jié)處理,充分證明了并行拉普拉斯金字塔算法廣泛的有效性和必要性。

  關(guān)鍵詞:CUDA;拉普拉斯金字塔;GPU;并行計算

0引言

  拉普拉斯金字塔算法可以進(jìn)行多尺度的圖像分解,廣泛應(yīng)用于圖像分析[12]。PARIS S等人[3]用拉普拉斯金字塔算法實現(xiàn)了邊緣突出的圖像處理,但是算法的效率很低。因此又提出限制拉普拉斯分解的層數(shù)的算法,從而提高圖像處理的速度,但是圖像處理的效果有所下降。雖然拉普拉斯金字塔分解本身算法復(fù)雜度不高,但是因為應(yīng)用中通常需要進(jìn)行很多層的拉普拉斯分解和重構(gòu),使得整個過程需要消耗大量的時間。因此提高拉普拉斯金字塔算法的速度顯得非常重要。祁艷杰[4]實現(xiàn)了基于FPGA的實時拉普拉斯金字塔。

  本文研究了基于CUDA的拉普拉斯金字塔算法的實現(xiàn)。本算法采用并行拉普拉斯算法很好地解決了共享存儲器的bank沖突和全局存儲器的合并訪問的問題,而且最大化了并行效率,從而使性能得到了很大的提高。

1圖像金字塔

  1.1高斯金字塔的構(gòu)建過程

  設(shè)原圖像為G0,高斯金字塔的第L層的構(gòu)造方法如下:先將L-1層圖像GL-1和窗口函數(shù)w(m,n)進(jìn)行卷積,結(jié)果做隔行隔列的降采樣,即

  GL(i,j)=∑2m=-2∑2n=-2w(m,n)GL-1(2i+m,2j+n) (1)

  其中,(i,j)為像素索引,w(m,n)是5×5高斯核:

  2.png

  計算G0,G1,…,GN就構(gòu)成了高斯金字塔。

  1.2拉普拉斯金字塔的構(gòu)建過程

  將GL內(nèi)插放大,得到放大圖像G*L,使G*L的尺寸與GL-1的尺寸相同:

  3.png

  令LPL=GL-G*L+1,當(dāng)0≤L<N時

  LPL=GL,當(dāng)L=N時,則LP0,LP1,…,LPN構(gòu)成了拉普拉斯金字塔。

  2基于CUDA的拉普拉斯金字塔的并行化實現(xiàn)

  本文主要介紹基于CUDA的可分離高斯濾波器的實現(xiàn)。

  4.png

  從公式(5)中可以看出,高斯濾波器很適合在GPU上進(jìn)行高效的并行計算。公式(2)說明,采用可分離濾波器可以分解成兩個一維高斯濾波器,可以使計算更加簡單。

  從圖1中可以看出,基于CUDA的拉普金字塔首先采用高斯卷積,然后下采樣得到高斯金字塔,高斯金字塔經(jīng)過上采樣,并經(jīng)過高斯卷積得到拉普拉斯金字塔。

  

001.jpg

  對于圖像的卷積,通常的方法是將圖像的像素傳輸?shù)絞lobal memory,然后每個thread負(fù)責(zé)計算一個像素的卷積結(jié)果。然而這種方法需要大量訪問全局寄存器,導(dǎo)致性能下降,甚至運行的速度會比在CPU上的性能還要差。共享存儲器位于GPU片內(nèi),速度比表1所示使用CUDA profiler測試程序基于CUDA的可分離高斯金字塔local/global memory快得多。在不發(fā)生bank conflict的情況下,share memory的延遲幾乎只有l(wèi)ocal或global memory的1/100,訪問速度與寄存器相當(dāng),是實現(xiàn)線程間通信延遲最小的方法。

  為了減少空閑的線程和充分利用共享存儲器,本設(shè)計讓每個thread負(fù)責(zé)將多個全局寄存器數(shù)據(jù)傳輸?shù)焦蚕泶鎯ζ鳎?fù)責(zé)多個像素的卷積,block尺寸為16×8,每個thread負(fù)責(zé)傳輸(2+8)個全局存儲器到共享存儲器,同時負(fù)責(zé)8個像素的卷積計算。設(shè)置Apron的寬度為16的倍數(shù),以便在存取全局存儲器時符合合并訪問的條件。計算16×8×4像素的卷積,只需要用16×10×4的共享存儲器,有效利用了共享存儲器。

005.jpg

  表1顯示了使用CUDA profiler測試程序基于CUDA的可分離高斯金字塔,其中行可分離高斯金字塔,每個線程用了11個寄存器,每個block使用了5 120 B的共享存儲器。而每個SM最多可激活8個block,通過下面的公式可以計算得到寄存器和共享存儲器的使用率。

  塊內(nèi)總束數(shù)量Wblock如下[5]:

  Wblock=ceil(T/Wsize,1)(5)

  其中,T是塊內(nèi)線程數(shù),Wsize是束尺寸,ceil(x,y)等于x向上取到y(tǒng)的整數(shù)倍。

  分給一個塊的總寄存器數(shù)量Rblock如下:

  Rblock=ceil(Rk×Wsize,GT)×Wblock(6)

  Rk是內(nèi)核使用的寄存器數(shù),GT是線程分配的粒度。

  塊內(nèi)總共享存儲器數(shù)量Sblock如下:

  Sblock=ceil(Sk,GS)(7)

  其中,Sk是內(nèi)核使用的共享存儲器總量,以字節(jié)為單位,GS是共享存儲器分配的粒度。

  通過公式(5)~(7)可以計算得到寄存器和共享存儲器的使用率,為了選取合適的block大小,提高SM占用率,通過CUDA GPU Occupancy Calculator來選擇block的大小,從圖2中可以看出,選取block圖2使用CUDA GPU Occupancy Calculator計算block大小、寄存器大小和共享存儲器的使用對SM占用率的影響大小為16×8×1可以使SM占用率提高到0.667,這個結(jié)果與用CUDA profiler測試的結(jié)果和公式(5)~(7)計算的結(jié)果是一致的。如果繼續(xù)增加block的大小,從表1或者公式(5)~(7)都很容易得到,因為共享存儲器容量的限制,SM占用率不會因為block大小的增加而增加,而選擇block大小為16×4×1,SM占用率為0.33。因此在GTX480上,選取Block大小為16×8×1是最合適的。

002.jpg

3實驗結(jié)果

  3.1性能測試

  表2顯示了基于CUDA的拉普拉斯金字塔性能的測試結(jié)果。結(jié)果顯示提出的算法獲得了幾十倍的加速比。基于CUDA的拉普拉斯金字塔采用可分離卷積濾波核,很好地解決了利用了共享存儲器和全局存儲器的合并訪問的要求。

006.jpg

  3.2拉普拉斯金字塔的應(yīng)用

  (1)基于拉普拉斯金字塔的融合

003.jpg

  圖3金字塔變換后區(qū)域特征量測所得圖像(3層拉普拉斯金字塔分解)采用基于區(qū)域特征量測的拉普拉斯金字塔分解的圖像融合算法,圖3顯示了金字塔變換后區(qū)域特征量測所得圖像(3層拉普拉斯金字塔分解)。當(dāng)層數(shù)較低時,如分解層數(shù)小于5層,分解層數(shù)越大,融合圖像的分辨率越高,圖像越清晰;當(dāng)層數(shù)大于5層時,增加層數(shù)對于改善分辨率的影響減小,但增大了計算量。而基于CUDA的拉普拉斯金字塔由于性能上有較大的提高,可以支持層數(shù)大于5層的實時圖像融合。因此基于CUDA的拉普拉斯金字塔特別適合對圖像融合效果要求高而需要進(jìn)行很多層拉普拉斯金字塔分解的實時圖像融合。

  (2)基于拉普拉斯金字塔的增強圖片的細(xì)節(jié)處理,PARIS S等人[4]用拉普拉斯金字塔算法在處理圖像平滑、圖像細(xì)節(jié)控制、色調(diào)映射等領(lǐng)域表現(xiàn)出了很好的特性,不足之處是每處理一萬個像素需要近1 min時間,圖4顯示了圖像邊緣保持的細(xì)節(jié)提高,在圖6中圖像尺寸為300×200的情況下,需要進(jìn)行8次拉普拉斯分解和重構(gòu),整個程序需要耗時3 min。而基于CUDA的拉普拉斯金字塔算法在GTX480平臺下獲得了幾十倍的加速比。

  

004.jpg

4結(jié)語

  本文提出了基于CUDA的并行拉普拉斯金字塔算法,二維高斯濾波被分解成可分離的兩個一維卷積操作。提出的基于CUDA的拉普拉斯金字塔算法在GTX480平臺下獲得了幾十倍的加速比。

參考文獻(xiàn)

  [1] 趙健,高軍,羅超,等. 基于數(shù)字圖像處理的玻璃缺陷在線檢測系統(tǒng)[J]. 電子技術(shù)應(yīng)用, 2013,39(12):9092.

  [2] 李波,梁攀,關(guān)沫. 一種基于邊緣提取的交互式圖像分割算法[J]. 微型機與應(yīng)用, 2013, 32(10):4147.

  [3] PARIS S, HASINOFF S, KAUTZ J. Local Laplacian filters: edgeaware image processing with a Laplacian pyramid[J]. ACM Transactions on Graphics, 2011,30(4):12441259.

  [4] 祁艷杰. LOG算子在FPGA中的實現(xiàn)[J]. 電子技術(shù)應(yīng)用, 2007, 33(3):6365.

  [5] NVIDIA. NVIDIA CUDA programming guide 4.0[EB/OL].(201132)[20160329]http://developer.nvidia.com/cudatoolkit40.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
香港久久久电影| 最新成人av在线| 在线观看视频一区二区| 国产日本欧美一区二区三区在线| 欧美视频中文在线看 | 久久福利电影| 午夜久久久久久| 亚洲欧美日韩国产一区二区| 中文在线不卡| 亚洲伊人久久综合| 亚洲综合社区| 欧美一级久久久| 欧美在线视频播放| 久久久999| 久久综合九色欧美综合狠狠| 久久综合九色综合欧美就去吻| 久久午夜精品| 免费欧美日韩| 欧美日韩国产精品成人| 欧美日韩综合一区| 国产精品地址| 国产精品国产三级国产专播品爱网 | 亚洲国产欧美一区二区三区久久 | 亚洲精品一区二区三区婷婷月| 亚洲精品久久视频| 一区二区三区日韩欧美精品| 一区二区三区精品| 亚洲欧美视频在线观看视频| 欧美一区二区三区免费大片| 久久精品国产69国产精品亚洲| 久久久久.com| 久热精品视频在线观看| 欧美韩国日本一区| 国产精品国内视频| 国产亚洲午夜| 亚洲国产综合视频在线观看| 99re8这里有精品热视频免费| 亚洲视频导航| 久久成人精品| 亚洲美女免费精品视频在线观看| 亚洲神马久久| 欧美专区18| 免费欧美日韩国产三级电影| 欧美日韩一区不卡| 国产日韩精品入口| 亚洲国产一成人久久精品| 一区二区三区四区五区精品视频| 亚洲欧美一区二区在线观看| 91久久精品国产91性色| 亚洲影院免费| 久久综合电影| 欧美色欧美亚洲另类二区| 国产精品亚洲第一区在线暖暖韩国| 国产字幕视频一区二区| 亚洲三级网站| 欧美一级电影久久| 99视频在线观看一区三区| 性欧美暴力猛交69hd| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩中文在线观看| 国产亚洲欧美激情| 亚洲日本电影| 久久国产高清| 亚洲影院免费| 欧美成人免费全部| 国产精品丝袜xxxxxxx| 亚洲国产精品成人综合色在线婷婷| 在线天堂一区av电影| 亚洲国产成人久久| 欧美一区二区三区免费观看| 欧美国产一区二区在线观看 | 一区二区三区在线高清| 一本一本久久| 亚洲国产美女久久久久| 欧美一区二区三区的| 欧美日韩国产综合视频在线观看中文 | 国模套图日韩精品一区二区| 一区电影在线观看| 亚洲精品一区中文| 久久免费国产精品1| 国产精品久久久久久久久久久久| 亚洲第一黄网| 香蕉av777xxx色综合一区| 亚洲视频在线播放| 欧美电影在线观看| 国内成人在线| 先锋影音久久久| 亚洲免费在线观看视频| 欧美黄免费看| 亚洲成人中文| 久久国产精品高清| 欧美在线看片| 国产精品99一区二区| 亚洲激情在线激情| 亚洲精品1234| 久久综合网色—综合色88| 国产精品揄拍500视频| 一本色道久久综合亚洲精品不卡| 亚洲九九爱视频| 久久夜色精品亚洲噜噜国产mv | 亚洲巨乳在线| 亚洲精品午夜| 欧美高清在线一区| 在线欧美日韩| 亚洲国产成人av| 老司机午夜精品视频| 国产亚洲一区二区三区在线观看| 亚洲免费网站| 午夜影院日韩| 国产精品日韩| 亚洲毛片一区| 99国内精品久久| 欧美精品一区二区精品网| 影音先锋一区| 91久久精品国产91久久性色| 久久免费高清| 在线观看精品| 亚洲精品国产欧美| 欧美黄色网络| 亚洲人成网站色ww在线| 99精品热6080yy久久| 欧美日本一区| 亚洲美女中出| 亚洲一级在线观看| 国产精品你懂得| 午夜国产精品视频| 久久激情网站| 国产在线精品成人一区二区三区| 久久精品国产2020观看福利| 久久欧美中文字幕| 在线观看国产欧美| 亚洲免费电影在线观看| 欧美人与禽猛交乱配| 99re6这里只有精品| 亚洲自拍另类| 国产欧美日韩精品一区| 久久er精品视频| 鲁大师影院一区二区三区| 1024精品一区二区三区| 亚洲美女诱惑| 欧美特黄a级高清免费大片a级| 亚洲视频在线观看| 欧美在线一级va免费观看| 国产真实久久| 99精品热6080yy久久| 国产精品久久一级| 久久精品女人| 欧美日韩一区二区高清| 亚洲欧美日产图| 母乳一区在线观看| 99re视频这里只有精品| 性色av一区二区怡红| 尤物视频一区二区| 中国成人亚色综合网站| 国产欧美日韩不卡| 亚洲三级性片| 国产精品美女在线观看| 欧美在线一级视频| 欧美久久久久久久久| 亚洲欧美激情诱惑| 女人天堂亚洲aⅴ在线观看| 99伊人成综合| 久久久久久久激情视频| 91久久极品少妇xxxxⅹ软件| 亚洲欧美日韩在线| 亚洲成在人线av| 亚洲欧美日本另类| 在线播放一区| 亚洲欧美视频在线观看| 亚洲成人直播| 欧美一区二区三区四区在线| 亚洲国产成人精品久久久国产成人一区| 中国成人黄色视屏| 极品尤物一区二区三区| 亚洲午夜电影在线观看| 国产综合自拍| 亚洲一区区二区| 在线观看一区视频| 午夜国产不卡在线观看视频| 永久555www成人免费| 新67194成人永久网站| 亚洲国产小视频在线观看| 亚洲欧美在线aaa| 91久久午夜| 久久嫩草精品久久久精品| 亚洲免费播放| 久久天天躁狠狠躁夜夜av| 夜夜夜久久久| 欧美gay视频| 欧美一区1区三区3区公司| 欧美视频精品在线| 亚洲精品欧美精品| 国产亚洲成人一区| 亚洲欧美成aⅴ人在线观看| 亚洲国产日韩一区二区| 久久久久国产一区二区| 一区二区三区四区蜜桃| 欧美国产综合视频| 亚洲高清在线观看| 国产三级欧美三级日产三级99|