快速双边滤波综述
快速双边滤波器资料

空间领域通过二次采样的低存储、简单、快速双边滤波器摘要:文章提出一个算法,来加速基于二次采样的策略的彩色双边滤波器,工作在空间领域。
基本思路是使用一个合适样本子集来获得一个准确滤波器的好的估计,方法的优点是在视觉质量和加速之间有一个很好的权衡,需要一个小的内存开销和非常简单的在GPU上实现实时滤波,论文展示了滤波器的不同应用,特别是高效的交叉滤波器,实时识别边的图像编辑和快速视频去噪,我们从时间性能,内存使用,图像质量和前沿方法比较。
介绍:领域处理包括:1. 定义中心点(x,y)2. 仅对定义的以(x,y)为中心的领域进行运算,3. 运算结果为该点处处理的响应,4 . 对图像上的每一点做相同的操作。
移动中心会产生新的领域,每个领域对应与输入图像上的一个像素。
线性滤波的概念源于频域中信号处理所使用的傅利叶变换。
线性运算包括将领域中的每一个像素与相应的系数相乘,然后将结果进行累加,从而得到(x,y)处的响应,若领域的大小是m*n,则总共需要mn个系数。
这些系数排列成矩阵,我们称为滤波器、掩模、滤波掩模、核、模板或者窗口。
为简便起见,我们通常称为卷积滤波、掩模或核等术语。
非线性空间滤波也是基于领域操作,和线性滤波不一样,它是基于非线性操作,令每一点处的响应等于其领域的最大像素值的操作就是非线性滤波。
非线性滤波器广泛使用在计算机图论、图像和视觉,用作不同的应用,特别指出,双边滤波器是一个非常流行的非线性滤波器,由Tomansi和Manduchi两人提出的,因为过滤图像的区域同时保持完整的边。
而且它简单的公式和灵活性使得它应用在不同的问题上,例如:消除图像噪音、图像视频格式化、高动态范围色调映射、频闪摄影术、边清晰的二次采样等等,根据Tomansi和Manduchi公式,双边滤波器定义如下:I 表示一个k维图像,Ω表示像素x i的一个集合,f r和g s分别表示范围衰减函数和空间衰减函数,这些函数都是权值函数,典型的高斯函数,Adams 提出了公式1的一个简洁形式:p是多维像素,例如pi={r i,g i,b i,x i,y i}T , (ri , gi , bi )T是RGB颜色,(xi,yi)是像素的空间坐标位置,pi乘以高斯函数的一个标准方差(σr , σg , σb , σx , σy )−T,方程2认为权值函数是高斯函数,在我们的方法中,我们没有作出太多的假设,保持了原有的公式,方程1的计算复杂度非常高,图像的每一个像素的时间复杂度是O(N k),这些年,在算法的改进方面激发了大量的研究工作,来加快计算速度。
高效双边滤波实现方法

高效双边滤波实现方法高效双边滤波实现方法高效双边滤波是一种图像处理技术,可以保留图像的边缘信息同时去除噪声。
下面是实现该方法的步骤:1. 了解双边滤波的原理:双边滤波是一种基于空间域和灰度相似度的滤波方法。
对于每个像素,它考虑其空间上的邻域像素和灰度相似度,通过加权平均的方式来计算新的像素值。
2. 导入所需的图像处理库:在实现高效双边滤波之前,需要导入适当的图像处理库。
例如,在Python中,可以使用OpenCV库。
3. 加载图像:使用图像处理库中的函数,将待处理的图像加载到内存中。
4. 定义滤波器参数:高效双边滤波需要设置一些参数,包括空间域的标准差、灰度相似度的标准差和权重系数。
您可以根据实际需求调整这些参数。
5. 创建滤波器:使用图像处理库中的双边滤波函数,创建一个双边滤波器。
将之前定义的参数传递给该函数。
6. 应用滤波器:将待处理的图像传递给滤波器函数,对图像进行滤波处理。
这将生成一个新的滤波后的图像。
7. 显示结果:使用图像处理库中的显示函数,将原始图像和滤波后的图像进行比较,并将它们显示在屏幕上。
这样可以直观地观察滤波效果。
8. 调整参数:如果对滤波效果不满意,可以尝试调整滤波器的参数,重新应用滤波器并观察结果。
通过不断尝试和调整参数,可以得到更好的滤波效果。
9. 保存结果:如果滤波效果令人满意,可以使用图像处理库中的保存函数,将滤波后的图像保存到磁盘上。
10. 清理资源:在程序结束之前,需要释放内存和清理资源。
关闭图像处理库,并释放所有相关的内存。
通过以上步骤,您可以轻松地实现高效双边滤波方法来处理图像,并获得去除噪声同时保留边缘信息的效果。
记住,根据实际需求,可能需要不断调整参数来获得最佳的滤波效果。
双边滤波原理

