亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于gpu加速的非局部平均濾波實(shí)時(shí)處理方法

文檔序號(hào):10570670閱讀:857來源:國(guó)知局
基于gpu加速的非局部平均濾波實(shí)時(shí)處理方法
【專利摘要】本發(fā)明公開了一種基于GPU加速的非局部平均濾波實(shí)時(shí)處理方法,主要解決了非局部平均濾波算法難以滿足實(shí)時(shí)性要求這一問題。本方法利用GPU卓越的多線程并行數(shù)據(jù)處理能力,使用OpenCL平臺(tái),在GPU上并行地實(shí)現(xiàn)圖像的濾波處理。在濾波過程中,對(duì)中心圖像片和相似圖像片進(jìn)行投影,并且利用拆分核函數(shù)、優(yōu)化訪存等方法有效減少了計(jì)算量和數(shù)據(jù)讀取時(shí)間。與現(xiàn)有的非局部平均濾波方法相比,本發(fā)明能夠在保證去噪性能的前提下,對(duì)VGA(分辨率為640*480)和SVGA(分辨率為600*800)圖像進(jìn)行實(shí)時(shí)的非局部平均濾波處理,較之傳統(tǒng)的串行處理方法,本方法取得了最高達(dá)111倍的加速比。
【專利說明】
基于GPU加速的非局部平均濾波實(shí)時(shí)處理方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,更進(jìn)一步涉及一種自然圖像處理濾波技術(shù)領(lǐng)域的 基于圖形計(jì)算單元GPU(Graphics Processing Unit)加速的非局部平均濾波實(shí)時(shí)處理方 法。該方法可用于對(duì)醫(yī)學(xué)、衛(wèi)星遙感、工業(yè)、軍事和視頻多媒體等領(lǐng)域的數(shù)字圖像進(jìn)行預(yù)處 理,縮短預(yù)處理時(shí)間,達(dá)到實(shí)時(shí)處理的效果。
【背景技術(shù)】
[0002] 作為最好的圖像去噪方法之一,非局部平均濾波算法能夠達(dá)到很好的去噪效果。 但是由于算法復(fù)雜度高,處理時(shí)間長(zhǎng),所以很難在實(shí)際應(yīng)用中被直接使用。自從Buades提出 非局部平均的思想以來,研究者們也提出了各種各樣的改進(jìn)算法。
[0003] 隨著大數(shù)據(jù)時(shí)代的到來,人們急切的想尋求一種可以加快數(shù)據(jù)處理速度的方案, 此時(shí),異構(gòu)并行計(jì)算模式應(yīng)運(yùn)而生。GPU專為計(jì)算密集型、高度并行化的程序設(shè)計(jì),并且在浮 點(diǎn)計(jì)算能力方面表現(xiàn)超群,自然而然的,處理機(jī)制從多核處理器過渡到GPU,并廣泛應(yīng)用于 各個(gè)領(lǐng)域。各行各業(yè)的人們都嘗試?yán)眠@一新興技術(shù)加速數(shù)據(jù)處理,在圖像處理領(lǐng)域就有 很多算法已經(jīng)在異構(gòu)平臺(tái)下成功實(shí)現(xiàn)。
[0004] 華中科技大學(xué)申請(qǐng)的專利"一種三維超聲圖像非局部均值濾波方法"(專利申請(qǐng)?zhí)?201310428718.6,公布號(hào)CN103544682A)中公布了一種三維超聲圖像非局部平均濾波方法。 該方法將待濾波的三維圖像拆分成基準(zhǔn)塊,給每個(gè)基準(zhǔn)塊指定搜索區(qū)域,然后將搜索區(qū)域 中的所有與基準(zhǔn)塊大小相同的圖像塊作為相似塊,并且計(jì)算每一相似塊與基準(zhǔn)塊之間相似 度,接下來以相似塊的加權(quán)平均值作為基準(zhǔn)塊濾波結(jié)果,權(quán)重為相似度,最后將基準(zhǔn)塊的濾 波結(jié)果進(jìn)行整合得到三維超聲圖像最終濾波結(jié)果,該方法應(yīng)用GPU加速,一定程度上縮短了 濾波時(shí)間。但是該方法存在的不足之處是,在利用GPU進(jìn)行非局部平均濾波的過程中,算法 復(fù)雜度高導(dǎo)致運(yùn)行時(shí)間長(zhǎng),GPU數(shù)據(jù)訪存沒有優(yōu)化導(dǎo)致運(yùn)行時(shí)間長(zhǎng),有重復(fù)的數(shù)據(jù)處理過程 導(dǎo)致運(yùn)行時(shí)間長(zhǎng),無法滿足對(duì)圖像進(jìn)行非局部平均濾波處理的實(shí)時(shí)性要求。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)中的不足,提出一種基于GPU(GraphicS Processing Unit)加速的非局部平均濾波實(shí)時(shí)處理方法。通過對(duì)圖像片進(jìn)行投影,減小算 法復(fù)雜度,優(yōu)化訪存方式,縮短訪存時(shí)間,并將非局部平均濾波在GPU的實(shí)現(xiàn)拆分成兩個(gè)內(nèi) 核,減少運(yùn)算量。
[0006] 為實(shí)現(xiàn)上述目的,本發(fā)明具體實(shí)現(xiàn)步驟包括如下:
[0007] (1)搭建環(huán)境;
[0008] (la)調(diào)用開放運(yùn)算語言O(shè)penCL提供的應(yīng)用程序編程接口API進(jìn)行平臺(tái)查詢,獲取 該平臺(tái)上可用的設(shè)備對(duì)象;
[0009] (lb)調(diào)用開放運(yùn)算語言O(shè)penCL提供的應(yīng)用程序編程接口 API依次創(chuàng)建上下文、創(chuàng) 建命令隊(duì)列、構(gòu)建程序?qū)ο蟆?chuàng)建2個(gè)內(nèi)核對(duì)象;
[0010] (2)讀取待處理圖像;
[0011] 將中央處理器CPU作為主機(jī)端讀取待處理圖像,將讀取的待處理圖像保存到中央 處理器CPU的內(nèi)存;
[0012] (3)按照下式,計(jì)算半徑為Z的一維高斯模板:
[0014]其中,W(r)表示一維高斯模板W上與該模板中心點(diǎn)相距r處的值,W表示一維高斯模 板,r表不一維高斯模板上任意點(diǎn)到中心點(diǎn)的距離,rG (-Z,Z),G表不屬于符號(hào),Z表不一維 高斯模板的半徑,e表示自然對(duì)數(shù),〇表示高斯模板的標(biāo)準(zhǔn)差;
[0015] (4)拷貝高斯模板和待處理圖像;
[0016] (4a)在圖形計(jì)算單元GPU中申請(qǐng)用于保存高斯模板和待處理圖像的顯存;
[0017] (4b)將高斯模板拷貝到顯存的常量存儲(chǔ)器中,將待處理圖像拷貝到顯存的全局存 儲(chǔ)器中;
[0018] (5)執(zhí)行第一個(gè)內(nèi)核對(duì)象;
[0019] (5a)給待處理圖像的每一個(gè)像素點(diǎn)分配一個(gè)工作項(xiàng);
[0020] (5b)給執(zhí)行第一個(gè)內(nèi)核對(duì)象的每一個(gè)工作組分配256個(gè)工作項(xiàng);
[0021] (5c)給第一個(gè)內(nèi)核對(duì)象設(shè)置4個(gè)參數(shù),分別為:待處理圖像的長(zhǎng)度,待處理圖像的 寬度,拷貝進(jìn)GHJ顯存的待處理圖像和高斯模板;
[0022] (5d)將圖形計(jì)算單元GPU全局存儲(chǔ)器中的待處理圖像緩存到局部存儲(chǔ)器中;
[0023] (5e)從緩存到局部存儲(chǔ)器中的待處理圖像依次讀取21X21個(gè)像素點(diǎn),組成搜索 窗;
[0024] (5f)讀取緩存到局部存儲(chǔ)器中待處理圖像的一個(gè)小圖像片,該小圖像片是以搜索 窗中心像素點(diǎn)為中心,大小為dXd的二維搜索窗中心圖像片,d = 2 XZ+1,表示二維搜索窗 中心圖像片的邊長(zhǎng),Z表示高斯模板的半徑;
[0025] (5g)讀取緩存到局部存儲(chǔ)器中待處理圖像的一個(gè)小圖像片,該小圖像片是以搜索 窗下半部分每一個(gè)像素點(diǎn)為中心,大小為dXd的二維搜索窗相似圖像片,d = 2XZ+l,表示 二維搜索窗相似圖像片的邊長(zhǎng),Z表示高斯模板的半徑;
[0026] (5h)按照下式,對(duì)二維搜索窗中心圖像片和二維搜索窗相似圖像片進(jìn)行投影,得 到一維搜索窗中心圖像片和一維搜索窗相似圖像片:
[0029]其中,運(yùn)dxl(;a;>表示以目標(biāo)像素點(diǎn)(a,b)為中心的二維搜索窗中心圖像片IPdxd (a,b) 經(jīng)過投影后得到的一維搜索窗中心圖像片,d = 2XZ+l,Z表示高斯模板的半徑,x表示二維 搜索窗中心圖像片IPdxd(a,b)的列序號(hào),xG [b_Z,b+Z],G表不屬于符號(hào),E表不求和操作, 表示以像素點(diǎn)(i,j)為中心的二維搜索窗相似圖像片ISdxd(i,j)經(jīng)過投影后得到的 一維搜索窗相似圖像片,y表示二維搜索窗相似圖像片ISdxd(i,j)的列序號(hào),yG[j-Z,j+Z]; [0030] (5i)按照下式,計(jì)算一維搜索窗中心圖像片和一維搜索窗相似圖像片高斯加權(quán)的 歐式距離:
[0031 ] Temp(i, j,a,b) - W ? ISdxi(i)-IPdxi(a) L J 2
[0032]其中,Temp (i , j , a, b)表示一維搜索窗中心圖像片iPdrt (_a)和一維搜索窗相似圖像 片運(yùn)dxl(i)高斯加權(quán)的歐式距離,W表示高斯模板,?表示卷積操作,|||表示歐氏距離操作;
[0033] (5j)在圖形計(jì)算單元GPU的全局存儲(chǔ)器中創(chuàng)建一個(gè)數(shù)組,將高斯加權(quán)的歐氏距離 保存在該數(shù)組里;
[0034] (6)執(zhí)行第二個(gè)內(nèi)核對(duì)象;
[0035] (6a)給待處理圖像的每個(gè)像素點(diǎn)分配一個(gè)工作項(xiàng);
[0036] (6b)給執(zhí)行第二個(gè)內(nèi)核對(duì)象的每個(gè)工作組分配256個(gè)工作項(xiàng);
[0037] (6c)在圖形計(jì)算單元GPU中申請(qǐng)用于存放濾波后圖像的顯存;
[0038] (6d)給第二個(gè)內(nèi)核設(shè)置4個(gè)參數(shù):待處理圖像的長(zhǎng)度,待處理圖像的寬度,拷貝進(jìn) GHJ緩存的待處理圖像和濾波后圖像;
[0039] (6e)將圖形計(jì)算單元GPU的全局存儲(chǔ)器里的待處理圖像緩存到局部存儲(chǔ)器;
[0040] (6f)從緩存到局部存儲(chǔ)器中的待處理圖像依次讀取21X21個(gè)像素點(diǎn),組成搜索 窗;
[0041] (6g)按照下式,計(jì)算搜索窗上像素點(diǎn)的權(quán)值:
[0043]其中,《(1,」,&,13)表示搜索窗上像素點(diǎn)(1,」)的權(quán)值,6表示自然對(duì)數(shù),1 1表示衰減 因子,Temp (i,j,a,b)表不一維搜索窗中心圖像片IPdxi (a)和一維搜索窗相似圖像片ISdxi (i)_ 高斯加權(quán)的歐氏距離;
[0044] (6h)按照下式,計(jì)算搜索窗中心像素點(diǎn)經(jīng)過非局部平均濾波后的像素值:
[0046] 其中,$(a,b):表示搜索窗中心像素點(diǎn)的像素值y(a,b)經(jīng)過非局部平均濾波后的像 素值,E表示求和操作,(i,j)表示搜索窗上像素點(diǎn),G表示屬于符號(hào),Q(a,b)表示以搜索 窗中心像素點(diǎn)(a,b)為中心的21X21大小的鄰域,《(1,」, &,13)表示搜索窗上像素點(diǎn)(1,」) 的權(quán)值,y (i,j)表示像素點(diǎn)(i,j)處的像素值;
[0047] (6i)用搜索窗中心像素點(diǎn)濾波后的像素值賦給步驟(6c)申請(qǐng)的濾波后圖片的對(duì) 應(yīng)像素點(diǎn),得到圖形計(jì)算單元GHJ中的濾波后圖像;
[0048] (7)保存結(jié)果圖像;
[0049]從圖形計(jì)算單元GPU拷貝濾波后圖像,保存于中央處理器CPU內(nèi)存中。
[0050]本發(fā)明與現(xiàn)有的技術(shù)相比具有以下優(yōu)點(diǎn):
[0051]第一,由于本發(fā)明對(duì)二維搜索窗中心圖像片和二維搜索窗相似圖像片進(jìn)行投影, 得到一維搜索窗中心圖像片和一維搜索窗相似圖像片,克服了現(xiàn)有技術(shù)的算法復(fù)雜度高導(dǎo) 致運(yùn)行時(shí)間長(zhǎng),無法滿足對(duì)圖像進(jìn)行非局部平均濾波處理的實(shí)時(shí)性要求的問題,使得本發(fā) 明算法復(fù)雜度明顯降低,原本需要對(duì)dXd個(gè)像素點(diǎn)間進(jìn)行的運(yùn)算減少到dXl,運(yùn)算時(shí)間顯 著減少,從而滿足實(shí)時(shí)性要求。
[0052]第二,由于本發(fā)明將高斯模板拷貝到顯存的常量存儲(chǔ)器中,將圖形計(jì)算單元GPU全 局存儲(chǔ)器中的待處理圖像緩存到局部存儲(chǔ)器中,克服了 GPU數(shù)據(jù)訪存沒有優(yōu)化導(dǎo)致運(yùn)行時(shí) 間過長(zhǎng),無法滿足對(duì)圖像進(jìn)行非局部平均濾波處理的實(shí)時(shí)性要求的問題,使得本發(fā)明訪存 時(shí)間縮短,工作項(xiàng)不需要直接從全局存儲(chǔ)器存取數(shù)據(jù),進(jìn)而縮短了運(yùn)算時(shí)間,滿足實(shí)時(shí)性要 求。
[0053]第三,由于本發(fā)明計(jì)算一維搜索窗中心圖像片和一維搜索窗下半部分相似圖像片 高斯加權(quán)的歐式距離,克服了現(xiàn)有技術(shù)存在的有重復(fù)的數(shù)據(jù)處理過程導(dǎo)致運(yùn)行時(shí)間長(zhǎng),無 法滿足對(duì)圖像進(jìn)行非局部平均濾波處理的實(shí)時(shí)性要求的問題,使得本發(fā)明避免了大量的重 復(fù)數(shù)據(jù)處理的過程,計(jì)算量明顯減少,縮短了運(yùn)算時(shí)間,滿足實(shí)時(shí)性要求。
【附圖說明】
[0054]圖1為本發(fā)明的流程圖;
[0055]圖2為本發(fā)明的仿真結(jié)果圖。
【具體實(shí)施方式】
[0056] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。
[0057] 參照附圖1,對(duì)本發(fā)明的步驟作進(jìn)一步的詳細(xì)描述。
[0058] 步驟1,搭建環(huán)境。
[0059] 調(diào)用開放運(yùn)算語言O(shè)penCL提供的應(yīng)用程序編程接口API進(jìn)行平臺(tái)查詢,獲取平臺(tái) 上可用的設(shè)備對(duì)象。
[0060] 調(diào)用開放運(yùn)算語言O(shè)penCL提供的應(yīng)用程序編程接口 API依次創(chuàng)建上下文,創(chuàng)建命 令隊(duì)列,構(gòu)建程序?qū)ο螅瑒?chuàng)建2個(gè)內(nèi)核對(duì)象。
[0061 ] 步驟2,讀取待處理圖像。
[0062]將中央處理器CPU作為主機(jī)端讀取待處理圖像,將讀取的待處理圖像保存到中央 處理器CPU的內(nèi)存。
[0063]步驟3,按照下式,計(jì)算半徑為Z的一維高斯模板:
[0065]其中,W(r)表示一維高斯模板W上與該模板中心點(diǎn)相距r處的值,W表示一維高斯模 板,r表不一維高斯模板上任意點(diǎn)到中心點(diǎn)的距離,rG (-Z,Z),G表不屬于符號(hào),Z表不一維 高斯模板的半徑,e表示自然對(duì)數(shù),〇表示高斯模板的標(biāo)準(zhǔn)差。
[0066] -維高斯模板的半徑Z的取值范圍是1~5個(gè)像素。高斯模板的標(biāo)準(zhǔn)差〇的取值范圍 是[0,3]。
[0067]步驟4,拷貝高斯模板和待處理圖像到顯存。
[0068]在圖形計(jì)算單元GPU中申請(qǐng)顯存,用來保存高斯模板和待處理圖像。
[0069] 將高斯模板拷貝到顯存的常量存儲(chǔ)器中,將待處理圖像拷貝到顯存的全局存儲(chǔ)器 中。
[0070] 步驟5,執(zhí)行第一個(gè)內(nèi)核對(duì)象。
[0071] 給待處理圖像的每以個(gè)像素點(diǎn)分配一個(gè)工作項(xiàng)。
[0072]給執(zhí)行第一個(gè)內(nèi)核對(duì)象的每一個(gè)工作組分配256個(gè)工作項(xiàng)。
[0073]給第一個(gè)內(nèi)核對(duì)象設(shè)置4個(gè)參數(shù),分別為:待處理圖像的長(zhǎng)度,待處理圖像的寬度, 拷貝進(jìn)GPU顯存的待處理圖像和高斯模板。
[0074]將圖形計(jì)算單元GPU全局存儲(chǔ)器中的待處理圖像緩存到局部存儲(chǔ)器中。
[0075]從緩存到局部存儲(chǔ)器中的待處理圖像依次讀取21X21個(gè)像素點(diǎn),組成搜索窗。
[0076] 讀取緩存到局部存儲(chǔ)器中待處理圖像的一個(gè)小圖像片,該小圖像片是以搜索窗中 心像素點(diǎn)為中心,大小為d X d的二維搜索窗中心圖像片,d = 2 X Z+1,Z表示高斯模板的半 徑。
[0077] 讀取緩存到局部存儲(chǔ)器中待處理圖像的一個(gè)小圖像片,該小圖像片是以搜索窗下 半部分每一個(gè)像素點(diǎn)為中心,大小為dXd的二維搜索窗下半部分相似圖像片,d = 2XZ+l,Z 表示高斯模板的半徑。
[0078] 按照下式,對(duì)二維搜索窗中心圖像片和二維搜索窗下半部分相似圖像片進(jìn)行投 影,得到一維搜索窗中心圖像片和一維搜索窗下半部分相似圖像片:
[0081] 其中,I^ixi(a)表示以目標(biāo)像素點(diǎn)(a,b)為中心的二維搜索窗中心圖像片IPdxd(a,b) 經(jīng)過投影后得到的一維搜索窗中心圖像片,d = 2XZ+l,Z表示高斯模板的半徑,x表示二維 搜索窗中心圖像片IPdxd(a,b)的列序號(hào),xG [b_Z,b+Z],G表不屬于符號(hào),E表不求和操作, 虱xl(i)表示以像素點(diǎn)(i,j)為中心的二維搜索窗下半部分相似圖像片ISdxd(i,j)經(jīng)過投影 后得到的一維搜索窗下半部分相似圖像片,y表示二維搜索窗下半部分相似圖像片ISdxd(i, j)的列序號(hào),y e [ j_Z, j+Z]。
[0082] 按照下式,計(jì)算一維搜索窗中心圖像片和一維搜索窗下半部分相似圖像片高斯加 權(quán)的歐式距離: _ _ 2
[0083] Temp(i9j,a5b) = W? ISdx丨(i)-IPdxi(a) L J 2
[0084] 其中,Temp(i,j,a,b)表示一維搜索窗中心圖像片和一維搜索窗下半部分 相似圖像片高斯加權(quán)的歐式距離,W表示高斯模板,0表示卷積操作,|||表示歐氏距 離操作
[0085]在圖形計(jì)算單元GPU的全局存儲(chǔ)器中創(chuàng)建一個(gè)數(shù)組,將高斯加權(quán)的歐氏距離保存 在該數(shù)組里。
[0086]步驟6,執(zhí)行第二個(gè)內(nèi)核對(duì)象。
[0087]給待處理圖像的每個(gè)像素點(diǎn)分配一個(gè)工作項(xiàng)。
[0088]給執(zhí)行第二個(gè)內(nèi)核對(duì)象的每個(gè)工作組分配256個(gè)工作項(xiàng)。
[0089]在圖形計(jì)算單元GPU中申請(qǐng)用來存放濾波后圖像的顯存。
[0090]給第二個(gè)內(nèi)核設(shè)置4個(gè)參數(shù):待處理圖像的長(zhǎng)度,待處理圖像的寬度,拷貝進(jìn)GPU緩 存的待處理圖像和濾波后圖像。
[0091]將圖形計(jì)算單元GPU的全局存儲(chǔ)器里的待處理圖像緩存到局部存儲(chǔ)器。
[0092]從緩存到局部存儲(chǔ)器中的待處理圖像依次讀取21X21個(gè)像素點(diǎn),組成搜索窗。 [0093]按照下式,計(jì)算搜索窗上像素點(diǎn)的權(quán)值:
[0095] 其中,《(1,」,8,13)表示搜索窗上像素點(diǎn)(1,」)的權(quán)值,6表示自然對(duì)數(shù),11表示衰減 因子,1' 61^(1,」,8,13)表示一維搜索窗中心圖像片1]^44和一維搜索窗下半部分相似圖像 片高斯加權(quán)的歐氏距離。
[0096] 衰減因子h的取值范圍是[7,20]。
[0097] 按照下式,計(jì)算搜索窗中心像素點(diǎn)經(jīng)過非局部平均濾波后的像素值:
[0099] 其中,Ka,b)表示搜索窗中心像素點(diǎn)的像素值y(a,b)經(jīng)過非局部平均濾波后的像 素值,E表示求和操作,(i,j)表示搜索窗上像素點(diǎn),G表示屬于符號(hào),Q(a,b)表示以搜索 窗中心像素點(diǎn)(a,b)為中心的21X21大小的鄰域,《(1,」, &,13)表示搜索窗上像素點(diǎn)(1,」) 的權(quán)值,y (i,j)表示像素點(diǎn)(i,j)處的像素值。
[0100] 用搜索窗中心像素點(diǎn)濾波后的像素值賦給申請(qǐng)的濾波后圖片的對(duì)應(yīng)像素點(diǎn),得到 圖形計(jì)算單元GHJ中的濾波后圖像。
[0101]步驟7,保存結(jié)果圖像。
[0102]從圖形計(jì)算單元GPU拷貝濾波后圖像,保存于中央處理器CPU內(nèi)存中。
[0103]下面結(jié)合附圖2的仿真圖對(duì)本發(fā)明的效果做進(jìn)一步的描述。
[0104] 1.仿真實(shí)驗(yàn)條件:
[0105] 本發(fā)明的仿真實(shí)驗(yàn)使用的CPU是Intel(R)Xeon(R)E5410,使用的GPU是AMD Radeon R9 270,軟件環(huán)境是Windows7 32位,Visual Studio 2013,Matlab R2015a。仿真實(shí)驗(yàn)算法 去噪效果由PSNR (峰值信噪比)來表征。
[0106] 2 ?仿真效果圖:
[0107]圖2是使用本發(fā)明對(duì)不同分辨率圖像去噪的效果圖。其中,圖2(a)是顯示繪圖陣列 VGA(Video Graphic Array)分辨率(640X480)的灰度圖,用Matlab軟件加方差為0? 1的高 斯噪聲后,PSNR為26.8109的待處理圖像,圖2(b)是對(duì)圖2(a)利用本發(fā)明方法的去噪后的效 果圖,高斯模板半徑是3,高斯模板的標(biāo)準(zhǔn)差是1.26,圖2(c)是超級(jí)顯示繪圖陣列SVGA (Super Video Graphic Array)分辨率(600X800)的灰度圖,用Matlab軟件加方差為0.5的 高斯噪聲后,PSNR為28.3164的待處理圖像,圖2(d)是對(duì)圖2(c)利用本發(fā)明方法的去噪效果 圖,高斯模板半徑是3,高斯模板的標(biāo)準(zhǔn)差是0.86。
[0108] 表1和表2列出了本發(fā)明對(duì)附圖2(a)和附圖2(c)分別在5 X 5和7 X 7高斯模板尺寸 下,得到的去噪效果和加速比(時(shí)間單位為ms) XPU多線程一項(xiàng)指的是多核CPU采用本發(fā)明 進(jìn)行非局部平均濾波所用時(shí)間,GPU多線程一項(xiàng)指的是GPU采用本發(fā)明進(jìn)行非局部平均濾波 所用時(shí)間,加速比指的是CPU多線程所用時(shí)間與GPU多線程所用時(shí)間之比,PSNR指的是濾波 后圖像的峰值信噪比,表征濾波效果。
[0109] 表1.對(duì)圖2(a)處理結(jié)果
[0111] 表2.對(duì)圖2(c)處理結(jié)果
[0113] 由表1和表2可見:
[0114] 經(jīng)本發(fā)明提出的方法濾波后圖像的峰值信噪比(PSNR)明顯提高,且高斯模板大小 為7 X 7時(shí)濾波去噪效果更好。經(jīng)本發(fā)明提出的加速方法較傳統(tǒng)CPU處理方法運(yùn)行時(shí)間大幅 縮短,取得的最大加速比達(dá)111,對(duì)VGA和SVGA分辨率的圖像能實(shí)現(xiàn)實(shí)時(shí)處理。
[0115] 綜上,本發(fā)明所提出的基于GPU加速的非局部平均濾波處理方法可有效濾除圖像 噪聲,且能通過異構(gòu)并行計(jì)算大幅提升算法的處理速度,滿足實(shí)時(shí)應(yīng)用需求,并且采用的 OpenCL編程環(huán)境有很好的可移植性,不僅支持GPU,還支持FPGA、ARM等。
【主權(quán)項(xiàng)】
1. 一種基于GPU加速的非局部平均濾波實(shí)時(shí)處理方法,包括如下步驟: (1) 搭建環(huán)境; (la) 調(diào)用開放運(yùn)算語言O(shè)penCL提供的應(yīng)用程序編程接口API進(jìn)行平臺(tái)查詢,獲取該平 臺(tái)上可用的設(shè)備對(duì)象; (lb) 調(diào)用開放運(yùn)算語言O(shè)penCL提供的應(yīng)用程序編程接口 API依次創(chuàng)建上下文、創(chuàng)建命 令隊(duì)列、構(gòu)建程序?qū)ο?、?chuàng)建2個(gè)內(nèi)核對(duì)象; (2) 讀取待處理圖像; 將中央處理器CPU作為主機(jī)端讀取待處理圖像,將讀取的待處理圖像保存到中央處理 器CHJ的內(nèi)存; (3) 按照下式,計(jì)算半徑為Z的一維高斯模板:其中,W (r)表不一維高斯模板W上與該模板中心點(diǎn)相距r處的值,W表不一維高斯模板,r 表示一維高斯模板上任意點(diǎn)到中心點(diǎn)的距離,re (-Z,Z),e表示屬于符號(hào),Z表示一維高斯 模板的半徑,e表示自然對(duì)數(shù),〇表示高斯模板的標(biāo)準(zhǔn)差; (4) 拷貝高斯模板和待處理圖像; (4a)在圖形計(jì)算單元GRJ中申請(qǐng)用于保存高斯模板和待處理圖像的顯存; (4b)將高斯模板拷貝到顯存的常量存儲(chǔ)器中,將待處理圖像拷貝到顯存的全局存儲(chǔ)器 中; (5) 執(zhí)行第一個(gè)內(nèi)核對(duì)象; (5a)給待處理圖像的每一個(gè)像素點(diǎn)分配一個(gè)工作項(xiàng); (5b)給執(zhí)行第一個(gè)內(nèi)核對(duì)象的每一個(gè)工作組分配256個(gè)工作項(xiàng); (5c)給第一個(gè)內(nèi)核對(duì)象設(shè)置4個(gè)參數(shù),分別為:待處理圖像的長(zhǎng)度,待處理圖像的寬度, 拷貝進(jìn)GPU顯存的待處理圖像和高斯模板; (5d)將圖形計(jì)算單元GPU全局存儲(chǔ)器中的待處理圖像緩存到局部存儲(chǔ)器中; (5e)從緩存到局部存儲(chǔ)器中的待處理圖像依次讀取21X21個(gè)像素點(diǎn),組成搜索窗; (5f)讀取緩存到局部存儲(chǔ)器中待處理圖像的一個(gè)小圖像片,該小圖像片是以搜索窗中 心像素點(diǎn)為中心,大小為d X d的二維搜索窗中心圖像片,d = 2 X Z+1,Z表示高斯模板的半 徑; (5g)讀取緩存到局部存儲(chǔ)器中待處理圖像的一個(gè)小圖像片,該小圖像片是以搜索窗下 半部分每一個(gè)像素點(diǎn)為中心,大小為dXd的二維搜索窗下半部分相似圖像片,d = 2XZ+l,Z 表不尚斯t旲板的半徑; (5h)按照下式,對(duì)二維搜索窗中心圖像片和二維搜索窗下半部分相似圖像片進(jìn)行投 影,得到一維搜索窗中心圖像片和一維搜索窗下半部分相似圖像片:其中,(a)表示以目標(biāo)像素點(diǎn)(a,b)為中心的二維搜索窗中心圖像片IPdXd (a,b)經(jīng)過 投影后得到的一維搜索窗中心圖像片,d = 2XZ+l,Z表示高斯模板的半徑,X表示二維搜索 窗中心圖像片IPdxd(a,b)的列序號(hào),xe [b_Z,b+Z],e表不屬于符號(hào),Σ表不求和操作, 瓦ui(i)表示以像素點(diǎn)(i,j)為中心的二維搜索窗下半部分相似圖像片ISdxd(i,j)經(jīng)過投影 后得到的一維搜索窗下半部分相似圖像片,y表示二維搜索窗下半部分相似圖像片ISdxd(i, 」)的列序號(hào),5^[」__2,」_+2]; (5i)按照下式,計(jì)算一維搜索窗中心圖像片和一維搜索窗下半部分相似圖像片高斯加 權(quán)的歐式距離:其中,Temp(i,j,a,b)表示一維搜索窗中心圖像片(a)和一維搜索窗下半部分相似 圖像片瓦兒)高斯加權(quán)的歐式距離,w表示高斯模板,Θ表示卷積操作,HI表示歐氏距離操 作; (5j)在圖形計(jì)算單元GPU的全局存儲(chǔ)器中創(chuàng)建一個(gè)數(shù)組,將高斯加權(quán)的歐氏距離保存 在該數(shù)組里; (6)執(zhí)行第二個(gè)內(nèi)核對(duì)象; (6a)給待處理圖像的每個(gè)像素點(diǎn)分配一個(gè)工作項(xiàng); (6b)給執(zhí)行第二個(gè)內(nèi)核對(duì)象的每個(gè)工作組分配256個(gè)工作項(xiàng); (6c)在圖形計(jì)算單元GRJ中申請(qǐng)用于存放濾波后圖像的顯存; (6d)給第二個(gè)內(nèi)核設(shè)置4個(gè)參數(shù):待處理圖像的長(zhǎng)度,待處理圖像的寬度,拷貝進(jìn)GPU緩 存的待處理圖像和濾波后圖像; (6e)將圖形計(jì)算單元GPU的全局存儲(chǔ)器里的待處理圖像緩存到局部存儲(chǔ)器; (6f)從緩存到局部存儲(chǔ)器中的待處理圖像依次讀取21X21個(gè)像素點(diǎn),組成搜索窗; (6g)按照下式,計(jì)算搜索窗上像素點(diǎn)的權(quán)值:其中,co(i,j,a,b)表示搜索窗上像素點(diǎn)(i,j)的權(quán)值,e表示自然對(duì)數(shù),h表示衰減因 子,Temp(i,j,a,b)表不一維搜索窗中心圖像片IP&^a)和一維搜索窗下半部分相似圖像片 高斯加權(quán)的歐氏距離; (6h)按照下式,計(jì)算搜索窗中心像素點(diǎn)經(jīng)過非局部平均濾波后的像素值:其中,f(a,b)表示搜索窗中心像素點(diǎn)的像素值y(a,b)經(jīng)過非局部平均濾波后的像素值, Σ表示求和操作,(i,j)表示搜索窗上像素點(diǎn),e表示屬于符號(hào),Q(a,b)表示以搜索窗中心 像素點(diǎn)(a,b)為中心的21\21大小的鄰域,《(1,」,&,13)表示搜索窗上像素點(diǎn)(1,」)的權(quán)值, y (i,j)表示像素點(diǎn)(i,j)處的像素值; (6i)用搜索窗中心像素點(diǎn)濾波后的像素值賦給步驟(6c)申請(qǐng)的濾波后圖片的對(duì)應(yīng)像 素點(diǎn),得到圖形計(jì)算單元GHJ中的濾波后圖像; (7)保存結(jié)果圖像; 從圖形計(jì)算單元GHJ拷貝濾波后圖像,保存于中央處理器CRJ內(nèi)存中。2. 根據(jù)權(quán)利要求1所述的基于GPU加速的非局部平均濾波實(shí)時(shí)處理方法,其特征在于: 步驟(3)中一維高斯模板半徑Z的取值范圍是1~5個(gè)像素。3. 根據(jù)權(quán)利要求1所述的基于GPU加速的非局部平均濾波實(shí)時(shí)處理方法,其特征在于: 步驟(3)中所述的高斯模板的標(biāo)準(zhǔn)差σ的取值范圍是[〇,3]。4. 根據(jù)權(quán)利要求1所述的基于GPU加速的非局部平均濾波實(shí)時(shí)處理方法,其特征在于: 步驟(6g)中所述衰減因子h的取值范圍是[7,20]。
【文檔編號(hào)】G06T5/00GK105931207SQ201610370775
【公開日】2016年9月7日
【申請(qǐng)日】2016年5月30日
【發(fā)明人】賴睿, 王維, 孟靈非, 楊銀堂, 周慧鑫, 王炳建, 秦翰林
【申請(qǐng)人】西安電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1