当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于树莓派和循环神经网络的简笔画识别与生成方法技术

技术编号:27613066 阅读:29 留言:0更新日期:2021-03-10 10:40
本发明专利技术公开了一种基于树莓派和循环神经网络的简笔画识别与生成方法,包括:(1)收集矢量简笔画数据集;(2)建立矢量简笔画数据的数学模型;(3)预处理矢量简笔画数据;(4)构建基于序列到序列模型和长短期记忆网络的循环神经网络矢量简笔画生成模型;(5)对循环神经网络矢量简笔画生成模型进行训练;(6)将训练好的模型部署在树莓派上;(7)利用麦克风收集用户语音,利用谷歌语音转文字模块和自然语言处理模块理解用户语义,将用户语义作为输入映射到简笔画生成模型中,通过树莓派控制打印机输出生成的简笔画画面。本发明专利技术的方法,解决了现有的图像生成方法中较难处理矢量数据的问题,解决实现语言到图像的端到端系统的局限性。解决实现语言到图像的端到端系统的局限性。解决实现语言到图像的端到端系统的局限性。

【技术实现步骤摘要】
一种基于树莓派和循环神经网络的简笔画识别与生成方法


[0001]本专利技术属于图像生成
,尤其是涉及一种基于树莓派和循环神经网络的简笔画识别与生成方法。

技术介绍

[0002]生成模型的研究是深度学习领域中一个非常重要且活跃的研究主题,目前的深度学习领域已经提出了许多有效的生成模型,例如NADE,变分自动编码器,DRAW等。在图像生成领域,目前最流行的方法是生成对抗网络。GAN模型同时训练一个生成器和一个识别器,生成器用以捕获数据分布以生成新样本,识别器用以区分真实样本和生成样本。为了更好地模拟生成过程,GAN同时在零和博弈框架中训练生成器和识别器。通过零和博弈以及生成器与识别器之间的条件约束,可以在无监督学习模式下获得更接近真实目标类型的图像,从而使双方都能达到理想的训练效果。基于此,GAN延伸了各种拓展模型,比如LAPGAN和DCGAN可以生成更高质量的图像。但是经过GAN生成的绘画图像是静态图像,它们忽略了绘制的动态过程,包括时间顺序和笔的轨迹。
[0003]此外,为了自动生成笔的动态轨迹,相关文献证明了具有LSTM的循环神经网络对于处理英文在线笔迹生成工作时是非常有效的。基于RNN的生成模型是完全端到端的,它可以直接处理基于时间顺序的序列结构,不需要任何特定领域的先验知识。简笔画通常包含多个笔画,每个笔画由许多点组成。实时绘制的简笔画在整理为序列数据后可以收集到丰富的动态信息,这些信息被表示为可变长度的序列。除了形状信息外,序列数据还保留了重要的绘制顺序信息,这些信息很难从静态图像或者像素图像中恢复。因此,为了捕获动态信息以提高识别精度并有利于进行下一步的生成工作,直接将实时绘制的可变长度原始序列数据输入到RNN模型中进行训练,而不是将其转换为静态图像或者像素图像的表示形式,可以使生成器学习到更多的数据特征,并模拟简笔画在绘制过程中的动态过程。
[0004]但是,上述生成模型并没有建立针对矢量数据的生成方法,也没有建立从语言到图像的端到端系统。

技术实现思路

[0005]针对现有技术中的上述不足,本专利技术提供一种基于树莓派和循环神经网络的简笔画识别与生成方法,解决了现有的图像生成方法中较难处理矢量数据的问题,以及解决实现语言到图像的端到端系统的局限性。
[0006]一种基于树莓派和循环神经网络的简笔画识别与生成方法,包括以下步骤:
[0007](1)收集矢量简笔画数据集,作为训练对象;
[0008](2)建立矢量简笔画数据的数学模型;
[0009](3)预处理收集到的矢量简笔画数据;
[0010](4)构建基于序列到序列模型和长短期记忆网络的循环神经网络矢量简笔画生成模型;
[0011](5)利用经过预处理的数据集对循环神经网络矢量简笔画生成模型进行训练;
[0012](6)将经过训练的生成模型部署在树莓派上,所述的树莓派上接有麦克风、打印机、语音转文字模块和自然语言处理模块;
[0013](7)在应用时,利用麦克风收集用户语音,利用谷歌语音转文字模块和自然语言处理模块理解用户语义,将用户语义作为输入映射到简笔画生成模型中,通过树莓派控制打印机输出生成的简笔画画面。
[0014]进一步地,步骤(2)中,矢量简笔画数据的数学模型具体为:
[0015]数据格式由每一个笔画的点偏移量和笔触的绘制状态组成,图形的初始绝对坐标位于原点,简笔画序列数据是点的列表,每一个点都是由5个元素组成的向量:
[0016][[Δx0,Δy0,p
0.1
,p
0.2
,p
0.3
] [Δx1,Δy1,p
1.1
,p
1.2
,p
1.3
]...[Δx
n
,Δy
n
,p
n.1
,p
n.2
,p
n.3
]][0017]其中,前两个元素是笔在x和y方向上与上一个点的偏移距离,最后的3个元素为二进制格式,表示3个可能的笔触状态;笔触的第一种状态p1表示笔当前正在接触纸,并且将画一条线连接下一个点和当前点;第二种笔触状态p2指示在当前点之后将笔从纸上抬起,并且接下来将不再画线,结束绘画;最后的笔触状态p3指示图形已结束,并且当前点和后续点将不会被渲染。
[0018]进一步地,步骤(3)中,所述的预处理包括去除冗余数据点和数据坐标归一化,具体过程为:
[0019](3-1)采用Ramer

