骆正茂 姜 磊
1(浙江东方职业技术学院 浙江 温州 325011)2(温州大学物理与电子信息工程学院 浙江 温州 325035)
基于区域方差的纹理滤波算法
骆正茂1姜 磊2*
1(浙江东方职业技术学院 浙江 温州 325011)2(温州大学物理与电子信息工程学院 浙江 温州 325035)
纹理滤波器算法是图像处理领域重要的研究方向之一,具有广泛的研究意义和实际应用价值。一种类型纹理滤波器算法通过区分图像中包含的复杂纹理信息和显著结构信息来引导进行纹理滤波处理。如何区分图像中的纹理信息和结构信息成为了算法的关键。提出一种区分图像的复杂纹理信息和显著结构信息的方法。同时对于彩色的包含纹理信息的图像进行滤波处理时,引入了对比度保持的方法来生成灰度图像,用来生成指导纹理滤波的引导图。为了证明算法的有效性,给出了和一些算法进行比较的结果。另外,展示了算法在细节增强,JPEG压缩印迹去除和图像分割的应用效果。
图像处理 纹理滤波器 对比度保持 细节增强 JPEG压缩印迹去除 图像分割
图像作为一种重要的传递信息的方式,往往包含着丰富的内容。在日常生活中,有些图像中会包含一些复杂的纹理信息。由于我们人类拥有非常强大的视觉感知器官,所以可以非常容易地从包含这复杂的纹理信息的图像中理解图像所要表达的含义。然而这项任务对于计算机来说却非常困难。计算机很难从包含复杂纹理信息的图像中识别图像中的显著的结构信息。
纹理滤波算法可以用来分离图像中包含的复杂纹理信息和显著结构信息。通过对图像中包含的复杂纹理信息进行处理,从而减少计算机识别图像信息的难度。另外纹理滤波器算法作为一种结构保持的滤波器算法还有一些其他的应用。例如,可以用来增强图像的细节信息,去除图像中包含的压缩印迹,以及作为预处理操作提升图像分割的效果等。因此纹理滤波算法的研究具有重要的意义。
本文提出了一种区分图像中纹理信息和结构信息的方法,并且在对于彩色图像进行滤波处理时引入了对比度保持的方法来生成灰度图像。通过和其他算法进行滤波效果的对比以及应用效果的展示说明了算法的效果。
纹理滤波器算法作为图像处理领域一个重要的研究方向吸引了很多研究者投身于该问题的研究。近年来有很多优秀的纹理滤波器算法被提了出来,这些算法可以归纳为以下两种类型。(1) 边界保持的滤波器算法。(2) 通过区分图像的复杂结构信息和纹理信息。下面将对这些纹理滤波器算法作一个简单的介绍。
一种是将一些具有边界保持性质的滤波器算法用来进行图像中纹理的去除。双边滤波器[1]是一种简单但非常高效的边界保持滤波器算法,该算法可以用来去除图像中包含的一些低对比度的噪声信息。Farbman等[2]提出了利用加权二乘法来提取图像中不同尺度的细节信息,克服了基于双边滤波算法只能提取特定尺度的图像细节信息的问题。Ma等[3]提出了利用加权中值滤波算法来去除图像中包含的一些噪声信息。Subr等[4]提出了通过利用局部极值来区分边界和细节的方式来进行图像的分解操作。虽然这些非线性的边界保持的纹理滤波器算法能够在去除特定尺度的图像信息时比较好地保持图像的边界,但是大部分算法不能够很好地去除图像中包含的复杂纹理信息。
另一种是通过区分图像中包含的复杂纹理信息和显著结构信息来引导进行纹理滤波操作。全局变化[5]被证明能够很好去除图像中包含的规则或者不规则的纹理信息。Xu等[6]提出了利用相对全局变化来实现从图像中复杂的纹理信息中抽取显著的结构。Cho等[7]提出了基于mRTV(modified Relative Total Variation)的方法来插值生成引导图并且结合双边滤波来进行图像的纹理去除。Karacan等[8]提出了基于局部区域协方差来进行纹理去除的方法。
本文提出了一种新的度量图像中的纹理和结构信息的方法,本文把这种方法称为修改的局部方差,并且对于彩色图像进行纹理滤波时采用对比度保持的方法来生成灰度图像。接下来采用Cho等[7]提出的算法来插值生成引导图,最后采用交叉双边滤波来进行纹理滤波。图1中给出了本文算法的一些主要的中间结果。
图1 本文算法的流程图
2.1 生成灰度图像
Cho等在文献[7]中提出了处理彩色图像的两种不同的方式。这两种方式的差别主要在于一种是直接用彩色图像来计算mRTV,另一种是先把彩色图像转为灰度图像来计算mRTV。利用彩色图像计算mRTV能够得到更好的引导图,从而滤波后对于边界保持得更好,同时也需要更多的时间开销。
为了解决这个问题,本文采用了对比度保持的灰度化方法[9]来生成灰度化的彩色图像。并且利用对比度保持的灰度化图像来计算文中提出的修改后的局部方差来引导插值生成引导图。实验结果证明该方法能够较好地提高滤波的后边界的效果,并且时间开销要小于利用彩色图像来进行直接计算。图2给出了Cho等[7]采用直接灰度化和本文利用对比度保持后灰度化的图像进行滤波处理的效果对比。通过对比可以发现采用对比度保持的灰度图像具有相对较好的效果。
图2 直接灰度化和对比度保持灰度化效果比较
2.2 修改的局部方差
纹理可以被看作是区域内像素的值振幅比较小的区域,而包含显著结构的区域往往像素的值具有陡变。基于这个假设可以简单的采用式(1)来区分图像中的纹理区域和显著结构区域。
Δ(Ωp)=Imax(Ωp)-Imin(Ωp)
(1)
这里I表示输入图像(本文采用的是对比度保持的灰度化的图像),p表示I中的像素点,像素的值记为IP,Ωp可以理解为以像素p为中心大小为K×K的邻域。Imax(Ωp),Imin(Ωp)分别表示邻域内像素的极大值和极小值。这种方法在很多情况能够取得不错的效果的,但是当纹理区域内像素值得变化和附近边界的变化相等或者甚至大于边界处的变化时,就不能取得好的效果。本文提出了一个改进的方法来帮助解决这个问题。本文引入了区域方差的思想。公式如下:
(2)
这里mPV(Ωp)用来表示本文定义的修改的局部方差。mean(·)是像素邻域内的均值,N表示邻域内包含的像素个数。当纹理区域内的变化和附近结构边界的变化相等时,纹理区域的方差要比包含边界的区域的方差要小(图1(c))。因此mPV的值在平滑。
2.3 生成引导图
本文采用Cho等[7]提出的邻域平移思想来生成一个临时的引导图G,与Cho不同的是本文基于求得的mPV值来引导进行邻域平移。同样因为mPV的值在图像中平滑的区域比较小容易受到噪声点的影响,本文也采用Cho提出的插值的思想来生成最终需要的引导图G′(图1(d))。
基于mPV邻域平移思想指的是,假设在以像素p为中心的邻域Ωp的大小为K×K,则找到这K2个像素中使得mPV(Ωq)值最小的像素q,并且将Bp=Bq,得到邻域平移后的临时引导图G。为了克服生成G时可能受到的噪声的影响,再次检验mPV(Ωp)和mPV(Ωq)如果二者的值相似那么Bp的值优先作为Gp的值,如果后者值比前者小很多则采用Bq值作为Gp的值。该思想的实现如下:
(3)
(4)
2.4 交叉双边滤波器
最后本文采用交叉双边滤波[10]来对输入图像进行滤波处理。本文基于求得引导图G′来计算交叉双边滤波。公式如下:
(5)
式中,Jp表示在邻域Ωp中的像素的值加权平均后的结果。函数f和g用来表示高斯函数。对彩色图像的每个通道分别进行交叉双边滤波就可以得到滤波后的结果(图1(e))。
本文在配有IntelCorei5处理器、2GB内存的笔记本电脑上利用MATLAB语言测试前面介绍的对比度保持的纹理滤波算法。该部分主要分析和总结本文算法的结果,以及和其他算法的比较情况。
本文算法对于彩色图像的滤波,采用基于对比度保持的灰度化的图像来生成引导图,作为交叉双边滤波的权值。对于图像的噪声滤波或者去除一些尺度比较小的纹理,只需要进行一次滤波操作就可以得到比较好的滤波效果。对于包含大尺度纹理的图像滤波操作一般需要2~4次的迭代操作。这个操作很简单,只需把上一次的输出作为下一次的输入即可。算法中只有两个参数需要调节,一个是控制迭代次数的n∈{2,3,4},另一个是求mPV时邻域的大小K,本文采用的大小为K∈{3,5,7,9}。交叉双边滤波的滤波核的大小为S*S(S=2K-1),空域标准差σs=K-1,值域标准差为σr=0.1。
图3中给出了本文算法在纹理进行纹理滤波时和其他算法的比较。
图3 算法结果比较
经过对比可以发现,Karacan等[8]的算法能够去除图像中的纹理信息,但是过分的处理了一些结构边界。Cho等[7]的算法在平滑图像中的纹理信息时保持了一些结构边界。但是对于一些低对比度区域的结构没能很好的保持。例如图3中的鱼眼睛部分模糊了。本文算法由于在生成灰度图时加入了对比度的信息,同时mPV能够较好地区分纹理和结构边界,因此取得了较好的处理结果。图4中给出了本文算法处理的其他一些纹理图片的结果。
图4 本文算法滤波的结果
纹理滤波器算法有着非常多的应用领域,这节将简单介绍本文算法在细节增强、JPEG压缩印迹去除和图像分割方面的一些应用。
图像细节增强是用来增强图像中包含的一些不明显的细节信息。利用本文的纹理滤波算法可以分离图像中包含的不同尺度的细节信息。然后把分离出的细节信息加到原始图像中来达到细节增强的效果。图5中给出了应用本文算法进行图像细节增强的效果和Subr等[4]、Cho等[7]算法的结果比较。通过观察发现三种算法都对输入图中的细节信息进行了增强。例如图5上面一行花瓣的细节信息较原图要更加的明显。但是,Subr等[4]的算法在进行细节增强的同时也一定程度上改变了图像的亮度,本文算法和Cho等[7]的算法就很好地避免了这种情况。
图5 细节增强效果对比
图像压缩技术是个比较重要的研究方向,JPEG压缩方式得到了非常广泛的应用。然而,在压缩图像数据的过程中会遗留下一些压缩产生的痕迹,有些甚至会大大的影响了图像的美观。通过实验发现,本文算法可以用来去除JPEG压缩产生的印迹。图6中给出了一个去除JPEG痕迹的结果,并且和Ma等[3]的算法进行了简单的比较。图6上面一行Ma等的算法(中间)未能完全去除JPEG产生的痕迹,但是对于边界保持得较好,本文算法(右边)较好地去除了压缩印迹,然而边界部分有点模糊。图6下面一行由于原图包含较少的压缩印迹,因此两种算法都取得了很好的效果,同时本文算法在边界处显得更加的平滑。
图6 JPEG压缩印迹去除结果比较
图像分割一直是计算机视觉领域一个十分重要的研究方向,有着重要的应用价值。图像分割具有很多较好的方法。例如基于聚类的方法,典型的有利用Kmeans[11]方法进行图像的分割。另外还有基于图论和最近比较好的基于深度学习方法的图像分割方法。然而将这些方法直接用于包含复杂的纹理信息的图像进行分割,往往不能够取得十分理想的效果。因此,可以利用纹理滤波算法作为一个图像预处理的操作,然后对纹理滤波后的图像进行图像的分割。图7中给出了直接利用Kmeans方法进行图像分割和利用本文算法进行预处理后再利用Kmeans方法后的效果比较。从图中可以看出直接利用Kmeans算法对纹理图片进行分割会产生很多单独的不连续的小块区域。然而利用本文纹理滤波算法作为预处理操作再利用Kmeans算法进行图像分割,能够取得比较好的分割效果。因此本文算法可以作为纹理图像分割的预处理操作。
图7 图像分割效果比较
本文基于对比度保持的灰度化图像和本文定义的修改局部方差来插值生成用于交叉双边滤波的引导图。通过实验证明和相关应用证明了本文算法能够较好地去除图像中包含的纹理信息。然而本文算法依然存在一些不足之处。一方面不能很好地去除一些具有大尺度的纹理,另一方面对于对比度比较低的结构边界不能很好地保持。对于算法中存在的问题希望在以后的研究中得到解决。
[1]TomasiC,ManduchiR.Bilateralfilteringforgrayandcolorimages[C]//6thInternationalConferenceonComputerVision.Bombay,India:IEEE,1998:839-846.
[2]FarbmanZ,FattalR,LischinskiD,etal.Edge-preservingdecompositionsformulti-scaletoneanddetailmanipulation[J].ACMTransactionsonGraphics,2008,27(3):15-19.
[3]MaZ,HeK,WeiY,etal.Constanttimeweightedmedianfilteringforstereomatchingandbeyond[C]//2013IEEEInternationalConferenceonComputerVision.IEEE,2013:49-56.
[4]SubrK,SolerC,DurandF.Edge-preservingmultiscaleimagedecompositionbasedonlocalextrema[J].ACMTransactionsonGraphics,2009,28(5):89-97.
[5]RudinLI,OsherS,FatemiE.Nonlineartotalvariationbasednoiseremovalalgorithms[J].PhysicaD:NonlinearPhenomena,1992,60(1-4):259-268.
[6]XuL,YanQ,XiaY,etal.Structureextractionfromtextureviarelativetotalvariation[J].ACMTransactionsonGraphics,2012,31(6):439-445.
[7]ChoH,LeeH,KangH,etal.Bilateraltexturefiltering[J].ACMTransactionsonGraphics,2014,33(4):1-8.
[8]KaracanL,ErdemE,ErdemA.Structure-preservingimagesmoothingviaregioncovariances[J].ACMTransactionsonGraphics,2013,32(6):1-11.
[9]LuC,XuL,JiaJ.Contrastpreservingdecolorization[C]//2012IEEEInternationalConferenceonComputationalPhotography(ICCP).IEEE,2012:1-7.
[10]EisemannE,DurandF.Flashphotographyenhancementviaintrinsicrelighting[J].ACMTransactionsonGraphics,2004,23(3):673-678.
[11]ComaniciuD,MeerP.Meanshift:arobustapproachtowardfeaturespaceanalysis[J].IEEETransactionsonPatternAnalysis&MachineIntelligence,2002,24(5):603-619.
TEXTURE FILTERING ALGORITHM BASED ON REGION VARIANCE
Luo Zhengmao1Jiang Lei2*
1(ZhejiangDongfangVocationalandTechnicalCollege,Wenzhou325011,Zhejiang,China)2(CollegeofPhysicsandElectronicInformationEngineering,WenzhouUniversity,Wenzhou325035,Zhejiang,China)
Texture filter algorithm is one of the important research directions in image processing field, which has wide research significance and practical application value. One type of texture filter algorithm directs the texture filtering process by distinguishing between complex texture information and salient structure information contained in the image. How to distinguish the texture information and structure information in the image becomes the key of the algorithm. Aiming at this problem, a method to distinguish between complex texture information and salient structure information is proposed. Meanwhile, when the color image containing texture is filtered, the method of contrast preserving is introduced to generate the gray scale image, which is used to generate the guide map to guide the texture filtering. In order to prove the effectiveness of the algorithm, some algorithms are compared with the results. In addition, the application of the algorithm in detail enhancement, JPEG compression marking removal and image segmentation is showed.
Image processing Texture filtering Contrast preserving Detail enhancement JPEG compression marking removal Image segmentation
2016-02-28。浙江省教育厅2015年度高等学校国内访问学者专业发展项目(153)。骆正茂,副教授,主研领域:数字可视媒体。姜磊,硕士生。
TP311.5
A
10.3969/j.issn.1000-386x.2017.05.057