CN105931207A - 基于gpu加速的非局部平均滤波实时处理方法 - Google Patents

基于gpu加速的非局部平均滤波实时处理方法 Download PDF

Info

Publication number
CN105931207A
CN105931207A CN201610370775.7A CN201610370775A CN105931207A CN 105931207 A CN105931207 A CN 105931207A CN 201610370775 A CN201610370775 A CN 201610370775A CN 105931207 A CN105931207 A CN 105931207A
Authority
CN
China
Prior art keywords
search window
image
pixel
gpu
represent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610370775.7A
Other languages
English (en)
Other versions
CN105931207B (zh
Inventor
赖睿
王维
孟灵非
杨银堂
周慧鑫
王炳建
秦翰林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201610370775.7A priority Critical patent/CN105931207B/zh
Publication of CN105931207A publication Critical patent/CN105931207A/zh
Application granted granted Critical
Publication of CN105931207B publication Critical patent/CN105931207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于GPU加速的非局部平均滤波实时处理方法,主要解决了非局部平均滤波算法难以满足实时性要求这一问题。本方法利用GPU卓越的多线程并行数据处理能力,使用OpenCL平台,在GPU上并行地实现图像的滤波处理。在滤波过程中,对中心图像片和相似图像片进行投影,并且利用拆分核函数、优化访存等方法有效减少了计算量和数据读取时间。与现有的非局部平均滤波方法相比,本发明能够在保证去噪性能的前提下,对VGA(分辨率为640*480)和SVGA(分辨率为600*800)图像进行实时的非局部平均滤波处理,较之传统的串行处理方法,本方法取得了最高达111倍的加速比。

Description

基于GPU加速的非局部平均滤波实时处理方法
技术领域
本发明属于图像处理技术领域,更进一步涉及一种自然图像处理滤波技术领域的基于图形计算单元GPU(Graphics Processing Unit)加速的非局部平均滤波实时处理方法。该方法可用于对医学、卫星遥感、工业、军事和视频多媒体等领域的数字图像进行预处理,缩短预处理时间,达到实时处理的效果。
背景技术
作为最好的图像去噪方法之一,非局部平均滤波算法能够达到很好的去噪效果。但是由于算法复杂度高,处理时间长,所以很难在实际应用中被直接使用。自从Buades提出非局部平均的思想以来,研究者们也提出了各种各样的改进算法。
随着大数据时代的到来,人们急切的想寻求一种可以加快数据处理速度的方案,此时,异构并行计算模式应运而生。GPU专为计算密集型、高度并行化的程序设计,并且在浮点计算能力方面表现超群,自然而然的,处理机制从多核处理器过渡到GPU,并广泛应用于各个领域。各行各业的人们都尝试利用这一新兴技术加速数据处理,在图像处理领域就有很多算法已经在异构平台下成功实现。
华中科技大学申请的专利“一种三维超声图像非局部均值滤波方法”(专利申请号201310428718.6,公布号CN103544682A)中公布了一种三维超声图像非局部平均滤波方法。该方法将待滤波的三维图像拆分成基准块,给每个基准块指定搜索区域,然后将搜索区域中的所有与基准块大小相同的图像块作为相似块,并且计算每一相似块与基准块之间相似度,接下来以相似块的加权平均值作为基准块滤波结果,权重为相似度,最后将基准块的滤波结果进行整合得到三维超声图像最终滤波结果,该方法应用GPU加速,一定程度上缩短了滤波时间。但是该方法存在的不足之处是,在利用GPU进行非局部平均滤波的过程中,算法复杂度高导致运行时间长,GPU数据访存没有优化导致运行时间长,有重复的数据处理过程导致运行时间长,无法满足对图像进行非局部平均滤波处理的实时性要求。
发明内容
本发明的目的在于克服上述现有技术中的不足,提出一种基于GPU(Graphics Processing Unit)加速的非局部平均滤波实时处理方法。通过对图像片进行投影,减小算法复杂度,优化访存方式,缩短访存时间,并将非局部平均滤波在GPU的实现拆分成两个内核,减少运算量。
为实现上述目的,本发明具体实现步骤包括如下:
(1)搭建环境;
(1a)调用开放运算语言OpenCL提供的应用程序编程接口API进行平台查询,获取该平台上可用的设备对象;
(1b)调用开放运算语言OpenCL提供的应用程序编程接口API依次创建上下文、创建命令队列、构建程序对象、创建2个内核对象;
(2)读取待处理图像;
将中央处理器CPU作为主机端读取待处理图像,将读取的待处理图像保存到中央处理器CPU的内存;
(3)按照下式,计算半径为Z的一维高斯模板:
W ( r ) = e - r 2 2 σ 2
其中,W(r)表示一维高斯模板W上与该模板中心点相距r处的值,W表示一维高斯模板,r表示一维高斯模板上任意点到中心点的距离,r∈(-Z,Z),∈表示属于符号,Z表示一维高斯模板的半径,e表示自然对数,σ表示高斯模板的标准差;
(4)拷贝高斯模板和待处理图像;
(4a)在图形计算单元GPU中申请用于保存高斯模板和待处理图像的显存;
(4b)将高斯模板拷贝到显存的常量存储器中,将待处理图像拷贝到显存的全局存储器中;
(5)执行第一个内核对象;
(5a)给待处理图像的每一个像素点分配一个工作项;
(5b)给执行第一个内核对象的每一个工作组分配256个工作项;
(5c)给第一个内核对象设置4个参数,分别为:待处理图像的长度,待处理图像的宽度,拷贝进GPU显存的待处理图像和高斯模板;
(5d)将图形计算单元GPU全局存储器中的待处理图像缓存到局部存储器中;
(5e)从缓存到局部存储器中的待处理图像依次读取21×21个像素点,组成搜索窗;
(5f)读取缓存到局部存储器中待处理图像的一个小图像片,该小图像片是以搜索窗中心像素点为中心,大小为d×d的二维搜索窗中心图像片,d=2×Z+1,表示二维搜索窗中心图像片的边长,Z表示高斯模板的半径;
(5g)读取缓存到局部存储器中待处理图像的一个小图像片,该小图像片是以搜索窗下半部分每一个像素点为中心,大小为d×d的二维搜索窗相似图像片,d=2×Z+1,表示二维搜索窗相似图像片的边长,Z表示高斯模板的半径;
(5h)按照下式,对二维搜索窗中心图像片和二维搜索窗相似图像片进行投影,得到一维搜索窗中心图像片和一维搜索窗相似图像片:
I P ‾ d × 1 ( a ) = Σ x = b - Z b + Z IP d × d ( a , b ) d
I S ‾ d × 1 ( i ) = Σ y = j - Z j + Z IS d × d ( i , y ) d
其中,表示以目标像素点(a,b)为中心的二维搜索窗中心图像片IPd×d(a,b)经过投影后得到的一维搜索窗中心图像片,d=2×Z+1,Z表示高斯模板的半径,x表示二维搜索窗中心图像片IPd×d(a,b)的列序号,x∈[b-Z,b+Z],∈表示属于符号,∑表示求和操作,表示以像素点(i,j)为中心的二维搜索窗相似图像片ISd×d(i,j)经过投影后得到的一维搜索窗相似图像片,y表示二维搜索窗相似图像片ISd×d(i,j)的列序号,y∈[j-Z,j+Z];
(5i)按照下式,计算一维搜索窗中心图像片和一维搜索窗相似图像片高斯加权的欧式距离:
T e m p ( i , j , a , b ) = | | W ⊗ [ I S ‾ d × 1 ( i ) - I P ‾ d × 1 ( a ) ] | | 2 2
其中,Temp(i,j,a,b)表示一维搜索窗中心图像片和一维搜索窗相似图像片高斯加权的欧式距离,W表示高斯模板,表示卷积操作,表示欧氏距离操作;
(5j)在图形计算单元GPU的全局存储器中创建一个数组,将高斯加权的欧氏距离保存在该数组里;
(6)执行第二个内核对象;
(6a)给待处理图像的每个像素点分配一个工作项;
(6b)给执行第二个内核对象的每个工作组分配256个工作项;
(6c)在图形计算单元GPU中申请用于存放滤波后图像的显存;
(6d)给第二个内核设置4个参数:待处理图像的长度,待处理图像的宽度,拷贝进GPU缓存的待处理图像和滤波后图像;
(6e)将图形计算单元GPU的全局存储器里的待处理图像缓存到局部存储器;
(6f)从缓存到局部存储器中的待处理图像依次读取21×21个像素点,组成搜索窗;
(6g)按照下式,计算搜索窗上像素点的权值:
ω ( i , j , a , b ) = e - T e m p ( i , j , a , b ) h 2
其中,ω(i,j,a,b)表示搜索窗上像素点(i,j)的权值,e表示自然对数,h表示衰减因子,Temp(i,j,a,b)表示一维搜索窗中心图像片和一维搜索窗相似图像片高斯加权的欧氏距离;
(6h)按照下式,计算搜索窗中心像素点经过非局部平均滤波后的像素值:
y ^ ( a , b ) = Σ ( i , j ) ∈ Ω ( a , b ) ω ( i , j , a , b ) y ( i , j ) Σ ( i , j ) ∈ Ω ( a , b ) ω ( i , j , a , b )
其中,表示搜索窗中心像素点的像素值y(a,b)经过非局部平均滤波后的像素值,∑表示求和操作,(i,j)表示搜索窗上像素点,∈表示属于符号,Ω(a,b)表示以搜索窗中心像素点(a,b)为中心的21×21大小的邻域,ω(i,j,a,b)表示搜索窗上像素点(i,j)的权值,y(i,j)表示像素点(i,j)处的像素值;
(6i)用搜索窗中心像素点滤波后的像素值赋给步骤(6c)申请的滤波后图片的对应像素点,得到图形计算单元GPU中的滤波后图像;
(7)保存结果图像;
从图形计算单元GPU拷贝滤波后图像,保存于中央处理器CPU内存中。
本发明与现有的技术相比具有以下优点:
第一,由于本发明对二维搜索窗中心图像片和二维搜索窗相似图像片进行投影,得到一维搜索窗中心图像片和一维搜索窗相似图像片,克服了现有技术的算法复杂度高导致运行时间长,无法满足对图像进行非局部平均滤波处理的实时性要求的问题,使得本发明算法复杂度明显降低,原本需要对d×d个像素点间进行的运算减少到d×1,运算时间显著减少,从而满足实时性要求。
第二,由于本发明将高斯模板拷贝到显存的常量存储器中,将图形计算单元GPU全局存储器中的待处理图像缓存到局部存储器中,克服了GPU数据访存没有优化导致运行时间过长,无法满足对图像进行非局部平均滤波处理的实时性要求的问题,使得本发明访存时间缩短,工作项不需要直接从全局存储器存取数据,进而缩短了运算时间,满足实时性要求。
第三,由于本发明计算一维搜索窗中心图像片和一维搜索窗下半部分相似图像片高斯加权的欧式距离,克服了现有技术存在的有重复的数据处理过程导致运行时间长,无法满足对图像进行非局部平均滤波处理的实时性要求的问题,使得本发明避免了大量的重复数据处理的过程,计算量明显减少,缩短了运算时间,满足实时性要求。
附图说明
图1为本发明的流程图;
图2为本发明的仿真结果图。
具体实施方式
下面结合附图对本发明作进一步的详细描述。
参照附图1,对本发明的步骤作进一步的详细描述。
步骤1,搭建环境。
调用开放运算语言OpenCL提供的应用程序编程接口API进行平台查询,获取平台上可用的设备对象。
调用开放运算语言OpenCL提供的应用程序编程接口API依次创建上下文,创建命令队列,构建程序对象,创建2个内核对象。
步骤2,读取待处理图像。
将中央处理器CPU作为主机端读取待处理图像,将读取的待处理图像保存到中央处理器CPU的内存。
步骤3,按照下式,计算半径为Z的一维高斯模板:
W ( r ) = e - r 2 2 σ 2
其中,W(r)表示一维高斯模板W上与该模板中心点相距r处的值,W表示一维高斯模板,r表示一维高斯模板上任意点到中心点的距离,r∈(-Z,Z),∈表示属于符号,Z表示一维高斯模板的半径,e表示自然对数,σ表示高斯模板的标准差。
一维高斯模板的半径Z的取值范围是1~5个像素。高斯模板的标准差σ的取值范围是[0,3]。
步骤4,拷贝高斯模板和待处理图像到显存。
在图形计算单元GPU中申请显存,用来保存高斯模板和待处理图像。
将高斯模板拷贝到显存的常量存储器中,将待处理图像拷贝到显存的全局存储器中。
步骤5,执行第一个内核对象。
给待处理图像的每以个像素点分配一个工作项。
给执行第一个内核对象的每一个工作组分配256个工作项。
给第一个内核对象设置4个参数,分别为:待处理图像的长度,待处理图像的宽度,拷贝进GPU显存的待处理图像和高斯模板。
将图形计算单元GPU全局存储器中的待处理图像缓存到局部存储器中。
从缓存到局部存储器中的待处理图像依次读取21×21个像素点,组成搜索窗。
读取缓存到局部存储器中待处理图像的一个小图像片,该小图像片是以搜索窗中心像素点为中心,大小为d×d的二维搜索窗中心图像片,d=2×Z+1,Z表示高斯模板的半径。
读取缓存到局部存储器中待处理图像的一个小图像片,该小图像片是以搜索窗下半部分每一个像素点为中心,大小为d×d的二维搜索窗下半部分相似图像片,d=2×Z+1,Z表示高斯模板的半径。
按照下式,对二维搜索窗中心图像片和二维搜索窗下半部分相似图像片进行投影,得到一维搜索窗中心图像片和一维搜索窗下半部分相似图像片:
I P ‾ d × 1 ( a ) = Σ x = b - Z b + Z IP d × d ( a , b ) d
I S ‾ d × 1 ( i ) = Σ y = j - Z j + Z IS d × d ( i , y ) d
其中,表示以目标像素点(a,b)为中心的二维搜索窗中心图像片IPd×d(a,b)经过投影后得到的一维搜索窗中心图像片,d=2×Z+1,Z表示高斯模板的半径,x表示二维搜索窗中心图像片IPd×d(a,b)的列序号,x∈[b-Z,b+Z],∈表示属于符号,∑表示求和操作,表示以像素点(i,j)为中心的二维搜索窗下半部分相似图像片ISd×d(i,j)经过投影后得到的一维搜索窗下半部分相似图像片,y表示二维搜索窗下半部分相似图像片ISd×d(i,j)的列序号,y∈[j-Z,j+Z]。
按照下式,计算一维搜索窗中心图像片和一维搜索窗下半部分相似图像片高斯加权的欧式距离:
T e m p ( i , j , a , b ) = | | W ⊗ [ I S ‾ d × 1 ( i ) - I P ‾ d × 1 ( a ) ] | | 2 2
其中,Temp(i,j,a,b)表示一维搜索窗中心图像片和一维搜索窗下半部分相似图像片高斯加权的欧式距离,W表示高斯模板,表示卷积操作,表示欧氏距离操作
在图形计算单元GPU的全局存储器中创建一个数组,将高斯加权的欧氏距离保存在该数组里。
步骤6,执行第二个内核对象。
给待处理图像的每个像素点分配一个工作项。
给执行第二个内核对象的每个工作组分配256个工作项。
在图形计算单元GPU中申请用来存放滤波后图像的显存。
给第二个内核设置4个参数:待处理图像的长度,待处理图像的宽度,拷贝进GPU缓存的待处理图像和滤波后图像。
将图形计算单元GPU的全局存储器里的待处理图像缓存到局部存储器。
从缓存到局部存储器中的待处理图像依次读取21×21个像素点,组成搜索窗。
按照下式,计算搜索窗上像素点的权值:
ω ( i , j , a , b ) = e - T e m p ( i , j , a , b ) h 2
其中,ω(i,j,a,b)表示搜索窗上像素点(i,j)的权值,e表示自然对数,h表示衰减因子,Temp(i,j,a,b)表示一维搜索窗中心图像片和一维搜索窗下半部分相似图像片高斯加权的欧氏距离。
衰减因子h的取值范围是[7,20]。
按照下式,计算搜索窗中心像素点经过非局部平均滤波后的像素值:
y ^ ( a , b ) = Σ ( i , j ) ∈ Ω ( a , b ) ω ( i , j , a , b ) y ( i , j ) Σ ( i , j ) ∈ Ω ( a , b ) ω ( i , j , a , b )
其中,表示搜索窗中心像素点的像素值y(a,b)经过非局部平均滤波后的像素值,∑表示求和操作,(i,j)表示搜索窗上像素点,∈表示属于符号,Ω(a,b)表示以搜索窗中心像素点(a,b)为中心的21×21大小的邻域,ω(i,j,a,b)表示搜索窗上像素点(i,j)的权值,y(i,j)表示像素点(i,j)处的像素值。
用搜索窗中心像素点滤波后的像素值赋给申请的滤波后图片的对应像素点,得到图形计算单元GPU中的滤波后图像。
步骤7,保存结果图像。
从图形计算单元GPU拷贝滤波后图像,保存于中央处理器CPU内存中。
下面结合附图2的仿真图对本发明的效果做进一步的描述。
1.仿真实验条件:
本发明的仿真实验使用的CPU是Intel(R)Xeon(R)E5410,使用的GPU是AMD Radeon R9 270,软件环境是Windows7 32位,Visual Studio 2013,Matlab R2015a。仿真实验算法去噪效果由PSNR(峰值信噪比)来表征。
2.仿真效果图:
图2是使用本发明对不同分辨率图像去噪的效果图。其中,图2(a)是显示绘图阵列VGA(Video Graphic Array)分辨率(640×480)的灰度图,用Matlab软件加方差为0.1的高斯噪声后,PSNR为26.8109的待处理图像,图2(b)是对图2(a)利用本发明方法的去噪后的效果图,高斯模板半径是3,高斯模板的标准差是1.26,图2(c)是超级显示绘图阵列SVGA(Super VideoGraphic Array)分辨率(600×800)的灰度图,用Matlab软件加方差为0.5的高斯噪声后,PSNR为28.3164的待处理图像,图2(d)是对图2(c)利用本发明方法的去噪效果图,高斯模板半径是3,高斯模板的标准差是0.86。
表1和表2列出了本发明对附图2(a)和附图2(c)分别在5×5和7×7高斯模板尺寸下,得到的去噪效果和加速比(时间单位为ms)。CPU多线程一项指的是多核CPU采用本发明进行非局部平均滤波所用时间,GPU多线程一项指的是GPU采用本发明进行非局部平均滤波所用时间,加速比指的是CPU多线程所用时间与GPU多线程所用时间之比,PSNR指的是滤波后图像的峰值信噪比,表征滤波效果。
表1.对图2(a)处理结果
模板尺寸 CPU多线程 GPU多线程 加速比 PSNR
5×5 1793.4 16.404 109 31.2763
7×7 2189 20.616 106 31.3529
表2.对图2(c)处理结果
模板尺寸 CPU多线程 GPU多线程 加速比 PSNR
5×5 2786.6 25.596 111 32.4854
7×7 3487.8 31.562 109 32.5440
由表1和表2可见:
经本发明提出的方法滤波后图像的峰值信噪比(PSNR)明显提高,且高斯模板大小为7×7时滤波去噪效果更好。经本发明提出的加速方法较传统CPU处理方法运行时间大幅缩短,取得的最大加速比达111,对VGA和SVGA分辨率的图像能实现实时处理。
综上,本发明所提出的基于GPU加速的非局部平均滤波处理方法可有效滤除图像噪声,且能通过异构并行计算大幅提升算法的处理速度,满足实时应用需求,并且采用的OpenCL编程环境有很好的可移植性,不仅支持GPU,还支持FPGA、ARM等。

Claims (4)

1.一种基于GPU加速的非局部平均滤波实时处理方法,包括如下步骤:
(1)搭建环境;
(1a)调用开放运算语言OpenCL提供的应用程序编程接口API进行平台查询,获取该平台上可用的设备对象;
(1b)调用开放运算语言OpenCL提供的应用程序编程接口API依次创建上下文、创建命令队列、构建程序对象、创建2个内核对象;
(2)读取待处理图像;
将中央处理器CPU作为主机端读取待处理图像,将读取的待处理图像保存到中央处理器CPU的内存;
(3)按照下式,计算半径为Z的一维高斯模板:
W ( r ) = e - r 2 2 σ 2
其中,W(r)表示一维高斯模板W上与该模板中心点相距r处的值,W表示一维高斯模板,r表示一维高斯模板上任意点到中心点的距离,r∈(-Z,Z),∈表示属于符号,Z表示一维高斯模板的半径,e表示自然对数,σ表示高斯模板的标准差;
(4)拷贝高斯模板和待处理图像;
(4a)在图形计算单元GPU中申请用于保存高斯模板和待处理图像的显存;
(4b)将高斯模板拷贝到显存的常量存储器中,将待处理图像拷贝到显存的全局存储器中;
(5)执行第一个内核对象;
(5a)给待处理图像的每一个像素点分配一个工作项;
(5b)给执行第一个内核对象的每一个工作组分配256个工作项;
(5c)给第一个内核对象设置4个参数,分别为:待处理图像的长度,待处理图像的宽度,拷贝进GPU显存的待处理图像和高斯模板;
(5d)将图形计算单元GPU全局存储器中的待处理图像缓存到局部存储器中;
(5e)从缓存到局部存储器中的待处理图像依次读取21×21个像素点,组成搜索窗;
(5f)读取缓存到局部存储器中待处理图像的一个小图像片,该小图像片是以搜索窗中心像素点为中心,大小为d×d的二维搜索窗中心图像片,d=2×Z+1,Z表示高斯模板的半径;
(5g)读取缓存到局部存储器中待处理图像的一个小图像片,该小图像片是以搜索窗下半部分每一个像素点为中心,大小为d×d的二维搜索窗下半部分相似图像片,d=2×Z+1,Z表示高斯模板的半径;
(5h)按照下式,对二维搜索窗中心图像片和二维搜索窗下半部分相似图像片进行投影,得到一维搜索窗中心图像片和一维搜索窗下半部分相似图像片:
I P ‾ d × 1 ( a ) = Σ x = b - Z b + Z IP d × d ( a , b ) d
I S ‾ d × 1 ( i ) = Σ y = j - Z j + Z IS d × d ( i , y ) d
其中,表示以目标像素点(a,b)为中心的二维搜索窗中心图像片IPd×d(a,b)经过投影后得到的一维搜索窗中心图像片,d=2×Z+1,Z表示高斯模板的半径,x表示二维搜索窗中心图像片IPd×d(a,b)的列序号,x∈[b-Z,b+Z],∈表示属于符号,∑表示求和操作,表示以像素点(i,j)为中心的二维搜索窗下半部分相似图像片ISd×d(i,j)经过投影后得到的一维搜索窗下半部分相似图像片,y表示二维搜索窗下半部分相似图像片ISd×d(i,j)的列序号,y∈[j-Z,j+Z];
(5i)按照下式,计算一维搜索窗中心图像片和一维搜索窗下半部分相似图像片高斯加权的欧式距离:
T e m p ( i , j , a , b ) = | | W ⊗ [ I S ‾ d × 1 ( i ) - I P ‾ d × 1 ( a ) ] | | 2 2
其中,Temp(i,j,a,b)表示一维搜索窗中心图像片和一维搜索窗下半部分相似图像片高斯加权的欧式距离,W表示高斯模板,表示卷积操作,表示欧氏距离操作;
(5j)在图形计算单元GPU的全局存储器中创建一个数组,将高斯加权的欧氏距离保存在该数组里;
(6)执行第二个内核对象;
(6a)给待处理图像的每个像素点分配一个工作项;
(6b)给执行第二个内核对象的每个工作组分配256个工作项;
(6c)在图形计算单元GPU中申请用于存放滤波后图像的显存;
(6d)给第二个内核设置4个参数:待处理图像的长度,待处理图像的宽度,拷贝进GPU缓存的待处理图像和滤波后图像;
(6e)将图形计算单元GPU的全局存储器里的待处理图像缓存到局部存储器;
(6f)从缓存到局部存储器中的待处理图像依次读取21×21个像素点,组成搜索窗;
(6g)按照下式,计算搜索窗上像素点的权值:
ω ( i , j , a , b ) = e - T e m p ( i , j , a , b ) h 2
其中,ω(i,j,a,b)表示搜索窗上像素点(i,j)的权值,e表示自然对数,h表示衰减因子,Temp(i,j,a,b)表示一维搜索窗中心图像片和一维搜索窗下半部分相似图像片高斯加权的欧氏距离;
(6h)按照下式,计算搜索窗中心像素点经过非局部平均滤波后的像素值:
y ^ ( a , b ) = Σ ( i , j ) ∈ Ω ( a , b ) ω ( i , j , a , b ) y ( i , j ) Σ ( i , j ) ∈ Ω ( a , b ) ω ( i , j , a , b )
其中,表示搜索窗中心像素点的像素值y(a,b)经过非局部平均滤波后的像素值,∑表示求和操作,(i,j)表示搜索窗上像素点,∈表示属于符号,Ω(a,b)表示以搜索窗中心像素点(a,b)为中心的21×21大小的邻域,ω(i,j,a,b)表示搜索窗上像素点(i,j)的权值,y(i,j)表示像素点(i,j)处的像素值;
(6i)用搜索窗中心像素点滤波后的像素值赋给步骤(6c)申请的滤波后图片的对应像素点,得到图形计算单元GPU中的滤波后图像;
(7)保存结果图像;
从图形计算单元GPU拷贝滤波后图像,保存于中央处理器CPU内存中。
2.根据权利要求1所述的基于GPU加速的非局部平均滤波实时处理方法,其特征在于:步骤(3)中一维高斯模板半径Z的取值范围是1~5个像素。
3.根据权利要求1所述的基于GPU加速的非局部平均滤波实时处理方法,其特征在于:步骤(3)中所述的高斯模板的标准差σ的取值范围是[0,3]。
4.根据权利要求1所述的基于GPU加速的非局部平均滤波实时处理方法,其特征在于:步骤(6g)中所述衰减因子h的取值范围是[7,20]。
CN201610370775.7A 2016-05-30 2016-05-30 基于gpu加速的非局部平均滤波实时处理方法 Active CN105931207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610370775.7A CN105931207B (zh) 2016-05-30 2016-05-30 基于gpu加速的非局部平均滤波实时处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610370775.7A CN105931207B (zh) 2016-05-30 2016-05-30 基于gpu加速的非局部平均滤波实时处理方法

Publications (2)

Publication Number Publication Date
CN105931207A true CN105931207A (zh) 2016-09-07
CN105931207B CN105931207B (zh) 2018-08-10

Family

ID=56841423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610370775.7A Active CN105931207B (zh) 2016-05-30 2016-05-30 基于gpu加速的非局部平均滤波实时处理方法

Country Status (1)

Country Link
CN (1) CN105931207B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292804A (zh) * 2017-06-01 2017-10-24 西安电子科技大学 基于OpenCL的直接多曝光融合并行加速方法
CN109829865A (zh) * 2019-01-31 2019-05-31 浙江工业大学 一种通过减少重复计算进行的加速滤波方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120105728A1 (en) * 2010-10-28 2012-05-03 Microsoft Corporation Methods and apparatus for reducing structured noise in video
US20130202080A1 (en) * 2012-02-07 2013-08-08 Lifeng Yu System and Method for Denoising Medical Images Adaptive to Local Noise
CN103544682A (zh) * 2013-09-17 2014-01-29 华中科技大学 一种三维超声图像非局部均值滤波方法
CN103927737A (zh) * 2013-10-31 2014-07-16 王浩然 基于非局部均值的sar图像变化检测方法
CN104268847A (zh) * 2014-09-23 2015-01-07 西安电子科技大学 一种基于交互非局部均值滤波的红外与可见光图像融合方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120105728A1 (en) * 2010-10-28 2012-05-03 Microsoft Corporation Methods and apparatus for reducing structured noise in video
US20130202080A1 (en) * 2012-02-07 2013-08-08 Lifeng Yu System and Method for Denoising Medical Images Adaptive to Local Noise
CN103544682A (zh) * 2013-09-17 2014-01-29 华中科技大学 一种三维超声图像非局部均值滤波方法
CN103927737A (zh) * 2013-10-31 2014-07-16 王浩然 基于非局部均值的sar图像变化检测方法
CN104268847A (zh) * 2014-09-23 2015-01-07 西安电子科技大学 一种基于交互非局部均值滤波的红外与可见光图像融合方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KUIDONG HUANG等: "Non-local means denoising algorithm accelerated by GPU", 《PROCEEDINGS OF SPIE》 *
路阳: "多尺度改进非局部平均图像去噪算法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292804A (zh) * 2017-06-01 2017-10-24 西安电子科技大学 基于OpenCL的直接多曝光融合并行加速方法
CN107292804B (zh) * 2017-06-01 2019-09-17 西安电子科技大学 基于OpenCL的直接多曝光融合并行加速方法
CN109829865A (zh) * 2019-01-31 2019-05-31 浙江工业大学 一种通过减少重复计算进行的加速滤波方法

Also Published As

Publication number Publication date
CN105931207B (zh) 2018-08-10

Similar Documents

Publication Publication Date Title
CN107341127B (zh) 基于OpenCL标准的卷积神经网络加速方法
CN106991665B (zh) 基于cuda图像融合并行计算的方法
CN103336959A (zh) 一种基于gpu多核并行加速的车辆检测方法
CN110060286B (zh) 一种单目深度估计方法
CN108596885B (zh) 基于cpu+fpga的快速sar图像变化检测方法
CN104732490A (zh) 基于cuda的快速双边滤波方法
CN113807361B (zh) 神经网络、目标检测方法、神经网络训练方法及相关产品
CN111739144A (zh) 一种基于深度特征光流的同时定位和建图的方法及装置
CN112507918A (zh) 一种手势识别方法
CN105957028A (zh) 基于OpenCL的GPU加速分片双边滤波方法
CN105931207A (zh) 基于gpu加速的非局部平均滤波实时处理方法
CN113743346A (zh) 图像识别方法、装置、电子设备及存储介质
WO2021120577A1 (zh) 神经网络模型中的数据计算方法、图像处理方法及装置
CN113537017A (zh) 基于级联型回归修正的光学遥感图像飞机检测方法和装置
CN110188682B (zh) 基于几何结构双路卷积网络的光学遥感图像目标检测方法
CN102110283B (zh) 并行且矢量化的gilbert-johnson-keerthi图形处理
CN104156956B (zh) 一种基于高斯小波一维峰值识别的多角度边缘检测方法
CN114627292B (zh) 工业遮挡目标检测方法
CN113255646B (zh) 一种实时场景文本检测方法
CN108009576A (zh) 一种目标匹配的物体识别方法、设备及存储设备
CN113643370A (zh) 一种基于ncc算法的图像定位方法与装置
CN102938156B (zh) 一种基于积分图像的面状注记配置方法
CN113743487A (zh) 一种增强型遥感影像目标检测方法及系统
CN112329544A (zh) 基于深度信息的手势识别机器学习方法及系统
Shaw et al. A survey of digital image segmentation algorithms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant