APP下载

滚动引导传播滤波下的图像纹理平滑

2019-06-06聂栋栋葛新迪

小型微型计算机系统 2019年6期
关键词:邻域像素点纹理

聂栋栋,葛新迪

(燕山大学 理学院,河北 秦皇岛 066004)

1 引 言

图像纹理平滑是图像预处理领域中的重要工具之一.自然获取的图像中往往包含丰富的结构信息和纹理信息,在分析和理解图像时,如何平滑或消除图像纹理,识别和保存图像自身的显著性结构特征[1]具有重要的现实意义.

以双边滤波(Bilateral Filter,BLF)[2]、引导滤波(Guided Filter,GF)[3,4]、联合双边滤波(Joint Bilateral Filter,JBLF)[5,6]、传播滤波(Propagated Filtering,PF)[7,8]等为代表的局部保构滤波器,根据每个像素点在空间和灰度上与相邻像素之间的差异计算权值,通过加权平均更新图像像素值,获得平滑图像.其中双边纹理滤波(Bilateral Texture Filter,BTF)[9,10]、滚动引导滤波(Rolling Guidance Filter,RGF)[11]等更是专门为平滑图像纹理而设计的局部滤波器,它们可以在平滑纹理细节时进行空间滤波,在一定程度上保持图像自身显著的边缘结构.

但由于滚动引导滤波是先对纹理细节进行移除,再进行结构恢复,而现有的滚动引导滤波只是单纯使用高斯滤波进行纹理移除,这就使它容易在移除纹理细节的同时也移除了图像中的低对比度结构,进而导致纹理平滑后的图像边缘产生模糊.

本文改进了现有的滚动引导滤波器,并结合传播滤波提出了一种新的图像纹理平滑滤波器——滚动引导传播滤波.首先,文中在图像纹理移除时使用块平移和改进相对全变差的方法替代了高斯函数,构造了新的引导图像.然后借鉴传播滤波的思想,定义通路上的像素相关性,构造滚动引导传播滤波器进行图像结构恢复.实验结果表明相比其他几种经典的纹理平滑方法,本文方法在平滑纹理的同时能更好的保留图像自身的显著性边缘结构.

2 滚动引导滤波

滚动引导滤波器主要由两部分组成,首先用平滑滤波器做纹理移除,然后使用保构滤波器恢复结构.

2.1 纹理移除

对一输入图像I,输出图像B,令p和q表示图像像素的空间坐标,σs表示空间标准差,高斯滤波器的表达式可以写为如下形式:

(1)

其中B为高斯滤波后的输出图像,Kp为归一化因子,Ωp是图像中以像素点p为中心点的空间邻域块,其滤波尺度大小由σs决定.

高斯滤波通过调节σs的值去移除小于对应尺度下的所有图像纹理,保留大于该尺度的图像边缘结构信息.但高斯滤波在平滑纹理的同时不可避免的模糊了图像的边缘结构,因此要想得到结构清晰的平滑图像,还必须对图像的边缘结构进行恢复.

2.2 结构恢复

对一输入图像I,输出图像J,通过以下函数来恢复图像结构:

(2)

其中Kp同样为归一化因子,σs、σr分别为空间域和灰度域的高斯函数的标准差.

令公式(1)中的输出图像B作为公式(2)中的初始值J1,Ji+1的值是通过给定输入图像I与之前第i-1迭代的值Ji做联合双边滤波得到的.公式(2)也可以理解为输入图像I在第i-1次迭代图像Ji引导下的滤波图像.

为了进一步简化,可以把纹理移除和结构恢复的两个函数方程合并为一个函数方程,选择从一个常量图像C作为初始引导图像J0.如果把公式(2)中的Ji用一个常量图像C替换,公式(2)的表达式可以表示为:

(3)

所以如果用一个常量图像C作为初始引导图像J0,则由公式(2)得到的第一次迭代图像J1就是公式(1)得到的纹理移除后的模糊图像B.因此滚动滤波的两个过程可以统一用公式(2)得到,其中第一次迭代J0→J1的过程可看成是纹理移除的过程,J1…Ji+1…的过程正好是结构恢复的过程.

3 滚动引导传播滤波

在滚动引导滤波基础上,本文定义了一种新的滚动引导传播滤波方法.其定义如下:

(4)

其中,

(5)

(6)