双边滤波原理
双边滤波是一种图像处理算法,其目的在于减少图像中的锯齿和亮度动态范围的不平衡。
它使用一个5x5抽样来模拟空间函数,以缩放图像,并使用两个指数函数来模拟亮度调节函数,这样可以优先考虑像素之间的差异,从而成膨胀和腐蚀图像边缘。
双边滤波器通常于消除图像细节上的特征,并平滑图像上的硬边缘。
首先,双边滤波器定义一个距离函数是基于表面形状(或者说像素局部特性)在空间中的改变情况。
它还有一个空间滤波函数的概念,它可以根据像素的距离来调节滤波器的力度,从而使滤波效果更加柔和,从而实现更好的平滑效果。
双边滤波的工作原理是把局部的像素点在空间上抽象成一个高斯函数,然后使用该高斯函数计算出每个像素点与其他点的距离权重,并计算出每个像素点的新值。
在算法中,双边滤波器会首先计算表面形状,然后进行模糊操作,最后根据表面形状再次调节模糊的结果。
双边滤波与其他图像处理方法相比,具有权威性和准确性。
双边滤波也可以很好地保留原始图像中的细节信息,而不会失真,所以它是一种更优秀的图像处理算法。
双边滤波主要用于图像平滑处理,它可以用于美化图像,增强图像,抗噪声,以及轮廓检测等应用中,对图像质量和处理效果都有很大的帮助。
简述双边滤波的原理及应用

简述双边滤波的原理及应用1. 原理双边滤波是一种非线性的图像滤波算法,能够在去除图像噪声的同时保持边缘信息。
它的原理是通过结合图像的空间距离和像素值相似度来进行滤波。
算法的核心思想是通过一个窗口在图像中滑动,对每个像素进行滤波处理。
在窗口内,通过计算空间距离的权重和像素值相似度的权重得到最终的滤波结果。
具体的计算公式如下:$$ I^{\\text{filtered}}(x, y) =\\frac{1}{W_p}\\sum_{(i,j)\\in\\Omega}{G_{\\sigma_s}(d_{ij})G_{\\sigma_r}(I(x,y) -I(i,j))I(i,j)} $$其中, - $I^{\\text{filtered}}(x, y)$表示滤波后的像素值, - I(x,y)表示当前像素的值, - (i,j)表示窗口内的像素位置, - $\\Omega$表示窗口内的像素集合, - d ij表示当前像素与窗口内像素位置的空间距离, - $G_{\\sigma_s}(d_{ij})$表示空间距离的权重, - $\\sigma_s$控制空间距离的衰减速度, - $G_{\\sigma_r}(I(x,y)-I(i,j))$表示像素值相似度的权重, - $\\sigma_r$控制像素值相似度的衰减速度, - W p表示归一化的权重和。
双边滤波通过调整$\\sigma_s$和$\\sigma_r$来控制滤波效果,两个参数的取值会直接影响滤波的平滑程度和边缘保持效果。
2. 应用双边滤波算法在图像处理中有广泛的应用,主要包括以下几个方面:2.1 图像去噪双边滤波算法能够有效地去除图像中的噪声,包括高斯噪声、椒盐噪声等。
相比于传统的线性滤波算法,双边滤波能够保持图像的边缘信息,避免了因平滑操作而导致的边缘模糊问题。
2.2 图像增强由于双边滤波算法能够保持图像的细节信息,因此可以用于图像增强的应用。
通过调整滤波参数,可以增强图像的纹理、边缘、细节等特点,使图像更加清晰、鲜明。
双边滤波算法的原理.docx

