本发明属于图像处理技术领域,具体涉及一种基于耦合自然矢量全变差的保边缘图像着色方法。
背景技术:
图像是传递信息的一种重要途径,其中颜色能够为人们理解图像内容提供重要的信息。相比灰度图像,彩色图像还可以增加其观赏性,因此灰度图像的彩色化是一项重要的任务。图像着色(imagecolorization)是20世纪70年代由wilsonmarkle提出的,用于描述借助计算法技术对黑白图像或视频着色的过程。着色技术的出现使得人们可以从图像中提取更多有用的信息,加深对图像内容的理解,从而提高图像利用率。现在,图像着色通常用于描述将灰度图像转换为彩色图像的任何过程,该技术已经广泛应用于许多领域,如古画修复、改善医学图像的视觉效果等。
目前常用的着色方法主要有两种,即颜色转移和颜色扩张。对于基于颜色转移的着色方法,需要输入一幅与目标灰度图像相似的彩色图像作为参照图,再根据一定的算法将参照图中的颜色转移到目标灰度图像中从而实现着色。对于基于颜色扩张的着色方法,需要人为地在目标灰度图像上添加彩色线条,再利用一定的算法使彩色线条中的颜色扩展到整幅图像上以实现着色。
在基于颜色转移的着色方法中,由于最初目标灰度图像中每个像素点是独立处理的,因此存在颜色不一致的问题。随后,学者提出将图像分割用于着色中来提高着色效果,取得了一定的成果。近来,学者将机器学习也用于图像着色中。
在基于颜色扩张的着色方法中,levin等人[参见文献《levin,a.,lischinski,d.,weiss,y.:colorizationusingoptimization.acmt.graphic.,23(3),689-694(2004)》]认为具有相似灰度值的相邻像素应该有相似的颜色,基于该假设,他们提出如下模型:
其中,ur,us为r,s处的像素值,n(r)是像素点r的领域,ωr,s是权重函数,在这里,只显示u分量,因为对于着色,色度通道u和v是相似的。随后,sapiro将偏微分方程的方法引入到图像着色中,求解亮度通道y的梯度和色度通道cb(或cr)的梯度之间的差值最小,从而实现着色。虽然这些方法可以实现着色,但会出现边界模糊和颜色越界的现象。yatziv[参看文献《yatziv,l.,sapiro,g.:fastimageandvideocolorizationusingchrominanceblending.ieeet.imageprocess.,15(5),1120-1129(2006)》]利用加权距离色度混合技术,找出最短路径进行快速图像着色。kang等人[参看文献《kangs.h.,march,r.:variationalmodelsforimagecolorizationviachromaticityandbrightnessdecomposition.ieeet.imageprocess.,16(9),2251-2261(2007)》]提出基于全变分的图像着色方法:
该模型基于cb颜色空间,其中扩散函数g为
其中,
g为单调递减函数,选取
技术实现要素:
为解决上述现有技术的不足,本发明提出了一种基于耦合自然矢量全变差的保边缘图像着色方法,有效解决图像着色中多个通道之间的耦合问题,能够保留图像边界,防止颜色越界。
为实现上述目的,本发明采用如下的技术方案:
基于耦合自然矢量全变差的保边缘图像着色方法,包括如下步骤:
步骤1)、对于一幅rgb颜色空间下的彩色图像,在该图像上画上黑色线条,得到图像1;
步骤2)、采用matlab将图像1转化为带彩色线条的灰度图像2,即含有人工着色区域dc的图像,其中
步骤3)、将图像2由rgb颜色空间内的图像转变为ycbcr颜色空间上的图像3,得到图像3在区域ω上的亮度信息y0和在人工着色区域dc上的色度信息(cb0,cr0),亮度信息y0在着色过程中不变;
步骤4)、根据以下公式建立基于耦合全变分的着色模型:
其中,
其中,g为单调递减函数,δ为拉普拉斯算子,gσ为高斯核,λ为权重系数,用于平衡正则项和保真项,j1v表示自然矢量全变差;
步骤5)、结合亮度信息y0和色度信息(cb0,cr0),根据步骤4)中的着色模型利用原始对偶算法求解区域ω中的色度信息(cb,cr);
步骤6)、将得到的区域ω上的色度信息(cb,cr)和亮度信息y0联合,得到ycbcr颜色空间中的图像4;
步骤7)、将图像4由ycbcr颜色空间内的图像转变为rgb颜色空间内的图像5,图像5即为最终的着色图像;
步骤8)、对步骤7)中得到的图像5用峰值信噪比、均方误差、结构相似度作为评价指标得到其数值结果,峰值信噪比和结构相似度值越大,或均方误差值越小,着色效果越好。
进一步的,步骤3)中,所选择的ycbcr颜色空间进行归一化处理。
进一步的,步骤4)中,公式一中第一项∫ωg(|δ(gσ*y0)|)j1v为耦合全变差正则项,第二项
进一步的,步骤4)中,g为单调递减函数,设
进一步的,步骤4)中,利用矢量全变分tvj=∫ωj1vdx,其中j1v与导数矩阵dv的最大奇异值σ1(dv)相关,即j1v=σ1(dv),其中,
该矢量tv在所有通道中,仅产生一个共同的边缘方向ξ,从而可以更有效地保留图像边缘,其中,div是散度算子。
进一步的,步骤5)中,原始对偶算法的步骤包括:将耦合全变分模型转变为鞍点问题;使用原始对偶算法进行交替迭代求解获得最优解;
原始对偶算法求解过程如下:
根据tvj的对偶定义,可以得到如下的鞍点问题:
其中,
且div(ζ)为散度算子,如下:
当得到第k次的迭代解(vk,ζk)时,原始对偶算法更新解的过程如下:
a1.更新变量ζ
固定v=vk,则变量ζ计算如下:
已知,a的奇异值分解为a=uσvt,则projs(a)=udiag(σp)vt,其中σp是(σ1,…,σn)到对偶球{x∈rn:σ|xi|≤g}的投影。
a2.更新变量v
固定ζ=ζk,则变量v计算如下:
根据上述结果,最终算法如下:
s1、初始化:令τ0>0,σ0>0,v0=0,ζ0=0,
s2、迭代:按如下方式迭代更新变量ζk,vk,
ζk+1=projs(ζk+σgrad(vk))
vk+1=projv(vk-τdiv(ζk+1))
s3、当
假设v0,ζ0为任意实数,σ,τ>0,则数列(vk,ζk)通过原始对偶算法收敛到鞍点问题的鞍点(v*,ζ*)。
进一步的,步骤8)中,均方误差、峰值信噪比、结构相似度分别为:
1)均方误差(mse):
2)峰值信噪比(psnr):
3)结构相似度(ssim):
其中,ftrue和f分别是原始图像和着色后的图像,m×n是图像大小,μx,μy分别是ftrue和f的平均值,
进一步地,本发明所用的软件为matlabr2018a。
进一步地,本发明的实验环境为:windows10,处理器:intel(r)core(tm)i7-5500ucpu@2.40ghz2.40ghz;内存:4.00gb;系统类型:64位操作系统,基于x64的处理器。
本发明采用上述方案,能产生如下效果:
本发明公开了一种基于耦合自然矢量全变差的保边缘图像着色方法,通过采用tvj正则项,可以在所用通道之间仅产生一个共同的边缘方向,实现通道之间更好的耦合,对于图像边缘不明显的情况,本发明可以通过颜色之间的差异检测到色度边缘,从而使得颜色在图像边缘处停止扩散,达到保边缘的作用。
附图说明
图1为本发明的示意图;
图2为本发明的带有人工着色区域的灰度纹理图;
图3为本发明的图2中图像对应的纹理图原始图;
图4为本发明的图2中(a)图的着色结果,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图5为本发明的图2中(b)图的着色结果,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图6为本发明的图2中(c)图的着色结果,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图7为本发明的图2中(d)图的着色结果,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图8为本发明的图2中(e)图的着色结果,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图9为本发明的图4中着色结果的白框标记处的局部放大图,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图10为本发明的图5中着色结果的白框标记处的局部放大图,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图11为本发明的图6中着色结果的白框标记处的局部放大图,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图12为本发明的图7中着色结果的白框标记处的局部放大图,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图13为本发明的图8中着色结果的白框标记处的局部放大图,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图14为本发明的带有人工着色区域的灰度结构图及对应的原始图;
图15为本发明的图14中(a)图的着色结果,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图16为本发明的图14中(c)图的着色结果,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图17为本发明的图15中着色结果的白框标记处的局部放大图,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果;
图18为本发明的图16中着色结果的白框标记处的局部放大图,(a)为levin方法的着色结果,(b)为yatziv方法的着色结果,(c)为kang方法的着色结果,(d)为jin方法的着色结果,(e)为本发明的着色结果。
具体实施方式
下面结合说明书附图对本发明进行进一步的详细说明。以下实施仅用于说明本发明的实施方案,并不能以此来限定本发明。
如图1-18所示,一种基于耦合自然矢量全变差的保边缘图像着色方法,该方法基于源彩色图像和目标灰度图像,主要包含四个部分:(1)颜色空间转换;(2)建立着色模型;(3)用原始对偶算法求解提出的着色模型;(4)颜色空间转换,输出最终着色图像。
本发明的具体步骤如下:
步骤1)、对于一幅rgb颜色空间下的彩色图像,在该图像上画上黑色线条,得到图像1;
步骤2)、采用matlab将图像1转化为带彩色线条的灰度图像2,即含有人工着色区域dc的图像,其中
步骤3)、将图像2由rgb颜色空间内的图像转变为ycbcr颜色空间上的图像3,得到图像3在区域ω上的亮度信息y0和在人工着色区域dc上的色度信息(cb0,cr0),其中ycbcr颜色空间进行归一化处理,可采用常规处理,不作赘述;
步骤4)、建立基于变分的着色模型:
其中,
公式一中第一项∫ωg(|δ(gσ*y0)|)j1v为耦合全变差正则项,第二项
本发明的着色模型利用了矢量全变分tvj=∫ωj1vsx,其中j1v与导数矩阵dv的最大奇异值σ1(dv)相关,即j1v=σ1(dv),其中
从对偶公式可知,在该矢量tv中,仅存在一个共同的边缘方向ξ,其在各个通道之间被加权,从而可以更有效地保留图像边缘。
根据对偶公式,公式一中的正则项可以写为:
其中,ζ是向量值函数
步骤5)、结合亮度信息y0和人工着色区域dc上的色度信息(cb0,cr0),根据步骤4)中的着色模型利用原始对偶算法求解ycbcr颜色空间中的最优色度值(cb,cr),亮度信息y0在着色过程中不变;
原始对偶算法求解过程如下:
根据tvj的对偶定义,可以得到如下的鞍点问题:
其中
当得到第k次的迭代解(vk,ζk)时,原始对偶算法更新解的过程如下:
a1.更新变量ζ
固定v=vk,则变量ζ计算如下:
其中projs(a)=udiag(σp)vt,其中σp是(σ1,…,σn)到对偶球{x∈rn:σ|xi|≤g}的投影。
a2.更新变量v
固定ζ=ζk,则变量v计算如下:
根据上述结果,最终算法如下:
s1、初始化:令τ0>0,σ0>0,v0=0,ζ0=0,
s2、迭代:按如下方式迭代更新变量ζk,vk,
ζk+1=projs(ζk+σgrad(vk))
vk+1=projv(vk-τdiv(ζk+1))
s3、当
假设v0,ζ0为任意实数,σ,τ>0,则数列(vk,ζk)通过原始对偶算法收敛到鞍点问题的鞍点(v*,ζ*)。
步骤6)、将得到的区域ω上的色度信息(cb,cr)和亮度信息y0联合,得到ycbcr颜色空间中的图像4;
步骤7)、将图像4由ycbcr颜色空间内的图像转变为rgb颜色空间内的图像5,图像5即为最终的着色图像;
步骤8)、对步骤7)中得到的图像5用均方误差(mse)、峰值信噪比(psnr)、结构相似度(ssim)作为评价指标得到其数值结果。
三个评价指标具体如下:
1)均方误差(mse):
2)峰值信噪比(psnr):
3)结构相似度(ssim):
其中,ftrue和f分别是原始图像和着色后的图像,m×n是图像大小,μx,μy分别是ftrue和f的平均值,
psnr、ssim的值越大,或mse值越小,则模型的着色效果越好。
实施例1
本发明选择的实验环境为matlabr2018a,实验所用电脑配置为:windows10,处理器:intel(r)core(tm)i7-5500ucpu@2.40ghz2.40ghz;内存:4.00gb;系统类型:64位操作系统,基于x64的处理器。在下面的实验中,用δy0替换δ(gσ*y0),高斯核gσ和亮度信息y0的卷积用于数学分析。基于耦合全变分的着色模型公式一中的参数:权重系数λ和单调递减函数g中的参数τ的取值为使峰值信噪比psnr达到最大时的值。对于算法的终止准则,设tol=1.0×10-4,将本发明模型和现有的levin模型、yatziv模型、kang模型、jin模型进行着色结果评价,结果如表1-2所示,表1为纹理图着色结果比较,表2为结构图着色结果比较。
表1
表2
从纹理图的着色后图像中可以看出levin模型对于图2中(a)图和图2中(d)图存在颜色越界现象。使用yatziv模型着色后的图像颜色均发生了明显的变化。在kang模型的着色结果图中有部分区域未实现着色。和本发明模型相比,jin模型的着色效果也不是很好,参看图4和图5。观察着色结果图4-图8,本发明所提方法可以有效保留颜色边缘,防止颜色越界,具有较好的着色效果。
在图9-图13中,我们罗列了图4-图8中着色后图像的放大区域,该区域在图4-图8中用黄框标记。可以看出,使用本发明模型着色后的图像与原始彩色图像更接近。从图9和图12可以看出levin模型着色时存在颜色越界现象。对于图2中所有纹理图,yatziv模型着色后的图像颜色和原始图像颜色有一定差距。kang模型的着色结果也较差,在部分区域未实现着色,特别是对于图2中(c)图、图2中(d)图和图2中(e)图的放大区域。此外,在图9和图12中,jin模型在着色时也存在颜色越界现象,这是由于jin模型中的扩散函数g(|δ(gσ*y0)|)不能检测到纹理图的亮度边缘,从而出现了颜色越界现象。相比这些方法,本发明所提方法由于使用自然矢量全变差从而使得着色后的图像颜色边缘可以很好地保留。
本发明所提方法不仅可以对纹理图进行着色,对于结构图也和其他方法一样有较好的着色结果。具体可参看图15和图16。levin模型对于图14中(a)图有些许的颜色越界,yatziv模型对于图14中(a)图和图14中(c)图均存在颜色变化现象。在图15中,kang模型着色后的图像存在颜色越界和部分区域未着色。使用jin模型对图14中(a)图着色时颜色跨越了边界,同时该方法在图像底部使得颜色发生了变化。相比以上方法,本发明所提方法具有较好的着色结果,其颜色更接近原始彩色图像。以上结果可以在图17-图18的放大区域中清晰地观察到。从图15-18可以看出,本发明所提方法对于结构图也有较好的着色效果。
表1、表2给出了图4-8、图15-16所示着色后图像的psnr、mse和ssim值,从表1-2中可以看出,本发明所提方法相比其他方法着色效果更好。
以上所述是对本发明的实施方案所做的详细说明,对于本技术领域的普通技术人员,在不脱离本发明技术的前提下,还可以做出若干改进,同属于本发明的保护范围。