方力洋, 王 进, 陆国栋
(浙江大学 CAD&CG国家重点实验室,浙江 杭州 310027)
改进线性模板映射的色彩转移算法
方力洋, 王进, 陆国栋
(浙江大学CAD&CG国家重点实验室,浙江 杭州 310027)
摘要:针对线性模板映射方法只适用于模板和较单一色彩图像之间的转移的缺点,提出一种改进的色彩转移算法.采用Grabcut进行区域分割,由区域面积比例、亮度统计信息、色彩分布信息组成匹配向量,确定区域之间的匹配对应关系;针对色彩区域较小时因色彩分布集中而影响色彩转移准确性的问题,利用色彩分布进行修正,并采用最近点搜索方法完成各区域的色彩转移;最后利用直方图规定化对亮度进行修正. 实验结果表明:改进的算法在局部细节和整体的色彩转移上都能取得较好的效果.
关键词:色彩转移;线性模板映射;区域匹配;色彩修正;亮度修正
色彩转移可以将一些特定色彩转移给目标图像,使色彩转移后的图像与输入图像具有相似的色彩统计信息,给人以相似的色彩感官体验.色彩转移在很多领域都有广泛应用,例如:医学、影视制作;同时也可以对非专业人员产品设计提供一定的帮助.现在关于色彩转移方面的研究已有很多,根据不同的操作方式,主要可以分为两类:第一类是全局色彩转移,第二类是基于局部区域分割的色彩转移.
对于全局色彩转移,Reinhard等[1]提出了一种简单的全局色彩转移方法,利用在Lab色彩空间中各通道的平均值和标准差完成色彩转移.Xiao等[2]提出一种梯度保持的算法,通过综合考虑图像中像素的空间位置信息和色彩信息,在局部上保留图像中比较不明显的特征,但是由于矩阵的大小跟图像相关,算法整体耗时较多.Liu等[3]提出了在RGB色彩空间中对色彩分布数据进行椭圆体拟合,利用椭圆体变形来实现色彩转移.该方法对于色彩不是很丰富的图像之间的转移效果有一定的提升,但是同样不适用于色彩比较丰富的图像.Huang等[4]提出了一种通过对2张图像色彩数据进行插值操作,根据评价指标来获得最佳混合系数,从而完成色彩转移的算法,使得色彩转移的操作可以通过融合系数控制,但是当评价指标值较低时色彩转移效果较差.Seo等[5]提出了一种基于线性模板映射的色彩转移和图像重着色算法,该算法在Lab色彩空间中根据色彩分布的线性回归线对图像色彩进行操作,实现不同简单色彩主题之间的转换,但不适用于色彩丰富的图像之间的色彩转移.Youngbae等[6]提出了对图像建立概率模型,利用最小二乘法实现相似场景之间的色彩转移,并扩展应用到视频的色彩转移上,但该方法对图像的相似度要求较高,否则效果较差.Fumio等[7]提出了一种利用图像信息融合将色彩和纹理一起进行转移的算法,但只适用于场景相似图像之间的转移.Papadakis等[8]利用图像的色彩直方图进行色彩转移,但是对于亮度对比大的图像之间的转移效果较差.Xiao等[9]提出了一种对物体进行平面网格划分后利用网格边界加权计算获得目标色彩的算法,该方法对色彩细节的转移较佳,但只适用于较简单图像之间的色彩转移.Zhang等[10]提出了一种通过对图像定义不同的部件,对各部件进行分析、转移,融合得到目标风格图像的算法,该算法不仅能改变图像的色彩,也能在一定程度上改变图像艺术风格.
为了降低全局算法中色彩转移的不可控性,研究者将图像分割的方法引入色彩转移过程.Tai等[11]针对复杂场景的图像,通过高斯混合函数建模进行图像分割,然后利用灰度信息进行区域匹配完成色彩转移.Cusano等[12]通过对不同区域进行语义标定,将相近语义的区域进行匹配,提高色彩转移整体的感官体验,但是在色彩转移方法上并没有较大的改进.Zeng等[13]采用聚类的方法,把图像色彩转换到高维空间,采用相等距离法则实现色彩转移,该算法对于局部的色彩转移能获得较好结果,但该文献并未提出了色彩匹配方法.Xiao等[14]提出了一种利用基于风格词汇的5种色彩组成的色彩主题对图像色彩进行风格化转换的方法,但是由于输入的色彩主题固定为5种色彩,对于色彩丰富或者相对单一的图像的转移效果都不好.
本文针对基于线性模板映射的色彩转移算法分区域独立操作困难的问题,提出一种改进的算法,采用图像分割和区域色彩转移提升色彩转移后图像中色彩的丰富性,并对亮度分量进行修正,弥补以往算法未进行亮度操作的缺点.
1基于线性模板映射的色彩转移算法描述
基于线性模板映射的色彩转移算法[5]将图像转换到Lab色彩空间中,然后利用ab色彩平面上的色彩分布,实现不同简单色彩主题之间的转换.该算法通过模板输入色彩,模板可以是在ab色彩平面上一系列色彩点组成的曲线段,也可以是对图像色彩聚集后提取的狭长色彩带.算法具体流程如下:
1)统计目标图像在ab色彩平面上的色彩分布及其线性回归线,如图1(a)所示;
2)根据输入模板的线性回归线对目标图像的色彩分布进行旋转缩放,从而获得色彩聚拢后的模板,如图1(c)中所示;
3)按照最近点搜索映射方法,建立模板与目标图像色彩之间的映射关系,实现对目标图像色彩的转换,完成色彩转移的整个过程,结果如图1(d)所示.
该算法的优点是用户能够交互式输入色彩模板,实现不同简单色彩主题之间的转换;但在实际操作过程中,该算法会根据色彩分布的线性回归线对图像色彩进行聚拢,从而导致对全局色彩进行操作,使得局部区域的色彩细节丢失.从图1(d)中可以看到,色彩转移操作以后天空和花朵部分色彩相近,丢失了较多细节.该算法虽然能将输入模板的色彩转移到结果中,但是对于原本色彩比较丰富的图像进行转移效果较差.尤其当图像作为输入时,输入图像中的色彩细节在转移过程中也将丢失.该算法对图像中的亮度分量不进行操作,因此在亮度上差别较大的图像之间进行色彩转移不能获得比较好的结果.
2改进的基于线性模板映射的算法流程
改进的算法流程如图2所示,描述如下:
1)首先对输入图像和目标图像进行区域分割,对于输入图像提取各个区域的色彩模板,作为对目标图像进行色彩转移的输入模板;
2)为了获得比较自然的匹配对应关系,本文算法通过计算每个区域的匹配向量,然后通过优化求解确定各区域之间的匹配关系;
3)在进行区域之间的色彩转移时,为了提高色彩转移的精确性,对各个区域的色彩分布进行修正,再利用最近点搜索映射方法完成色彩转移;
4)最后针对原算法中不进行亮度修正的缺点,采用直方图规定化的亮度修正方法,使得色彩转移后图像中的色彩更加接近输入图像中的色彩,从而获得比较好的结果.
3图像色彩区域匹配算法
为了尽量保留输入图像色彩的丰富性,在遇到图像色彩较复杂的情况时,本文采用图像分割的方法,通过区域之间的色彩转移进而完成整体图像的色彩转移,使得转移后的图像的色彩效果更加接近输入图像的色彩效果.本文采用Rother等[15]提出的GrabCut算法进行区域分割,该算法利用图像中的纹理信息和边界信息建立混合高斯模型,只要少量的用户交互操作即可得到比较好的分割结果.
图3 Grabcut算法的区域分割结果Fig.3 Segmentation results by Grabcut algorithm
在区域匹配研究方面,钱小燕等[16]等提出了一种将Lab色彩空间中3个通道标准差进行加权平均作为匹配权值的匹配方法,但是由于匹配权值的指标较少,在匹配时效果较差.针对原算法不对亮度分量进行调整的特点,把亮度信息作为匹配参数之一,同时考虑到人眼对色彩区域大小以及色彩丰富性的敏感性,提出由区域面积比例,亮度平均值,色彩分布跨度3个值组成的匹配向量.
假设Ni表示第i区域的匹配向量,其表示形式为
Ni=(Ri,ωLLi, ωWWi) .
(1)
式中:Ri=Ai/(wig*hig)表示面积比例,Ai表示第i区域的面积,wig、hig分别表示图像的宽度和高度;Li=i/256表示亮度匹配值,i表示第i区域的亮度平均值,这里256为亮度上限;Wi=Bi/256表示色彩分布匹配值,Bi表示第i区域色彩分布最小包围盒的长度,代表了在ab色彩平面上色彩的跨度,256为ab色彩平面的最大跨度值.ωL、ωW为修正系数,经过实验,其中ωL取0.20,ωW取0.15能获得较好匹配结果.
为了确定各个区域之间的匹配关系F(…,fi(m,n),…),其中fi(m,n)表示目标图像中的第m区域与输入图像中的第n区域形成第i匹配对,本文考虑将匹配向量接近的区域形成匹配,计算每一对匹配区域之间匹配向量的距离,当总距离最小时,即对式(2)进行最小值优化求解,该匹配即为最佳匹配:
(2)
式中:‖fi(m,n)‖2表示目标图像中的第m区域与输入图像中的第n区域匹配向量之间的欧式距离.
图4 区域匹配对应结果Fig.4 Regions matching results
表1图3中输入图像和目标图像各区域面积比例、亮度匹配值、色彩分布匹配值
Tab.1Regionration,luminancematchingvalueandcolormatchingvalueofeachregioninfigure3
区域编号 输入图像 目标图像 RLWRLW(1)0.680.440.650.570.650.42(2)0.050.450.520.030.230.33(3)0.010.350.410.040.270.09(4)0.2620.480.410.350.490.38
根据上述理论,获得区域分割结果如图3所示,获得区域匹配关系如图4所示,各区域面积比例,亮度匹配值,色彩分布匹配值如表1所示,其中,R为面积比,L为亮度匹配值,W为色彩分布匹配值与文献[16]中的匹配算法进行比较,可以看到,本文算法将面积比例作为主要匹配要素,亮度作为次要匹配要素,能够将区域大小,亮度信息相近的区域组成匹配对应关系,从整体视觉效果上看,本文算法较文献[16]的算法能获得更加合理的匹配结果.
本文算法在实际操作时尽量要求分割的区域数量一致. 当区域数量不一致时,如果输入区域数量大于目标区域数量,则可以舍去多余的区域;如果输入区域数量小于目标区域数量,对于没有对应输入模板的区域可采用交互式色彩模板输入和调整的方法.
4图像色彩分布修正和色彩转移
本文算法是在图像分割的基础上分区域完成色彩转移,通过对输入区域提取模板,完成对目标区域的色彩转移.在色彩区域较小的情况下,色彩分布就会相对集中在色彩平面上一小块区域内,如图5(d)中所示,输入模板的色彩主要集中在ab色彩平面的右侧,在获得输入区域的色彩模板以后,目标区域需要根据输入模板缩放旋转,最终色彩分布集中在ab色彩平面中部,如图5(a)中所示,导致利用最近点搜索映射方法进行色彩转移后,色彩集中在输入色彩模板的左侧,如图5(c)中所示.例如色彩点P经过旋转缩放移动到P0,利用最近点搜索映射方法在输入模板中找到对应的色彩P1,在未经过色彩分布修正前,最后得到转移结果如图5(c)中所示,可以看出图中色彩效果较输入区域色彩效果偏离较大,因此在原算法的基础上,本文在进行色彩转移之前需要对区域色彩分布进行修正.
图5 输入图像色彩模板提取和基于线性模板映射的区域色彩转移Fig.5 Extraction of input template and color transfer based on linear template mapping between regions
首先,为了获得输入区域的色彩模板,需要对输入区域的色彩进行缩放操作,如图5(d)所示.在获得输入区域色彩分布的线性回归线后,对其色彩分布按照该线性回归线垂直轴向的方向进行缩放,使得缩放后色彩分布的最小包围盒宽度W低于设定的阈值δ,本文实验中取15,从而实现对输入区域色彩模板的提取.
在获得输入模板后,文献[5]中的算法需要根据输入模板对目标区域的色彩进行旋转缩放操作,目的是在进行色彩转移的时候让尽可能多的输入模板中的色彩转移到目标图像中,其中旋转缩放的操作如下.
1)根据目标区域色彩分布计算获得该分布的线性回归线y=αx+β,如图5(d)所示.
2)根据线性回归线,按照式(3)移动色彩分布,使该色彩分布的线性回归线通过ab色彩平面中心:
(3)
式中:α、β分别是目标区域色彩分布线性回归线的斜率和截距.
3)根据输入区域色彩分布的线性回归线,以ab色彩平面中心为旋转点,旋转目标区域的色彩分布,使得旋转后色彩分布的线性回归线的斜率与输入区域色彩分布的线性回归线的斜率一致.
4)按照式(4)对目标区域色彩分布进行沿垂直线性回归线轴向方向缩放,使得缩放后色彩分布的最小包围盒的长宽等于输入模板色彩分布的最小包围盒的长宽:
(4)
式中:Btw、Bth、Bsw、Bsh分别表示输入模板和目标区域色彩模板的最小包围盒的长度和宽度.
按照上述步骤对目标区域的色彩分布进行旋转缩放操作,获得结果如图5(b)中所示.
对目标区域色彩分布进行缩放以后,本文算法还需要对色彩分布进行一定的修正,解决不同区域之间色彩转移时色彩偏离的问题.其中修正过程为按照式(5)对区域色彩点进行平移,使得旋转缩放后的色彩分布中心,与输入模板的色彩分布中心重合:
T′(-Δx,-Δy)=T′(xsc-xtc,ysc-ytc).
(5)
式中:(xsc,ysc)、(xtc,ytc)分别表示输入区域和目标区域色彩分布中心点的坐标.
5基于直方图规定化的亮度修正
由于文献[5]中的算法不对亮度分量进行修正,在亮度相差较大的区域之间进行色彩转移时,会使得色彩转移后的色彩存在一定的偏差,如图6(e)中所示,未进行亮度修正的图像中红色的龟壳部分较输入图片中红色区域的亮度偏低,整体亮度效果与输入图像相差较大.为了克服这个问题,本文算法在完成色彩转移后进行亮度修正,使得最终结果中的色彩更加接近输入图像中的色彩.本文算法采用直方图规定化的方法进行亮度修正,其中直方图规定化是指一种通过一个灰度映像函数,将原灰度直方图改造成期望的灰度直方图的方法,这里的灰度可以指图像的亮度,该方法具体流程如下:
对于已匹配的2个区域,假设pr(r)和pz(z)表示已经归一化的目标区域亮度分布概率密度函数和输入区域亮度分布概率密度函数.首先对目标区域进行直方图均衡化,获得其累积概率密度函数:
(6)
对输入区域的直方图也进行均衡化处理,获得其累积概率密度函数v:
图6 亮度修正示意图Fig.6 Luminance correction diagram
(7)
式(7)的逆过程是z=G-1(v).因为对目标区域和输入区域都作了均衡化处理,因而ps=(s)和pv=(v)具有相同的均匀密度,用从目标区域中得到的亮度值s来代替逆过程中的v,其结果亮度值为z=G-1(s),即为期望的概率密度函数pz(z).如图6(b)、(c)所示,在分别获得目标区域和输入区域的累积概率密度函数后,目标区域中亮度值r的对应的概率值为T(r),则输入区域的累积概率密度函数中对应的概率为G(z),相应的在输入区域中对应亮度值为z,所以在进行直方图规定化时,目标区域中亮度值r替换为亮度值z.
在实际操作中由于亮度值是不连续的,本文用离散的亮度概率分布直方图来代替概率密度函数,形成离散的累积概率密度分布.通过利用最小亮度数据间隔(Lab色彩空间亮度分量的范围为0~256,最小间隔为1)进行统计,减少离散数据带来的误差,在实际效果上如图6(b)、(c)所示,由于间隔较小,可以将亮度概率分布直方图近似看成一条亮度累积概率分布曲线.根据上述步骤,完成对图像亮度分量的修正.
本文算法中采用区域亮度平均值作为衡量指标,在本实例中,输入图像中的区域1和区域2的平均亮度分别为91和173,未进行亮度修正的结果图像中区域1和区域2的平均亮度分别为66和122,而进行亮度修正后的结果图像中区域1和区域2的平均亮度分别为83和168,可以看出亮度修正后各区域的亮度平均值不同程度的接近输入区域的亮度平均值.如图6(g)中所示,亮度修正后的红色龟壳部分出现较高光区域,较未修正前更加接近输入图片中区域1的亮度效果.
6实验结果
6.1本文算法对比实验结果
从图7的实验结果中可以看到,在区域匹配方面,按照图4中匹配对应结果,进行色彩转移,分别获得如图7(c)、(e)中所示的结果图像,通过比较可以看出本文匹配算法不仅能将面积比例相近的区域匹配对准,也能将色彩亮度相近的区域匹配对准,相比较图7(c)中的结果,本文中的匹配算法获得的结果在色彩组成和整体感官体验都优于文献[16]中的匹配算法.
在色彩转移方面,如图7(d)中所示,可以看到未进行色彩分布修正而完成色彩转移的图像中色彩偏离较严重,而经过色彩分布修正后,如图7(e)中所示,能获得更接近输入区域色彩的结果,最后通过亮度修正,获得最终结果如图7(f)中所示,从图中可以看出背景部分和桌子的亮度有所提升,更加接近图7(a)中的颜色,实验结果表明本文算法能获得较好结果.
6.2图片输入色彩模板实验结果
本文算法通过区域分割,色彩分布修正和亮度修正等操作使得文献[5]中的算法在基于图像作为输入时效果有较大提升.从图8实验结果中可以看出,较文献[5]中的算法,本文算法在色彩区域较多的情况下能更好的保留输入图像中色彩的丰富性,同时通过亮度修正能让色彩转移后的图像的色彩效果更加接近输入图像中的色彩效果.
6.3基于模板输入和交互式模板色彩调整实验结果
本文算法的输入除了图像之外,还可以根据需求通过在ab色彩平面上绘制模板轨迹来完成色彩模板的输入,由于色彩平面上每个像素点都对应一种色彩,输入的轨迹就可以组成一个色彩模板,或者通过交互式模板进行色彩调整的方式对图像色彩进行改变,实验结果如图9所示,可以看出本文算法实用性较高.
图7 改进线性模板映射的色彩转移算法各步骤结果比较图Fig.7 Comparison results of each progress of color transfer algorithm based on improved linear template mapping
图8 采用本文改进色彩转移算法与采用文献[5]算法的效果对比图Fig.8 Comparison of experimental results of our improved color transfer algorithm and original algorithm proposed inliterature 3
7结语
本文针对基于线性模板映射的色彩转移算法在全局应用上的局限性,提出基于分割的改进算法,本文算法的优点包括以下几个方面:
1)针对原算法中转移后色彩较单调的缺点,提出基于分割的方法来进行色彩转移,增加转移后图像色彩的丰富性,提高色彩转移效果;
2)针对图像分割后区域之间色彩转移中色彩偏离的问题,提出色彩分布修正的方法,提高区域间色彩转移的准确性;
3)针对原算法不对亮度分量进行操作的缺点,提出基于直方图规定化的亮度修正方法,进一步纠正色彩偏差;
4)本文不仅支持图像作为输入,也支持基于模板输入和交互式模板区域色彩调整的操作方式,可以根据不同需求实现对图像整体或局部色彩的变换,提高算法实用性.
本文算法的不足之处在于受到分割算法的限制,对于细节上的转移可能不够精确,这是下步工作里需要解决的问题.
图9 基于模板输入和交互式色彩模板调整实验结果Fig.9 Color transfer results of input template and interactive color adjustment based on template
参考文献(References):
[1]REINHARDE,ASHIKHMINM,BRUCEG,eta1.Colortransferbetweenimages[J].IEEEComputerGraphicsandApplications, 2001, 21(5): 34-41.
[2]XIAOXZ,MALZ.Gradient-preservingcolortransfer[J].ComputerGraphicsForum, 2009, 28(7): 1879-1886.
[3]LIUSG,SUNHQ,ZHANGX.Selectivecolortransferringviaellipsoidcolormixturemap[J].JournalofVisualCommunicationandImageRepresentation, 2012, 23(1): 173-181.
[4]HUANGYH,WANGPC,CHOUCC,etal.Anautomaticselectivecolortransferalgorithmforimages[C]∥Proceedingsofthe2011ACMSymposiumonAppliedComputing.TaiChung:ACM, 2011: 66 - 71.
[5]SEOSH,PARKYS,OSTROMOUKHOVV.Imagerecoloringusinglineartemplatemapping[J].MultimediaToolsandApplications, 2013, 64(2): 293-308.
[6]YOUNGBAEH,JOONYL,INSK,eta1.Colortransferusingprobabilisticmovingleastsquares[C]∥ 2014IEEEConferenceonComputerVisionandPatternRecognition(CVPR),Columbus:IEEE, 2014:3342-3349.
[7]FUMIOO,KENNETHV,ADRIENB,etal.Unifyingcolorandtexturetransferforpredictiveappearancemanipulation[J].ComputerGraphicsForum, 2015, 34 (4): 11-21.
[8]PAPADAKISN,PROVENZIE,CASELLESV.Avariationalmodelforhistogramtransferofcolorimages[J].IEEETransactionsonimageprocessing, 2011,20(6): 1682-1695.
[9]XIAOY,WANL,LEUNGCS,etal.Optimizationbasedgradientmeshcolortransfer[J].ComputerGraphicsForum, 2015, 34(6):123-134.
[10]ZHANGW,CAOC,CHENSF,etal.Styletransferviaimagecomponentanalysis[J].IEEETransactionsonmultimedia, 2013,15(7): 1594-1601.
[11]TAIYW,JIAJY,TANGCK.Localcolortransferviaprobabilisticsegmentationbyexpectationmaximization[C]∥InProceedingsofthe2005IEEEComputerSocietyConferenceonComputerVisionandPatternRecognition.SanDiego:IEEE, 2005(1): 747-754.
[12]CUSANOC,GASPARINIF,SCHENTTINIR.Colortransferusingsemanticimageannotation[C]∥InternationalSocietyforOpticsandPhotonics.Burlingame:[s.n.], 2012: 82990U-82990U-8.
[13]ZENGK,ZHANGRM,LANXD,etal.Colorstyletransferbyconstraintlocallylinearembedding[C]∥ 18thInternationalConferenceonImageProcessing(ICIP).Brussels:IEEE, 2011: 1121-1124.
[14]XIAOH,WANGJJ,LIANHC.Affectiveimageadjustmentwithasingleword[J].TheVisualComputer:InternationalJournalofComputerGraphics, 2013, 29(11): 1121-1133.
[15]ROTHERC,KOLMOGOROVV,BLAKEA.Grabcut:Interactiveforegroundextractionusingiteratedgraphcuts[J].ACMTransactionsonGraphics(TOG), 2004, 23(3): 309-314.
[16] 钱小燕,肖亮,吴慧中.模糊颜色聚类在颜色传输中的应用[J].计算机辅助设计与图形学学报,2006,18(9): 1332-1336.
QIANXiao-yan,XIAOLiang,WUHui-zhong.ApplicationoffuzzycolorclusterincolortransferbetweenImages[J].Journalofcomputer-aideddesignandcomputergraphics, 2006,18(9): 1332-1336.
中图分类号:TP 391
文献标志码:A
文章编号:1008-973X(2016)06-1103-08
Colortransferalgorithmbasedonimprovedlineartemplatemapping
FANGLi-yang,WANGJin,LUGuo-dong
(State Key Laboratory of CAD&CG, Zhejiang University, Hangzhou 310027, China)
Abstract:An improved color transfer algorithm was proposed to overcome the limit of the color transfer algorithm based on linear template mapping that just worked well on templates and between dull color images. First, grab cut was introduced for image segmentation, and a region match method based on match vectors was proposed, consisting of region ration, luminance statistical information and color distribution of each regions. Secondly, the correction of color distribution was applied to improve the accuracy of color transfer between small regions, then the nearest point searching method was taken to achieve regional color transfer. Finally, a luminance correction was proposed based on histogram specification to overcome the defect in original algorithm without luminance change. The experimental results show that better details and global color transferring results can be achieved by the proposed algorithm.
Key words:color transfer; linear template mapping; region matching; color correction; luminancecorrection