Douglas

Peucker矢量数据压缩算法对矢量数据的所有笔画进行冗余数据点的剔除;
[0020](3-2)针对每一条笔画,将第一个和最后一个点标记为保留点,并将由第一个和最后一个点的连接形成的线段记录为Line1;
[0021](3-3)针对每一条笔画,如果头和尾之间存在点到Line1的距离大于阈值,则在其中找到和Line1之间的距离最大的点A,将其标记为保留点,否则为可以删除的点;
[0022](3-4)针对每一条笔画,将首点和点A再次连接构成线段Line2,并将尾点和点A连接构成线段Line3;
[0023](3-5)针对每一条笔画,重复步骤(3-3)和步骤(3-4),直到点的数量小于三个或所有点距离当前线段的距离都大于阈值时停止;
[0024](3-6)利用连接两个点的直线在x轴和y轴上的投影计算标准偏移归一化每一个数据点。
[0025]进一步地,步骤(4)中,所述的循环神经网络矢量简笔画生成模型具体结构为:
[0026]根据Sketch-RNN无条件生成模型,并基于Seq2seq VAE,采用LSTM作为网络基本单元,将输出层的模型架构调整为高斯混合模型和SoftMax逻辑回归模型;该模型主要利用Seq2seq模型的Decoder部分,Decoder RNN的大小为512,高斯混合模型中的混合数为20,隐藏向量z的大小为128,Dropout的保有率为0.9。
[0027]进一步地,步骤(5)的具体过程如下:
[0028](5-1)利用Tensorflow1.0框架搭建循环神经网络矢量简笔画生成模型;
[0029](5-2)计算需要训练的参数,选取训练样本、验证集样本和测试集样本;
[0030](5-3)采用数据增强方法避免训练过程过拟合;
[0031](5-4)将Batch的大小设置为100,总共训练6000个Batch,平均每个Batch用时3.39s;
[0032](5-5)在训练过程中,每个Batch作为一个step,每500个step进行一次测试和验证。
[0033]进一步地,步骤(5-3)中,所述的数据增强方法包括随机缩放训练图像和随机删除直线笔划中的点;其中,随机删除直线笔划中的点是指在给定的线段具有2个以上的点的情况下,将线段内的点随机删除,这些值的增量或者影响可能很小,并且在删除后可以仍然本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于树莓派和循环神经网络的简笔画识别与生成方法,其特征在于,包括以下步骤:(1)收集矢量简笔画数据集,作为训练对象;(2)建立矢量简笔画数据的数学模型;(3)预处理收集到的矢量简笔画数据;(4)构建基于序列到序列模型和长短期记忆网络的循环神经网络矢量简笔画生成模型;(5)利用经过预处理的数据集对循环神经网络矢量简笔画生成模型进行训练;(6)将经过训练的生成模型部署在树莓派上,所述的树莓派上接有麦克风、打印机、语音转文字模块和自然语言处理模块;(7)在应用时,利用麦克风收集用户语音,利用谷歌语音转文字模块和自然语言处理模块理解用户语义,将用户语义作为输入映射到简笔画生成模型中,通过树莓派控制打印机输出生成的简笔画画面。2.根据权利要求1所述的基于树莓派和循环神经网络的简笔画识别与生成方法,其特征在于,步骤(2)中,矢量简笔画数据的数学模型具体为:数据格式由每一个笔画的点偏移量和笔触的绘制状态组成,图形的初始绝对坐标位于原点,简笔画序列数据是点的列表,每一个点都是由5个元素组成的向量:[[Δx0,Δy0,p
0.1
,p
0.2
,p
0.3
] [Δx1,Δy1,p
1.1
,p
1.2
,p
1.3
] ... [Δx
n
,Δy
n
,p
n.1
,p
n.2
,p
n.3
]]其中,前两个元素是笔在x和y方向上与上一个点的偏移距离,最后的3个元素为二进制格式,表示3个可能的笔触状态;笔触的第一种状态p1表示笔当前正在接触纸,并且将画一条线连接下一个点和当前点;第二种笔触状态p2指示在当前点之后将笔从纸上抬起,并且接下来将不再画线,结束绘画;最后的笔触状态p3指示图形已结束,并且当前点和后续点将不会被渲染。3.根据权利要求1所述的基于树莓派和循环神经网络的简笔画识别与生成方法,其特征在于,步骤(3)中,所述的预处理包括去除冗余数据点和数据坐标归一化,具体过程为:(3-1)采用Ramer

Douglas

Peucker矢量数据压缩算法对矢量数据的所有笔画进行冗余数据点的剔除;(3-2)针对每一条笔画,将第一个和最后一个点标记为保留点,并将由第一个和最后一个点的连接形成的线段记录为Line1;(3-3)针对每一条笔画,如果头和尾之间存在点到Line1的距离大于阈值,则在其中找到和Line1之间的距离最大的点A,将其标记为保留点,否则为可以删除的点;(3-4)针...

【专利技术属性】
技术研发人员:姚琤张超柳丽娟刘蓝静
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1