一种渲染模型训练方法、系统、设备、介质及渲染方法与流程

文档序号:16211804发布日期:2018-12-08 07:50阅读:196来源:国知局
一种渲染模型训练方法、系统、设备、介质及渲染方法与流程

本发明涉及图像视觉技术领域,更具体地说,涉及一种渲染模型训练方法、系统、设备、介质及渲染方法。

背景技术

字体特效渲染是网络或媒体公司等传播信息的一项不可或缺的手段。目前主流的字体特效渲染方法是利用图像处理软件人工对文字进行上色、添加阴影等,费时费力,字体渲染效率较低。

为了提高字体渲染效率,现有的一种方法是基于统计学的逐字迭代的字体特效渲染方法,然而,该方法逐字迭代时间过长,生成的特效纹理依赖字体的笔画,适用性较低。

综上所述,如何提供一种适用性更好的字体渲染方法是目前本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种渲染模型训练方法,其能在一定程度上解决如何提供一种适用性更好的字体渲染方法的技术问题。本发明还提供了一种字体渲染模型训练系统、设备、计算机可读存储介质及一种渲染方法。

为了实现上述目的,本发明提供如下技术方案:

一种渲染模型训练方法,包括:

构建初始cgan网络模型,所述初始cgan网络模型包括判别器、生成器;

获取训练字体样本集,所述训练字体样本集包括普通字体与所述普通字体对应的渲染字体;

输入所述训练字体样本集至所述初始cgan网络模型中,判断所述初始cgan网络模型的模型训练完成度的值是否在预设范围内,若否,则调整所述生成器与所述判别器的网络权重,更新所述生成器与所述判别器的损失函数,重复判断所述初始cgan网络模型的模型训练完成度的值是否在预设范围内的步骤直至最大迭代次数,若是,则确定所述初始cgan网络模型为所述训练好的cgan网络模型。

优选的,所述调整所述生成器与所述判别器的网络权重,包括:

固定所述判别器的网络权重不变,输入所述训练字体样本集中的普通字体至所述生成器中,判断所述判别器是否区分出所述生成器生成的渲染字体与所述训练字体样本集中的普通字体对应的渲染字体,若是,则调整所述生成器的网络权重,返回执行所述判断所述判别器是否区分出所述生成器生成的渲染字体与所述训练字体样本集中的普通字体对应的渲染字体的步骤;

固定所述生成器的网络权重不变,判断所述判别器是否区分出所述生成器生成的渲染字体与所述训练字体样本集中的普通字体对应的渲染字体,若否,则调整所述判别器的网络权重。

优选的,所述获取训练字体样本集,包括:

获取一组普通字体及所述普通字体对应的渲染字体;

对所述普通字体及所述普通字体对应的渲染字体进行重构与合并处理,得到所述训练字体样本集。

优选的,所述生成器损失函数包括:

g*=lcgan(g,d)+λll1(g);

其中,g*表示所述生成器的损失函数;x表示所述生成器生成的所述训练字体样本集中的普通字体;y表示所述训练字体样本集中的普通字体对应的渲染字体;z表示噪声;d(x,y)表示所述判别器判别所述训练字体样本集中的普通字体对应的渲染字体为所述训练样本集中的相应渲染字体的概率;g(x,z)表示所述生成器生成与所述训练样本集中的普通字体及所述噪声对应的渲染字体;d(x,g(x,z))表示所述判别器判别所述生成器生成与所述训练样本集中的普通字体及所述噪声对应的渲染字体,为所述训练样本集中的相应渲染字体的概率;表示x、y和z分别满足各自的分布律;

所述判别器的损失函数包括:

其中,d*表示所述判别器的损失函数;x表示所述生成器生成的所述训练字体样本集中的普通字体;y表示所述训练字体样本集中的普通字体对应的渲染字体;z表示噪声;d(x,y)表示所述判别器判别训练字体样本集中的渲染字体为训练字体样本集中的渲染字体的概率;d(x,g(x,z))表示所述判别器判别生成器生成与训练样本集中的普通字体及噪声对应的渲染字体,为训练样本集中的相应渲染字体的概率;表示x、y和z分别满足各自的分布律;eps为人工预设的常数,其值为10-12

一种渲染模型训练系统,包括:

构建模块,用于构建初始cgan网络模型,所述初始cgan网络模型包括判别器、生成器;

第一获取模块,用于获取训练字体样本集,所述训练字体样本集包括普通字体与所述普通字体对应的渲染字体;