比较本文提出的滚动引导传播滤波的公式(4)和传统的滚动引导滤波公式(2),可以发现本文算法没有采用简单的两个像素点间的空间距离和像素值差异来计算滤波权值,而是定义了一条单向通路,以该通路上所有相邻点的像素值差异和中心点s对通路上所有点的像素差异来计算权值.这就使得只有在通路上任意一点的像素值和中心点s的像素值都相似,而且通路上所有相邻点的像素值也都比较相似时,计算得到的权值才会比较大.反之,若s到t的通路上存在差异较大的点(比如跨越某条边缘),这样即使像素s和t的空间距离很小,像素值差异也不大,计算得到的权值也会比较小.这也是本文算法比传统的滚动引导滤波能够在图像纹理平滑后能够保持更清晰的边缘结构的原因之一.而且这样利用通路上所有像素点的信息定义权值,而不直接使用空间核函数,也使得本文算法比传统局部滤波器受预定义间邻域大小的影响更小.

考虑到一个图像块的中心像素点s到其任意一个邻域像素点t之间的单连通通路可能有多条,为了简化问题,本文指定一种具体的通路模式:当s,t位置是水平或垂直时,连接两像素的通路就是一条水平或垂直的直线.当两像素不是简单的水平或垂直连接时,我们通过曼哈顿距离来定义s到t的通路.

同时,为了改进传统的滚动引导滤波器中单纯使用高斯滤波器进行纹理移除容易造成图像弱边缘结构丢失的问题,本文提出了新的纹理移除方法,并以此生成新的结构恢复阶段的初始引导图像.

假定输入图像I,本文的纹理移除方法是在包含图像I的任意一个像素p的k2个k×k大小的图像块中,寻找包含图像自身显著结构最少的块,进而借鉴块平移技术,在对图像I进行k×k窗口的高斯滤波得到图像B的基础上,生成引导图像G.

由于通常图像中纹理部分的像素差异要小于结构边缘部分,本文利用公式(7)定义的改进相对全变差的值,来度量图像邻域块Ωq中包含显著结构的可能程度:

(7)

且:

Δ(Ωq)=Imax(Ωq)-Imin(Ωq)

(8)

公式(7)中Ωq表示某个包含像素p的以q为中心的大小为k×k的图像块,|(∂I)r|表示输入图像I中邻域块Ωq任一像素点r的梯度大小,而且ε是一个小的正常数,防止分母为零,本文取ε=10-9.公式(8)中Imax(Ωq)和Imin(Ωq)分别表示像素块Ωq中的像素最大值和最小值.

由公式(7)可知,当mRTV(Ωq)越小,Ωq越平滑,它含有边界的可能性就越小.因此可以通过对像素的逐点处理得到基于块平移的纹理移除图像G.即对任意一个像素p,都可以在输入图像I中包含像素p的k2个图像块中找到使改进相对全变差mRTV最小的块Ωq,将模糊图像B中该块中心点对应的像素值Bq赋值给图像G中像素p对应的像素值Gp.

由于改进相对全变差mRTV对噪声干扰比较敏感,所以引入高斯滤波图像B,对图像G进行修正.以G′表示修正后的图像,其中任一像素p的值为:

(9)

其中加权系数αp的取值范围是[0,1],且:

(10)

这里Ωp表示以像素点p为中心的大小为k×k的空间邻域块,而Ωq表示包含像素p的k2个邻域块中相对全变差mRTV最小的块,σα为经验参数.

从公式(10)可以看出,当像素p点位于边缘结构附近时,mRTV(Ωp)和mRTV(Ωq)间的差值较大,αp值接近于1;而当像素p点位于纹理区域时,mRTV(Ωp)和mRTV(Ωq)间的差值较小,αp的值接近于0.这样就可以在初始结构图像G和模糊图像B线性加权时,根据各点所属区域的不同,控制权系数,使得修正后的图像G′在纹理区域受模糊图像B的影响较大,而在结构区域受块平移纹理移除图像G的影响较大.这样相比传统的滚动引导滤波器简单的使用高斯模糊图像B进行纹理移除并作为后续结构恢复的引导图像,本文构造的图像G′综合了图像纹理区域和结构区域的特点,使用G′作为滚动引导传播滤波在结构恢复阶段的初始引导图像不仅能更好地进行结构恢复而且也具有良好平滑纹理的能力.

因此对于给定的输入图像I,令J0=G′作为初始引导图像,代入公式(4)得到第1次迭代输出图像J1,此后第i+1次迭代的输出图像Ji+1利用第i次迭代输出图像Ji作为引导图像,对输入图像I进行局部加权均值滤波得到.

本文提出的滚动引导传播滤波的处理过程如表1所示.

4 实验结果比较与分析

我们对本文方法与Tomasi等人[2]提出的双边滤波方法,Cho等人[9]提出的双边纹理滤波方法和Zhang等人[11]提出的滚动引导滤波进行实验对比. 测试环境为Acer MS2360笔记本电脑,软件环境为MatlabR2015b.

