一种基于风格学习的汉字合成方法与流程

文档序号:11063694阅读:526来源:国知局
一种基于风格学习的汉字合成方法与制造工艺

本发明涉及一种基于风格学习的汉字合成方法。更具体地说,涉及到汉字骨架提取,使用了神经网络学习汉字风格并合成汉字骨架,再平滑、渲染。属于人工智能、计算机图形学领域。



背景技术:

个人手写体汉字包含丰富的性格、背景信息,是人的一种重要特征。汉字合成旨在模仿具有特定风格的手写体,并合成具有这种风格的手写体汉字。汉字合成是一种人工智能、计算机图形学领域的交叉问题。汉字合成研究对于PC个性化、汉字识别、速记加密和完全自动图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart)具有重要意义。在互联网上,使用个人手写体与他人交流,相比于抽象的文字更能让人印象深刻。

传统上,为用户定制一套字体需要一个字体设计团队耗时一年左右完成。尽管这种方法能够保证较高的质量,但是时间和资源花费巨大,普通人无法承受。由于英文、日文(平假名)、韩文的基本字数量少、结构简单,对这些文字合成的研究较为成熟。而中文汉字数量众多、结构复杂,目前针对中文个人手写体汉字合成的研究较少,尚未有成型的技术。本发明提出一种基于风格学习的汉字合成方法,只需输入少量手写体汉字,自动化地合成具有特定风格的汉字,能够大大降低时间和资源花费。



技术实现要素:

本发明的目的在于提出了一种基于风格学习的汉字合成方法,可以利用神经网络,从用户的少量手写体汉字中学习到特定的风格,再合成具有此风格的手写体汉字。本文提出一种方法,将汉字拆分为笔画形状和笔画布局分别合成。将手写体汉字风格拆分为笔画形状风格和笔画布局风格分别学习。

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

算法主要包括以下七个步骤:

第一步,对用户输入的少量手写字(639汉字集)和相应的参考字分别提取骨架点坐标。639汉字集是从GB2312字库中抽取出的包含全部笔画和部件的最小汉字集。

第二步,计算手写字和参考字的每个笔画的笔画形状,即相对于笔画重心的笔画骨 架点位置;和笔画布局,即相对于汉字重心的笔画重心位置。

第三步,采用文献(Dolinsky J,Takagi H.Analysis and modeling of naturalness in handwritten characters[J].Neural Networks,IEEE Transactions on,2009,20(10):1540-1553.)中的方法,计算参考字的笔画惯性、笔画重心,将参考字的笔画惯性、笔画重心作为神经网络的输入,采用本发明方法分别计算参考字与手写字之间的笔画形状和笔画布局的差值作为输出。

第四步,使用两个神经网络分别训练、学习笔画形状风格和笔画布局风格,即相应的神经网络权值。

第五步,将新的参考字的笔画惯性、笔画重心位置输入到已训练的神经网络中,分别得到具有该用户风格的笔画形状和笔画布局。

第六步,组合得到的笔画形状和笔画布局得到合成汉字的骨架。

第七步,对得到的汉字骨架进行平滑、渲染操作,以得到手写体汉字。

进一步地,对于第一步中提取汉字骨架的具体实施步骤如下:首先对参考字和手写字的每个笔画等点数采样,每个笔画采样20个点Pij(k)=(xij(k),yij(k)),表示第i个汉字中第j个笔画的第k个骨架点。其中x表示点的横坐标,y表示点的纵坐标,k取值范围是[1,20]。笔画表示为笔画骨架上所有点的集合Sij=(Pij(1),Pij(2),...Pij(20))。

对于第二步,将汉字拆分成笔画形状和笔画重心,如附图3所示。将每个笔画表示成相对于笔画重心的点集。将每个字的笔画布局表示成笔画重心相对于汉字重心的点集。其中笔画重心和汉字重心均为笔画或汉字上所有点坐标的加权求和,即笔画重心为汉字重心为其中NSi表示第i个汉字的笔画数量。笔画形状计算公式为SSij=Sij-SCij,笔画布局计算公式为SLij=SCij-CCi

第三步,计算每个笔画骨架中依次的相邻两个骨架点之间的差值作为笔画惯性,即ISij=(Pij(2)-Pij(1),Pij(3)-Pij(2),...,Pij(20)-Pij(19))。计算参考字与手写字之间的笔画形状和笔画布局差值。其中笔画形状差值为笔画布局差值为其中hand表示手写字,ref表示参考字。对于笔画形状风格的学习,输入惯性,输出笔画形状差值。对于笔画布局风格的学习,输入参考字的笔画重心,输出笔画布局差值。

第四步,本发明对笔画形状风格学习采用38*40*38的前向神经网络(Feed-Forward Neural Network)进行学习。对于笔画布局风格学习采用2*5*2的前向神经网络进行学习。

第五步,将新的参考字的惯性ISij和笔画重心位置SCij输入第4)步训练得到的神经网络,即可得到估计的笔画形状差值DSSij和笔画布局差值DSLij。将其加上参考字的笔画形状和笔画布局得到合成的笔画形状和笔画布局。

第六步,设定汉字重心位置,根据笔画布局和笔画形状定位合成汉字的骨架坐标。

第七步,对合成的汉字骨架进行平滑以减少抖动,对平滑后的骨架进行渲染得到像笔写出的手写字。

与现有技术相比,本发明的积极效果在于:

本发明提出了一种基于风格学习的汉字合成方法。本发明将汉字拆分成笔画形状和笔画布局,将汉字风格拆分成笔画形状风格和笔画布局风格。本发明除了需要用户输入少量手写体汉字外,完全由计算机自动合成。本发明的合成结果较为自然,视觉效果好,没有明显错误。

附图说明

图1是本发明所述的系统流程图;

图2是本发明所述的汉字风格学习和合成流程图;

图3是本发明所述的汉字笔画形状和笔画布局拆分示意图;

图4是本发明所述的为不同用户合成汉字的效果图;

具体实施方式

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

系统的总流程如附图1所示。

首先根据汉字风格学习流程图(如附图2所示)进行汉字风格学习:

●首先对参考字和手写字的每个笔画等点数采样,每个笔画采样20个点。

●将汉字拆分成笔画形状和笔画重心,如附图3所示。将每个笔画表示成相对于笔画重心的点集。将每个字的笔画布局表示成笔画重心相对于汉字重心的点集。

●计算笔画骨架中相邻两个点之间的差值作为惯性。计算参考字与手写字之间的笔 画形状和笔画布局差值。对于笔画形状风格的学习,输入惯性,输出笔画形状差值。对于笔画布局风格的学习,输入参考字的笔画重心,输出笔画布局差值。

●对笔画形状风格学习采用38*40*38前向神经网络进行学习。对于笔画布局风格学采用2*5*2的前向神经网络进行学习。

再根据汉字合成流程图(如附图2所示)合成汉字:

●将新的参考字的惯性和笔画重心位置输入第4)步训练得到的神经网络,得到估计的笔画形状差值和笔画布局差值。将其加上参考字的笔画形状和笔画布局得到合成的笔画形状和笔画布局。

●设定汉字重心位置,根据笔画布局和笔画形状定位合成汉字的骨架坐标。

●对合成的汉字骨架进行平滑以减少抖动,对平滑后的骨架进行渲染得到像笔写出的手写字。

图4是本发明为3个不同用户合成具有特定风格的手写字的效果图。可以看到本发明基本学习到了每个人的手写体风格,并合成了质量较高的汉字。

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