双边滤波算法的原理、流程、实现及效果2013-11-07 15:17 1969人阅读评论(1) 收藏举报MATALB图像处理双边滤波一、引言双边滤波在图像处理领域中有着广泛的应用,比如去噪、去马赛克、光流估计等等,最近,比较流行的Non-Local算法也可以看成是双边滤波的一种扩展。
自从Tomasi et al等人提出该算法那一天起,如何快速的实现他,一直是人们讨论和研究的焦点之一,在2011年及2012年Kunal N. Chaudhury等人发表的相关论文中,提出了基于三角函数关系的值域核算法,能有效而又准确的实现高效双边算法。
本文主要对此论文提出的方法加以阐述。
双边滤波的边缘保持特性主要是通过在卷积的过程中组合空域函数和值域核函数来实现的,典型的核函数为高斯分布函数,如下所示:(1)其中:(2)为归一化的作用。
σs为空域高斯函数的标准差,σr为值域高斯函数的标准差,Ω表示卷积的定义域。
可见,在图像的平坦区域,f(y)-f(x)的值变化很小,对应的值域权重接近于1,此时空域权重起主要作用,相当于直接对此区域进行高斯模糊,在边缘区域,f(y)-f(x)会有较大的差异,此时值域系数会下降,从而导致此处整个核函数的分布的下降,而保持了边缘的细节信息。
直接的编码实现上述过程是相当耗时的,其时间复杂度为O(σs2),因此严重的限制住了该算法的推广和实际使用。
不断有学者提出了解决的办法,其中Porikli基于一些假定对此过程进行了优化,比如我就实现过其中一种:空域函数为均值函数,值域为任何其他函数,此时可以用直方图技术进行处理,可减少计算量,但我的实践表明该算法那速度还是慢,并且效果也不好。
在2011的论文《Fast O(1) bilateral filtering using trigonometric range kernels》中,作者提出了用Raised cosines函数来逼近高斯值域函数,并利用一些特性把值域函数分解为一些列函数的叠加,从而实现函数的加速。
双边滤波算法原理及实现