第一输入模块,用于输入所述训练字体样本集至所述初始cgan网络模型中,判断所述初始cgan网络模型的模型训练完成度的值是否在预设范围内,若否,则调整所述生成器与所述判别器的网络权重,更新所述生成器与所述判别器的损失函数,重复判断所述初始cgan网络模型的模型训练完成度的值是否在预设范围内的步骤直至最大迭代次数,若是,则确定所述初始cgan网络模型为所述训练好的cgan网络模型。

一种渲染模块训练设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一所述的渲染模型训练方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述的渲染模型训练方法的步骤。

一种渲染方法,包括:

获取待渲染字体;

输入所述待渲染字体至训练好的cgan网络模型中;

获取所述训练好的cgan网络模型对所述待渲染字体进行渲染处理后得到的渲染字体。

优选的,所述获取所述训练好的cgan网络模型对所述待渲染字体进行渲染处理后得到的渲染字体之后,还包括:

对所述渲染字体进行超分辨率处理,得到超分辨率渲染字体。

优选的,所述对所述渲染字体进行超分辨率处理,包括:

采用srcnn网络模型对所述渲染字体进行超分辨率处理。

本发明提供的一种渲染模型训练方法,构建初始cgan网络模型,初始cgan网络模型包括判别器、生成器;获取训练字体样本集,训练字体样本集包括普通字体与普通字体对应的渲染字体;输入训练字体样本集至初始cgan网络模型中,判断初始cgan网络模型的模型训练完成度的值是否在预设范围内,若否,则调整生成器与判别器的网络权重,更新生成器与判别器的损失函数,重复判断初始cgan网络模型的模型训练完成度的值是否在预设范围内的步骤直至最大迭代次数,若是,则确定初始cgan网络模型为训练好的cgan网络模型。本发明提供的一种渲染模型训练方法利用包括普通字体与普通字体对应的渲染字体来训练cgan网络模型,使得将普通字体输入至训练好的cgan网络模型后,训练好的cgan网络模型可以输出该普通字体对应的渲染字体,从而使得可以借助训练好的cgan网络模型来对普通字体进行渲染,不需要逐字迭代,生成的特效纹理也不依赖于字体的笔画,适用性较好。本发明提供的一种渲染模型训练系统、设备、介质及渲染方法也解决了相应技术问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种渲染模型训练方法的流程图;

图2为本发明中cgan网络模型的u-net结构示意图;

图3为将代表“爱”的普通图片与渲染图片进行合并操作的示意图;

图4为本发明实施例提供的一种渲染模型训练系统的结构示意图;

图5为本发明实施例提供的一种渲染模型训练设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的一种渲染模型训练方法中各个步骤的动作执行主体可以为本发明实施例提供的一种渲染模型训练系统,而该系统可以内置于计算机、服务器等中,所以本发明实施例提供的一种渲染模型训练方法中各个步骤的动作执行主体还可以为内置了该系统的计算机、服务器等。为了描述方便,这里将本发明实施例提供的一种渲染模型训练方法中各个步骤的动作执行主体设为本发明实施例提供的一种渲染模型训练系统,简称为训练系统。

请参阅图1,图1为本发明实施例提供的一种渲染模型训练方法的流程图。

本发明实施例提供的一种渲染模型训练方法,可以包括如下步骤:

步骤s101:构建初始cgan网络模型,初始cgan网络模型包括判别器、生成器。

实际应用中,训练系统先搭建初始cgan(conditionalgenerativeadversarialnets,条件生成式对抗网络)网络模型,初始cgan网络模型中的生成器用于生成普通字体的渲染字体,判别器用于判别生成器生成的普通字体的渲染字体与训练字体样本集中普通字体对应的渲染字体是否一致。初始cgan网络模型中的生成器的每一层网络均包含卷积层、池化层、归一化层与激活函数层,卷积层包含卷积核,卷积核的大小可以设置为4*4,每个卷积核提取图像特征后形成一个特征图,池化层对特征图做进一步均指池化处理,获取更抽样的信息,归一化层可有效防止过拟合,激活函数层有效控制参数的收敛。初始cgan网络模型中的判别器的每一层网络均包含卷积层、归一化层和激活函数层。本发明中的激活函数可以为relu函数,其中,relu函数表示为:

