一种基于卷积神经网络的黑白人物图片实时生成多种合理着色的方法与流程

文档序号:16120869发布日期:2018-11-30 23:11阅读:404来源:国知局

本发明涉及图像处理技术领域,特别是一种基于卷积神经网络的黑白人物图片实时生成多种合理着色的方法。

背景技术

由于以前摄影技术不足,人们只能拍摄黑白人物照片以留作纪念。大约在三四十年前,彩色照片还十分罕见,人们主要用黑白照片来记录自己和亲人的容貌。在我们的生活中一些老照片很有纪念意义,特别是一些珍贵黑白人像照片有着不可估量的收藏价值。由于当时的彩色摄影技术还没有普及,一些馆藏专门请画师为黑白人物图片上彩色,但时间长了颜色容易淡化。后来随着科学技术的不断进步以及电脑的普及使得黑白照片的着色变得相对容易。但着色软件需要相应的学习技术,操作起来也比较麻烦。所以人们对于着色技术有了强烈的渴求。

在计算机图形学中,存在两种广泛的图像着色方法:用户引导的编辑传播和数据驱动的自动着色。第一种方法由levin等人提出并普及,用户在图像上绘制彩色笔画,然后优化过程产生与用户的涂鸦相匹配的彩色图像。这样可以获得较好的结果,但通常需要繁琐的操作,因为每个不同颜色的图像区域必须由用户明确指出,选择精确的所需自然色度也是非常困难的。第二种是数据驱动着色方法。它是通过以下两种方式之一来对灰度照片进行着色:(1)通过将其与数据库中的示例性彩色人物图像进行匹配,并从该照片中非参数地“窃取”颜色,这一想法类似<imageanalogies>图像类比;2)<learninglarge-scaleautomaticimagecolorization.>通过从大规模人物图像数据中学习从灰度到颜色的参数映射。但着色结果包含不正确的颜色。<deepprop:extractingdeepfeaturesfromasingleimageforeditpropagation.>采用深度学习方法,利用深度神经网络模型的技术,自动的从低级特征中提取用于人物的高级特征。该方法使用低级视觉片和空间像素坐标作为深度神经网络的输入,从单个图像自动提取适合用户指定笔画的特征。使用深度神经网络作为分类器,根据整个图像上的提取特征来估计用户笔画概率,这些概率表示每个像素属于每个笔画的可能性。虽然整个过程是自动的但着色结果较为单一。

综上,现有技术中,黑白人物图像着色通常使用一些绘图软件,但需要学习软件的操作步骤,使用起来也很繁琐。还有一些着色方法是使用深度网络技术,但着色效果差且着色结果单一。基于卷积神经网络的人物着色方法只需要用户将黑白图片添加到着色界面便可以实时生成着色结果,通过对图像添加控制点可以实现多种合理着色结果。一般情况下基于深度网络实现的黑白图像着色算法比较复杂,着色效果容易出现错误着色。基于绘图软件实现的黑白图像着色,操作起来比较繁琐,费时费力。



技术实现要素:

有鉴于此,本发明的目的是提出一种基于卷积神经网络的黑白人物图片实时生成多种合理着色的方法,只需要添加几个控制点,便可以在较短时间内实现图像的多种颜色效果。

本发明采用以下方案实现:一种基于卷积神经网络的黑白人物图片实时生成多种合理着色的方法,具体包括以下步骤:

步骤s1:选择训练数据集;

步骤s2:构建本地提示网络;

步骤s3:构建全局提示网络;

步骤s4:构建主着色网络;

步骤s5:生成着色界面。

进一步地,步骤s1具体为:卷积神经网络的训练图像采用lfw数据集(labeledfacesinthewild)和imagenet数据集,并使用cielab颜色空间;其中,正样本全部来自lfw数据集中的人脸图片,负样本是从imagenet数据集中选择的背景(例如树木,花朵,家具等图片)。

较佳的,合适的色彩空间是实现图像着色重要一步,本发明分别比较rgb,yuv和cielab色彩空间的效果。在rgb的情况下,对应于红色,绿色和蓝色通道。本发明直接使用rgb值进行训练。然而,为了测试,将rgb图像转换为yuv,并将输入灰度图像替换为图像的y通道。这样确保所有模型的输出图像具有相同的亮度。在yuv和cielab的情况下,本发明输出色度并使用输入图像的亮度来创建最终的彩色图像。对于所有不同的颜色空间,将这些值标准化为输出层sigmoid传递函数的[0,1]范围。结果显示与rgb和yuv相比,cielab给出了最合理的方法,因此本发明使用cielab颜色空间。

