
1.本发明涉及图像处理技术领域,特别涉及一种基于参考图和语义内容的黑白人像上色方法及终端。
背景技术:2.现阶段人物图像上色有两种主流方案。一是使用传统的人工上色,该方法能够最大程度的还原真实场景,二则是使用一些算法技术,通过计算机强大的计算能力来恢复所需要的颜色信息。
3.计算机上色中,现有技术较为常用的是采用生成对抗网络(generative adversarial networks:gan)进行计算机上色。一个生成对抗网络中包含了两个神经网络,即生成器和判别器,它们的对抗学习使自己变得日臻完善,从而得到逼近于真实数据的颜色效果。
4.该方法主要是通过大量的图片数据,学习待上色的黑白图像与真实彩色图像之间的颜色映射关系,之后输入黑白图片则能够自动恢复所需要的填充的颜色信息。在采用原始gan训练的时候容易出现训练不收敛或者训练崩溃的问题,需要通过不断尝试才能获得比较稳定的训练结果,此外,由于学习黑白图像到彩色图像的映射关系是让网络完全自己学习,缺少人为控制,容易造成最终上色结果不尽如人意。
技术实现要素:5.本发明所要解决的技术问题是:提供一种基于参考图和语义内容的黑白人像上色方法法及终端,使得生成对抗网络具有更好的上色效果。
6.为了解决上述技术问题,本发明采用的技术方案为:
7.一种基于参考图和语义内容的黑白人像上色方法,包括步骤:
8.s1、获取待上色人像图和参考图;
9.s2、将待上色人像图和参考图输入语义提取网络得到待上色人像图的语义图和参考图的语义图,将待上色人像图和参考图输入特征提取网络得到待上色人像图特征和参考图特征;
10.s3、将待上色人像图特征、参考图特征、待上色人像图的语义图和参考图的语义图输入自注意力模块得到待上色人像图和参考图的相似性矩阵,并根据相似性矩阵和参考图得到颜色匹配结果;
11.s4、将相似度矩阵和颜色匹配结果输入生成器生成结果图。
12.为了解决上述技术问题,本发明采用的另一种技术方案为:
13.一种基于参考图和语义内容的黑白人像上色终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
14.本发明的有益效果在于:一种基于参考图和语义内容的黑白人像上色方法及终
端,使用语义图作为辅助信息,使得模型不仅仅只通过图像对学习映射关系,通过语义图这种更加简单明了的对应关系的学习,有效控制了模型训练的可解释性,减少了之前模型训练存在的不确定性的问题,从而使得之前部分模型学习不好的上色区域能够更加准确的上到合适的颜色。
附图说明
15.图1为本发明实施例的一种基于参考图和语义内容的黑白人像上色方法的流程示意图;
16.图2为本发明实施例的一种基于参考图和语义内容的黑白人像上色终端的结构示意图。
17.标号说明:
18.1、一种基于参考图和语义内容的黑白人像上色终端;2、处理器;3、存储器。
具体实施方式
19.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
20.请参照图1,一种基于参考图和语义内容的黑白人像上色方法,包括步骤:
21.s1、获取待上色人像图和参考图;
22.s2、将待上色人像图和参考图输入语义提取网络得到待上色人像图的语义图和参考图的语义图,将待上色人像图和参考图输入特征提取网络得到待上色人像图特征和参考图特征;
23.s3、将待上色人像图特征、参考图特征、待上色人像图的语义图和参考图的语义图输入自注意力模块得到待上色人像图和参考图的相似性矩阵,并根据相似性矩阵和参考图得到颜色匹配结果;
24.s4、将相似度矩阵和颜色匹配结果输入生成器生成结果图。
25.由上述描述可知,本发明的有益效果在于:一种基于参考图和语义内容的黑白人像上色方法及终端,使用语义图作为辅助信息,使得模型不仅仅只通过图像对学习映射关系,通过语义图这种更加简单明了的对应关系的学习,有效控制了模型训练的可解释性,减少了之前模型训练存在的不确定性的问题,从而使得之前部分模型学习不好的上色区域能够更加准确的上到合适的颜色。
26.进一步地,所述语义提取网络包括依次连接的四个卷积模块,每个卷积模块包括三个卷积层、一个批正则化层和一个relu激活函数,所述卷积模块的计算公式为:
27.f=bn{{w2×
{relu{bn{w1*ig+b1}}}+b2}}+relu{w3*ig+b3};
28.式中,g表示非线性激活函数,wi表示第i个卷积层的权重,bi表示第i个卷积层的偏置,bn表示批归一化函数,ig表示输入图片,f表示卷积模块的输出。
29.由上述给出了语义网络模块的具体实现方法,实现了语义提取。
30.特征提取网络采用预训练的vgg19模型,该部分参数固定不做训练调整。
31.进一步地,所述自注意力模块具体实现步骤:
32.s31、将待上色人像图特征和参考图特征进行外积运算,得到特征相似度矩阵,其
计算公式为:
[0033]vref
=resize(f
ref
*w1+b1);
[0034]vg
=resize(fg*w2+b2);
[0035][0036]
将待上色人像图的语义图和参考图的语义图张成张量:
[0037]vref_s
=resize(f
ref_s
);
[0038]vs
=resize(fs);
[0039]
将待上色人像图的语义图和参考图的语义图同语义的部分标记为1,其余部分标记为0,得到语义相似度矩阵,其计算公式为:
[0040][0041]
s32、将特征相似度矩阵和语义相似度矩阵依次进行拼接、恢复原始大小和归一化操作,得到相似性矩阵,其计算公式为:
[0042]s′
=normal(recover(concat(s1,s2)));
[0043]
s33、对相似度矩阵和参考图进行矩阵乘法得到颜色匹配结果,其计算公式为:
[0044]i′
=s
′
*i
ref
;
[0045]
式中,wi表示第i个卷积层的权重,bi表示第i个卷积层的偏置,resize表示将矩阵张成向量的操作,v
ref
为参考图的特征的向量表示,vg为将待上色人像图的特征的向量表示,x表示外积操作,s1为特征的相似性矩阵,v
ref_s
为参考图的语义图的向量表示,vs为待上色人像图的语义图的向量表示,select表示将两个语义图相同语义的部分标记为1,其余部分标记为0的操作,recover表示恢复成原始大小的操作,normal表示归一化操作。s
′
表示相似性矩阵,i
′
表示颜色匹配结果,fg表示待上色人像图特征,f
ref
表示参考图特征,fs表示待上色人像图的语义图,f
ref_s
表示参考图的语义图。
[0046]
由上述描述可知,实现了相似性矩阵计算和颜色匹配。
[0047]
进一步地,所述生成器包括z+1个依次连接的卷积模块,每个卷积模块包括一个卷积层,一个批正则化层和一个relu激活函数,所述卷积模块中,前z/2+1个卷积模块作为编码部分,后z/2个卷积模块作为解码部分,第一个卷积模块为进行特征提取的卷积模块,所述z≥10。
[0048]
由上述描述可知,给出了生成对抗网络中,生成器的具体结构。
[0049]
进一步地,对方法里所涉及网络训练时实现以下步骤:
[0050]
a1、获取训练数据集,训练数据集包括多个训练数据,每个训练数据包括彩色人像图像、彩色人像语义分割图、参考图和参考图语义分割图;
[0051]
a2、以训练数据的彩色人像图片退化为黑白人像图像作为输入,以彩色人像语义分割图作为目标训练语义提取网络至语义提取网络学习收敛;
[0052]
a3、以语义提取网络和特征提取网络的输出作为输入,训练生成对抗网络;
[0053]
若一个子训练周期后生成的结果图与彩色人像图像比较时没有获得预先设定的重建效果,则继续进行反向传播,利用梯度下降优化算法更新卷积权值参数和偏置参数,再重新执行步骤a3直到生成的结果图与彩色人像图像比较时获得预先设定的重建效果或抵达预设训练次数。
[0054]
由上述描述可知,训练采用多个子周期训练的方案,由于gan训练存在不稳定的问题,通过设定较少的训练次数,可以有效减少后期训练崩溃的情况,同时通过更多的训练轮次,来逐渐优化训练的效果,这样可以让在训练的初期保证模型的稳定性,在训练的后期,提高上色的精度,减少因卷积网络判断错误导致的上色不合理的效果。用户可根据实际需要设定不同的训练次数。
[0055]
进一步地,所述语义提取网络所使用的损失函数为交叉熵损失函数,其公式为:
[0056][0057]
式中,y
ic
为语义分割图is各个语义部分的分布的概率,p
ic
为语义提取网络语义图各个语义的分布的概率。
[0058]
由上述描述可知,给出了语义提取网络的损失函数。
[0059]
进一步地,所述生成对抗网络的判别器包括n个卷积层和一个relu激活函数,判别器的公式为:
[0060]i′0=relu((relu(w
d1
*concat(ig,ig‘
)+b
d1
)
×wd2
+b
d2
)...
×wdn
+b
dn
);
[0061]
式中,w
di
表示第i个卷积层的权重,b
di
表示第i个卷积层的偏置参数,ig‘
是生成器的输出,ig表示彩色人像图像,io是判别器的输出结果。
[0062]
由上述描述可知,给出了判别器的具体实现方式,实现了判别器与生成器的对抗。
[0063]
进一步地,所述生成器的损失函数公式为:
[0064][0065]
式中,j表示损失函数的损失网络的第j层,c
jhj
wj表示第j层特征图的大小,φ表示损失网络。表示生成输出结果,y表示对应的彩色人像图像。
[0066]
由上述描述可知,给出了生成器的损失函数。
[0067]
进一步地,所述生成对抗网络的损失函数为:
[0068][0069][0070]
式中,g(z)表示生成器的输出,d(x,y)表示判定器的正确概率,表示彩色人像图像服从的分布,表示相似性矩阵和颜色匹配结果服从的分布。
[0071]
由上述描述可知,给出了生成器函数的损失函数。
[0072]
一种基于参考图和语义内容的黑白人像上色终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
[0073]
本发明用于黑白人像上色。
[0074]
请参照图1,本发明的实施例一为:
[0075]
一种基于参考图和语义内容的黑白人像上色方法,包括以下步骤:
[0076]
s1、获取待上色人像图和参考图。
[0077]
获取待上色人像图ig和参考图i
ref
。
[0078]
s2、对待上色人像图和参考图进行语义提取得到待上色人像图的语义图和参考图的语义图,将待上色人像图和参考图输入特征提取网络得到待上色人像图特征和参考图特征。
[0079]
语义提取部分。将待上色人像图ig和语义图i
ref
分别作为输入,输入语义提取网络执行特征提取阶段,用于之后将提取的语义图特征融合进生成器部分,确保上色结果的准确性。
[0080]
具体而言,语义提取网络由四大块卷积模块组成,每个卷积模块包括三个卷积层,一个批正则化层和一个relu激活函数,其中一个大卷积模块的计算公式是:
[0081]
f=bn{{w2×
{relu{bn{w1*ig+b1}}}+b2}}+relu{w3*ig+b3};
[0082]
其中g表示非线性激活函数,wi,bi(i=1,2,3)分别表示语义提取阶段中不同卷积层的权重和偏置,bn表示批归一化函数,ig表示输入,f表示输出结果。之后,在经过四个大卷积块之后,经过一个上采样模块和一个输出通道为1的卷积层,得到一个人像分割结果的输出。
[0083]
其中,特征提取网络采用预训练的vgg19模型,该部分参数固定不做训练调整,通过网络学习和先验信息来获得参考图和原图的颜色匹配信息。
[0084]
s3、将待上色人像图特征、参考图特征、待上色人像图的语义图和参考图的语义图输入自注意力模块得到待上色人像图和参考图的相似性矩阵,并根据相似度矩阵和参考图得到颜色匹配结果。
[0085]
颜色匹配部分。该部分主要由自定义的自注意力块组成。在自定义自注意力块中,待上色人像图特征fg和参考图特征f
ref
进行外积运算,得到一个点对点的特征相似性矩阵。同时,将第一步语义网络提取的原图的语义图fs和参考图的语义图f
ref_s
也进行类似的操作得到一个相似矩阵,该矩阵将两个语义图相同语义的部分标记为1,其余部分标记为0。之后将这两个相似矩阵拼接,恢复成原始尺寸进行归一化操作,在和参考图进行矩阵乘法得到最后颜色匹配的结果。
[0086]
即,所述自注意力模块具体实现步骤:
[0087]
s31、将待上色人像图特征和参考图特征进行外积运算,得到特征相似度矩阵,其计算公式为:
[0088]vref
=resize(f
ref
*w1+b1);
[0089]vg
=resize(fg*w2+b2);
[0090][0091]
将待上色人像图的语义图和参考图的语义图张成张量:
[0092]vref_s
=resize(f
ref_s
);
[0093]vs
=resize(fs);
[0094]
将待上色人像图的语义图和参考图的语义图同语义的部分标记为1,其余部分标记为0,得到语义相似度矩阵,其计算公式为:
[0095][0096]
s32、将特征相似度矩阵和语义相似度矩阵依次进行拼接、恢复原始大小和归一化
操作,得到相似性矩阵,其计算公式为:
[0097]
s=normal(recover(concat(s1,s2)));
[0098]
s33、对相似度矩阵和参考图进行矩阵乘法得到颜色匹配结果,其计算公式为:
[0099]i′
=s
′
*i
ref
;
[0100]
式中,wi表示第i个卷积层的权重,bi表示第i个卷积层的偏置,resize表示将矩阵张成向量的操作,v
ref
为参考图的特征的向量表示,vg为将待上色人像图的特征的向量表示,x表示外积操作,s1为特征的相似性矩阵,v
ref_s
为参考图的语义图的向量表示,vs为待上色人像图的语义图的向量表示,select表示将两个语义图相同语义的部分标记为1,其余部分标记为0的操作,recover表示恢复成原始大小的操作,normal表示归一化操作。s
′
表示相似性矩阵,i
′
表示颜色匹配结果,fg表示待上色人像图特征,f
ref
表示参考图特征,fs表示待上色人像图的语义图,f
ref_s
表示参考图的语义图。
[0101]
s4、将相似度矩阵和颜色匹配结果输入生成器生成结果图。
[0102]
生成器部分。其旨在将上一步得到的相似性矩阵和颜色匹配结果作为输入,通过网络更好的学习上色效果。该部分由11个卷积模块组成,每个卷积模块包括一个卷积层,一个批正则化层和一个relu激活函数,其中一个大卷积模块的计算公式是:
[0103]
f=relu{bn{w1×
i+b1}};
[0104]
w1,b1表示特征提取阶段中卷积层的权重和偏置,bn表示批归一化函数,i表示输入特征,f表示特征提取阶段得到的输出结果。前6个卷积模块作为编码部分,后5个卷积模块作为解码部分,两个部分一一对应。
[0105]
对上述黑白人像上色方法进行训练时包括步骤:
[0106]
a1、获取训练数据集,训练数据集包括多个训练数据,每个训练数据包括彩色人像图像、彩色人像语义分割图、参考图和参考图语义分割图。
[0107]
为了训练人像图片上色模型,选取大量的彩色全身半身人像图像,之后退化为黑白图像作为待上色图像ig,并将,并且通过标注确定人像的精细类别属性,包括衣服、头发、脸等语义信息,得到每张彩色人像图片的语义分割图is。训练过程中随机挑选原图或另一张不同的人像图片作为其参考图i
ref
,其对应的语义分割图记为i
ref_s
。通过对彩色原始图像和语义分割图进行镜像和裁剪操作,得到大量固定尺寸的增广图片数据,图片大小设置为512x512,以匹配数据对的方式进行存储,作为深度学习的训练数据集。
[0108]
a2、以训练数据退化的黑白人像图像作为输入,以彩色人像语义分割图作为目标训练语义提取网络至语义提取网络学习收敛。
[0109]
其中,语义提取网络所使用的损失函数是交叉熵损失,该公式为:
[0110][0111]yic
为语义分割图is各个语义部分的分布的概率,p
jc
为语义提取网络语义图各个语义的分布的概率。
[0112]
a3、以语义提取网络和特征提取网络的输出作为输入,训练生成对抗网络。
[0113]
若一个子训练周期后生成的结果图与彩色人像图像比较时没有获得预先设定的重建效果,则继续进行反向传播,利用梯度下降优化算法更新卷积权值参数和偏置参数,再重新执行步骤a3直到生成的结果图与彩色人像图像比较时获得预先设定的重建效果或抵
达预设训练次数。
[0114]
其中,生成对抗网络判别器部分。判别器网络的输入生成器的结果图和对应的彩色人像图像的拼接矩阵。判别器网络主要还是以卷积和relu激活函数为主,其公式为:
[0115]i′0=relu(relu(w
d1
*concat(ig,ig‘
)+b
d1
)
×wd2
+b
d2
)...
×wdn
+b
dn
);
[0116]
其中w
d1
,w
d2
,w
dn
,b
d1
,b
d2
,和b
dn
分别表示第一个、第二个和第n个卷积层的权重和偏置参数,i
g’是生成器的输出,ig表示原始图片,这里n设为5,即判别器包括五个卷积层,i
′0是判别器的输出结果。
[0117]
生成器部分的损失函数计算。利用生成器得到的结果图与所对应的彩色人像图像进行比较,计算perceptual loss(感知损失)损失函数。该损失函数可以表示为:
[0118][0119]
其中,j表示网络的第j层,c
jhj
wj表示第j层特征图的大小。损失网络使用在imagenet上训练好的vgg19网络,用φ表示网络。表示生成输出结果,y表示对应的彩色人像图像。
[0120]
同时,我们使用基于hingeloss损失函数作为生成对抗网络的优化损失,损失函数为:
[0121][0122][0123]
式中,g(z)表示生成器的输出,d(x,y)表示判定器的正确概率,表示彩色人像图像服从的分布,表示相似性矩阵和颜色匹配结果服从的概率分布。
[0124]
请参照图2,本发明的实施例二为:
[0125]
一种基于参考图和语义内容的黑白人像上色终端1,包括存储器3、处理器2及存储在存储器3上并可在处理器2上运行的计算机程序,处理器2执行计算机程序时实现上述实施例一的方法。
[0126]
综上所述,本发明提供的一种基于参考图和语义内容的黑白人像上色方法及终端,使用语义图作为辅助信息,使得模型不仅仅只通过图像对学习映射关系,通过语义图这种更加简单明了的对应关系的学习,有效控制了模型训练的可解释性,减少了之前模型训练存在的不确定性的问题,从而使得之前部分模型学习不好的上色区域能够更加准确的上到合适的颜色。
[0127]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。