此外,原图像经过卷积层处理后,尺寸会逐渐减小,从而使得获取抽样信息的同时也会丢失一些有效信息,为了保留更多有效信息,使得cgan网络模型最后输出的字体更清晰,本发明中的cgan网络模型可以采用u-net结构,即其使用反卷积层与skip-connection,反卷积层使特征图恢复到卷积前的尺寸,而skip-connection使第i层卷积层与第n-i层卷积层连接,使其图像大小一致,承载的信息类似。请参阅图2,图2为本发明中cgan网络模型的u-net结构示意图。

步骤s102:获取训练字体样本集,训练字体样本集包括普通字体与普通字体对应的渲染字体。

训练字体样本集中的字体数量可以根据实际需要确定,比如100、200等,实际应用中,为了防止欠拟合导致渲染视觉效果不佳,训练字体样本集中的字体应具有多样性,即尽量选取笔画不重复的字体。

步骤s103:输入训练字体样本集至初始cgan网络模型中,判断初始cgan网络模型的模型训练完成度的值是否在预设范围内,若否,则调整生成器与判别器的网络权重,更新生成器与判别器的损失函数,重复判断初始cgan网络模型的模型训练完成度的值是否在预设范围内的步骤直至最大迭代次数,若是,则确定初始cgan网络模型为训练好的cgan网络模型。

训练系统将训练字体样本集输入至初始cgan网络模型中后,初始cgan网络模型中的生成器会生成普通字体的渲染字体,而判别器会判断生成器生成的渲染字体与训练字体样本集中的相应渲染字体是否一致,若不一致,则需要调整生成器的网络权重,相应的,若一致,则需要调整判别器的网络权重,直至初始cgan网络模型的模型训练完成度的值在预设范围内,此时,初始cgan便为训练好的cgan网络模型,这里所说的预设范围的具体值可以根据实际需要进行调整,不难理解,如果需要调节训练好的cgan网络模型的准确率,只需调整预设超参数即可。这里所说的模型训练完成度也即模型完成了几次训练;这里所说的迭代次数指的是模型遍历了几次样本数据集,由于模型每完成一次训练,便遍历了一次样本数据集,所以可以借助模型训练完成度和迭代次数间的关系来判断模型是否已完成训练。由于迭代次数过多,会导致过拟合,而迭代次数过少,则会使得cgan网络模型的特征学习不充分,权重分配不合理,生成的渲染字体效果不佳,为了避免这两种情况的出现,本发明中的迭代次数可以设置为200;此外,为了加快cgan网络模型的训练速度,还可以将cgan网络模型的学习率设置为0.0002。此外,为了增强cgan网络模型的泛化能力,避免欠拟合,cgan网络模型还可以批量处理训练字体样本集。

本发明提供的一种渲染模型训练方法,构建初始cgan网络模型,初始cgan网络模型包括判别器、生成器;获取训练字体样本集,训练字体样本集包括普通字体与普通字体对应的渲染字体;输入训练字体样本集至初始cgan网络模型中,判断初始cgan网络模型的模型训练完成度的值是否在预设范围内,若否,则调整生成器与判别器的网络权重,更新生成器与判别器的损失函数,重复判断初始cgan网络模型的模型训练完成度的值是否在预设范围内的步骤直至最大迭代次数,若是,则确定初始cgan网络模型为训练好的cgan网络模型。本发明提供的一种渲染模型训练方法利用包括普通字体与普通字体对应的渲染字体来训练cgan网络模型,使得将普通字体输入至训练好的cgan网络模型后,训练好的cgan网络模型可以输出该普通字体对应的渲染字体,从而使得可以借助训练好的cgan网络模型来对普通字体进行渲染,不需要逐字迭代,生成的特效纹理也不依赖于字体的笔画,适用性较好。

实际应用中,为了准确、快速的调整生成器与判别器的网络权重,本发明实施例提供的一种渲染模型训练方法中,调整生成器与判别器的网络权重,具体可以为:

固定判别器的网络权重不变,输入训练字体样本集中的普通字体至生成器中,判断判别器是否区分出生成器生成的渲染字体与训练字体样本集中的普通字体对应的渲染字体,若是,则调整生成器的网络权重,返回执行判断判别器是否区分出生成器生成的渲染字体与训练字体样本集中的普通字体对应的渲染字体的步骤;

固定生成器的网络权重不变,判断判别器是否区分出生成器生成的渲染字体与训练字体样本集中的普通字体对应的渲染字体,若否,则调整判别器的网络权重。

当然,具体应用场景中,还可以同时调整生成器与判别器的网络权重;也可以先固定生成器的网络权重,调整判别器的网络权重,之后再固定判别器的网络权重,调整生成器的网络权重,重复上述过程,直至达到预设的最大迭代次数。