进一步地,步骤s2中:本地提示网络使用稀疏的添加点作为输入,用于描述输入、模拟添加点以及定义界面;具体包括以下步骤:

步骤s21:给定用于训练的彩色图像,将图像转换为灰度和cielab色彩空间;

步骤s22:将灰度图像作为卷积神经网络模型的输入,将cielab颜色空间的a、b分量作为卷积神经网络模型的目标输出;

步骤s23:将稀疏的添加点与输入的灰度图像级联;

步骤s24:在每个像素处评估损失函数lδ,并将所有像素处的损失函数相加在一起用以评估整个图像的损失函数l:

式中,x为输入的灰度图像,u为用户张量,θ为卷积神经网络f函数的参数,y是系统输出,h与w分别对应输入灰度图像的高和宽,q为图像类别;其中,卷积神经网络的训练目标就是最小化网络的损失函数l。本地提示网络从输入角度出发,从保守的彩色化开始,允许注入着色所需的颜色,而不是从更有活力但容易出现伪影的设置开始,并且可以修复错误,只需要几次点击就可以快速解决错误着色问题。

步骤s25:选择合理的颜色是实现逼真着色的重要一步,对每个像素,预测输出颜色概率分布为:

式中,r是实数集,h是图像的高,w是图像的宽,q是量化色箱的数量;采用cielab色彩空间的参数,将ab空间分成10×10个分箱,并保留了色域中q=313个分箱。

步骤s26:对每个像素采用交叉熵损失函数来测量预测人物图像和地面真实颜色分布z之间的距离,并且对所有像素预测的距离进行求和。

进一步地,所述地面真实颜色分布z采用软编码方案的地面真彩色y编码,真实的ab颜色值表示为其10个最近的箱中心的凸组合,用σ=5的高斯核函数进行加权。

进一步地,步骤s2还包括:预测每个系数像素处的颜色分布,并以灰度和用户点为条件推荐给用户。预测颜色分布的任务无疑与主要分支有关。通过连接主分支多个层次的特征,并在顶层学习一个双层分类器,使用了高列方法。

进一步地,为了提供离散的颜色建议,软化查询像素处的softmax分布,使其不那么高峰,并执行加权k均值聚类(k=9)来查找分布模式。例如,系统通常会根据人物对象、衣服材质、场景类型推荐合理的颜色,对于具有不同颜色的对象,系统将提供广泛的建议范围。一旦选择了建议的颜色,系统将实时生成着色结果。随着人物图像中添加点位置的变动,颜色建议将不断更新。

进一步地,步骤s3中,全局提示网络的输入没有空间信息,选择将信息整合到主着色网络的中间;其中,全局提示网络的输入通过4个conv-relu层进行处理,每个conv-relu层的内核大小为1×1和512个通道;用户提供全局统计量,由全局直方图和平均图像饱和度描述;通过使用双线性插值将颜色y调整为四分之一分辨率来计算全局直方图,在量化的ab空间中对每个像素进行编码,并对空间进行平均;通过将地面真实图像转换为hsv色彩空间并在空间上平均s信道来计算饱和度;在训练过程中随机地向网络显示地面真实颜色分布以及地面真实饱和度。

进一步地,步骤s4中,主着色网络的主要分支采用u-net架构,该着色网络由10个卷积块构成,分别为conv1-10;在conv1-4中,每个块的特征张量在空间上逐渐减半,特征维数加倍,每个块包含2-3个conv-relu对;在下半部分conv7-10中,空间分辨率被恢复,特征维数减半;在conv5-6中,使用具有因子2的扩张卷积;其中,空间分辨率的变化通过二次采样或上采样操作实现,每个卷积使用3×3内核。

进一步地,步骤s4中还包括:添加对称快捷连接以帮助网络恢复空间信息。例如,conv2和conv3块分别连接到conv8和conv9块,这也可以方便地访问重要的底层信息。例如,亮度值将限制ab色域的范围。

