999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CUDA的拉普拉斯金字塔的優化*

2016-06-02 11:28:05邵靖凱厲旭杰溫州大學物理與電子信息工程學院浙江溫州325035
網絡安全與數據管理 2016年10期

邵靖凱,厲旭杰(溫州大學物理與電子信息工程學院,浙江溫州325035)

?

基于CUDA的拉普拉斯金字塔的優化*

邵靖凱,厲旭杰
(溫州大學物理與電子信息工程學院,浙江溫州325035)

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

關鍵詞:CUDA;拉普拉斯金字塔;GPU;并行計算

0 引言

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

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

1 圖像金字塔

1.1高斯金字塔的構建過程

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

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

計算G0,G1,…,GN就構成了高斯金字塔。

1.2拉普拉斯金字塔的構建過程

將GL內插放大,得到放大圖像的尺寸與GL -1的尺寸相同:

2 基于CUDA的拉普拉斯金字塔的并行化實現

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

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

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

圖1 拉普拉斯金字塔構建過程

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

表1 使用CUDA測試程序基于CUDA的可分離高斯金字塔

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

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

塊內總束數量Wblock如下[5]:

其中,T是塊內線程數,Wsize是束尺寸,ceil(x,y)等于x向上取到y的整數倍。

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

Rk是內核使用的寄存器數,GT是線程分配的粒度。

塊內總共享存儲器數量Sblock如下:

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

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

表2 基于CUDA的拉普拉斯金字塔(5×5高斯核)

3 實驗結果

3.1性能測試

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

圖2 使用CUDA GPU Occupancy Calculator計算block大小、寄存器大小和共享存儲器的使用對SM占用率的影響

3.2拉普拉斯金字塔的應用

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

圖3 金字塔變換后區域特征量測所得圖像(3層拉普拉斯金字塔分解)

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

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

圖4 圖像邊緣保持的細節提高

4 結語

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

參考文獻

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

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

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

[4]祁艷杰.LOG算子在FPGA中的實現[J].電子技術應用,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/cudatoolkit-40.

邵靖凱(1998 -),男,本科,主要研究方向:圖形圖像處理技術、高性能并行計算。

厲旭杰(1981 -),男,通信作者,講師,CCF高級會員,主要研究方向:圖形圖像處理技術,高性能并行計算。E-mail:lixujie101@aliyun.com。

引用格式:邵靖凱,厲旭杰.基于CUDA的拉普拉斯金字塔的優化[J].微型機與應用,2016,35(10):40-42.

Optimizations on Laplacian pyramid based on CUDA

Shao Jingkai,Li Xujie
(College of Physics&Electronic Information Engineering,Wenzhou University,Wenzhou 325035,China)

Abstract:This paper presents a parallel Laplacian pyramid algorithm using CUDA.The parallel Laplacian pyramid algorithm using CUDA is a good match to the banked structure of shared memory and the coalescing requirement for high devicememory throughput.The occupancy analysis for kernel is calculated and measured tomaximize utilization.W ith a programmable NVIDIA GTX 480 GPU,the GPU-accelerated Laplacian pyramid algorithm performs dozens of times of speedup.The effective image fusion and the detailmanipulation further demonstrate the feasibility and necessity of the parallel Laplacian pyramid algorithm.

Key words:CUDA;Laplacian pyramid;GPU;parallel computing

作者簡介:

收稿日期:(2016-01-18)

*基金項目:溫州大學大學生創新創業訓練計劃項目(DC2015037);浙江省自然科學基金(LQ14F020006)

中圖分類號:TP301.6

文獻標識碼:A

DOI:10.19358 /j.issn.1674-7720.2016.09.014

主站蜘蛛池模板: 欧美成在线视频| 国产精品综合久久久| 久久人搡人人玩人妻精品| 国产成人精品日本亚洲| 中文无码毛片又爽又刺激| 97超级碰碰碰碰精品| 欧美日韩综合网| 欧美精品啪啪一区二区三区| 亚洲码一区二区三区| 伊人激情综合| 国产永久在线视频| av无码一区二区三区在线| 国产网友愉拍精品| 免费一级无码在线网站| 国产精品美女自慰喷水| 欧洲日本亚洲中文字幕| 天天色天天综合网| 天天综合色网| 欧美国产日韩在线| 美女高潮全身流白浆福利区| 亚洲制服丝袜第一页| 欧美成人免费一区在线播放| 亚洲伊人天堂| 日韩在线2020专区| 亚洲欧美日本国产综合在线| 欧美精品黑人粗大| 国产成人精品视频一区视频二区| 中文字幕欧美日韩| 无码人妻免费| 国产99在线| 小蝌蚪亚洲精品国产| 亚洲无码久久久久| 国产人人射| 91亚瑟视频| 国产无码制服丝袜| 性做久久久久久久免费看| 国产综合色在线视频播放线视| 亚洲免费成人网| 91日本在线观看亚洲精品| 国产精品久久精品| 日韩精品资源| 国产精品偷伦视频免费观看国产| 成人免费视频一区| 亚洲一区二区约美女探花| 日本伊人色综合网| 欧美日一级片| 国产精品密蕾丝视频| 日本免费高清一区| 国产精品国产三级国产专业不| 精品久久蜜桃| 亚洲天堂在线免费| 亚洲男人的天堂久久香蕉网| 亚洲天堂免费| 性视频一区| 国产性爱网站| 午夜不卡福利| 日韩精品无码一级毛片免费| 国产综合无码一区二区色蜜蜜| 日韩欧美网址| 麻豆精品在线播放| 国产成年女人特黄特色毛片免| 国产性生交xxxxx免费| 国产自在线播放| 亚洲激情区| 久久国产热| 亚洲aaa视频| 无码国产偷倩在线播放老年人| 国产sm重味一区二区三区| 亚洲天堂久久新| 国产精品专区第1页| 久久青草免费91观看| 少妇露出福利视频| 香蕉网久久| 8090成人午夜精品| 久久天天躁狠狠躁夜夜躁| 5555国产在线观看| 色135综合网| 精品超清无码视频在线观看| 久久中文电影| 国产91线观看| 国产午夜在线观看视频| 免费人成在线观看成人片|