基于直方图匹配与图像修复的图像风格化
2018-10-24叶红娟彭宏京杜振龙
叶红娟,彭宏京,杜振龙
(南京工业大学 计算机科学与技术学院,江苏 南京 211800)
0 引 言
目前,图像风格化技术[1-4]大体上可分为基于实例和不基于实例两大类型。
不基于实例的图像风格化技术主要包括基于笔刷的风格化渲染和滤波渲染技术等。
基于实例的图像风格化技术主要包括基于纹理和基于颜色两个方面。Hertzmann等[5]提出图像类比的方法,通过得到输入图像对A和A′之间的关系,使得源图像B具有这一关系,从而得到最终结果B′。但实际上很难得到A和A′这一图像对。Wei等[6]基于Efros提出的图像缝合的方法,并通过马尔可夫随机场模型进行图像风格化处理。王洋等[7]基于非线性滤波提取图像纹理信息并结合Efros等提出的纹理合成思想,实现图像风格化效果。Li等[8]在基于之前提出的传统的统计值的基础上增加了源图像和目标图像的转移权重这一参数,更加高效且使得结果在视觉上更加有可信度,但该方法并没有实现整体风格的转换。赵源萌等[9]提出基于直方图统计的方法进行色彩传递,减少了时间的消耗。Shitala等[10]基于直方图传输并结合图像分割方法进行处理,然而这一方法得到的效果并不令人满意。
本文通过图像分割技术,并结合直方图匹配的思想和图像修复技术实现图像风格化。首先,将源图像和参考图像进行超像素分割,然后通过给定的匹配算法找出源图像和参考图像之间的最佳匹配块,再对最佳匹配块进行直方图匹配,最后对匹配之后的图像进行图像修复,减少块拼接之后产生的噪声,从而实现最终的风格化效果。本文方法以块为单位进行处理,能够大大减少了运行时间。通过给定的描述图像以块为单位的匹配信息进行匹配传输,能够取得很好的效果。
1 系统概述
为了得到用户所需的图像风格化效果,本文首先通过SLIC[11](simple linear iterative clustering)超像素分割,将源图像和参考图像进行分割,然后通过给定的匹配算法找出源图像和参考图像之间的最佳匹配块,再对每对最佳匹配块进行直方图匹配,最后对匹配之后的图像进行BSCB(Bertalmio,Sapiro,Caselles,Ballester 这4位图像专家的首字母的缩写)图像修复,减少块拼接之后产生的噪声,从而实现最终的风格化效果,整体算法流程如图1所示。
图1 系统流程
1.1 SLIC图像超像素分割
SLIC即为简单线性迭代聚类,算法过程是将输入的彩色图像转化为5维特征向量,包括LAB颜色空间的3个通道和XY坐标,然后对这3个通道和XY坐标构建距离度量标准,最后将该图像的像素局部聚类。SLIC基本算法过程可分为初始化种子点和相似度衡量两个步骤,具体算法过程请参见文献[11]。
算法过程考虑的距离计算方法如下
(1)
(2)
(3)
如图2所示,图2(a)表示标准的k-means在整个图像中搜索;图2(b)表示SLIC在图像限定区域范围中搜索。
图2 搜索区域
本文应用SLIC图像超像素分割算法,根据图像中像素点的特征,能够将图像分割成不规则的块,并且每块内的像素点具有相似特征。因此以分割后的块为单位进行传输,相比于以像素点为单位进行传输,大大提高了运行效率,而且选定合适的分割超像素个数,可以使每个块内的像素点具有相似特征,减少匹配误差。
1.2 BSCB图像修复
BSCB算法的主要思想是:首先,沿等照度线的方向将待修补区域周围的信息迭代传输到待修补区域内,然后,为避免等照度线出现交叉,算法再进行若干次各向异性扩散的过程。按此重复多次,直至完成整个破损区域的图像修复任务。BSCB模型的图像修复算法的两个步骤如下:
(1)传输过程如下所示
(4)
(5)
(2)各向异性非线性扩散过程计算过程如式(6)所示
(6)
式中:K(i,j)(直线的曲率为0)表示的是等照线在点(i,j)的曲率。
本文使用BSCB图像修复算法,可以减少匹配后块与块产生的拼接噪声,并且不会对图像整体内容产生影响。
2 算法设计
2.1 SLIC超像素分割算法及标记过程
本文先对输入图像和参考图像进行超像素分割,并设定分割的超像素个数K。然后,沿着水平和垂直扫描线扫描分割后的图像,同时对图像中的每一块进行标记。最后,根据标记的结果对每一块进行分类并排序。
图像分割结果如图3所示(K=3000)。其中图3(a)为输入图像,图3(b)为图像分割后的边界图,图3(c)为输入图像分割后的结果图。
图3 图像分割结果
将源图像和参考图像分割后,沿着水平和垂直扫描线扫描分割后的图像。如图4所示,为扫描分割后图像的过程,源图像和参考图像做同样的处理。
图4 扫描过程
由图3(b)可知,图像分割边缘的像素值为255(白色),块部分的像素值为0(黑色),因此,在扫描过程中,当得到像素值p=0时,标记该像素点为1,直到得到像素值p=255,继续扫描,当再次得到像素值p=0时,标记该像素点为2,直到得到像素值p=255,按照这个规律依次进行,将每个块标记为1,2,3…。
2.2 匹 配
对源图像块和参考图像块进行标记后,需要找到源图像中每一块对应参考图像中的最佳匹配块,再将每对最佳匹配块进行直方图匹配。这样就能将参考图像的风格转换到源图像中,并保留源图像的整体内容。
本文运用均值、标准差、色调以及平滑度来寻找最佳匹配。具体计算方法如式(7)所示
(7)
式中:μ1和μ2分别表示源图像和参考图像分割后每块像素的平均值,σ1和σ2分别表示源图像和参考图像分割后每块像素的标准差,hv和hu分别表示源图像和参考图像分割后每块的色调均值,R1和R2分别表示源图像和参考图像分割后每块的平滑度。本文取参数ε1=ε2=0.5,ε3=0.5。平滑度R的公式如下所示
R=1-[1+σ2/(L-1)2]-1
(8)
式中:L表示可区分的灰度等级数量。
色调由HSV颜色空间所得,将源图像和参考图像RGB颜色空间转换为HSV颜色空间。本文设定,找两个图像的最佳匹配块时要考虑两个块的色调是否基本一致。本文将H通道分成18块,即18种色调类别。
根据式(7),当d达到最小时,定义此时的两个块为最佳匹配块。
利用函数得到每对最佳匹配块的直方图,再根据直方图匹配,将参考图像块的风格转换到源图像块,使得结果块具有参考图像的风格。公式如下所示
(9)
式中:fi为标记的第i块。
由图3(b)可知,图像分割边缘即像素值为白色部分占比很大,如果不考虑这些边缘部分,对输出的结果图像有很大影响。在直方图匹配之前,本文对这些边缘部分做了预处理。本文使用扫描线扫描已经标记后的源图像块与参考图像块,当p=0(边缘区域)时,将该像素点分类到靠近它的左上方已标记的非边缘区域。
为了减少匹配噪声,当源图像的第一块根据最佳匹配原则找到最佳匹配并匹配风格后,扫描到的下一个块先考虑其与源图像的左、上两个块的颜色是否近似,若近似,则直接与左边块或上边块匹配,如不近似,则继续根据最佳匹配原则在参考图像中寻找最佳匹配块,并匹配。
2.3 图像修复
由于经过直方图匹配重新转换后,块与块之间会产生明显的接痕,本文通过BSCB图像修复,去除拼接接痕,提高图像风格化效果。
在修复之前需要确定图像待修复区域。本文已经对源图像和参考图像的每一块进行了标记,边缘部分也进行了分类,此时的待修复区域可通过扫描线进行确定。使用扫描线扫描,一开始,当块的标记由1转变为2时,此时的像素点位置为第一个待修复区域位置,再进行扫描,当块的标记由2转变为3时,此时的像素点位置为第二个待修复区域位置,依次进行可以得到所有的待修复区域位置。最后根据BSCB图像修复原理修复这些区域,降低输出图像的噪声。图5为图像修复的结果,对比可以发现,图5(a)中图像块与块之间的连接边界很明显,经过图像修复过程,图5(b)中基本修复了边界的连接痕迹,大大减少了图像噪声,图5(c)和图5(d)为放大图像部分区域修复前后的对比。
图5 图像修复结果
3 实验结果及分析
3.1 实验结果对比
图6为设定不同的最佳匹配系数得到的不同的输出结果,对比框线可知,系数ε1和ε2的值设置越大或越小,都会增强输出结果的噪声,因此,本文设置系数ε1=ε2=0.5。
图6 不同的匹配系数
图7为设定不同的超像素个数得到的不同的输出结果,可知,设置的超像素个数越小,会模糊一些细节部分,使得输出图像从整体上看来并不理想,设置的超像素个数越大,会增强输出图像的噪声,甚至不能运行出结果。本文设置超像素个数为2000,效果最好。
图7 不同的超像素个数
3.2 不同风格化效果
图8的3组图片显示了根据不同绘画风格的参考图像得到的不同的风格化效果。
图8 不同绘画风格的风格化效果
3.3 与其它算法对比
本文选取具有典型风格化效果(水墨画和油画)的文献进行对比。
图9显示了本文算法与文献[3]的算法对比的结果。文献[3]主要研究水墨画的风格化效果。本文随机选择一幅水墨画(无伪彩色)作为参考图像生成了水墨画效果图,如图9(c)所示,与图9(b)相比,其整体效果更能体现出水墨画风格。
图9 与文献[3]对比
图10显示了本文算法与文献[5]和文献[6]的算法对比的结果。文献[5]和文献[6]都是根据参考图像生成的风格化效果,且文献[5]是根据图像类比的思想,需要得到输入图像对A和A’之间的关系,而实际上很难得到这一图像对,实现比较困难。对比可以看出,运用文献[5]和文献[6]的算法得到的结果只有参考图像的风格效果,而运用本文的算法得到的结果不仅有参考图像的风格效果,也有参考图像整体的颜色基调,更加符合参考图像的整体风格,且对比文献[5],运用本文的算法实现过程较简单,只需输入源图像与参考图像即可。
图10 与文献[5]、文献[6]对比
4 结束语
本文提出了一种基于直方图匹配和图像修复的图像风格化处理方法,能将输入的源图像转换为任意与参考图像相同风格的风格效果。本文通过SLIC图像超像素分割算法将源图像和参考图像分割成块,并对每块进行标记,然后根据本文定义的最佳匹配算法找到源图像标记块在参考图像标记块中对应的最佳匹配,根据直方图匹配将参考图像的风格根据最佳匹配原则以块为单位转换到源图像中,最后根据BSCB图像修复算法修复块与块的拼接处。本文以块进行处理,可以大大减少处理时间,更高效,并且本文使用了图像修复算法,能够减少输出图像的噪声,效果更好。虽然本文实现了基于参考图像的风格化处理,但当选择有规则纹理的图像作为参考图像时,效果并不是很理想。本文今后将针对这一问题通过优化思想进一步完善该方法,使结果更加真实、高效,并扩大应用范围。