对于conv1-8层,本发明从这些预先训练的权值中进行微调。添加的conv9,conv10和快捷方式连接都是从头开始训练的。最后一个conv层,即1×1内核,映射在conv10和输出颜色之间。由于ab色域是有界的,本发明在输出上添加最后一个tanh(双曲正切)层。

进一步地,步骤s5具体为:采用构建的本地提示网络输入添加点以及预测图像的颜色分布,用以定义着色界面的功能;采用全局提示网络将结果添加到主着色网络中用于输出。经过本地提示网络与全局提示网络的融合,实现人物图像颜色的多样性。

较佳的,在着色过程中,由于添加点控制区域的不确定性,容易出现伪影,但该系统可以通过人工交互,实现错误着色的修改。

本发明的方法既不需要预处理,也不需要后处理,所有内容都以端到端的方式学习。端到端学习框架的一个优点是它可以很容易地适应不同类型的用户输入,任何像素的人物图像都适用。

本发明绘制了简单的网络架构,并生成了着色示意图。通过端到端的学习方式,训练两个变体,本地提示网络和全局提示网络。并将结果添加到主着色网络中,实时生成黑白人物图像的彩色效果。本发明还给出建议的颜色板,通过用户添加控制点对图片改变颜色,实现多种合理的着色效果。当出现错误着色时可以通过人工交互进行更改。操作起来方便快捷,简单高效地实现人物黑白图片的多样性。增添图像的视觉效果。

与现有技术相比,本发明有以下有益效果:

1、本发明采用卷积神经网络实现黑白人物图像着色,用户只需要把人物的黑白照片添加到界面,便可以实时生成着色结果,通过对添加点的操作,便可以实现多种合理的着色效果。

2、本发明通过本地提示网络和全局提示网络的融合,可以提供添加点以及建议颜色,并且可以通过人工交互实现错误着色的修改。

3、本发明通过用户测试,保证了操作的简单高效性,大大提高了图片的颜色质量,方便用户为家里保留的珍贵黑白人物照片实现彩色化,还原拍摄的意义和价值。

附图说明

图1为本发明实施例的流程示意图。

图2为本发明实施例的着色网络架构图。

图3为本发明实施例的着色界面示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

如图1所示,本实施例提供了一种基于卷积神经网络的黑白人物图片实时生成多种合理着色的方法,具体包括以下步骤:

步骤s1:选择训练数据集;

步骤s2:构建本地提示网络;

步骤s3:构建全局提示网络;

步骤s4:构建主着色网络;

步骤s5:生成着色界面。

在本实施例中,步骤s1具体为:卷积神经网络的训练图像采用lfw数据集(labeledfacesinthewild)和imagenet数据集,并使用cielab颜色空间;其中,正样本全部来自lfw数据集中的人脸图片,负样本是从imagenet数据集中选择的背景(例如树木,花朵,家具等图片)。

较佳的,合适的色彩空间是实现图像着色重要一步,本发明分别比较rgb,yuv和cielab色彩空间的效果。在rgb的情况下,对应于红色,绿色和蓝色通道。本发明直接使用rgb值进行训练。然而,为了测试,将rgb图像转换为yuv,并将输入灰度图像替换为图像的y通道。这样确保所有模型的输出图像具有相同的亮度。在yuv和cielab的情况下,本发明输出色度并使用输入图像的亮度来创建最终的彩色图像。对于所有不同的颜色空间,将这些值标准化为输出层sigmoid传递函数的[0,1]范围。结果显示与rgb和yuv相比,cielab给出了最合理的方法,因此本发明使用cielab颜色空间。

在本实施例中,图2中,本地提示网络的特定图层在下方,步骤s2中:本地提示网络使用稀疏的添加点作为输入,用于描述输入、模拟添加点以及定义界面;具体包括以下步骤:

步骤s21:给定用于训练的彩色图像,将图像转换为灰度和cielab色彩空间;

步骤s22:将灰度图像作为卷积神经网络模型的输入,将cielab颜色空间的a、b分量作为卷积神经网络模型的目标输出;

步骤s23:将稀疏的添加点与输入的灰度图像级联;

步骤s24:在每个像素处评估损失函数lδ,并将所有像素处的损失函数相加在一起用以评估整个图像的损失函数l:

