基于参考图像的线稿上色模型的训练方法以及装置与流程

文档序号:15589965发布日期:2018-10-02 18:50阅读:277来源:国知局
本发明涉及计算机领域,特别涉及一种基于参考图像的线稿上色模型的训练方法、装置、设备和计算机可读存储介质,以及一种基于参考图像为线稿上色的方法和装置。
背景技术
:在一些领域,例如动漫领域,在绘画过程中,人们经常利用线条来勾勒物体的形状轮廓等,这里利用黑色线条勾勒物体形状轮廓的图像就叫做线稿。为了让图像更加丰富多彩,在实际应用中,经常需要对线稿进行上色。传统都是通过人工对线稿进行上色,但是当线稿数量非常大时,人工进行上色的工作量会非常大,且耗时严重。一种常见的对线稿进行上色的方法,是预先利用线稿和已经上好色的线稿对上色模型进行训练,然后将线稿输入训练好的上色模型,上色模型就可以直接对线稿进行上色。但是,这种上色模型所上的颜色完全依赖于上色模型,因此,这种上色模型上色的线稿往往色彩风格千篇一律,甚至会发生色彩不协调的情况。可见,如果解决传统训练方法训练出来的线稿上色模型上色出的线稿色彩风格单一,是亟待本领域技术人员解决的问题。技术实现要素:本发明的目的是提供一种基于参考图像的线稿上色模型的训练方法、装置、设备和计算机可读存储介质,以及一种基于参考图像为线稿上色的方法和装置,用以解决传统训练方法训练出来的线稿上色模型上色出的线稿色彩风格单一的问题。为解决上述技术问题,本发明提供了一种基于参考图像的线稿上色模型的训练方法,包括:获取多组训练样本,所述训练样本包括参考图像、线稿和预先经过上色的对比线稿;预先构建线稿上色模型,所述线稿上色模型包括分类器、生成器和鉴别器;通过分类器确定所述参考图像的语义信息特征向量;根据所述语义信息特征向量,利用所述生成器为所述线稿进行上色,得到上色线稿;利用所述鉴别器对所述上色线稿和所述对比线稿进行鉴别,得到鉴别结果;调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,以完成所述线稿上色模型的训练。其中,所述分类器为vgg19;所述通过分类器确定所述参考图像的语义信息特征向量包括:将所述参考图像输入vgg19,将所述vgg19在预设层的输出向量作为语义信息特征向量。其中,所述生成器为u-net神经网络,且所述u-net神经网络的中间层设置有辅助解码器。其中,所述调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,以完成所述线稿上色模型的训练包括:判断所述鉴别结果是否为不合格;若所述鉴别结果为不合格,则确定所述上色线稿和所述对比线稿之间的梯度信息;根据所述梯度信息,调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,以完成所述线稿上色模型的训练。本发明还提供了一种基于参考图像为线稿上色的方法,采用如上所述的基于参考图像的线稿上色模型的训练方法所训练的线稿上色模型,包括:确定参考图像和待上色的线稿;利用所述线稿上色模型确定所述参考图像的语义信息特征向量,并根据所述语义信息特征向量为所述线稿进行上色,得到上色线稿。相应的,本发明还提供了一种基于参考图像的线稿上色模型的训练装置,包括:样本获取模块:用于获取多组训练样本,所述训练样本包括参考图像、线稿和预先经过上色的对比线稿;模型构建模块:用于预先构建线稿上色模型,所述线稿上色模型包括分类器、生成器和鉴别器;特征向量确定模块:用于通过分类器确定所述参考图像的语义信息特征向量;线稿上色模块:用于根据所述语义信息特征向量,利用所述生成器为所述线稿进行上色,得到上色线稿;线稿鉴别模块:用于利用所述鉴别器对所述上色线稿和所述对比线稿进行鉴别,得到鉴别结果;模型参数调整模块:用于调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,以完成所述线稿上色模型的训练。其中,所述模型参数调整模块包括:判断单元:用于判断所述鉴别结果是否为不合格;梯度信息确定单元:用于若所述鉴别结果为不合格,则确定所述上色线稿和所述对比线稿之间的梯度信息;模型参数调整单元:用于根据所述梯度信息,调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,以完成所述线稿上色模型的训练。相应的,本发明还提供了一种基于参考图像为线稿上色的装置,其特征在于,采用如上所述的基于参考图像的线稿上色模型的训练方法所训练的线稿上色模型,包括:确定模块:用于确定参考图像和待上色的线稿;上色模块:用于确定所述参考图像的语义信息特征向量,并根据所述语义信息特征向量为所述线稿进行上色,得到上色线稿。此外,本发明还提供了一种基于参考图像的线稿上色模型的训练设备,包括:存储器:用于存储计算机程序;处理器:用于执行所述计算机程序以实现如上所述的基于参考图像的线稿上色模型的训练方法的步骤。最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于参考图像的线稿上色模型的训练方法的步骤。综上,本发明所提供的一种基于参考图像的线稿上色模型的训练方法,能够利用多组训练样本,训练线稿上色模型获取参考图像的语义信息特征,并根据语义信息特征对线稿进行上色,得到上色线稿,然后对上色线稿和对比线稿进行鉴别,不断调整模型参数直至鉴别结果满足预设要求。可见,该方法训练得到的模型能够获取参考图像中的语义信息特征,并利用语义信息特征对线稿进行上色,因而能够通过切换不同的参考图像来为线稿上不同风格的色彩,避免了色彩风格单一的问题。此外,本发明还提供了基于参考图像的线稿上色模型的训练装置、设备和计算机可读存储介质,以及基于参考图像为线稿上色的方法和装置,其作用与上述训练方法的作用相对应,这里不再赘述。附图说明为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的一种基于参考图像的线稿上色模型的训练方法实施例的实现流程图;图2为本发明提供的一种基于参考图像的线稿上色模型的训练方法实施例的整体实现框图;图3为本发明提供的一种基于参考图像的线稿上色模型的训练方法实施例的生成器实现框图;图4为本发明提供的一种基于参考图像的线稿上色模型的训练方法实施例的鉴别器实现框图;图5为本发明提供的一种基于参考图像的线稿上色模型的训练装置实施例的结构框图;图6为本发明提供的一种基于参考图像为线稿上色的方法实施例的实现流程图;图7为本发明提供的一种基于参考图像为线稿上色的装置实施例的结构框图。具体实施方式本发明的核心是提供一种基于参考图像的线稿上色模型的训练方法、装置、设备和计算机可读存储介质,以及一种基于参考图像为线稿上色的方法和装置,有效解决了传统训练方法训练出来的线稿上色模型上色出的线稿色彩风格单一的问题。为了使本
技术领域
的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面对本发明提供的一种基于参考图像的线稿上色模型的训练方法实施例进行介绍,参见图1,该实施例包括:步骤s110:获取多组训练样本,所述训练样本包括参考图像、线稿和预先经过上色的对比线稿。本实施例中,线稿指的是需要进行上色的图像,参考图像指的是用于为线稿提供上色依据的图像,对比线稿指的是预先经过上色的线稿,其主要作用是为后续的鉴别器提供鉴别依据,以便于鉴别器对对比线稿和根据参考图像上色的上色线稿进行比对。步骤s120:预先构建线稿上色模型,所述线稿上色模型包括分类器、生成器和鉴别器。本实施例中,如图2所示,分类器主要用于提取参考图像的一些特征;生成器用于融合该特征和线稿,从而生成上色线稿;鉴别器用于对上色线稿和对比线稿进行鉴别,得到鉴别结果。这其中,生成器与鉴别器组成生成对抗网络,本实施例利用生成对抗网络来训练线稿上色模型。也就是说,生成器被训练来不断的愚弄鉴别器,两者相互对抗,最后达到一个平衡,也就是生成器生成的上色线稿看上去与对比线稿十分相似,以至于无法辨认。步骤s130:通过分类器确定所述参考图像的语义信息特征向量。具体的,本实施例中的分类器可以为vgg19,相应的,步骤s130可以为,将所述参考图像输入vgg19,将所述vgg19在预设层的输出向量作为语义信息特征向量。更进一步的说明,当vgg19接收到一张rgb格式的输入图像的时候,其各个隐层的输出如表1所示。目前,一般认为这些层的输出信息是渐变的,conv1的输出是低级的像素信息,随着层数的上升,语义的含量逐渐上升,而最后一层output的输出是纯语义的信息,或者说是分类信息。表1conv1224*224*64conv2112*112*128conv356*56*256conv428*28*512conv514*14*512fc11*1*4096fc21*1*4096output1*1*1000本实施例中,如图3所示,从vgg19中提取了fc1层的输出作为语义信息特征向量。这个向量是一个1*1*4096的float32向量,里面蕴含了很多的高维度信息,需要说明的是,图3所示的这些指数只是为了便于理解,目前无法精确量化,但是这些指数是存在的。发明人经过试验发现,vgg19在接受不同的参考图像的时候,其fc1层输出的1*1*4096的向量是几乎相同的,并且这个向量里面包含了大量的语义信息,例如图片的背景颜色,图片的主要内容,人物的服装颜色,头发颜色等信息。步骤s140:根据所述语义信息特征向量,利用所述生成器为所述线稿进行上色,得到上色线稿。具体的,本实施例中,所述生成器可以为u-net神经网络,此外,需要特别注意的是,本实施例中的所述u-net神经网络的中间层设置有辅助解码器,设置辅助解码器的理由和作用如下所述:发明人经过试验发现,u-net具有懒惰性,也就是说,如果u-net发现自己能够处理低层次的问题,那么高级层就不用去学习任何东西了。举例来讲,如果我们训练u-net做一个非常简单的复制图像的工作,那么u-net的输入和输出相同,损失值将就会下降到0。因为编码器的第一层发现它可以通过跳过较高层或跳过连接层,直接将所有特征直接传送到解码器的最后层,在这种情况下,在训练过程的每次迭代中,这些层选择具有非线性激活的其他层的输出,以便最小化损失,因此无论我们训练u-net多少次,中间层都不会有任何学习。在复制图像的过程中,当u-net用高斯随机数初始化时,编码器中第一层的输出信息足以表达完整的输入图,而解码器中第二层的输出近乎是噪音。因此,u-net会放弃相对噪点较高的特征识别。而在本实施例中,我们从vgg19的fc1的输出中提取了1*1*4096的提示,并且除去了relu激活,4096提示矢量非常充实和强大。对于刚刚初始化的u-net,如果我们将4096的向量直接添加到该层,则中间层的输出可能非常高噪点。如上所述,噪点较高的中间层由u-net放弃,因此这些层不能接收任何梯度。因此,我们在生成器中使用额外的解码器,即上述辅助解码器,具体可以为辅助构件guide-decoder。也就是为每个可能懒惰的层附加额外的损失,那么,无论中间层的输出多么高噪音,该层将永远不会被u-net放弃,所有层都将获得稳定的梯度。因此,可以增加一个非常充实的信息,并在一定程度上增加对中层的提示。本实施例中,设置了两个辅助编码器,每个辅助解码器中实施了额外的目标函数,以避免中间层的梯度消失。生成器的目标函数可以总结为:式中,v为vgg分类器,g为生成器。g的下标f,g1,g2分别为g的三个输出:f为最终(final)的输出成品,g1、g2为两个辅助解码器(guidedecoder)的输出。pdata为用于训练的数据集,x与y为从该数据集中取出的两个随机样本。y-gf(x,v(x,y))可以理解为生成器接受了线稿(x)和分类器从彩图中得出的语义特征(v(x,y))后的最终输出和真实样本(y)之间的误差。y-gg1(x)以及y-gg2(x)可以理解为两个辅助解码器的输出结果分别与对比线稿之间的误差。为了减少硬件开销,可以对第一个辅助解码器进行灰度化处理,从而减轻第一个辅助解码器的学习压力,那么,最终的目标函数可以简化为:式中,所有参数和上式相同。其中改动为增加了函数t(y),其含义是将y转换成灰度图来减少计算量。需要说明的是,设置guide-decoder是本实施例的一种优选方式,能够大大加快了训练的速度,节约计算资源,但是即使不使用guide-decoder在理论上也不会让本实施例无法完成训练,只是训练时间可能会变得非常漫长。步骤s150:利用所述鉴别器对所述上色线稿和所述对比线稿进行鉴别,得到鉴别结果。步骤s160:调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,以完成所述线稿上色模型的训练。需要说明的是,传统的条件鉴别器不适合本实施例,由于绘画是一项复杂的工作,需要人类艺术家考虑色彩选择、构图和微调,所有这些都需要一位艺术家专注于全局绘画构图与排版。然而,条件鉴别器总是倾向于更多地关注草图线和颜色之间的关系,而不是全局信息。因此在本实施例中,如果使用条件鉴别器,那么发生器将会受到强烈的干扰,并且线周围的颜色可能会极度过度着色,即便调节参数不足以达到平衡。因此,本实施例中集成了一种适用于本发明的鉴别器。如图4所示,本实施例中,鉴别器能够相应地告诉风格并提供梯度信息,以便适应主要任务风格转移。该鉴频器具有4096个输出,当输入为假时,它们都将被最小化为0,当图中的输入为真时,接近vgg19的相同值。鉴别器的目标函数可以总结为:式中,d(y)为辨别器d对于真实样本y的输出,d(gf(x,v(y)))为辨别器d对于生成器生成的样本gf(x,v(y))的输出,其中x为线稿而v(y)为vgg分类器对于y得到的语义特征。norm(x)为归一化函数,旨在规范vgg的输出,以便在激活之后适应特征之间的距离。一些例子如下:normtanh(x)=tanh(relu(x))(5)normsigmoid(x)=2sigmoid(relu(x))-1(6)其中relu,tanh,sigmoid为常见的激活函数,α和δ为参数,可以自由调节,推荐都使用1。对于最小二乘距离,可以解释为:上式中其他部分全部和前式相同,只是距离函数换成了l2距离,这个对抗网络也变成了最小二乘对抗网络。对于对数距离,可以解释为:lgan(v,gf,d)=ey~pdata(y)[log(d(y))]+ex~pdata(x)[log(1-d(gf(x,v(y))))](8)同理,上式是使用了对数距离的版本,本式中的距离函数和标准的深度卷积生成对抗网络一致,是一个相对稳定的距离函数。此处,不推荐使用wasserstein距离,因为wasserstein距离鉴别器不能进行分类。当鉴别器变深时,可能需要一个梯度惩罚方法,但是训练可以通过强鉴别器变得不稳定。本实施例专注于l1损失函数,只是将对抗梯度作为最终修饰。总结如下:上式中的lgan前文的对抗损失部分,ll1为前文的非对抗部分。λ为一个自由可以调节的参数,本实施例中可以将其设置为0.01。g*为最终的学习目标。其他的部分与上文的参数说明一致。值得注意的是,max在min的里侧有利于更加稳定的收敛。因此,步骤s160可以具体为,判断所述鉴别结果是否为合格,若所述鉴别结果为合格,则不产生梯度信息;若所述鉴别结果为不合格,就确定所述上色线稿和所述对比线稿之间的梯度信息。在此基础之上,为了使模型参数的调整更加具有方向性和针对性,节省训练时间,还可以将所述梯度信息反馈回所述线稿上色模型,以便于调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,最终完成所述线稿上色模型的训练。综上所述,本实施例所提供的一种基于参考图像的线稿上色模型的训练方法,能够利用多组训练样本,训练线稿上色模型获取参考图像的语义信息特征,并根据语义信息特征对线稿进行上色,得到上色线稿,然后对上色线稿和对比线稿进行鉴别,不断调整模型参数直至鉴别结果满足预设要求。可见,该方法训练得到的模型能够获取参考图像中的语义信息特征,并利用语义信息特征对线稿进行上色。利用该模型上色得到的上色线稿在总体风格上保持和线稿的一致性,而在色彩、风格或者其他特征上保持和参考图像的一致性。因而能够通过切换不同的参考图像来为线稿上不同风格的色彩,避免了色彩风格单一的问题。下面对本发明实施例提供的一种基于参考图像的线稿上色模型的训练装置进行介绍,下文描述的装置与上文描述的一种基于参考图像的线稿上色模型的训练方法可相互对应参照。如图5所示,该装置具体包括:样本获取模块510:用于获取多组训练样本,所述训练样本包括参考图像、线稿和预先经过上色的对比线稿。模型构建模块520:用于预先构建线稿上色模型,所述线稿上色模型包括分类器、生成器和鉴别器。特征向量确定模块530:用于通过分类器确定所述参考图像的语义信息特征向量。线稿上色模块540:用于根据所述语义信息特征向量,利用所述生成器为所述线稿进行上色,得到上色线稿。线稿鉴别模块550:用于利用所述鉴别器对所述上色线稿和所述对比线稿进行鉴别,得到鉴别结果。模型参数调整模块560:用于调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,以完成所述线稿上色模型的训练。其中,所述模型参数调整模块包括:判断单元:用于判断所述鉴别结果是否为不合格;梯度信息确定单元:用于若所述鉴别结果为不合格,则确定所述上色线稿和所述对比线稿之间的梯度信息;模型参数调整单元:用于根据所述梯度信息,调整所述线稿上色模型的模型参数,直至所述鉴别结果满足预设要求,以完成所述线稿上色模型的训练。本实施例的一种基于参考图像的线稿上色模型的训练装置用于实现前述的一种基于参考图像的线稿上色模型的训练方法,因此该装置中的具体实施方式可见前文中的一种基于参考图像的线稿上色模型的训练方法的实施例部分,例如,样本获取模块510、模型构建模块520、特征向量确定模块530、线稿上色模块540、线稿鉴别模块550、模型参数调整模块560,分别用于实现上述一种基于参考图像的线稿上色模型的训练方法中步骤s110、s120、s130、s140、s150和s160。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。另外,由于本实施例的一种基于参考图像的线稿上色模型的训练装置用于实现前述的一种基于参考图像的线稿上色模型的训练方法,因此其作用与上述方法的作用相对应,这里不再赘述。此外,与上述训练方法相对应,本发明还提供了一种基于参考图像的线稿上色模型的训练设备,包括:存储器:用于存储计算机程序;处理器:用于执行所述计算机程序以实现如上所述的基于参考图像的线稿上色模型的训练方法的步骤。以及一种计算机可读存储介质,所述计算机可读存储介质上保存有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于参考图像的线稿上色模型的训练方法的步骤。由于本发明的一种基于参考图像的线稿上色模型的训练设备以及计算机可读存储介质用于实现前述的一种基于参考图像的线稿上色模型的训练方法,因此其作用与上述方法的作用相对应,这里不再赘述。最后,参见图6,本发明还提供了一种基于参考图像为线稿上色的方法,采用如上所述的基于参考图像的线稿上色模型的训练方法所训练的线稿上色模型,包括:步骤s610:确定参考图像和待上色的线稿。步骤s620:利用所述线稿上色模型确定所述参考图像的语义信息特征向量,并根据所述语义信息特征向量为所述线稿进行上色,得到上色线稿。相应的,参见图7,本发明还提供了一种基于参考图像为线稿上色的装置,采用如上所述的基于参考图像的线稿上色模型的训练方法所训练的线稿上色模型,包括:确定模块710:用于确定参考图像和待上色的线稿。上色模块720:用于确定所述参考图像的语义信息特征向量,并根据所述语义信息特征向量为所述线稿进行上色,得到上色线稿。本发明所提供的一种基于参考图像为线稿上色的方法,利用根据训练方法训练得到的线稿上色模型对线稿进行上色,因此,能够获取参考图像中的语义信息特征,并利用语义信息特征对线稿进行上色。而利用该模型上色得到的上色线稿在总体风格上保持和线稿的一致性,在色彩、风格或者其他特征上保持和参考图像的一致性。因此,能够通过切换不同的参考图像来为线稿上不同风格的色彩,避免了色彩风格单一的问题。本发明所提供的基于参考图像为线稿上色的装置,与上述方法的作用相对应,这里不再展开介绍。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
内所公知的任意其它形式的存储介质中。以上对本发明所提供的一种基于参考图像的线稿上色模型的训练的方法、装置、设备和计算机可读存储介质,以及一种基于参考图像为线稿上色的方法和装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1