图像表观迁移旨在使目标图像能拥有和源图像尽可能相似的视觉表观.人们对一幅图像表观的感知,往往包括颜色、纹理以及光照等多个方面.传统的颜色迁移方法[1]考虑图像的颜色信息,可以成功地将源图像的颜色风格迁移到目标图像上,例如天空的颜色、草地的颜色等.但早期的颜色迁移方法,仅仅着眼于对整幅图像的处理,当颜色分布的差异过大时,便无法得到理想的颜色迁移结果.之后,研究者提出了许多局部颜色迁移方法[2].但颜色迁移方法只考虑图像间的颜色信息,并不能在目标图像中生成需要的新内容.纹理迁移考虑图像的纹理信息,可以将源图像中指定的纹理迁移到目标图像中,但纹理迁移会覆盖原来的像素,从而破坏图像的原本结构.近年来,Okura等[3]提出了一种结合颜色和纹理信息的图像表观迁移方法. 该方法利用基于块的匹配技术来建立图像间表观迁移的对应关系,需要源图像和目标图像视觉相似,而且需要额外的样本图像作迁移源.当用户无法提供满足需求的源图像和样本图像时,该方法要求用户通过Photoshop软件进行手动分割,这大大限制了实际应用,而且该表观迁移方法使用单一的迁移源,难以应对复杂图像的表观迁移任务.
为了解决以上问题,笔者提出一种新的基于编辑传播的多源图像表观迁移方法.用户通过基于编辑传播的笔画交互系统,将多源图像中需要的颜色或纹理信息迁移到目标图像中.笔者提出了一种新的笔画自动修正方法来保证笔画只覆盖用户感兴趣的像素,可以得到更好的编辑传播效果.最后利用颜色迁移和纹理迁移技术,将需要的颜色或纹理信息迁移到目标图像中.该方法结合了编辑传播和表观迁移方法的优点,为用户提供了一种方便、充分的图像表观迁移方法.
传统的表观迁移方法包括颜色迁移方法、纹理迁移方法及同时结合颜色迁移和纹理迁移的方法.
颜色迁移方法主要可以分为3类[4]:基于几何的颜色迁移方法[2]、基于统计信息的颜色迁移方法[1,5-6]和基于用户交互的颜色迁移方法.Reinhard等[1]首次提出使用高斯模型和变换矩阵进行图像颜色迁移的方法,该方法简单高效,但是当两幅图像的颜色分布差异比较大时,无法得到自然的颜色迁移结果.Pouli等[7]提出一种渐进的颜色迁移方法,利用直方图匹配使源图像和目标图像拥有相似的颜色风格.Nguyen等[8]提出一种基于色域的颜色迁移方法,将迁移的色域控制在参考图像的色域范围内,使结果与源图像颜色风格更加相似.Huang等[9]提出一种基于移动最小二乘法的颜色迁移方法.
纹理迁移[10]指通过合成新的纹理,使两幅图像有类似的表观.基于样图的纹理合成[11]是纹理合成中的主流技术.赵进超等[12]提出了一种Hadoop的纹理特征提取方法.Bonneel等[13]使用纹理迁移去增强3D模型的表观.Okura等[3]首次提出一种颜色迁移和纹理迁移结合的表观迁移方法.笔者与该方法类似,同时考虑颜色和纹理信息,结合了两种方法的优点.
Guo等[14]提出了一种基于多标签决策树的多源颜色迁移方法.但该方法需要大量源图像作为训练集,而且无法使用用户指定的源图像作为迁移源,降低了使用的灵活性.Yao等[15]提出了一种基于选择性的多源图像颜色迁移方法.该方法的选择策略旨在得到更加自然的迁移结果,但在很多情况下并不满足用户的需求.
近年来,基于笔画的编辑传播技术得到了广泛的研究.用户只需要用简单的笔画标记,并为笔画指定编辑参数,这些编辑信息就会自动传播到图像中其它的相似区域.Levin等[16]提出了第一个编辑传播框架,并完成灰度图像着色工作.之后,有研究者提出了全局的编辑传播框架[17].An等[18]在编辑传播中引入了参考图像来提供编辑信息.然而,所有的编辑传播方法都假设用户的笔画标记是精确的,即笔画只覆盖用户感兴趣的像素,当笔画标记不满足该假设时,会直接影响最后的传播结果.因此,Subr等[19]和Sener等[20]分别提出了解决这个问题的方法.但是,由于这两种方法都利用马尔科夫随机场,导致计算复杂度过高.笔者利用编辑传播的特点,设计了一种简单有效的笔画自动修正方法.对笔画标记进行分析处理后,将得到的精确笔画用于编辑传播中,得到了更好的传播效果.
图1为笔者方法的流程图.用户提供一幅待处理的目标图像和多幅源图像,并使用笔画在图像的感兴趣区域上进行标记.笔画修正过程中,目标图像中的红色方框标记的粉色笔画因不满足要求而被修正.编辑传播过程将编辑传播结果中与笔画标记相似的区域用相同的颜色显示.迁移源选择过程将迁移源和目标区域的掩码一一对应起来.最后为表观迁移过程,通过颜色迁移和纹理迁移技术将源图像中黄绿鲜亮的草地和白云蓝天迁移到目标图像中,得到最终的表观迁移结果.
图1 本算法基本流程
Fig.1 The flow chart of our method
3.1.1 笔画标记和笔画自动修正
笔者在编辑传播之前先采用一种笔画自动修正的方法对用户标记的笔画进行分析和修正.使用K-means对图像进行颜色聚类,得到K个颜色的聚类,使图像中每个像素都获得一个颜色聚类的编号.记Ω={p}θ为笔画θ覆盖的像素的集合,Nθ为笔画θ所含的颜色的种类.笔画的自动修正主要基于以下两个原则:①如果一个笔画覆盖的像素包含所有K个颜色聚类,则该笔画标记无效;②每一个笔画覆盖的像素中包含的颜色尽可能地少,并且不同笔画之间所含颜色的差距尽可能大.
对于第一个原则,可以由以下公式来表示:
(1)
式中:如果P(θ)=0,则表示该笔画无效;如果P(θ)=1,则表示该笔画为有效的标记.无效的笔画不会作为下一步编辑传播的输入数据.
为了保证第二个原则,笔者先确定每个笔画覆盖的所有像素的主要颜色,即Ω={p}θ中出现次数最多的颜色,记为CΩ.已经作为一个笔画主颜色的颜色不能再作为另一个笔画的主颜色.然后,删除那些出现概率小于30%的颜色.图2(a)为原始用户笔画标记,(b)为自动修正后的笔画标记.其中,红色矩形框标记了浅绿色笔画修正前后的结果.
图2 笔画自动修正与编辑传播
Fig.2 Automatic modification and edit propagation
of strokes
3.1.2 编辑传播
编辑传播技术使得图像像素在相似颜色处接受类似的编辑.将编辑传播作为一个最优化的问题,其中用户笔画标记g作为传播结果e的约束,最小化以下能量方程[16]:
∑i∑jwjzij(ei-gj)2+λ∑i∑jzij(ei-ej)2,
(2)
zi,j= exp(-‖fi-fj‖2/σa)·exp(-‖xi-
xj‖2/σs),
(3)
式中:zi,j表示像素i和像素j之间的亲和力,衡量像素i和像素j的特征向量fi和坐标xi的相似度;fi为像素i的特征向量,包含其三个通道的颜色信息和位置信息; fj为像素j的特征向量,σa和σs为编辑传播的控制参数; gj为被笔画覆盖的像素j的值;ei为像素i受到编辑后的结果;λ为两项的权重系数.wj∈[0,1],如果像素j被笔画标记,则wj=1,未被标记,则wj=0.式(2)表示为两项的和,其中第一项是为了保证编辑传播后像素的值e满足用户笔画给定的像素编辑值g,第二项保证最终结果中相似的像素可以得到相似的编辑,通过最小化式(2)得到编辑传播的结果.
编辑传播的效果主要由λ、σa、σs 3个参数控制.试验中,设置λ=∑iwi/n,σa=0.2,σs=0.12.因为直接将笔画的颜色作为指定的编辑进行传播,所以在编辑传播的结果中与笔画标记相似的区域以相同的颜色显示.图2每幅图右下角的小图为相应笔画标记的传播结果.从图2中可以看出,经过笔画修正后的方法可以更好地将图中的花朵和茎叶区分开.
笔者使用SSIM(结构相似性指标)来衡量源图像和目标图像的相似性.SSIM值越大表示两幅图像越相似.最大为1,此时表明两幅图像完全一样.SSIM的计算公式如下:
(4)
式中:μx和μy、 σx和σy分别为像素x和像素y的均值和标准差;σxy为像素x和像素y的相关系数.为了避免分母为0,设C1和C2为非零常数.最后使用两幅图像的SSIM均值(MSSIM)衡量两幅图像的相似性.
为了实现更加充分的表观迁移,笔者同时考虑颜色和纹理这两类表观信息. 某一组对应的迁移源和目标区域要判断对其进行颜色迁移还是纹理迁移.这里可以采用自动的方法,规定纹理较丰富的对应区域间进行纹理迁移,纹理不丰富的进行颜色迁移.笔者考虑到用户可能需要将某些纹理迁移到目标图像中纹理并不丰富的区域.例如,将多云的天空迁移到晴朗无云的天空中.自动方法并不能满足用户的需求,所以笔者通过用户指定迁移的类型,然后通过颜色迁移和纹理迁移得到最终的表观迁移结果.
3.3.1 颜色迁移
通过编辑传播得到笔画标记的相似区域后,就可以在对应的区域间进行颜色迁移.利用Reinhard等[1]提出的基于统计的颜色迁移方法.将源图像和目标图像转换到lαβ颜色空间,对3个通道分别进行颜色迁移,然后合并得到颜色迁移结果.迁移公式如下:
(5)
式中:ct为目标图像中某一像素的值;co为颜色迁移后该像素的值;μs和μt分别为源图像和目标图像某一通道的均值;σs和σt为对应通道的标准差. 通过式(5)将目标图像的颜色分布线性变换成与源图像相似的分布.
对上一步得到的对应区域进行颜色迁移,因此,需要分别计算对应区域中各通道下的均值和标准差,然后利用式(5)完成局部颜色迁移.
3.3.2 纹理迁移
本节将多源图像中指定区域的纹理迁移到目标图像中.纹理迁移将区域S处的纹理迁移到目标区域T中.采用由粗到精的迭代方法,将纹理迁移作为一个基于块的最优化问题,最小化下面关于S和T的能量方程[21]:
(Q,P)),
(6)
式中:Q=N(q)是一个左上角为像素q的大小为ω×ω的块.记f为一个变换操作,包括平移、旋转、缩放以及投影变换.将f作用于像素p周围的一个邻域N,因此P=f(N(p))也是一个大小为ω×ω的块.每个块都有5个通道:包括lαβ颜色空间下的3个颜色通道和每个像素处光照的2个梯度通道.在式(6)中为了方便表示, 用Q(或P)代表该块的3个颜色通道;Q(或P)代表2个光照梯度通道;参数λ′为梯度通道的权重系数;D用来计算所有通道的距离平方和.能量方程的两项分别确保迁移后的块出现在和原来块中最相似的块周围.笔者使用5×5大小的块,并设置梯度权重λ′=0.2.
笔者采用C++和Opencv 2.4.8实现编程.所有试验在如下配置的计算机上进行:Intel© CoreTM i5-4460处理器,NVIDIA GeForce GTX 745 M显卡,8 GB内存(RAM).
图3为单源图像时笔者的方法与已有表观迁移方法的对比.Reinhard等[1]和Pouli等[7]的方法可以成功地将源图像中天空的颜色迁移到目标图像中,但是由于这两个方法只考虑了图像的颜色信息,并不能将源图像中的树和草地的表观也同时迁移到目标图像中.Okura等[3]的方法同时考虑了颜色和纹理信息,但是受限于块匹配方法的精度,该方法并不能准确地得到需要进行纹理迁移的区域,从而难以得到自然的纹理迁移结果(如图3中红色矩形框标记的区域).笔者通过编辑传播技术提高了区域分割的准确性,可以得到更加自然的纹理迁移结果.文献[3]的天空中出现了灰蒙蒙的效果,这种不自然的现象也没有出现在笔者的结果中.
图4和图5为笔者方法的试验结果.从试验结果可以看出,在表观迁移中结合颜色和纹理信息,利用两种方法的优点,能够得到更加充分的表观迁移结果.而笔者提出的基于编辑传播的交互系统,很好地支持了这种迁移过程.
图3 表观迁移结果对比
Fig.3 Comparisons of appearance transfer results among different methods
图4 单源表观迁移结果
Fig.4 The appearance transfer results with a single source image
图5 多源表观迁移结果
Fig.5 The appearance transfer results with multiple source images
笔者使用Bhattacharya系数来衡量表观迁移结果与源图像的相似性.试验中,我们将彩色图像变换到HSV颜色空间下,计算H通道和S通道的二维直方图,通过计算直方图间的Bhattacharya距离,来衡量两幅彩色图像的相似性.Bhattacharya系数值越小表示两幅图像的相似性越高.图3(b)~(e) 和源图像的Bhattacharya系数分别为0.762、0.508、0.514和0.421.可以看到,笔者的表观迁移结果和源图像的Bhattacharya系数值更小,即笔者的表观迁移结果和源图像的相似性更高.表1为图4中表观迁移前后目标图像与源图像的Bhattacharya系数.可以发现,经过笔者的表观迁移,可以使目标图像与源图像更为相似.
表1 表观迁移前后Bhattacharya系数对比(图4)
Tab.1 Comparison before and after appearance transfer
in terms of Bhattacharya coefficient (Fig.4)
序号表观迁移前表观迁移后第一组0.7930.456第二组0.7320.569
提出了一种基于编辑传播的多源图像表观迁移方法.该方法结合了编辑传播和表观迁移的优点,使用户可以方便地完成对目标图像的表观迁移.一方面,通过自动笔画修正方法得到精确的笔画标记,可以更好地建立目标图像和源图像间的对应关系.另一方面,将表观迁移推广到多源领域,可以满足用户对复杂图像的迁移需求.
笔者的方法适用于大部分图像表观迁移,但是仍有一些限制.使用基于统计的颜色迁移方法,如果用户指定两个颜色风格差异很大的子区域间进行迁移,将产生不自然的结果,这一点可以通过使用基于其他策略的颜色迁移方法来改进,使得编辑传播效果更为准确.随着纹理迁移的方法的发展,笔者方法的迁移效果也会得到进一步改善,此外,笔者也将尝试采用深度卷积神经网络解决图像表观迁移问题.
[1] REINHARD E, ADHIKHMIN M, GOOCH B. Color transfer between images [J]. IEEE computer graphics and applications, 2001, 21(5):34-41.
[2] HACOHEN Y, SHECHTMAN E, DAN B G. Non-rigid dense correspondence with applications for image enhancement [J]. ACM transactions on graphics, 2011, 30(4):76-79.
[3] OKURA F, VANHOEY K, BOUSSEAU A, et al. Unifying color and texture transfer for predictive appearance manipulation[J]. Computer graphics forum, 2015, 34(4):53-63.
[4] FARIDUL H S, POULI T, CHAMARET C, et al. A survey of color mapping and its applications[C] ∥Proceedings of the Eurographics Conferences, 2014: 43-67.
[5] 王少荣, 李华. 一种图像之间的颜色传输方法[J]. 计算机辅助设计与图形学学报, 2006, 18(10):1513-1518.
[6] 钱小燕, 肖亮, 吴慧中. 模糊颜色聚类在颜色传输中的应用[J]. 计算机辅助设计与图形学学报, 2006, 18(9): 1332-1336.
[7] POULI T, RENIHARD E. Progressive histogram reshaping for creative color transfer and tone reproduction [C]∥ Proceedings of the International Symposium on Non-Photorealistic Animation and Rendering, 2010:81-90.
[8] NGUYEN R M H, KIM S J, BROWN M S. Illuminant aware gamut-based color transfer [J]. Computer graphics forum, 2014, 33(7):319-328.
[9] HUANG Y, LEE J Y, KWEON I S, et al. Color transfer using probabilistic moving least squares[C]∥ Proceedings of the 27th IEEE Conference on Computer Vision and Pattern Recognition, 2014:3342-3349.
[10] EFROS A A, FREEMAN W T. Image quilting for texture synthesis and transfer[C] ∥Proceedings of the SIGGRAPH, 2001:341-346.
[11] 朱文浩, 魏宝刚. 基于样本的纹理合成技术综述[J]. 中国图象图形学报, 2008, 13(11):2063-2069.
[12] 赵进超,朱颢东. 基于Hadoop的图像纹理特征提取[J].郑州大学学报(工学版), 2015, 36(4):109-113.
[13] BONNEEL N, PANNE M V D, LEFEBVRE S. Proxy-guided texture synthesis for rendering natural scenes[C]∥Proceedings of the Vision Modeling & Visualization Workshop, 2010:87-95.
[14] GUO Y, LI H, ZHANG W, et al. Multi-source color transfer based on multi-labeled decision tree[C]∥ Proceedings of the 9th International Conference for Young Computer Scientists, 2008:820-825.
[15] YAO X, ZOU B, LI H. Selective color transfer with multi-source images [J]. Pattern recognition letters, 2009, 30(7):682-689.
[16] LEVIN A, LISCHINSKI D, WEISS Y. Colorization using optimization [J]. ACM transactions on graphics, 2004, 23(3):689-694.
[17] AN X, PELLACINI F. All-pairs appearance-space edit propagation [J]. ACM transactions on graphics, 2008, 27(3):15-19.
[18] AN X, FAIO P. User-controllable color transfer [J]. Computer graphics forum, 2010, 29(2):263-271.
[19] SUBR K, PARIS S, SOLER C, et al. Accurate binary image selection from inaccurate user input [J]. Computer graphics forum, 2013, 32(2):41-50.
[20] SENER O, UGUR K, ALATAN A. Error-tolerant interactive image segmentation using dynamic and iterated graph-cuts[C] ∥Proceedings of the 2nd ACM International Workshop on Interactive Multimedia on Mobile and Portable Devices, 2012:9-16.
[21] DARABI S, SHECHTMAN E, BARNES C. Image melding: combining inconsistent images using patch-based synthesis [J]. ACM transactions on graphics, 2012, 31(4):13-15.