式中,x为输入的灰度图像,u为用户张量,θ为卷积神经网络f函数的参数,y是系统输出,h与w分别对应输入灰度图像的高和宽,q为图像类别;其中,卷积神经网络的训练目标就是最小化网络的损失函数l。本地提示网络从输入角度出发,从保守的彩色化开始,允许注入着色所需的颜色,而不是从更有活力但容易出现伪影的设置开始,并且可以修复错误,只需要几次点击就可以快速解决错误着色问题。

步骤s25:选择合理的颜色是实现逼真着色的重要一步,对每个像素,预测输出颜色概率分布为:

式中,r是实数集,h是图像的高,w是图像的宽,q是量化色箱的数量,r表示;采用cielab色彩空间的参数,将ab空间分成10×10个分箱,并保留了色域中q=313个分箱。

步骤s26:对每个像素采用交叉熵损失函数来测量预测人物图像和地面真实颜色分布z之间的距离,并且对所有像素预测的距离求和。

在本实施例中,所述地面真实颜色分布z采用软编码方案的地面真彩色y编码,真实的ab颜色值表示为其10个最近的箱中心的凸组合,用σ=5的高斯核函数进行加权。

在本实施例中,步骤s2还包括:预测每个系数像素处的颜色分布,并以灰度和用户点为条件推荐给用户。预测颜色分布的任务无疑与主要分支有关。通过连接主分支多个层次的特征,并在顶层学习一个双层分类器,使用了高列方法。

在本实施例中,为了提供离散的颜色建议,软化查询像素处的softmax分布,使其不那么高峰,并执行加权k均值聚类(k=9)来查找分布模式。例如,系统通常会根据人物对象、衣服材质、场景类型推荐合理的颜色,对于具有不同颜色的对象,系统将提供广泛的建议范围。一旦选择了建议的颜色,系统将实时生成着色结果。随着人物图像中添加点位置的变动,颜色建议将不断更新。

在本实施例中,如2中,全局提示网络为图中顶部分支所示,步骤s3中,全局提示网络的输入没有空间信息,选择将信息整合到主着色网络的中间;其中,全局提示网络的输入通过4个conv-relu层进行处理,每个conv-relu层的内核大小为1×1和512个通道;用户提供全局统计量,由全局直方图和平均图像饱和度描述;通过使用双线性插值将颜色y调整为四分之一分辨率来计算全局直方图,在量化的ab空间中对每个像素进行编码,并对空间进行平均;通过将地面真实图像转换为hsv色彩空间并在空间上平均s信道来计算饱和度;在训练过程中随机地向网络显示地面真实颜色分布以及地面真实饱和度。

在本实施例中,步骤s4中,主着色网络的主要分支采用u-net架构,该着色网络由10个卷积块构成,分别为conv1-10;在conv1-4中,每个块的特征张量在空间上逐渐减半,特征维数加倍,每个块包含2-3个conv-relu对;在下半部分conv7-10中,空间分辨率被恢复,特征维数减半;在conv5-6中,使用具有因子2的扩张卷积;其中,空间分辨率的变化通过二次采样或上采样操作实现,每个卷积使用3×3内核。

在本实施例中,步骤s4中还包括:添加对称快捷连接以帮助网络恢复空间信息。例如,conv2和conv3块分别连接到conv8和conv9块,这也可以方便地访问重要的底层信息。例如,亮度值将限制ab色域的范围。

对于conv1-8层,本发明从这些预先训练的权值中进行微调。添加的conv9,conv10和快捷方式连接都是从头开始训练的。最后一个conv层,即1×1内核,映射在conv10和输出颜色之间。由于ab色域是有界的,本发明在输出上添加最后一个tanh(双曲正切)层。

在本实施例中,步骤s5具体为:采用构建的本地提示网络输入添加点以及预测图像的颜色分布,用以定义着色界面的功能;采用全局提示网络将结果添加到主着色网络中用于输出。经过本地提示网络与全局提示网络的融合,实现人物图像颜色的多样性。

较佳的,在本实施例中,在着色过程中,由于添加点控制区域的不确定性,容易出现伪影,但该系统可以通过人工交互,实现错误着色的修改。

本实施例的方法既不需要预处理,也不需要后处理,所有内容都以端到端的方式学习。端到端学习框架的一个优点是它可以很容易地适应不同类型的用户输入,任何像素的人物图像都适用。如图3所示,图3为本发明实施例的着色界面示意图。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1