实际应用中,为了准确对应每一个普通字体及该普通字体对应的渲染字体,本发明实施例提供的一种渲染模型训练方法中,获取训练字体样本集,具体可以为:

获取一组普通字体及普通字体对应的渲染字体;

对普通字体及普通字体对应的渲染字体进行重构与合并处理,得到训练字体样本集。

以普通字体为王羲之书法字体的“爱”为例,该字体的普通图片像素为400*400,其相应的渲染字体的渲染图片像素也为400*400,分别对代表“爱”的普通图片以及渲染图片进行重构,比如将普通图片与渲染图片的像素由400*400重构为256*256,之后,再将普通图片与渲染图片合并为一张图片,合并后的图片像素为512*256。由于合并后的图片仅包含普通字体及该普通字体的渲染字体,将该合并后的图片作为训练字体样本集中的训练样本时,cgan网络模型可以准确对应出该合并图片上的普通字体及该普通字体对应的渲染字体,进而可以在一定程度上提高训练效率。请参阅图3,图3为将代表“爱”的普通图片与渲染图片进行合并操作的示意图。

实际应用中,为了有效防止图片渲染效果的变形,本发明实施例提供的一种渲染模型训练方法中,包含了生成器的损失函数与判别器的损失函数,生成器的损失函数可以包括:

g*=lcgan(g,d)+λll1(g);

其中,g*表示生成器的损失函数;x表示生成器生成的训练字体样本集中的普通字体;y表示训练字体样本集中的普通字体对应的渲染字体;z表示噪声;d(x,y)表示判别器判别训练字体样本集中的普通字体对应的渲染字体为训练样本集中的相应渲染字体的概率;g(x,z)表示生成器生成与训练样本集中的普通字体及噪声对应的渲染字体;d(x,g(x,z))表示判别器判别生成器生成与训练样本集中的普通字体及噪声对应的渲染字体,为训练样本集中的相应渲染字体的概率;表示x、y和z分别满足各自的分布律;

判别器的损失函数包括:

其中,d*表示判别器的损失函数;x表示生成器生成的训练字体样本集中的普通字体;y表示训练字体样本集中的普通字体对应的渲染字体;z表示噪声;d(x,y)表示判别器判别训练字体样本集中的渲染字体为训练字体样本集中的渲染字体的概率;d(x,g(x,z))表示判别器判别生成器生成与训练样本集中的普通字体及噪声对应的渲染字体,为训练样本集中的相应渲染字体的概率;表示x、y和z分别满足各自的分布律;eps为人工预设的常数,其值为10-12

本发明还提供了一种渲染模型训练系统,其具有本发明实施例提供的一种渲染模型训练方法具有的对应效果。请参阅图4,图4为本发明实施例提供的一种渲染模型训练系统的结构示意图。

本发明实施例提供的一种渲染模型训练系统,可以包括:

构建模块101,用于构建初始cgan网络模型,初始cgan网络模型包括判别器、生成器;

第一获取模块102,用于获取训练字体样本集,训练字体样本集包括普通字体与普通字体对应的渲染字体;

第一输入模块,用于输入训练字体样本集至初始cgan网络模型中,判断初始cgan网络模型的模型训练完成度的值是否在预设范围内,若否,则调整生成器与判别器的网络权重,更新生成器与判别器的损失函数,重复判断初始cgan网络模型的模型训练完成度的值是否在预设范围内的步骤直至最大迭代次数,若是,则确定初始cgan网络模型为训练好的cgan网络模型。

本发明还提供了一种渲染模型训练系统中,第一输入模块可以包括:

第一固定单元,用于固定判别器的网络权重不变,输入训练字体样本集中的普通字体至生成器中,判断判别器是否区分出生成器生成的渲染字体与训练字体样本集中的普通字体对应的渲染字体,若是,则调整生成器的网络权重,返回执行判断判别器是否区分出生成器生成的渲染字体与训练字体样本集中的普通字体对应的渲染字体的步骤;

第二固定单元,用于固定生成器的网络权重不变,判断判别器是否区分出生成器生成的渲染字体与训练字体样本集中的普通字体对应的渲染字体,若否,则调整判别器的网络权重。

本发明还提供了一种渲染模型训练系统中,第一获取模块可以包括:

第一获取单元,用于获取一组普通字体及普通字体对应的渲染字体;

