发明内容
本发明的目的是:提供了一种有效的仅需要少量线条的基于最优化模型的交互式彩色图像重新着色方法,改进了现有基于色彩传播的重新着色技术中存在的如下问题:(1)人工着色线条需要把图像中所有颜色都覆盖到,否则重新着色时会存在颜色丢失;(2)减少了重新着色区域的颜色纹理信息;(3)需要调整算法参数来匹配需要重新着色的区域,方法不直观;(4)全局色彩传播方法缺少局部控制,而局部色彩传播方法需要更多的用户输入线条;(5)当用户输入线条颜色不合适需要调整时,整个算法需要重新计算,需要消耗大量的时间。
本发明所设计的基于最优化模型的交互式图像重新着色方法,包括以下九个步骤:
(1)输入待处理彩色图像IOrg,然后将待处理彩色图像进行人工线条着色,获得着色图像;
(2)将着色图像分别进行基于全局最优化和基于局部最优化的抠图,分别获得全局最优化的抠图图像IAlphaGlobal和局部最优化的抠图图像IAlphaLocal;
(3)对获得的全局最优化的抠图图像IAlphaGlobal和局部最优化的抠图图像IAlphaLocal进行二值化处理,对应的二值化图像分别为ISegGlobal和ISegLocal;
(4)根据着色线条的选区属性,采取添加或者减去的策略,合并二值化图像ISegGlobal和ISegLocal为ISeg;
(5)根据二值化图像ISeg和待处理彩色图像IOrg,计算待处理彩色图像IOrg中需要重新着色区域ISel;
(6)将着色区域ISel的RGB颜色空间转换到HSV颜色空间,分别获得色调通道H、饱和度通道S和亮度通道V;
(7)用户采用交互式的方式调整着色区域ISel中的色调通道H、饱和度通道S,即实现选中区域进行重新着色,获得图像Irecolor;
(8)将图像Irecolor的HSV颜色空间转换到RGB色彩空间,获得图像IRGBcolor;
(9)将区域重新着色后的图像IRGBcolor和彩色图像I合并后获得重新着色图像INew。
2、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(1)中所述的人工着色线条具有如下属性(输入线条的属性见下表):从颜色上分为前景色白色和背景色黑色,其中前景色从色彩传播上分为全局传播和局部传播,从区域属性分别为添加和减去。
颜色 |
色彩传播 |
区域属性 |
前景色白色 |
全局传播或局部传播 |
添加或减去 |
背景色黑色 |
-- |
-- |
3、根据权利要求1或权利要求2所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(2)中所述的分别进行基于全局最优化和基于局部最优化的抠图方法分为如下三个步骤:
(1)首先搜索每个像素的K个邻域像素;所用的高维特征空间包括了HSV色彩通道和空间坐标,特征空间F(i)定义如下:
F(i)=(H(i),S(i),V(i),γx(i),γy(i))
式中,H是图像HSV色彩空间的色调值,S是饱和度,V是亮度值,γ参数控制色彩传播是采用全局传播还是局部传播,γ取值为0或者∞(如果γ取值为0则为全局色彩传播,如果γ取值为∞则为局部色彩传播),采用FLANN库实现来查找像素i的K个邻域Ni(KNN);
(2)其次构建重新着色的最优化模型,并且考虑用户输入着色线条,构建如下最优化代价函数:
J(U)=λ(U-G)TDs(U-G)+UTLColorU
式中:
U为求解的抠图矩阵;
Ds为对角矩阵,在该对角矩阵中,涂色线条像素对应的对角线上的值为1,其余对角线上的值为0;
G对应为涂色线条的值,其中前景线条对应值为1,背景线条对应的值为0;
公式中第一项确保了抠图图像和用户涂色线条的值尽可能的接近,第二项保证了像素和其邻域的相似性,使得已经涂色的像素通过邻域进行传播,参数λ用来调整这两项的平衡,算法实现中λ设置为1;
邻域的彩色图像的拉普拉斯矩阵LColor构建如下:
式中:
j和k为图像像素索引值;
δij是克罗内克函数,如果i和j相等,则δij为1,否则δij为0;
μk和分别像素k的K个非局部邻域像素的平均值和方差;
K为像素k的非局部邻域个数;
∈为规则化参数取值为10-6;
I3为输入图像在HSV色彩空间的色度值,饱和度以及亮度值;
求解最优化模型获得如下稀疏线性***:
U=(LColor+λDs)-1λDsG
式中:LColor+λDs为稀疏矩阵求解,算法选择通过高斯-赛德尔迭代法求解;
(3)最终,把输入线条的前景色按照色彩传播属性分为全局前景色和局部前景色,利用全局前景色和背景色进行基于全局的图像抠图,即邻域像素搜索时γ取值为0;利用局部前景色和背景色进行基于局部的图像抠图,即邻域像素搜索时γ取值为∞。
4、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(3)中所述的对获得的全局最优化的抠图图像IAlphaGlobal和局部最优化的抠图图像IAlphaLocal进行二值化处理如下:
5、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(4)中所述的合并二值化图像ISegGlobal和ISegLocal为ISeg如下:
ISeg1=SGlobal×ISegGlobal+SLocal×ISegLocal
式中SGlobal和SLocal分别对应选取属性,如果为添加,则数值为1,如果为减去,则数值为-1。
6、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(5)中所述的计算待处理彩色图像IOrg中需要重新着色区域ISel如下:
ISel=IOrg×ISeg
7、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(6)中所述的由RGB颜色空间转换到HSV颜色空间的转换方法如下:
我们标记Max为(R,G,B)中的最大值,Min为(R,G,B)中的最小值,
V=MAX
式中R,G,B分别表示图像的红、绿、蓝颜色值,H是图像的色调值,S是图像的饱和度,V是图像的亮度。
8、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步 骤(8)中所述的由HSV颜色空间转换到RGB颜色空间的转换方法按如下公式:
p=V(1-S)
q=V(1-fS)
t=V(1-(1-f)S)
R=V,G=t,B=p if Hi=0
R=q,G=V,B=p if Hi=1
R=p,G=V,B=t if Hi=2
R=p,G=q,B=V if Hi=3
R=t,G=p,B=V if Hi=4
R=V,G=p,B=q if Hi=5
9、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(9)中所述的合并重新着色后的图像IRGBcolor和彩色图像IOrg为INew如下:
INew=ISel×IRGBcolor+(1-ISel)×IOrg
本发明所设计的基于最优化模型的交互式图像重新着色方法的有益效果是:
1、本发明提出的重新着色方法,第一步为用户着色,类似与Photoshop中替换颜色工具,画笔分为前景色和背景色,可以增加、减少选择区域,同时增加了Photoshop中不具有的全局传播、局部传播属性。第二步选择重新着色区域时,由于加入了全局和局部的传播最优化方案,仅需要用户输入少量的前景和背景色,除了抠图出来的区域,其他区域颜色自动保持不变,这样就不需要所有颜色都覆盖到了,第三步为对抠图出来的区域进行HSV颜色调整,保证了区域内纹理的分布,同时也适用存在镜面反射和物体阴影的图片,调整颜色方便、简单、快捷。
2、本方法给出的图像重新着色技术,仅需要输入少量的涂色线条(仅含前景色和背景色),能精确的提取重新着色区域,实现前景区域和背景区域的有效分离,能产生高质量的 重新着色效果,为非专业人员提供了简便直观的图像颜色替换方法。
3、本方法所提出的图像重新着色技术提高计算机辅助设计的效率、减少设计师的劳动时间、改善重新着色技术的效果,支持图像的批量重新着色。该***能精确的提取用户需要重新着色的区域,采用交互式的方式,使设计师能很好地和软件进行交互,设计出高质量的艺术效果。
实施例1:
如图1所示,本实施例所描述的基于最优化模型的交互式图像重新着色方法,包括以下九个步骤:
(10)输入待处理彩色图像IOrg,然后将待处理彩色图像进行人工线条着色,获得着色图像;
(11)将着色图像分别进行基于全局最优化和基于局部最优化的抠图,分别获得全局最优化的抠图图像IAlphaGlobal和局部最优化的抠图图像IAlphaLocal;
(12)对获得的全局最优化的抠图图像IAlphaGlobal和局部最优化的抠图图像IAlphaLocal进行二值化处理,对应的二值化图像分别为ISegGlobal和ISegLocal;
(13)根据着色线条的选区属性,采取添加或者减去的策略,合并二值化图像ISegGlobal和ISegLocal为ISeg;
(14)根据二值化图像ISeg和待处理彩色图像IOrg,计算待处理彩色图像IOrg中需要重新着色区域ISel;
(15)将着色区域ISel的RGB颜色空间转换到HSV颜色空间,分别获得色调通道H、饱和度通道S和亮度通道V;
(16)用户采用交互式的方式调整着色区域ISel中的色调通道H、饱和度通道S,即实现选中区域进行重新着色,获得图像Irecolor;
(17)将图像Irecolor的HSV颜色空间转换到RGB色彩空间,获得图像IRGBcolor;
(18)将区域重新着色后的图像IRGBcolor和彩色图像I合并后获得重新着色图像INew。
2、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(1)中所述的人工着色线条具有如下属性(输入线条的属性见下表):从颜色上分为前景色白色和背景色黑色,其中前景色从色彩传播上分为全局传播和局部传播,从区域属性分别为添加和减去。
颜色 |
色彩传播 |
区域属性 |
前景色白色 |
全局传播或局部传播 |
添加或减去 |
背景色黑色 |
-- |
-- |
3、根据权利要求1或权利要求2所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(2)中所述的分别进行基于全局最优化和基于局部最优化的抠图方法分为如下三个步骤:
(1)首先搜索每个像素的K个邻域像素;所用的高维特征空间包括了HSV色彩通道和空间坐标,特征空间F(i)定义如下:
F(i)=(H(i),S(i),V(i),γx(i),γy(i))
式中,H是图像HSV色彩空间的色调值,S是饱和度,V是亮度值,γ参数控制色彩传播是采用全局传播还是局部传播,γ取值为0或者∞(如果γ取值为0则为全局色彩传播,如果γ取值为∞则为局部色彩传播),采用FLANN库实现来查找像素i的K个邻域Ni(KNN);
(2)其次构建重新着色的最优化模型,并且考虑用户输入着色线条,构建如下最优化代价函数:
J(U)=λ(U-G)TDs(U-G)+UTLColorU
式中:
U为求解的抠图矩阵;
Ds为对角矩阵,在该对角矩阵中,涂色线条像素对应的对角线上的值为1,其余对角线上的值为0;
G对应为涂色线条的值,其中前景线条对应值为1,背景线条对应的值为0;
公式中第一项确保了抠图图像和用户涂色线条的值尽可能的接近,第二项保证了像素和其邻域的相似性,使得已经涂色的像素通过邻域进行传播,参数λ用来调整这两项的平衡,算法实现中λ设置为1;
邻域的彩色图像的拉普拉斯矩阵LColor构建如下:
式中:
j和k为图像像素索引值;
δij是克罗内克函数,如果i和j相等,则δij为1,否则δij为0;
μk和分别像素k的K个非局部邻域像素的平均值和方差;
K为像素k的非局部邻域个数;
∈为规则化参数取值为10-6;
I3为输入图像在HSV色彩空间的色度值,饱和度以及亮度值;
求解最优化模型获得如下稀疏线性***:
U=(LColor+λDs)-1λDsG
式中:LColor+λDs为稀疏矩阵求解,算法选择通过高斯-赛德尔迭代法求解;
(3)最终,把输入线条的前景色按照色彩传播属性分为全局前景色和局部前景色,利用全局前景色和背景色进行基于全局的图像抠图,即邻域像素搜索时γ取值为0;利用局部前景色和背景色进行基于局部的图像抠图,即邻域像素搜索时γ取值为∞。
4、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(3)中所述的对获得的全局最优化的抠图图像IAlphaGlobal和局部最优化的抠图图像IAlplhaLocal进行二值化处理如下:
5、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(4)中所述的合并二值化图像ISegGlobal和ISegLocal为ISeg如下:
ISeg1=SGlobal×ISegGlobal+SLocal×ISegLocal
式中SGlobal和SLocal分别对应选取属性,如果为添加,则数值为1,如果为减去,则数值为-1。
6、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(5)中所述的计算待处理彩色图像IOrg中需要重新着色区域ISel如下:
ISel=IOrg×ISeg
7、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(6)中所述的由RGB颜色空间转换到HSV颜色空间的转换方法如下:
我们标记Max为(R,G,B)中的最大值,Min为(R,G,B)中的最小值,
V=MAX
式中R,G,B分别表示图像的红、绿、蓝颜色值,H是图像的色调值,S是图像的饱和度,V是图像的亮度。
8、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(8)中所述的由HSV颜色空间转换到RGB颜色空间的转换方法按如下公式:
p=V(1-S)
q=V(1-fS)
t=V(1-(1-f)S)
R=V,G=t,B=p if Hi=0
R=q,G=V,B=p if Hi=1
R=p,G=V,B=t if Hi=2
R=p,G=q,B=V if Hi=3
R=t,G=p,B=V if Hi=4
R=V,G=p,B=q if Hi=5
9、根据权利要求1所述的基于最优化模型的交互式图像重新着色方法,其特征在于:在步骤(9)中所述的合并重新着色后的图像IRGBcolor和彩色图像IOrg为INew如下:
INew=ISel×IRGBcolor+(1-ISel)×IOrg
这里给出局部线性模型的具体推导过程:
本发明算法基于如下假设:特征空间中相似的邻域,抠图后具有相似的alpha值。基于这个假设,给出了每个像素的邻域满足如下的彩色线性模型:
式中,(α,β)是线性系数,I是输入图像(采用HSV色彩空间),C为色彩通道。Ni是像素i的邻域,U是抠图后的alpha值。值得注意的是本方法采用了基于高维特征的空间邻域。为了找到像素i的邻域,非常关键的一个步骤就是设计合适的特征空间,本发明提出的特征空间 包括了HSV色彩通道和空间坐标,特征空间F(i)定义如下:
F(i)=(H(i),S(i),V(i),γx(i),γy(i)) (2)
式中,H是图像HSV色彩空间的色调值,S是饱和度,V是亮度值,γ参数控制色彩传播是采用全局传播还是局部传播,γ取值为0或者∞(如果γ取值为0则为全局色彩传播,如果γ取值为∞则为局部色彩传播),采用FLANN库实现来查找像素i的K个邻域Ni(KNN);
通过基于邻域的彩色线性模型,定义如下代价函数:
式中,∈为规则化参数,防止αk取的太大,增加数值稳定性(提出是算法中∈=10-6)。
线性系数(α,β)可以通过求解式(3)取得最小化代价函数获得
式中能量最优化模型可以看做变量(αk,βk)的二次方程,可以通过对公式进行求一阶偏导数获得,求解可以获得:
其中邻域的彩色图像的拉普拉斯矩阵LColor构建如下如下:
式中,δij是克罗内克函数,如果i和j相等,则δij为1,否则δij为0;μk和分别像素k的K个非局部邻域像素的平均值和方差。K为像素k的邻域个数。
通过合并基于邻域的彩色线性模型和用户输入的涂色限制,可以获得如下能量最优化方程:
J(U)=λ(U-G)TDs(U-G)+UTLColorU (4)
Ds为对角矩阵,在该对角矩阵中,涂色线条像素对应的对角线上的值为1,其余对角线上的值为0。G对应为涂色线条的值,其中前景线条对应值为1,背景线条对应的值为0。公式中第一项确保了抠图图像和用户涂色线条的值尽可能的接近,第二项保证了像素和其邻域的相似性,使得已经涂色的像素通过邻域进行传播。参数λ用来调整这两项的平衡,算法实现中λ设置为1。式(4)中的J(U)是抠图矩阵U的二次方程,因此J(U)的全局最小值可以通过对抠 图矩阵U的一阶偏导数为零求解得到。可以获得如下稀疏线性***:
U=(LColor+λDs)-1λDsG (5)
式(5)中LColor+λDs为稀疏矩阵求解,求解稀疏线性矩阵方程应用非常广泛,如何提高求解稀疏线性矩阵方程的速度和减少内存的使用,已经成为学术界和工程界研究的热点。求解稀疏矩阵可以分为直接法和迭代法。相对而言,迭代法算法的复杂度和内存消耗比用直接法求解低,而且迭代法通常比较容易并行计算,因此本发明的算法选择通过高斯-赛德尔迭代法求解。
本发明提出的重新着色方法,第一步为用户着色,类似与Photoshop中替换颜色工具,画笔分为前景色和背景色,可以增加、减少选择区域,同时增加了Photoshop中不具有的全局传播、局部传播属性。第二步选择重新着色区域时,由于加入了全局和局部的传播最优化方案,仅需要用户输入少量的前景和背景色,除了抠图出来的区域,其他区域颜色自动保持不变,这样就不需要所有颜色都覆盖到了,第三步为对抠图出来的区域进行HSV颜色调整,保证了区域内纹理的分布,调整颜色方便、简单、快捷。