以标准′Fish′纹理图像和′Pom Fish Mosaic′纹理图像为例.其中图1(a)和图2(a)代表原始输入图像.各方法的处理结果分别对应图1、图2中的(b)(c)(d)(e).

表1 滚动引导传播滤波
Table 1 Scroll guided propagation filtering

算法名称:滚动引导传播滤波1:输入:图像I,参数k,σ2:输出:纹理平滑图像Inew纹理移除:3:B←I的模糊图像(自适应高斯滤波)4:对输入图像I中每一个像素p求mRTV根据公式(7)5:for all p∈I do6:寻找最小的mRTVq其中q∈Ωp7:Gp=Bq8:end for 9:α←对每一个像素p根据公式(10)10:G′←αG+(1-α)B根据公式(9)得到结构图像G′结构恢复:11:J0←G′ 初始化J012:for i=0:nrdo,nr为迭代次数13:Ji+1=Popagated Bilateral(I,Ji,σ)14:end for15:Inew=Jnr

为了保证实验的科学与公正性,本文对以上算法都做了参数调优,以使各方法的处理结果都达到该方法的最优效果.图1中各方法的参数分别为:Tomasi等人k=5,σs=3,σr=0.3;Cho等人k=5,nr=3,σs=1,σr=0.1;Zhang等人k=5,nr=3,σs=2,σr=0.05;本文的方法k=5,nr=3,σ=0.1.图2中各方法的参数分别为:Tomasi等人k=5,σs=3,σr=0.4;Cho等人k=5,nr=3,σs=1,σr=0.1;Zhang等人k=5,nr=3,σs=2.5,σr=0.05;本文的方法k=5,nr=3,σ=0.1.其中k为窗口的大小,σ,σs,σr为高斯参数,nr为迭代次数.

图1 不同算法对图像Fish纹理平滑的效果Fig.1 Image texture smoothing with different algorithm for Fish

在两组实验中,为了突出滤波效果,本文对图像细节部分都做了突出放大,通过图1、图2可以直观的看出,本文的方法在对图像进行纹理平滑的同时能更好的保持图像自身的结构细节,尤其是对一些较小或较弱的边缘结构保持的较好.如图1中鱼嘴部分和图2中鱼鳍部分.

为了更客观的说明问题,本文定义了一个新的边缘清晰度函数,用于评价算法的结构保持能力.对任意一幅图像I边缘清晰度的定义为:

(11)

图2 不同算法对图像Pompeii Fish Mosaic纹理平滑的效果Fig.2 Image texture smoothing with different algorithm for Pompeii Fish Mosaic

其中Ωp表示以边缘像素点p为中心的空间邻域块,Iq为邻域块Ωp中不包含像素点p的其他像素点的像素值,k为邻域块Ωp的大小,N为图像I中边缘位置上像素点的数量.由上式我们可以得到,当Q越大,图像边缘上的点与其邻域内不是边缘上点的差值越大,因此图像边缘越清晰,反之,Q越小,图像边缘越模糊.对图1、图2中不同方法得到的平滑后图像进边缘清晰度检测,其实验结果如表2所示.

表2 不同方法图像的边缘清晰度
Table 2 Edge definition of image with different methods

图片算法TomasiChoZhangOurFish27.242130.1673 34.758537.0241Pompeii Fish Mosaic34.9856 35.5228 38.844247.3164

通过上面的两组实验得知,相对于当前主流的纹理平滑滤波器,本文算法在平滑图像纹理时能更好的保持图像自身的边缘结构.

5 结 论

本文针对当前滚动引导滤波器对图像结构保持方面存在的不足,结合传播滤波,提出了一种新的滚动引导传播滤波方法.本文首先使用块平移和改进的相对全变差方法去除图像的纹理信息,构造引导图像,然后利用滚动引导传播滤波恢复结构.在图像滤波的过程中,通过利用通路上各像素点之间的相似性定义局部滤波的权值函数,这使得本文算法比传统的纹理平滑和保构滤波器能更好的保持图像自身的边缘结构,尤其是对一些较小或较弱的边缘结构保持的较好.

猜你喜欢

邻域像素点纹理
基于混合变邻域的自动化滴灌轮灌分组算法
图像二值化处理硬件加速引擎的设计
含例邻域逻辑的萨奎斯特对应理论
融合t-分布随机邻域嵌入与自动谱聚类的脑功能精细分区方法
基于局部相似性的特征匹配筛选算法
基于BM3D的复杂纹理区域图像去噪
肺纹理增多是病吗?
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
TEXTURE ON TEXTURE质地上的纹理