第一处理单元,用于对普通字体及普通字体对应的渲染字体进行重构与合并处理,得到训练字体样本集。

本发明还提供了一种渲染模型训练系统中,损失函数可以包括:

g*=lcgan(g,d)+λll1(g);

其中,g*表示生成器的损失函数;x表示生成器生成的训练字体样本集中的普通字体;y表示训练字体样本集中的普通字体对应的渲染字体;z表示噪声;d(x,y)表示判别器判别训练字体样本集中的普通字体对应的渲染字体为训练样本集中的相应渲染字体的概率;g(x,z)表示生成器生成与训练样本集中的普通字体及噪声对应的渲染字体;d(x,g(x,z))表示判别器判别生成器生成与训练样本集中的普通字体及噪声对应的渲染字体,为训练样本集中的相应渲染字体的概率;表示x、y和z分别满足各自的分布律;

判别器的损失函数包括:

其中,d*表示判别器的损失函数;x表示生成器生成的训练字体样本集中的普通字体;y表示训练字体样本集中的普通字体对应的渲染字体;z表示噪声;d(x,y)表示判别器判别训练字体样本集中的渲染字体为训练字体样本集中的渲染字体的概率;d(x,g(x,z))表示判别器判别生成器生成与训练样本集中的普通字体及噪声对应的渲染字体,为训练样本集中的相应渲染字体的概率;表示x、y和z分别满足各自的分布律;eps为人工预设的常数,其值为10-12

本发明还提供了一种渲染模型训练设备及计算机可读存储介质,其均具有本发明实施例提供的一种渲染模型训练方法具有的对应效果。请参阅图5,图5为本发明实施例提供的一种渲染模型训练设备的结构示意图。

本发明实施例提供的一种渲染模型训练设备,可以包括:

存储器201,用于存储计算机程序;

处理器202,用于执行计算机程序时实现如上任一实施例所描述的渲染模型训练方法的步骤。

本发明实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述的渲染模型训练方法的步骤。

本发明实施例提供的一种渲染方法,可以包括如下步骤:

获取待渲染字体;

输入待渲染字体至训练好的cgan网络模型中;

获取训练好的cgan网络模型对待渲染字体进行渲染处理后得到的渲染字体。

实际应用中,为了使训练好的cgan网络模型输出的渲染字体更为清晰,本发明实施例提供的一种渲染方法中,获取训练好的cgan网络模型对待渲染字体进行渲染处理后得到的渲染字体之后,还可以包括:

对渲染字体进行超分辨率处理,得到超分辨率渲染字体。

本发明实施例提供的一种渲染方法中,对渲染字体进行超分辨率处理,具体可以为:

采用srcnn(super-resolutionconvolutionalneuralnetwork,超分辨率卷积神经网络)网络模型对渲染字体进行超分辨率处理。

这里所说的srcnn由三层cnn卷积层组成,三层cnn卷积层基于不同大小的卷积核分别具有不同作用,分别为图像提取、非线性映射与重建。实际应用中,先将训练好的cgan网络模型输出的渲染字体使用双三次插值放大至目标尺寸,再放入3层cnn中,输出超分辨率渲染字体。具体应用场景中,还可以采用其他方法对渲染字体进行超分辨率处理,本发明在此不做具体限定。

本发明实施例提供的一种渲染系统,可以包括:

第二获取模块,用于获取待渲染字体;

第二输入模块,用于输入待渲染字体至训练好的cgan网络模型中;

第三获取模块,用于获取训练好的cgan网络模型对待渲染字体进行渲染处理后得到的渲染字体。

本发明实施例提供的一种渲染系统中,还可以包括:

处理模块,用于在第三获取模块获取训练好的cgan网络模型对待渲染字体进行渲染处理后得到的渲染字体之后,对渲染字体进行超分辨率处理,得到超分辨率渲染字体。

本发明实施例提供的一种渲染系统中,处理模块可以包括:

处理单元,用于采用srcnn网络模型对渲染字体进行超分辨率处理。

本发明实施例提供的一种渲染设备,可以包括:

存储器,用于存储计算机程序;

处理器,用于执行存储器存储的计算机程序时实现如上任一实时例所描述的渲染方法的步骤。

本发明实施例提供的一种渲染计算机可读存储介质中,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述的渲染方法的步骤。

本文所说的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。

本发明实施例提供的一种渲染模型训练系统、设备、计算机可读存储介质、一种字体渲染方法中相关部分的说明请参见本发明实施例提供的一种渲染模型训练方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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