双边滤波算法原理及实现双边滤波是一种经典的图像滤波算法,用于平滑图像并保留边缘信息。
它的主要思想是在滤波过程中同时考虑像素的空间距离和像素的灰度差异,从而实现平滑效果并保持边缘清晰。
w(x, y, p, q) = spatial\_weight \* range\_weight其中,x和y表示当前像素的位置,p和q表示待滤波像素的位置;spatial\_weight和range\_weight分别表示空间距离权重和灰度差异权重。
空间距离权重通过计算像素之间的欧式距离来确定。
当两个像素越接近时,它们的空间距离权重越大。
灰度差异权重通过计算像素之间的灰度差异来确定。
当两个像素之间的灰度差异越小时,它们的灰度差异权重越大。
在实现双边滤波算法时,可以利用高斯函数来计算空间距离权重。
高斯函数的计算公式如下:spatial\_weight = exp(-(x-p)(x-p)/(2\*space\_sigma\*space\_sigma) -(y-q)(y-q)/(2\*space\_sigma\*space\_sigma))其中,space\_sigma是一个控制空间距离权重衰减速度的参数。
灰度差异权重可以通过计算像素之间的灰度值差异来实现。
在实际应用中,可以使用差分算子来计算灰度差异权重。
最后,将权值函数应用于图像的每个像素,通过对像素进行加权平均来实现滤波效果。
具体实现时,可以利用滑动窗口来计算权值函数,然后将滑动窗口应用到整个图像上。
需要注意的是,双边滤波算法的实现复杂度较高,且计算量较大。
为了提高计算效率,可以采用一些优化策略,如将图像进行分块处理,减少计算量。
总结来说,双边滤波是一种有效的图像滤波算法,能够同时平滑图像和保持边缘信息。
通过对像素的空间距离和灰度差异进行加权平均,这种算法能够兼顾平滑效果和边缘清晰度。
在实际应用中,双边滤波算法被广泛应用于图像处理、计算机视觉和图像识别等领域。
图像处理基础(5):双边滤波器
图像处理基础(5):双边滤波器由 Soso 于星期四, 2018-09-06 10:48 发表双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。
双边滤波器之所以能够做到在平滑去噪的同时还能够很好的保存边缘(Edge Preserve),是由于其滤波器的核由两个函数生成:• 一个函数由像素欧式距离决定滤波器模板的系数• 另一个函数由像素的灰度差值决定滤波器的系数其综合了高斯滤波器(Gaussian Filter)和α-截尾均值滤波器(Alpha-Trimmed mean Filter)的特点。
高斯滤波器只考虑像素间的欧式距离,其使用的模板系数随着和窗口中心的距离增大而减小;Alpha截尾均值滤波器则只考虑了像素灰度值之间的差值,去掉α% 的最小值和最大值后再计算均值。
双边滤波器使用二维高斯函数生成距离模板,使用一维高斯函数生成值域模板。
距离模板系数的生成公式如下:其中,( k , l ) 为模板窗口的中心坐标;( i , j ) 为模板窗口的其他系数的坐标;σd 为高斯函数的标准差。
使用该公式生成的滤波器模板和高斯滤波器使用的模板是没有区别的。
值域模板系数的生成公式如下:其中,函数 f ( x , y ) 表示要处理的图像,f ( x , y ) 表示图像在点(x,y)(x,y)处的像素值;( k , l ) 为模板窗口的中心坐标;( i , j ) 为模板窗口的其他系数的坐标;σr 为高斯函数的标准差。
将上述两个模板相乘就得到了双边滤波器的模板实现(参考OpenCV源代码)这里的实现主要参考OpenCV中的bilateralFilter实现,其实现主要有两个优化:• 使用查表的方式计算灰度值模板系数• 将二维的模板转换为一维,降低算法复杂度。
在滤波之前,首先将灰度值模板系数计算出来。
双边滤波快速实现方法
双边滤波快速实现方法双边滤波快速实现方法双边滤波是一种常用的图像滤波技术,它能够有效去除图像中的噪声,并保持图像边缘的清晰度。
下面我将介绍一种快速实现双边滤波的方法,并逐步解释每个步骤的思路。
1. 首先,我们需要明确双边滤波的原理。
双边滤波通过同时考虑图像中像素的空间距离和灰度差异来决定滤波器的权重。
具体而言,对于每个像素点,滤波器会计算它与周围像素的空间距离和灰度差异,并将其作为权重。
2. 接下来,我们要确定双边滤波的参数。
双边滤波的参数包括滤波器的尺寸、空间距离权重和灰度差异权重。
一般来说,滤波器的尺寸越大,滤波效果越好,但计算时间也会增加。
空间距离权重和灰度差异权重的选择可以根据具体应用进行调整。
3. 然后,我们需要定义一个滤波器函数。
该函数将输入的图像以及滤波器的参数作为输入,并输出滤波后的图像。
在函数中,我们需要遍历图像中的每个像素点,并计算其与周围像素的空间距离和灰度差异。
4. 在计算空间距离时,我们可以使用欧氏距离来衡量像素之间的距离。
计算灰度差异时,可使用像素之间的灰度差的平方。
5. 接下来,我们需要计算滤波器的权重。
权重的计算需要使用到空间距离权重和灰度差异权重。
一般来说,空间距离权重可以通过一个高斯函数来计算,而灰度差异权重可以通过一个高斯函数或者一个指数函数来计算。
6. 在计算权重时,我们还需要考虑滤波器的尺寸。
一种常用的做法是,将滤波器的尺寸设为一个较小的值,然后通过对图像进行多次滤波来获得最终的滤波效果。
7. 最后,我们需要将计算得到的权重应用到滤波器中,以获得滤波后的图像。
具体来说,我们可以将每个像素点的权重与其对应的像素值相乘,并将结果累加起来作为滤波后的像素值。
通过以上步骤,我们就可以快速实现双边滤波。
当然,在实际应用中,我们可能需要根据具体情况对每个步骤进行调整和优化,以获得更好的滤波效果和计算性能。
双边滤波的原理
双边滤波的原理
双边滤波是一种常用的图像滤波算法,可以消除图像中的噪声同时保留边缘信息。
其原理是在滤波过程中考虑像素之间的空间距离和像素值之间的差异,从而达到更好的滤波效果。
双边滤波器一般由一个核函数和一个距离函数组成。
核函数通常是高斯函数,用于计算像素值之间的相似度,而距离函数则用于计算像素之间的空间距离。
在滤波过程中,对于每个像素,双边滤波器会计算其周围像素的权重,然后根据这些权重对像素值进行加权平均,从而得到滤波后的像素值。
与其他滤波算法相比,双边滤波具有以下优点:
1. 保留边缘信息:由于双边滤波器考虑了像素之间的空间距离和像素值之间的差异,因此可以在滤波过程中保留边缘信息。
2. 良好的去噪效果:双边滤波器可以有效地消除图像中的噪声,尤其是高斯噪声。
3. 可调参数:双边滤波器有两个参数,一个是核函数的大小,一个是像素值之间的差异阈值,可以根据需要进行调整,以达到更好的滤波效果。
但是,双边滤波器也存在一些缺点,例如:
1. 计算复杂度高:由于需要计算像素之间的空间距离和像素值之间的相似度,因此计算复杂度比其他滤波算法高。
2. 易受光照变化影响:双边滤波器的滤波效果受到光照变化的影响,因此在强光或弱光环境下,滤波效果可能会受到影响。
在实际应用中,双边滤波器被广泛应用于图像去噪、图像增强、图像分割等领域。
例如,在计算机视觉领域,双边滤波器可以用于人脸识别、物体检测等任务中,以提高算法的准确性和可靠性。
双边滤波器是一种常用的图像滤波算法,具有良好的去噪效果和保留边缘信息的特点,但也存在一些缺点,需要根据实际需求进行选择和调整。
快速双边滤波综述
快速双边滤波综述快滤双边滤波⼀、关于双边滤波(BLF)C.Tomasi 和R.Manduchi 提出了⼀种⾮迭代的简单策略,⽤于边缘保持滤波,称之为双边滤波。
双边滤波的内在想法是:在图像的值域(range )上做传统滤波器在空域(domain )上做的⼯作。
空域滤波对空间上邻近的点进⾏加权平均,加权系数随着距离的增加⽽减少;值域滤波则是对像素值相近的点进⾏加权平均,加权系数随着值差的增⼤⽽减少。
低通空域滤波器定义如下,f(x)为输⼊图像,h(x)为输出图像:1()()()(,)d x k c d ξξξ∞∞--∞-∞=??h x f x在上式中,(,)c ξx 度量了邻域中⼼点x 与邻近点ξ的⼏何邻近度,d k 为归⼀化参数,其值与图像的内容⽆关,在相同的⼏何位置其值恒定。
同理,值域滤波可定义如下:1()()()((),())r x k s d ξξξ∞∞--∞-∞=??h x f f f x((),())s ξf f x 度量了邻域中⼼点x 与邻近点ξ像素的光度相似性,r k 为归⼀化参数,与d k 不同,r k 的值依赖于图像f 。
单单应⽤值域滤波是没有意义的,它仅仅改变了图像的颜⾊映射,因为在空间上远离领域中⼼x 的点的取值不应该对x 的最终值有所影响。
恰当的做法是结合空域与值域滤波,也即同时考虑⼏何位置与光度⼤⼩。
组合后的滤波即为双边滤波器:1()()()(,)((),())x k c s d ξξξξ∞∞--∞-∞=??h x f x f f x这种结合后的滤波器称之为双边滤波器。
它⽤与x 点空间邻近且光度相似的点的像素值平均来取代x 点上原来的像素值。
在平滑的区域,双边滤波器表现为标准的⽹域滤波器,通过平均过滤掉噪声。
如图2(a )所⽰,存在⼀条锐利的分界线将图像分为暗和明的区域两个区域,当双边滤波器被定位在明区域上的⼀个像素点时,相似函数s 对同⼀侧的像素值取近似于1的值,对暗区域的像素点取近似于0的值,如图2(b )所⽰。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
f ( ) s(f ( ), f (x))d
s(f ( ), f (x)) 度量了邻域中心点
x 与邻近点 像素的光度相似性, kr
为归一化参数,与 kd 不同, kr 的值依赖于图像 f。 单单应用值域滤波是没有意义的,它仅仅改变了图像的颜色映 射, 因为在空间上远离领域中心 x 的点的取值不应该对 x 的最终值有 所影响。恰当的做法是结合空域与值域滤波,也即同时考虑几何位置 与光度大小。组合后的滤波即为双边滤波器:
快滤双边滤波 一、 关于双边滤波(BLF)
C.Tomasi 和 R.Manduchi 提出了一种非迭代的简单策略,用于边 缘保持滤波,称之为双边滤波。双边滤波的内在想法是:在图像的值 域(range)上做传统滤波器在空域(domain)上做的工作。空域滤 波对空间上邻近的点进行加权平均,加权系数随着距离的增加而减 少;值域滤波则是对像素值相近的点进行加权平均,加权系数随着值 差的增大而减少。 低通空域滤波器定义如下,f(x)为输入图像,h(x)为输出图像:
式(5) 其中 c 是规范化系数,把上式重新表示为
式(6) 选择适当的 σ2 值,就可以在窗口上评价该值,以便获取核或模板。 首先选择 n 值和 σ2 值,然后根据式(4)计算出模板的右下角元素, 再根据高斯模板的中心左右上下对称性(如图 1 c7×7 的模板结构所 示)对应地复制给其它三个区域,即可得出整个模板的元素,最后再
4. FGT 泰勒级数展开 4.1 快速高斯变换
应用于处理如下形式的高展开为:
进行平移和尺度变换后有:
由上面可以得下式:
于是对多维的情况可以表示如下
4.2 基于快速高斯变换的双边滤波
在文章[Fast Gauss Bilateral Filtering]中,作者应用 FGT 的办法, 首先对双边滤波的表达式进行改写: 其中:
1.2 具体应用到高斯滤波器
高斯平滑滤波器的原理高斯滤波器是根据高斯函数的形状来选择 权值的线性平滑滤波器。 高斯平滑滤波器对去除服从正态分布的噪声 是很有效果的。一维零均值高斯函数为 。其中,高斯分
布参数决定了高斯滤波器的宽度。对图像来说,常用二维零均值离散 高斯函数作平滑滤波器,函数表达式如下:
式(2)
式(3)
式(4)
离散高斯平滑滤波器的设计在高斯滤波器的设计中, 高斯函数的最佳 逼近由二项式展开的系数决定。由高斯函数的可分离性得到,二维高 斯滤波器能用 2 个一维高斯滤波器逐次卷积来实现,一个沿水平方 向,一个沿垂直方向。实际上,这种运算可以通过使用单个一维高斯 模板,对两次卷积之间的图像和最后卷积的结果图像进行转置来完 成。对较大的滤波器,二项式展开系数对大多数计算机来说都太多, 但是,任意大的高斯滤波器都能通过重复使用小的高斯滤波器来实 现。设计高斯滤波器的另一途径是直接从离散高斯分布中计算模板 值。
对全部的模板元素求和、取倒数即求得规范化系数。
2. 使用 3D 直方图
Weiss 在文章[Wei06]中提出用一个基于 3 维直方图的方法,并 用此方法来加速正方形空间核的二维双边滤波。 其算法的主要思想就 是改变图像直方图的表示方式来达到加速图像处理的过程, 同时达到 在任意位宽的图像,任意大小的滤波核的情况下其时间复杂度都为
h( x) k 1 (x)
f ( )c( , x) s(f ( ), f (x))d
这种结合后的滤波器称之为双边滤波器。 它用与 x 点空间邻近且 光度相似的点的像素值平均来取代 x 点上原来的像素值。 在平滑的区 域,双边滤波器表现为标准的网域滤波器,通过平均过滤掉噪声。如 图 2(a)所示,存在一条锐利的分界线将图像分为暗和明的区域两 个区域,当双边滤波器被定位在明区域上的一个像素点时,相似函数 s 对同一侧的像素值取近似于 1 的值,对暗区域的像素点取近似于 0 的值,如图 2(b)所示。滤波操作的结果是,滤波器用中心点周围 的明区域像素点的平均值来取代原来中心点的值, 而忽略与其邻近的 暗区域像素点,反之亦然。因为公式中网域要素的作用,过滤后的图 像达到良好的平滑效果,同时因为值域要素的作用,明暗区域的分界 线也被很好地保留了(见图 2(c) ) 。
然后定义:
其中 ti 为目标点,si 为源点。
作者的记法(O(N))setting g1(x-y)=1,其中 I(x)=J(u)。
4.3 基于改进的快速高斯变换的双边滤波
三、 总结与展望
参考文献:
[1] Pham and Vliet: separable bilateral filtering for fast video preprocessing . [PvV05] [2] Weiss:Fast Median and Bilateral Filtering.[Wei06] [3] Porikli:Contant time O(1) Bilatearal Filtering.[Por08] [4] Paris and Durand:A Fast Approximation of the Bilateral Filter
大小,计算所有离散点上一维高斯函数的权值,最后将权值之和归一 化到 1. 另外,可以设法将二维模板运算转换成一维模板运算,对速 度的提高也是非常可观的。 例如,(1)式可以分解成一个水平模板和一个垂直模板,即,
= (1 ) 我们来验证一下。
×
= (2)
设图象为
,经过(1)式处理后变为
,经
过(2)式处理后变为
(log r) ; 这是一种基于处理每个像素需要的时间复杂度度量,在之前
的双边滤波算法都是在 ( r ) 之上。其核心思想就是利用多个部分直方 图来合成一个完整的直方图,相邻列可以并行处理,相邻行之间的改 变也大大缩小了; 并且在对直方图的排序时采用基数排序来代替传统 的快速排序。而该改进确实可以提升算法的速度,但是存储开销非常 大,文中则提出了一种基于序数变化的思想来减小存储开销。对于高 精度的图像他又提出了一种基于移位操作的逐步取精的方法, 即在源 图像上右移 8 位得到一个低位图像然后进行双边滤波, 得到的结果保 存以便第二次移位得到的图像利用,以便更快的找到中值;最后右移 完成,那么整个高精度的图像也就完成了滤波。 在最近的文章[Por08]中,Porikli 同样介绍了基于 3 维直方图 的一种低计算复杂度的算法,Porikli 提出常数时间双边滤波算法 O (1) 。其中常数时间是指计算时间与滤波核大小 r 无关。文章针对不 同特征的双边滤波采用不同的证明方法。文章主要提供了三种方法: 整体直方图,线性滤波器,泰勒级数。作者证明几种情况都能使双边 滤波达到 o(1)。
,两者完全一样。如果计算时
不考虑周围一圈的象素,前者做了 4×(9 个乘法,8 个加法,1 个除 法),共 36 个乘法,32 个加法,4 个除法;后者做了 4×(3 个乘法, 2 个加法)+4×(3 个乘法,2 个加法)+4 个除法,共 24 个乘法,16 个 加法,4 个除法,运算简化了不少,如果是大图,效率的提高将是非 常客观的。
using a Signal Processing Approach[PD06] [5] XiaoliangWan: transform[WK06] [6] Durand and Dorsey: Fast of High-Dynamic Images Bilateral Filtering for the Display A sharp error estimate for the fast Gauss
1 h( x ) k d (x)
f ( )c( , x)d
在上式中, c( , x) 度量了邻域中心点 x 与邻近点 的几何邻近度,
kd 为归一化参数,其值与图像的内容无关,在相同的几何位置其值恒
定。 同理,值域滤波可定义如下:
h( x) kr1 (x)
式(1)
由于高斯函数的可分离性,高斯滤波器加速可以有效实现。通过二维 高斯函数的卷积可以分两步来进行, 首先将图像与一维高斯函数进行 卷积,然后将卷积的结果与方向垂直的相同一维高斯函数进行卷积。 因此, 二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平 方增长。这些性质使得它在早期的图像处理中特别有用,表明高斯平 滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器。 高斯函数的可分离性很容易表示:
2
二、 双滤滤加速的典型方法
1. 分离高斯核的方法(对每个空间方向使用一维双边滤波)
Pham and Vliet 在[PvV05]这篇文章中提出用一维的双边滤波器分 别对各个空间方向进行滤波。结果非常快,但在图象边缘分布着坐标 系的地方会产生人工的痕迹。
1.1 简单的分离高斯核
由于高斯函数可以写成可分离的形式, 因此可以采用可分离滤波 器实现来加速。所谓的可分离滤波器,就是可以把多维的卷积化成多 个一维卷积。具体到二维的高斯滤波,就是指先对行做一维卷积,再 对列做 一维卷 积。这 样就可 以将计 算复杂 度从 O(M*M*N*N) 降到 O(2*M*M*N),M,N 分别是图像和滤波器的窗口大小。问题是实现时 候怎么计算一维的卷积核呢?其实很简单, 按照前面计算出来的窗口
3. 基于 FFT 加速的方法
Durand and Dorsey 在文章[DD02]中提出一种快速的近似算法来 处理 3 维的双边滤波,该算法通过将灰度核 g2 表示为 g2(n-I(y))I(y), 其中 n 是一个常数,通二维快速复利叶变换减少计算量,然后线性插 值得到结果。 Paris and Durand 在文章[PD06]中将 3 维复利叶变换应用到下采 样中。所以[DD02]中的算法可以看成 Paris and Durand 在文章[PD06] 中算法的一种特殊情况。 Paris and Durand 在文章[PD09]中将他们的算 法扩展到彩色图象中。