一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种人工智能绘画方法、装置及计算机存储介质与流程

2022-04-13 22:30:43 来源:中国专利 TAG:


1.本技术涉及图像处理领域,尤其涉及一种人工智能绘画方法、装置及计算机存储介质。


背景技术:

2.图像的风格迁移是指提供画作的模板,再将任意一张照片转化为这个模板的风格并且尽量保留照片中原始的内容。目前,图像的风格迁移或转换已经普遍被人们了解和接受,在很多移动终端或社交网站都有较为广泛的应用。
3.现有技术中,用户可以结合自己喜好的风格和照片进行虚拟头像的创造,也有按照艺术作品的风格将照片转换成艺术作品的应用,而这些应用由于各自的一些缺陷并没有得到广泛的推广应用,如方法实现上对硬件要求较高,普通设备难以承载,绘画结果不够精致不太令人满意等等,导致用户体验不佳。


技术实现要素:

4.本技术提供了一种人工智能绘画方法、装置及计算机存储介质,用于通过生成笔画的方式对图片进行二次创作,形成具有风格的绘画作品。
5.本技术第一方面提供了一种人工智能绘画方法,包括:获取参考图像;通过训练完成的笔画生成模型生成笔画图像,所述笔画图像的数量随着渲染层数的增大而增大;将所述笔画图像逐层渲染至电子画布上,得到画布当前状态图像,所述电子画布的尺寸随着所述渲染层数的增大而增大;结合所述参考图像和目标函数对所述画布当前状态图像中的笔画图像进行迭代优化,得到画布更新状态图像,所述画布更新状态图像与所述参考图像相匹配;根据所有渲染层数对应的所述画布更新状态图像生成绘画作品。
6.可选的,所述电子画布由若干画布格子组成,所述将所述笔画图像逐层渲染至电子画布上,得到画布当前状态图像包括:逐层将所述笔画图像按照预设顺序渲染到所述画布格子中,得到画布当前状态图像,所述画布格子的尺寸与所述笔画图像的尺寸相同,所述画布格子的数量随着所述渲染层数的增大而增大。
7.可选的,所述画布格子和所述笔画图像的尺寸同为目标规格像素;所述画布格子的数量与所述渲染层数之间的关系为a=2n×2n
,其中,a为所述画布格子的数量,n为所述渲染层数;所述笔画图像的数量与所述渲染层数之间的关系为b=2n×2n
×
m,其中b为所述笔画图像的数量,n为所述渲染层数,m为每一个所述画布格子中所述笔画图像的数量。
8.可选的,所述预设顺序为从左到右且从上到下的顺序。
9.可选的,所述结合所述参考图像和目标函数对所述画布当前状态图像中的笔画图像进行迭代优化,得到画布更新状态图像包括:提取所述参考图像的特征图;提取所述画布当前状态图像的特征图;根据所述参考图像的特征图与所述画布当前状态图像的特征图,通过目标函数进行反向传播以更新所述画布当前状态图像中的笔画图像的参数,得到画布更新状态图像。
10.可选的,所述目标函数为:;其中,为当前所述电子画布的状态,为所述参考图像的状态,为提取所述画布当前状态图像的特征图函数,为提取所述参考图像的特征图函数,n为大于1的正整数。
11.可选的,在所述将所述笔画图像逐层渲染至电子画布上,得到画布当前状态图像之前,所述方法还包括:去除所述笔画图像中的背景部分。
12.可选的,在所述获取参考图像之前,所述方法还包括:训练笔画生成模型;所述笔画生成模型基于深度卷积生成对抗网络dgcan创建,所述笔画生成模型包括第一生成器、第二生成器和判别器;所述第一生成器用于生成与笔画数据集分布类似的笔画图像;所述第二生成器用于对所述第一生成器生成的笔画图像重新上色;所述判别器用于对所述第一生成器或所述第二生成器生成的笔画图像与所述笔画数据集中的图片进行相似性判别。
13.可选的,所述笔画数据集通过笔画建模模型生成,所述笔画建模模型包括油画笔画模型、水彩笔画模型和粉彩笔画模型中的至少一种。
14.可选的,所述笔画图像的种类包括油画笔画图像、水彩笔画图像或粉彩笔画图像中的至少一种。
15.本技术第二方面提供了一种人工智能绘画装置,包括:获取单元,用于获取参考图像;生成单元,用于通过训练完成的笔画生成模型生成笔画图像,所述笔画图像的数量随着渲染层数的增大而增大;渲染单元,用于将所述笔画图像逐层渲染至电子画布上,得到画布当前状态图像,所述电子画布的尺寸随着所述渲染层数的增大而增大;优化单元,用于结合所述参考图像和目标函数对所述画布当前状态图像中的笔画图像进行迭代优化,得到画布更新状态图像,所述画布更新状态图像与所述参考图像相匹配;作品生成单元,用于根据所有渲染层数对应的所述画布更新状态图像生成绘画作品。
16.可选的,所述电子画布由若干画布格子组成,所述渲染单元具体用于:逐层将所述笔画图像按照预设顺序渲染到所述画布格子中,得到画布当前状态图像,所述画布格子的尺寸与所述笔画图像的尺寸相同,所述画布格子的数量随着所述渲染层数的增大而增大。
17.可选的,所述画布格子和所述笔画图像的尺寸同为目标规格像素;所述画布格子的数量与所述渲染层数之间的关系为a=2n×2n
,其中,a为所述画布格子的数量,n为所述渲染层数;所述笔画图像的数量与所述渲染层数之间的关系为b=2n×2n
×
m,其中b为所述笔画图像的数量,n为所述渲染层数,m为每一个所述画布格子中所述笔画图像的数量。
18.可选的,所述预设顺序为从左到右且从上到下的顺序。
19.可选的,所述优化单元具体用于:提取所述参考图像的特征图;提取所述画布当前状态图像的特征图;根据所述参考图像的特征图与所述画布当前状态图像的特征图,通过目标函数进行反向传播以更新所述画布当前状态图像中的笔画图像的参数,得到画布更新状态图像。
20.可选的,目标函数为:;其中,为为当前所述电子画布的状态,为参考图像的状态,为提取所述画布当前状态图像的特征图函数,为提取参考图像的特征图函数,n为大于1的正整数。
21.可选的,所述装置还包括:去除单元,用于去除所述笔画图像中的背景部分。
22.可选的,所述装置还包括:训练单元;所述训练单元具体用于:训练笔画生成模型;所述笔画生成模型基于深度卷积生成对抗网络dgcan创建,所述笔画生成模型包括第一生成器、第二生成器和判别器;所述第一生成器用于生成与笔画数据集分布类似的笔画图像;所述第二生成器用于对所述第一生成器生成的笔画图像重新上色;所述判别器用于对所述第一生成器或所述第二生成器生成的笔画图像与所述笔画数据集中的图片进行相似性判别。
23.可选的,所述笔画数据集通过笔画建模模型生成,所述笔画建模模型包括油画笔画模型、水彩笔画模型和粉彩笔画模型中的至少一种。
24.可选的,所述笔画图像的种类包括油画笔画图像、水彩笔画图像或粉彩笔画图像中的至少一种。
25.本技术第三方面提供了一种人工智能绘画装置,装置包括:处理器、存储器、输入输出单元以及总线;处理器与存储器、输入输出单元以及总线相连;存储器保存有程序,处理器调用程序以执行第一方面以及第一方面中任一项可选
的人工智能绘画方法。
26.本技术第四方面提供了一种计算机可读存储介质,计算机可读存储介质上保存有程序,程序在计算机上执行时执行第一方面以及第一方面中任一项可选的人工智能绘画方法。
27.从以上技术方案可以看出,本技术具有以下优点:本方法通过设计电子画布,将笔画渲染到画布上生成绘画过程来实现人工智能绘画功能,通过生成笔画的方式对参考图像进行二次创作,形成具有风格的绘画作品。并且本方法所设计的多层叠加绘画,随着渲染层数的增加,笔画数量也逐渐增加,电子画布的大小也不断增大,渲染层数低的笔画图像会被逐层放大,由此能够模拟出从粗画笔到细画笔的效果,逐渐使得绘画内容更接近参考图像,相较于直接对参考图像进行风格迁移,本方法生成的绘画作品能够保留更多的细节内容,从而使得绘画作品栩栩如生。
28.进一步的,本方法可应用在绘画辅助教学过程,通过展示各个渲染层对应的画布更新状态图像,能够帮助初学绘画者模拟整个绘画过程,快速掌握绘画技能,也能作为个人学习娱乐而使用,将照片转换成绘画作品为生活增添乐趣,此外该方法还可以为艺术创作者、设计者等专业人员提供一些意想不到的灵感,也可以为没有绘画基础者打开一扇自学绘画的大门,甚至在未来成为非同质化代币 (non-fungible token,nft) 市场上不可或缺的一种应用。
附图说明
29.为了更清楚地说明本技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1为本技术提供的人工智能绘画方法一个实施例流程示意图;图2为本技术提供的人工智能绘画方法中笔画图像的示意图;图3-a、3-b、3-c和3-d为本技术提供的人工智能绘画方法中绘画过程的示意图;图4为本技术提供的人工智能绘画方法另一个实施例流程示意图;图5为本技术提供的人工智能绘画方法中笔画形成过程的示意图;图6为本技术提供的人工智能绘画装置一个实施例结构示意图;图7为本技术提供的人工智能绘画装置另一个实施例结构示意图;图8为本技术提供的人工智能绘画实体装置一个实施例结构示意图。
具体实施方式
31.本技术提供了一种人工智能绘画方法、装置及计算机存储介质,用于通过生成笔画的方式对图片进行二次创作,形成具有风格的绘画作品。
32.需要说明的是,本技术提供的人工智能绘画方法,可以应用于终端,还可以应用于服务器上,例如终端可以是智能手机或电脑、平板电脑、智能电视、智能手表、便携计算机终端也可以是台式计算机等固定终端。为方便阐述,本技术中以终端为执行主体进行举例说明。
33.请参阅图1,图1为本技术提供的人工智能绘画方法的一个实施例,该方法包括:
101、获取参考图像;本实施例中提供的人工智能绘画方法是通过生成笔画的方式对图片进行二次创作以形成具有风格的绘画作品,首先终端需要获取用户输入的参考图像,该参考图像可以是人物图片、还可以是风景图片,该参考图像的尺寸和像素不受限制,具体此处均不做限定。
34.102、通过训练完成的笔画生成模型生成笔画图像,笔画图像的数量随着渲染层数的增大而增大;在本实施例中,设计了一种笔画生成模型,该笔画生成模型通过学习笔画图片数据集来产生和该笔画图片数据集相似的笔画。具体的,笔画生成模型由生成对抗网络(gan)构成,通过在笔画图片数据集上进行训练,能够学习产生和笔画图片数据集分布相似的图片,也就是笔画,为后续的自动绘画提供基础。该笔画图片数据集包含不同颜色、不同粗细、不同路径的笔画图片,笔画图片数据集中的笔画种类包括但不限于油画笔画、水彩画笔画和粉彩画笔画。
35.需要说明的是,通过笔画图片数据集训练笔画生成模型,使得训练完成的笔画生成模型可以生成没有杂色的笔画图像,接近人类绘画时真实使用绘画工具画下的笔画,从而为后续绘画提供可用的笔画。训练完成后的笔画生成模型所生成的笔画图像样例如图2所示,图2中从左到右分别为水彩效果的笔画图像、油画效果的笔画图像和粉彩效果的笔画图像。
36.在实际应用中,终端通过训练完成的笔画生成模型生成一组笔画图像。具体的,终端可以根据用户所选择的绘画风格来确定具体生成哪一种类的笔画图像,例如用户选择将参考图像二次创作为油画风格的绘画作品,终端则通过训练完成的笔画生成模型来生成油画风格的笔画图像。
37.本实施例具体是通过多层渲染叠加的方式来实现绘画作品由无到有,从粗略到细致的效果,因此引出渲染层数的概念,渲染层数在一定程度上可以对应人类绘画时的绘画层次,终端通过笔画生成模型生成的笔画图像的数量将随着渲染层数的增大而增大,以实现逼真的绘画效果。
38.103、将笔画图像逐层渲染至电子画布上,得到画布当前状态图像,电子画布的尺寸随着渲染层数的增大而增大;在本实施例中还设计了一种电子画布,电子画布的初始状态为空白状态,在进行第一层的渲染时,终端将生成的笔画图像渲染到空白的电子画布上,就得到了第一张包含笔画的图像,后续终端按照渲染层数继续将笔画图像逐层渲染在该电子画布上,就会得到若干张包含笔画的图像,这些图像均被称为画布当前状态图像,具体是指迭代优化以前电子画布上呈现的图像。需要说明的是,在每一层进行笔画图像渲染的过程中会得到对应的画布当前状态图像,电子画布上呈现的画布当前状态图像是此前所有渲染层数(绘画层次)中笔画图像的叠加状态,例如第二层对应的画布当前状态图像表现为第一层的笔画图像叠加第二层的笔画图像,具体为第二层覆盖在第一层上。
39.进一步的,在上述逐层渲染叠加的过程中,该电子画布的尺寸会随着渲染层数的增大而增大,这是由于笔画图像的数量在随着渲染层数的增大而增大,以第一层到第二层的渲染过程为例,在第一层的渲染结束后,电子画布会被放大到第二层需要的大小(以便能
够融入更多数量的笔画图像),后续的渲染以此类推,因此从最终的视觉效果上来看,随着渲染层数的增加像素点也随之增加,第一层中的笔画会比较粗大(因为放大倍数最大),越往后的笔画会越细小,从而能在较后层绘制较为精细的内容,这样由粗略到细致的笔画叠加能够模拟出人类的真实绘画过程。
40.104、结合参考图像和目标函数对画布当前状态图像中的笔画图像进行迭代优化,得到画布更新状态图像,画布更新状态图像与所述参考图像相匹配;由于笔画生成模型所生成的笔画图像仅能够模拟出笔画的形态,与参考图像的具体内容仍然存在一定的差距,因此终端在将笔画图像渲染至电子画布的过程中,还需要通过多次的迭代优化使得电子画布中每一层的笔画图像越来越符合绘画需要,也就是使得每一层的笔画图像接近参考图像,电子画布上经过迭代优化后,更新出的笔画所形成的图像被称为画布更新状态图像。
41.具体的,在进行每一层笔画图像的渲染时,终端都会根据目标函数来对当前渲染层上的笔画图像进行迭代优化,即通过目标函数优化笔画图像的参数,一层画布的完成需要迭代渲染多次,从而优化笔画使之更符合绘画所需要的笔画的效果,也就是更接近参考图像的真实内容。
42.105、根据所有渲染层数对应的画布更新状态图像生成绘画作品。
43.终端将所有渲染层数对应的画布更新状态图像进行叠加,生成绘画作品。实际上是指将所有渲染层数上的笔画图像进行叠加以生成绘画作品。
44.本实施例中的笔画渲染过程是模拟人类绘画过程实现,在人类的绘画过程中,一般是第一步绘画较粗略的图案内容,第二步在此基础上绘画较细致的笔画,逐渐将内容逐渐画满,绘画出较为精细的内容。本实施例则将这个过程模拟为4~5层的叠加绘制,即第一层绘制粗略的框架内容,第二层绘制稍微精细的内容,第三层绘制更为精细的内容,第4(5)层绘制精修内容,将这4(5)层绘制的结果(画布更新状态图像)叠加起来形成最终绘画作品,将在全部的渲染及迭代优化结束后电子画布上呈现的最终图像作为绘画作品。
45.具体的,终端重复执行步骤103和步骤104,通过一层一层将笔画图像渲染在电子画布上,然后在进行每一层笔画图像的渲染时,都要通过多次迭代优化使得当前渲染层上的笔画越来越符合绘画需要。每一层的绘画都是将模型产生的笔画渲染到电子画布上,随着渲染层数的增加,笔画图像的数量逐渐增加,电子画布的尺寸也随之增加,最终表现为像素点的不断增加,且笔画的形态会越来越接近参考图像需要的笔画。从最终的视角效果上来看,第一层对应的画布更新状态图像中的笔画会比较粗大(因为放大倍数最大),越往后的画布更新状态图像笔画会越细小,从而能在较后层绘制较为精细的内容。由此模拟出人类的真实绘画过程,同时使得绘画作品的内容更接近参考图像,能够保留更多的细节内容,使得作品栩栩如生。
46.如图3-a至图3-d所示,图3-a至图3-d为绘画过程的一个示例,其中图3-a为第一层第一次渲染结束的状态,即为画布当前状态图像;图3-b为第一层绘制后的状态,即对第一层上的笔画图像进行多次迭代优化后的状态,为第一层对应的画布更新状态图像;图3-c为第二层绘制后的状态;图3-d为第三层绘制后的状态。如图所示通过三层的叠加来完成整个绘画过程,能够达到较好的绘画效果。
47.进一步的,还可以将上述每一步渲染得到的画布更新状态图像也进行保存并展示
给用户,使最终生成的绘画作品不仅是一张画作,还包含了该画作的创作过程,使得用户可以模仿不同的画布更新状态图像逐层进行绘画,即使用户没有绘画基础也能够通过临摹画布更新状态图像完成绘画,例如将如图3-b、3-c、3-d所示的画布更新状态图像展示给用户以便用户进行模仿。
48.在本实施例中,通过设计电子画布,将笔画渲染到画布上生成绘画过程来实现人工智能绘画功能,通过生成笔画的方式对参考图像进行二次创作,形成具有风格的绘画作品。并且本方法所设计的多层叠加绘画,随着渲染层数的增加,笔画数量也逐渐增加,电子画布的大小也不断增大,渲染层数低的笔画图像会被逐层放大,由此能够模拟出从粗画笔到细画笔的效果,逐渐使得绘画内容更接近参考图像,相较于直接对参考图像进行风格迁移,本方法生成的绘画作品能够保留更多的细节内容,从而使得绘画作品栩栩如生。
49.进一步的,本实施例中提供的人工智能绘画方法还可以应用在绘画辅助教学过程,通过展示各个渲染层对应的画布更新状态图像,能够帮助初学绘画者模拟整个绘画过程,快速掌握绘画技能,也能作为个人学习娱乐而使用,将照片转换成绘画作品为生活增添乐趣,此外该方法还可以为艺术创作者、设计者等专业人员提供一些意想不到的灵感,也可以为没有绘画基础者打开一扇自学绘画的大门,甚至在未来成为非同质化代币 (non-fungible token,nft) 市场上不可或缺的一种应用。
50.以下将对本技术提供的人工智能绘画方法以及笔画生成模型的训练进行详细说明,请参阅图4,图4为本技术提供的人工智能绘画方法的一个实施例,该方法包括:401、训练笔画生成模型;笔画生成模型通过学习笔画建模提供的笔画数据集来产生和数据集笔画相似的笔画。笔画生成模块由生成对抗网络(generative adversarial network,gan)构成,通过在笔画数据集上训练,学习产生和数据集相似的图片,也就是笔画,为自动绘画提供笔画库。
51.训练笔画生成模型的过程分为通过笔画建模产生笔画图片数据集和通过笔画图片数据集训练笔画生成模型两部分,下面分别进行说明:一、通过笔画建模产生笔画图片数据集;笔画建模主要是为了产生多种形状和特征的笔画图片数据集,为后期的笔画渲染做准备。本实施例中主要设计了三种笔画模型,油画笔画模型,粉彩笔画模型和水彩笔画模型。其中油画笔画模型和水彩笔画模型的实现方式是一致的,主要用几何圆形模拟笔触点,通过改变圆形直径大小来改变笔触宽度,应用贝塞尔曲线模拟笔触形成的路径,结合不同大小的圆形沿着贝塞尔曲线移动形成最终笔画,其中笔画形成过程如图5所示。
52.贝塞尔曲线公式为:;贝塞尔曲线由控制点决定曲线的形状,在公式中用pi来表示控制点,当i=0时,p0表示短点(起始点),n表示贝塞尔曲线的阶数,在本实施例中,采用二阶贝塞尔曲线作为水彩笔画形成的路径形式,三阶贝塞尔曲线作为油画笔画形成的路径形式。为了制作油画笔画的纹理感,在形成笔画过程中加强圆形边缘的表达,也就是锐化变化,使得笔画的边缘更明显在多笔画叠加之后便能形成纹理感,而对水彩效果的模拟则是使得形成笔画的圆形模糊
化,最终形成的笔画看起来更柔和,笔画叠加之后不会有明显的边缘界限,在绘画过程更容易表现出水彩的效果。粉彩笔画则由于其特殊的纹理特征,即点云状,使用上述方法不容易实现,所以我们采用由绘画软件mypaint生成的笔画制作数据集。需要说明的是,制作笔画数据集的方法可以很多种,只是为了能更好的表现不同笔触之间的特征差异从而形成不一样的绘画效果,此处不再赘述。
53.在一些具体的实施方式中,终端根据上述笔画建模模型生成不同类型的笔画图片作为笔画图片数据集:油画效果的笔画图片数据集、水彩效果的笔画图片数据集以及粉彩效果的笔画图片数据集,每个数据集包含20000张64
×
64像素的笔画图片。
54.二、通过笔画图片数据集训练笔画生成模型;本实施例提供的笔画生成模型以deep convolutional generative adversarial network(dcgan)为原始模型,在此基础上做一些改进从而使得我们的笔画生成模型具有生成绘画需要的笔画图片的功能。由于原始dcgan模型是以噪声(noise)为输入生成和数据集相似的图片,因此从一个噪声开始优化生成图片的模型,在计算笔画图像时,存在像素值的计算符合数据集的分布,但是图片视觉上看起来会有一些颜色杂色的问题。因此,本实施例在dcgan的基础上另外设计了一个模块,与原始dcgan(two-player-game)形成一个three-player-game模型,即,两个生成器一个判别器,第一个生成器即为原始生成器,第二个生成器为上色器,对第一个生成器生成的图片重新上色,判别器对生成图片和数据集图片进行判别,如果生成图片分布与数据集图片分布相似则判别为有效图片,否则为无效图片。
55.判别器分别对两个生成器进行判别,判别之后生成器进行一次迭代,进入下一个循环。训练笔画生成模型的损失函数分别为:a)判别器损失函数:;d(
·
)表示判别器,g(
·
)和g`(
·
)分别表示两个生成器,xk表示来自数据集的分布,bk,ck为生成器的输入,则g(bk)为第一个生成器生成的图片的分布,g`(g(bk),ck)为第二个生成器对第一个生成器生成图片重新上色之后的图片分布,k为正整数。
56.b)第一个生成器损失函数:;生成器g(
·
)通过与判别器的对抗作用不断被迭代优化,最终学会产生和数据集图片分布类似的图片,但是由于计算的像素值的最终结果不能与代表图片内容的视觉效果一致,也就是从视觉效果看一些笔画图片的笔画颜色有杂色,但是计算其分布值时不能辨别,因此该生成器生成的笔画图片中存在一些笔画颜色有杂色的问题。为了产生和人类绘画笔画颜色一致的效果,需要第二个生成器,对图片重新上色。k为正整数。
57.c)第二个生成器损失函数:;
生成器g`(
·
)以g(bk)和ck为输入,即以生成器g(
·
)产生的笔画图片和颜色控制参数ck来对笔画图片重新上色,且在绘画阶段ck是来自参考图像的颜色值。
58.笔画生成模型通过分别对这三个模块的优化迭代,使得最终的笔画生成模型可以生成没有杂色的笔画图像,更接近人类绘画时画的笔画,从而为后续绘画模型提供可用的笔画。k为正整数。
59.402、获取参考图像;403、通过训练完成的笔画生成模型生成笔画图像,笔画图像的数量随着渲染层数的增大而增大;在本实施例中,步骤402至步骤403与前述实施例步骤101至步骤102类似,此处不再赘述。
60.404、去除笔画图像中的背景部分;由于笔画生成模型生成的笔画图像为笔画内容区域加背景区域两部分构成,我们在绘画过程中仅需要到笔画区域的内容,所以需要将背景部分去除,模型所生成的笔画图像的背景区域均为白色,像素值就是固定的同一个值,将其设为λ,p为笔画图片像素矩阵,则表示背景区域像素,将其置为0,从而达到将背景区域“去掉”的效果,在后续步骤中终端将笔画图像的笔画区域内容加到画布上,呈现出将笔画渲染到画布上的效果。
61.405、逐层将笔画图像按照预设顺序渲染到画布格子中,得到画布当前状态图像,画布格子的尺寸与笔画图像的尺寸相同,画布格子的数量随着渲染层数的增大而增大;在本实施例中,电子画布被划分为若干画布格子,画布格子和笔画图像的尺寸相同,终端逐层将笔画图像渲染到电子画布上,实际上是一层一层地将笔画图像按照一定的顺序渲染到这些画布格子上。需要说明的是,同一个画布格子中可以渲染一张或一张以上的笔画图像。在实际应用过程中,画布格子的数量会随着渲染层数(绘画层次)而变化,渲染层数越高,格子数量越多,对应需要的笔画图像的数量也越多,这就对应了步骤403中笔画图像的数量会随着渲染层数的增大而增大,实际上步骤403每次笔画生成模型产生的笔画数量是由每一层画布格子的数量和每一个格子所需要绘画的笔画数所共同决定的。
62.在一些具体的实施例中,画布格子的数量与渲染层数之间的关系为a=2n×2n
,其中,a为画布格子的数量,n为渲染层数;笔画图像的数量与渲染层数之间的关系为b=2n×2n
×
m,其中b为笔画图像的数量,n为渲染层数,m为每一个画布格子中笔画图像的数量。
63.也就是第一层21×
21=4个格子,第二层22×22
=16个格子,以此类推,第n层的格子数为2n×2n
个,格子的尺寸和笔画图像的尺寸一样大,都是固定大小的目标规格像素,例如目标规格像素为64
×
64像素,因此电子画布会逐层增大,像素点变多,即在生成绘画作品过程中,第一层绘画过程完成后画布被放大到第二层需要的大小,以此类推,因此从最终视觉效果看,第一层笔画较粗大(被放大的倍数加大),越往后笔画越细小,从而能在较后层绘制较为精细的内容。
64.在一些具体的实施例中,渲染过程是将已生成且去除背景的笔画图像按照从左到右从上到下的顺序渲染到电子画布的画布格子上。
65.406、提取参考图像的特征图;为了使电子画布上的笔画图像接近参考图像,满足绘画的需要,因此需要通过迭
代优化来优化笔画图像的相关参数。
66.令为输入的参考图像状态,终端通过特征图函数来提取参考图像的特征图,以获取参考图像特征。
67.407、提取画布当前状态图像的特征图;本技术中的画布当前状态图像是指表示当前电子画布上状态的图像,令为当前电子画布的状态,终端通过特征图函数来提取画布当前状态图像的特征图,以获取当前电子画布特征。
68.408、根据参考图像的特征图与画布当前状态图像的特征图,通过目标函数进行反向传播以更新画布当前状态图像中的笔画图像的参数,得到画布更新状态图像,画布更新状态图像与参考图像相匹配;用来计算当前电子画布状态和参考图像状态的距离,从而优化笔画参数,使得迭代之后的笔画更接近绘画所需要的形态。笔画的迭代优化具体通过如下目标函数来实现:;n为大于1的正整数,表示数据量总数,目标函数能够反映当前电子画布状态和参考图像状态之间的平均绝对误差(mean absolute error,mae),是绝对误差的平均值,能够准确地反映出误差的实际情况。通过对上述公式进行反向传播来更新笔画图像参数的值,从而达到优化笔画使之更符合绘画所需要。最终能画出和参考图像接近的画作,即既像参考图像又和参考图像存在风格的差异,是绘画作品与真实照片之间的差异。
69.在一些具体的实施例中,一层画布的完成往往需要迭代渲染多次,具体可以设置需要迭代的次数,完成次数则意味着迭代完成,当然也可以在达到效果时随时终止迭代,通常可以采取在绘画开始前设定迭代次数,例如100次或200次,具体迭代次数此处不作限定。如果图片复杂就对应设置迭代的次数多一点,图片简单设置迭代的次数少一点,根据实际应用效果一般设定200次已经可以满足大多数的复杂图片。
70.409、根据所有渲染层数对应的画布更新状态图像生成绘画作品。
71.从完整的绘画过程来看,绘画的初始状态是由笔画生成模型随机产生一组笔画渲染到画布上得到,之后开始对笔画进行优化,从而通过多次迭代优化使得生成的笔画越来越符合绘画需要来完成最终绘画。每一层的绘画都是将产生的笔画渲染到画布,随着层数增加,笔画数增加,且笔画的形态越来越接近参考图像需要的笔画。对应表现在电子画布上的效果就是随着层数增加,画布更新状态图像的像素点逐渐增多,整个绘画表现出由浅至深,从粗略到细致的效果。
72.本实施例将绘画过程模拟为4到5层的叠加绘制,即第1层绘制粗略的框架内容(笔画粗大且内容细节较少),第2层绘制稍微精细的内容,第3层绘制更为精细的内容,第4(5)层绘制精修内容(笔画细致且内容细节多),然后将这4(5)层绘制的结果叠加起来形成最终的绘画作品。由此模拟出了人类绘画过程,即第一步绘画较粗略的图案内容,第二步在此基础上绘画较细致的笔画,从而不断叠加绘画出较为精细的内容,逐渐将内容画满。
73.在本实施例中,通过设计电子画布,将笔画渲染到画布上生成绘画过程来实现人工智能绘画功能,通过生成笔画的方式对参考图像进行二次创作,形成具有风格的绘画作品。并且本方法所设计的多层叠加绘画,随着渲染层数的增加,笔画数量也逐渐增加,电子画布的大小也不断增大,渲染层数低的笔画图像会被逐层放大,由此能够模拟出从粗画笔到细画笔的效果,逐渐使得绘画内容更接近参考图像,相较于直接对参考图像进行风格迁移,本方法生成的绘画作品能够保留更多的细节内容,从而使得绘画作品栩栩如生。
74.此外,因在设计上使用了可独立训练的笔画生成模型,可以产生不同风格的笔画,从而画出不同艺术风格的作品,使得本方法在艺术风格的选择上具有灵活性。
75.进一步的,本实施例中提供的人工智能绘画方法还可以应用在绘画辅助教学过程,通过展示各个渲染层对应的画布更新状态图像,能够帮助初学绘画者模拟整个绘画过程,快速掌握绘画技能,也能作为个人学习娱乐而使用,将照片转换成绘画作品为生活增添乐趣,此外该方法还可以为艺术创作者、设计者等专业人员提供一些意想不到的灵感,也可以为没有绘画基础者打开一扇自学绘画的大门,甚至在未来成为非同质化代币 (non-fungible token,nft) 市场上不可或缺的一种应用。
76.请参阅图6,图6为本技术提供的人工智能绘画装置一个实施例,该装置包括:获取单元601,用于获取参考图像;生成单元602,用于通过训练完成的笔画生成模型生成笔画图像,笔画图像的数量随着渲染层数的增大而增大;渲染单元603,用于将笔画图像逐层渲染至电子画布上,得到画布当前状态图像,电子画布的尺寸随着渲染层数的增大而增大;优化单元604,用于结合参考图像和目标函数对画布当前状态图像中的笔画图像进行迭代优化,得到画布更新状态图像,画布更新状态图像与参考图像相匹配;作品生成单元605,用于根据所有渲染层数对应的画布更新状态图像生成绘画作品。
77.在本实施例中,通过设计电子画布,将笔画渲染到画布上生成绘画过程来实现人工智能绘画功能,通过生成笔画的方式对参考图像进行二次创作,形成具有风格的绘画作品。并且本本装置所应用的多层叠加绘画,随着渲染层数的增加,笔画数量也逐渐增加,电子画布的大小也不断增大,渲染层数低的笔画图像会被逐层放大,由此能够模拟出从粗画笔到细画笔的效果,逐渐使得绘画内容更接近参考图像,相较于直接对参考图像进行风格迁移,本方法生成的绘画作品能够保留更多的细节内容,从而使得绘画作品栩栩如生。
78.下面对本技术提供的人工智能绘画装置进行详细说明,请参阅图7,图7为本技术提供的人工智能绘画装置另一个实施例,该装置包括:获取单元701,用于获取参考图像;生成单元702,用于通过训练完成的笔画生成模型生成笔画图像,笔画图像的数量随着渲染层数的增大而增大;渲染单元703,用于将笔画图像逐层渲染至电子画布上,得到画布当前状态图像,电子画布的尺寸随着渲染层数的增大而增大;优化单元704,用于结合参考图像和目标函数对画布当前状态图像中的笔画图像进行迭代优化,得到画布更新状态图像,画布更新状态图像与参考图像相匹配;
作品生成单元705,用于根据所有渲染层数对应的画布更新状态图像生成绘画作品。
79.可选的,电子画布由若干画布格子组成,渲染单元703具体用于:逐层将笔画图像按照预设顺序渲染到画布格子中,得到画布当前状态图像,画布格子的尺寸与笔画图像的尺寸相同,画布格子的数量随着渲染层数的增大而增大。
80.可选的,画布格子和笔画图像的尺寸同为目标规格像素;画布格子的数量与渲染层数之间的关系为a=2n×2n
,其中,a为画布格子的数量,n为渲染层数;笔画图像的数量与渲染层数之间的关系为b=2n×2n
×
m,其中b为笔画图像的数量,n为渲染层数,m为每一个画布格子中笔画图像的数量。
81.可选的,预设顺序为从左到右且从上到下的顺序。
82.可选的,优化单元704具体用于:提取参考图像的特征图;提取画布当前状态图像的特征图;根据参考图像的特征图与画布当前状态图像的特征图,通过目标函数进行反向传播以更新画布当前状态图像中的笔画图像的参数,得到画布更新状态图像。
83.可选的,目标函数为:;其中,为为当前电子画布的状态,为参考图像的状态,为提取画布当前状态图像的特征图函数,为提取参考图像的特征图函数,n为大于1的正整数。
84.可选的,装置还包括:去除单元706,用于去除笔画图像中的背景部分。
85.可选的,装置还包括:训练单元707;训练单元707具体用于:训练笔画生成模型;笔画生成模型基于深度卷积生成对抗网络dgcan创建,笔画生成模型包括第一生成器、第二生成器和判别器;第一生成器用于生成与笔画数据集分布类似的笔画图像;第二生成器用于对第一生成器生成的笔画图像重新上色;判别器用于对第一生成器或第二生成器生成的笔画图像与笔画数据集中的图片进行相似性判别。
86.可选的,笔画数据集通过笔画建模模型生成,笔画建模模型包括油画笔画模型、水彩笔画模型和粉彩笔画模型中的至少一种。
87.可选的,笔画图像的种类包括油画笔画图像、水彩笔画图像或粉彩笔画图像中的至少一种。
88.本实施例装置中,各单元的功能与前述图4所示方法实施例中的步骤对应,此处不再赘述。
89.本技术还提供了一种人工智能绘画装置,请参阅图8,图8为本技术提供的人工智
能绘画装置一个实施例,该装置包括:处理器801、存储器802、输入输出单元803、总线804;处理器801与存储器802、输入输出单元803以及总线804相连;存储器802保存有程序,处理器801调用程序以执行如上任一人工智能绘画方法。
90.本技术还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一人工智能绘画方法。
91.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
92.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
93.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
94.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
95.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献