CN103020085A - 一种个人风格化书法动态字库的实现方法及其应用 - Google Patents

一种个人风格化书法动态字库的实现方法及其应用 Download PDF

Info

Publication number
CN103020085A
CN103020085A CN2011102878233A CN201110287823A CN103020085A CN 103020085 A CN103020085 A CN 103020085A CN 2011102878233 A CN2011102878233 A CN 2011102878233A CN 201110287823 A CN201110287823 A CN 201110287823A CN 103020085 A CN103020085 A CN 103020085A
Authority
CN
China
Prior art keywords
writing
writer
word
pen
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011102878233A
Other languages
English (en)
Other versions
CN103020085B (zh
Inventor
万毅
刘志平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LANZHOU HAIFANG INFORMATION TECHNOLOGY Co Ltd
Original Assignee
LANZHOU HAIFANG INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LANZHOU HAIFANG INFORMATION TECHNOLOGY Co Ltd filed Critical LANZHOU HAIFANG INFORMATION TECHNOLOGY Co Ltd
Priority to CN201110287823.3A priority Critical patent/CN103020085B/zh
Publication of CN103020085A publication Critical patent/CN103020085A/zh
Application granted granted Critical
Publication of CN103020085B publication Critical patent/CN103020085B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Character Discrimination (AREA)

Abstract

一种个人风格化书法动态字库的实现方法及其应用,涉及计算机及人工智能技术领域。步骤为:1、建立毛笔的三维计算机模型;2、对汉字进行编码;3、对书写者的书写过程进行采集,得到笔杆空间运动的时间函数;4、利用步骤2、3得到的内容进行统计机器学习,得到书写者的运笔习惯;5、利用步骤4中得到的书写者在写每一个字时笔杆的空间运动统计模型,通过对该统计模型的随机过程采样来实现具有个人风格化书法动态字库的功能。本发明能够通过计算机高效、客观地生成书写者的个人风格化书法动态字库,并且象真人写字一样在电子显示设备上或纸张上进行无数次地书写但每次字迹均有差异,比传统的静态字库更符合真人书写的过程,提高了字库的水平。

Description

一种个人风格化书法动态字库的实现方法及其应用
技术领域
    本发明涉及计算机及人工智能技术领域,具体指通过机器学习来建立书写者的个人多维运笔风格模型,然后利用此模型通过虚拟现实技术或机械臂来达到智能“写字”的功能,实现个人风格化书法动态字库,并且能够在此基础上生成一个广义书写者运笔空间统计模型,该模型只需利用书写者少量的平面字迹就可以推导其个人多维运笔风格模型,从而更加高效地实现个人风格化书法动态字库。
背景技术
中华书法艺术源远流长,博大精深,书写创作是一种运动技能,也包含了比较高级的审美和思维活动,每个人写出来的字都不相同,尤其在中国,汉字广泛使用毛笔书写,独具特色,几千年来留下了一些珍贵的艺术作品,现代汉字尽管大量使用硬笔书写,但其书法的审美和情趣不变,字的间架结构和运势转折与毛笔别无二致,而字的笔画粗细变化虽不像毛笔那样纵深明显,但也清晰可鉴,这是因为纸对硬笔而言是相对柔软造成的,所以硬笔书法是毛笔书法的特殊情形而已。不论使用何种书写工具,某些书法家写出来的字堪称某某字体,字体风格也各有千秋,这是因为每个书写者的书写习惯乃至审美心态各不相同造成的。另外,书法家写字美,也是因为其书写习惯有序而稳定,是更有规律的,有的人字写的不好也是因其没有形成有序而稳定的书写习惯造成的,普通人临摹名家之作需要一个漫长的过程,其书法技艺之结构美与灵动美的提升尤为艰辛。普通人写字,既有美观的特质,也有一些不稳定、不文雅的特质,两种特质各有消长,但总归难登大雅之堂。而书法家能够形成某种字体并进入现代字库者,也是凤毛麟角,即使进入现代字库,同一种字库中的任何一个字的原形也是千篇一律的。但现代社会的高速发展使人们有了享受更多艺术美的理由和可能,现代中国已经在从工业社会进入到信息化时代,追求多样化的精神享受是新时代人类生活的主题,标准化且大规模生产的产品对于追求更高精神享受的人来说是远远不够的,而按照个人风格或特点特别制作的产品才是更受欢迎的。因此,把普通人写的字去粗取精地保留其美的特质并且生成有个性而富于灵动变化的个人字库,发挥人民群众的原创力,为书法艺术的繁荣提供新的不竭源泉是新时代的需要。根据目前的科学技术水平,尤其是现代计算机的处理运算快捷可靠,机器学习、人工智能和虚拟现实等技术近年来的发展,使得机器人仿真人写字的基础大为增强,通过计算机自动生成个人风格化动态字库的方法必将应运而生。
目前,虽然计算机书法创作的研究工作已经有了一些开展,但是所用的方法还只是停留在字体的二维模型建立上,例如文献[1,2]中阐述的内容。这种处理虽然实现相对简单,但是没有从实际运笔过程的真实角度去模拟,从而缺乏动态书法字库生成中必须同时满足风格化和多样性的要求。也就是说,目前还没有一种方法能够实际模仿任一个书写者的运笔习惯并且在此基础上由计算机自动生成该书写者的书法字库。现有的字库的生成方法往往主要由人工拼接生成,不仅投入大,效率也低。并且,此类方法在多次生成同一个字迹时往往千篇一律,缺乏现实书写中表现出来的字迹多样性。因此,此类方法生成的字库可以称之为静态字库。
参考文献[1]张振庭 ,吴江琴, 俞凯, “三维虚拟环境中的书法创作”,《计算机辅助设计与图形学学报》 2010年06期,pp.1010-1022。
参考文献[2]江浩,“中国书法字体生成的初步研究”,硕士论文,浙江大学,2007。
发明内容
基于上述所存在的问题,本发明提供一种新的个人风格化书法动态字库的实现方法,这是一种完全由计算机对书写者运笔习惯进行学习并自动生成其书法字库的方法。更进一步,本发明提出广义书写者运笔空间统计模型的概念和实现方法,用来描述一般书写者的运笔习惯,利用该广义模型对任何一个书写者的少量的字迹进行学习而得到表征该书写者笔风格的模型,然后可以由计算机自动实现该书写者的个人风格化书法动态字库。照此方案生成的模型能够模仿真人书写时的自然运笔过程,高效地生成动态字库,并且可以随用随写地无数次提供与笔迹样品风格一致但又不完全重合的汉字,这就是所谓的“动态字库”,即计算机生成输出同一个汉字无数次也很难找到哪两次是完全相同的。这一点与传统的静态字库有本质的差别。
为此,采用如下技术方案:一种个人风格化书法动态字库的实现方法,该实现方法通过对书写者在写作过程中运笔的空间运动轨迹进行多维建模,利用统计机器学习技术,来让计算机达到对书写者运笔习惯自动学习的目的;然后可以通过虚拟现实技术或机器人系统来生成个人风格化书法动态字库;具体步骤如下:
一、 建立毛笔的三维计算机模型;
毛笔由笔杆和笔刷构成;笔杆是刚体,可以用一个杆状刚体来建模;笔刷是软体,其顶端与所述笔杆末端为固定连接;笔刷采用弹簧-质点模型来建模;
二、对汉字进行编码;
    对汉字进行编码时的汉字内码采用GB2312或GBK或UNICODE;使每个字形与通过内码唯一识别的编码字建立一一对应关系;
三、 对书写者的书写过程进行采集,得到笔杆空间运动的时间函数;
采用机器视觉技术对书写者在书写每一个字时笔杆的空间运动轨迹进行记录,得到笔杆空间运动的时间函数;具体利用多点视频合成三维运动轨迹;步骤如下:
①、建立多点视频采集系统;采用若干相机环绕排列,相机连续拍摄笔杆的动作,并将图像序列保存下来;
②、对①所记录的结果进行分析和处理,识别其中笔杆的动作,并计算其在每一瞬间的空间位置,进而分析得到毛笔的空间运动轨迹;
四、利用步骤二和三得到的内容进行统计机器学习,得到书写者的运笔习惯,即书写者在写每一个字时运笔的空间运动统计模型;
采用隐马尔科夫模型进行运动建模,让计算机根据步骤二和三得到的书写者的实际运笔轨迹来学习得到对应其书法风格的隐马尔科夫模型;具体:在隐马尔科夫模型状态的选择上,将汉字的每个基本笔画作为一个状态;对步骤三中得到的运笔空间轨迹进行主成分分解,得到一组笔杆运动轨迹的基函数,并将每一个字的运动轨迹用此组基函数近似描述;在此基础上,使用Baum-Welch算法来确定使步骤三中得到的运笔的三维运动轨迹的概率最大化的模型参数值(共包括初始概率,状态转移概率和观测概率三组概率参数),即学习得到隐马尔科夫模型;
五、 利用步骤四中得到的书写者在写每一个字时笔杆的空间运动统计模型,通过对该统计模型的随机过程采样来实现具有个人风格化书法动态字库的功能;
步骤四得到的是表现某一书写者在写一个字时的随机模型,即隐马尔科夫模型;对该模型的每一次采样就得到一个字的运笔轨迹;从运笔轨迹到写出具有个人风格化的字迹的过程是:若在电脑显示器上虚拟生成,就利用步骤一中所建的模型,采用前向仿真技术;若采用机械臂写在纸上,则利用机器人技术中的前向控制方法。如果每个字迹都按照模型中该字的最大概率生成,则可以由这些字迹组成一个传统意义下的静态字库,该静态字库可以打印生成最代表该书写者的一个标准样张。
本发明的具体优点如下:
1、能够通过计算机高效、客观地生成书写者的个人风格化书法动态字库,并且象真人写字一样在电子显示设备上(通过虚拟现实技术)或纸张上(通过机器人技术)进行无数次地书写,不但比目前人工进行拼接生成字库的方式大幅提高效率,而且实现的是动态字库,比传统的静态字库更加符合真人书写的过程,大大提高了字库的水平。
2、将大力实现我国书法艺术在社会生活中的普及和应用,促进社会精神文明和相关经济产业的快速发展。例如,该发明成果可以用于具备个人艺术魅力的书信交往和书籍印刷(而现代字库只是其中的一种形式而已,同一个汉字在多次调用时,其原型是没有变化的);另外,写字将进入一个高效高层次模拟的动画时代,对任何一篇书法作品经仿真再创作后达到“不是真迹胜似真迹”的目的;再有,通过本发明的帮助可以使汉字的学习变的简单易行,大幅度提高汉语言使用者对书法的兴趣,写字变成一种高尚的娱乐,并且可以大力提高中华传统文化向全世界的传播速度;最后,高仿真写字机等产品甚至产业链必将出现,将助推我国文化产业在该领域实现跨越式发展。
附图说明
图1为本发明中的平行笔刷模型示意图;
图2为本发明中的聚合笔刷模型示意图;
图3为本发明中笔刷模型的截面示意图;
图4为本发明中的多点视频采集系统示意图;
图5为本发明中获得相机内部参数用的棋盘模板示意图;
图6为本发明中有5个状态的马尔科夫模型示意图。
具体实施方式
下面结合附图对本发明及其有益效果作进一步详细的说明。
实施例1,一种个人风格化书法动态字库的实现方法,该实现方法通过对书写者在写作过程中运笔的空间运动轨迹进行多维建模,利用统计机器学习技术,来让计算机达到对书写者运笔习惯自动学习的目的;然后通过虚拟现实技术或机器人系统来生成个人风格化书法动态字库;具体步骤如下:
一、建立毛笔的三维计算机模型;
毛笔由笔杆和笔刷构成;笔杆是刚体,可以用一个圆柱杆状刚体来建模;笔刷是软体,其根部与所述笔杆末端为固定连接;笔刷采用弹簧-质点模型来建模,具体采用笔刷骨架和笔刷表面的分层结构来建模;首先构建笔刷的骨架,将笔刷看作由若干个笔簇构成。笔簇是一组结构、水墨分布和行为极为类似的笔毛集合。如图1和图2所示,笔刷可以由8、9或10或更多条笔簇构成(笔刷越粗,笔簇个数越多),每个笔簇中间有一根骨架,骨架上从笔根到笔尖分布着大约100个粒子(也可根据仿真精度要求自行调整个数。一般说来粒子数量越多仿真效果越逼真),将骨架分成长度逐渐减小且相互连接的线段序列。笔刷模型横截面如图3所示,中心点                                                处有1根骨架,配合周围以为半径围成圆形的若干根骨架,来模拟整个笔刷的动力学行为。
笔刷在不沾水墨的情况下,笔毛大致等长且呈平行分布,如图1所示;平行笔刷以中间的那个骨架为标准,假定其根部坐标为
Figure 2011102878233100002DEST_PATH_IMAGE003
,方向向量为
Figure 2011102878233100002DEST_PATH_IMAGE004
,其中
Figure 2011102878233100002DEST_PATH_IMAGE005
分别为骨架投影在
Figure 2011102878233100002DEST_PATH_IMAGE006
平面上跟
Figure 2011102878233100002DEST_PATH_IMAGE007
轴的夹角以及骨架与平面的夹角。此时骨架1的根部坐标
Figure 2011102878233100002DEST_PATH_IMAGE008
为 
Figure 2011102878233100002DEST_PATH_IMAGE009
其中。同理可求出其他骨架的根部坐标。
当笔刷沾上水墨之后,笔毛受水的内聚力影响而聚合成圆锥状,如图2所示。此时的笔刷模型为聚合笔刷模型;在该聚合笔刷模型中,求所有骨架根部坐标
Figure 2011102878233100002DEST_PATH_IMAGE011
的方法与平行笔刷模型相同,但该模型中骨架会向内集中,所有骨架的尖端聚集在一起,所以要按照如下公式另求骨架的方向向量
Figure DEST_PATH_IMAGE012
Figure 2011102878233100002DEST_PATH_IMAGE013
笔刷形状可用圆锥状近似,其骨架的长度:
                                            
Figure DEST_PATH_IMAGE014
;                      
最后,建立每个粒子的动力学方程,并进行数值求解。每个粒子代表了那簇笔毛其中一段的质量中心;设定每个粒子的重量相等且为
Figure 2011102878233100002DEST_PATH_IMAGE015
,对任一个坐标为
Figure DEST_PATH_IMAGE016
,速度为
Figure 2011102878233100002DEST_PATH_IMAGE017
,所受合力为
Figure DEST_PATH_IMAGE018
的粒子,运用牛顿第二运动定律来描述其行为,表示成一个二阶微分方程:
Figure 2011102878233100002DEST_PATH_IMAGE019
式中
Figure DEST_PATH_IMAGE020
是加速度,
Figure 2011102878233100002DEST_PATH_IMAGE021
分别是当前的速度和位置,
Figure DEST_PATH_IMAGE022
是下一时刻的速度和位置。采用Verlet积分法进行数值求解,只存储粒子的当前位置
Figure 2011102878233100002DEST_PATH_IMAGE023
和上一时刻的位置
Figure DEST_PATH_IMAGE024
,速度项不需要存储。当选定时间步长后,对位置的更新:
Figure 2011102878233100002DEST_PATH_IMAGE025
当前时间步结束时,先用当前位置
Figure 332054DEST_PATH_IMAGE023
替代上一时刻位置,之后再更新
Figure 569317DEST_PATH_IMAGE023
当然,本发明中毛笔三维计算机模型的建立还可以采用其它质点-弹簧模型。如:采用基于物理的织物、皮毛等可变形体仿真的模型或基于布料和衣服动画仿真的模型等。
二、对汉字进行编码
计算机处理和使用汉字有两类代码,一类叫外码,用来输入汉字,如拼音码、五笔字型码等。不论用什么输入法输入的汉字,在存入存储器时,都需要将它的外码转换成一种统一的代码,这就是汉字内码或机内码。不管是什么汉字系统和汉字输入方法,输入的汉字外码到机器内部都要转换成内码,才能被存储和进行各种处理。
本发明中不需要传统的外码,因为本发明是直接对书写者的运笔过程进行分析学习后生成统计模型,而且在机器学习过程中每个字形与对应的编码字(通过内码唯一识别)都是事先已知的。例如,书写者可能在书写“我”这个字三遍都不完全一样,但这三个不同的字形对应到同一个编码字“我”,而这个编码字“我”在计算机里是用一个唯一的内码表示的。三个不一样的“我”的字形将在以下机器学习的过程中用来让计算机自动学习书写者在写“我”字时的运笔习惯。
本发明中所需的内码编码方式可以采用如GB2312或GBK或UNICODE等目前通用的任何一种,使每个字形与通过内码唯一识别的编码字建立一一对应关系;该对应关系将在下述步骤三、四中用到;本发明的内码编码方式优选国际标准UNICODE,使本发明今后的应用范围更广;
UNICODE全称是Universal Multiple-Octet Coded Character Set。UNICODE计划使用了17个平面,每个平面有
Figure DEST_PATH_IMAGE026
个码位,一共有个码位,编码范围为0x000000-0x10FFFF,最多可容纳1114112个字符。已定义的码位只有238605个,分布在平面0、平面1、平面2、平面14、平面15、平面16。其中,平面2的43253个字符都是汉字,平面0上定义了27973个汉字,总共71226个汉字,如表1所示。
 
表1   汉字UNICODE编码示意(十六进制)
Figure DEST_PATH_IMAGE028
UNICODE编码已被操作系统、编程语言、浏览器等广泛支持,且用法也简单。在VC++开发环境中,提供了一些函数如WideCharToMultiByte和MultiByteToWideChar,还有另外的一些宏来支持转换。在C#中提供了Unicode支持包,操作方式更加简单,样例代码如下
          //获取汉字“法”的UNICODE编码,并存入nUnicodeH和nUnicodeL
          byte[] bArray = new byte[2];
          bArray = System.Text.Encoding.Unicode.GetBytes("法");
          int nUnicodeH = (short)(array[0] - '\0');  //高字节
          int nUnicodeL = (short)(array[1] - '\0');  //低字节
          //根据UNICODE编码反相得到对应汉字“法”,并存入strCharacter
          string strCharacter;
          bArray[0] = 0X6C;  //高字节
          bArray[1] = 0XD5;  //低字节
          strCharacter= System.Text.Encoding.Unicode.GetString(bArray);
正如样例所示,本发明可以借助已有的编程开发包非常方便地由一个给定汉字得到其对应的UNICODE编码,以及反过来由编码得到其对应的汉字。
三、对书写者的书写过程进行采集,得到笔杆空间运动的时间函数
采用机器视觉技术对书写者在书写每一个字时笔杆空间运动轨迹的记录,得到笔杆空间运动的时间函数;具体利用多点视频合成三维运动轨迹;详细步骤如下:
①   、建立多点视频采集系统;采用4~8个相机环绕排列(一般相机数目越多越准确),相机连续拍摄笔杆的动作,并将图像序列保存下来;
②   、对①所记录的结果进行分析和处理,识别其中的动作,并计算其在每一瞬间的空间位置,进而分析得到毛笔的空间运动轨迹;
首先搭建如图4所示数据采集硬件系统,相机的排列方式比较宽松,可以在一个半圆上或一个矩形上,当安装后给出相机间的相对位置和方向时,由此可以确定每个相机坐标系与世界坐标系之间的旋转矩阵
Figure 2011102878233100002DEST_PATH_IMAGE029
和平移矩阵
Figure DEST_PATH_IMAGE030
,其中
Figure 2011102878233100002DEST_PATH_IMAGE031
表示第
Figure 635887DEST_PATH_IMAGE031
个相机;当没有给出相机间的相对位置和方向时,则可以采用如下方法得到旋转矩阵
Figure 458349DEST_PATH_IMAGE029
和平移矩阵
Figure 787699DEST_PATH_IMAGE030
:设定第0个相机的坐标系与世界坐标系重合,在空间选取不共面的
Figure DEST_PATH_IMAGE032
个点(
Figure 2011102878233100002DEST_PATH_IMAGE033
),分别测量出每个点在每个相机坐标系下的坐标,例如第
Figure DEST_PATH_IMAGE034
个点在第
Figure 111233DEST_PATH_IMAGE031
个相机坐标系下的坐标为
Figure DEST_PATH_IMAGE035
,因此,第
Figure DEST_PATH_IMAGE036
个相机坐标系与第0个相机坐标系(即世界坐标系)之间的关系可以表示为:
利用最小二乘的方法估计
Figure 904746DEST_PATH_IMAGE029
Figure DEST_PATH_IMAGE038
其次,标定每个相机,获得每个相机的内部参数矩阵,具体方法如下:
建立一个如图5所示的二维棋盘模板,棋盘模板上任一角点的齐次坐标(homogeneous  coordinates)表示为M(X,Y,0,1),其在一个相机中的成像坐标
Figure DEST_PATH_IMAGE040
可以表示为
Figure DEST_PATH_IMAGE041
其中K为该相机待标定的内部参数矩阵,R是该相机相对于棋盘模板的旋转矩阵。
    接下来用该相机拍摄若干张(至少三张)模板图像,检测角点对应的像素坐标。然后,根据像素坐标和空间坐标之间的对应关系,求解出棋盘平面和图像平面间的二维映射变换矩阵H=[h1,h2,h3]。由
可以得到
Figure DEST_PATH_IMAGE043
根据旋转矩阵是单位正交矩阵的性质,可以得到,
Figure DEST_PATH_IMAGE045
然后得到关于相机内参矩阵的两个约束方程,
Figure DEST_PATH_IMAGE047
由于共有5个相机内参,所以需要至少拍摄3张模板的图像得到至少6个约束方程。通过求解约束方程可以求得相机内参矩阵
Figure 91587DEST_PATH_IMAGE046
然后,各相机同时拍摄得到笔杆的图像,在每个图像中搜索出笔杆的位置,找到笔杆在每个图像中的位置坐标
Figure DEST_PATH_IMAGE048
。并利用相机成像的几何模型(针孔模型),建立空间三维点和图像上像素位置坐标之间的对应关系。
Figure DEST_PATH_IMAGE049
根据以上方程,建立以下目标函数
Figure DEST_PATH_IMAGE050
通过使得目标函数最小就可以求解出三维坐标
Figure DEST_PATH_IMAGE051
通过上述方法计算出笔杆两个标注点的三维坐标并连线,就可以得到笔杆的空间位置。最后,对毛笔进行连续拍摄,并计算笔杆在每一时刻的空间位置,得到毛笔在空间中的运动轨迹。
对书写者的书写过程进行采集还可以利用位移和速度传感器等采集系统。
四、利用步骤二和三得到的内容进行统计机器学习,得到书写者的运笔习惯,即书写者在写每一个字时运笔的空间统计模型
隐马尔科夫模型(Hidden Markov Model或HMM)因其灵活的数学描述已经得到了非常广泛以及成功的应用,是目前国际上语音识别效果最好的方法。而语音识别与建模和毛笔运动的识别与建模在本质上又十分类似。例如,同一个人不同时间说同一句话都有一定的口音特色,但每一次说的又不完全一样。两者在表面上的不同点就是前者处理的是语音信号,而后者处理的是三维空间的位置信号(两者都是时间的函数)。但从信号处理的角度来看这一差别并不是本质的差别。更进一步,HMM已经被研究人员用来描述人体的自然运动(natural movement),并将学习得到的模型用在机器人的行走上,而这与人手的运笔活动描述并没有本质差别。但是,目前未见到此模型被用到书法写作建模中的报道。本发明首次采用HMM进行书法写作中的运动建模,让计算机根据步骤二和三得到的书写者的实际运笔轨迹来学习得到对应其书法风格的隐马尔科夫模型;在隐马尔科夫模型中,基于隐含状态的随机函数能够描述每个人写每个基本笔画的多样性,而隐含状态间的转移概率则能够有效模拟书写时不同笔画间的过渡风格;具体:在隐马尔科夫模型状态的选择上,将汉字的每个基本笔画,例如点、撇、横、捺、钩等,各作为一个状态;对步骤三中得到的运笔空间轨迹进行主成分分解,得到一组笔杆运动轨迹的基函数,并将每一个字的运动轨迹用此组基函数近似描述;在此基础上,使用Baum-Welch算法来确定隐马尔科夫模型的参数;详述如下:
图6是一个马尔科夫模型示意图。HMM是指马尔科夫模型中的状态是隐含不可观测的,而每一个状态值决定了可观测量的随机分布。一个HMM由三组参数
Figure DEST_PATH_IMAGE053
确定。其中
Figure DEST_PATH_IMAGE054
是状态转移概率分布,
Figure DEST_PATH_IMAGE055
是可观测量概率分布,
Figure DEST_PATH_IMAGE056
是初始状态概率分布。我们定义
Figure DEST_PATH_IMAGE057
Figure DEST_PATH_IMAGE058
时刻的实际状态值,
Figure DEST_PATH_IMAGE060
Figure 279465DEST_PATH_IMAGE059
时刻的实际观测得到的数值,且采用常用的高斯混合模型来表示可观测输出,则
Figure DEST_PATH_IMAGE061
Figure DEST_PATH_IMAGE062
其中
Figure DEST_PATH_IMAGE063
分别为矢量高斯分布的均值向量和协方差矩阵,在实际应用中可以通过采集到的数据的均值和协方差矩阵来近似;
Figure DEST_PATH_IMAGE065
是状态到状态
Figure 481963DEST_PATH_IMAGE034
的转移概率,
Figure DEST_PATH_IMAGE066
是状态
Figure 788835DEST_PATH_IMAGE034
下观测值的观测概率;的选取原则是越多越精确(高斯混合模型已经被证明当
Figure 832063DEST_PATH_IMAGE015
无限大时可以无限近似任何工程上遇到的概率分布),应用时选择
Figure DEST_PATH_IMAGE068
。对步骤三中采集到的笔杆的运动轨迹进行主成分(principle components)分解, 选取最大的40个主成分作为近似笔杆运动轨迹的基函数(一般说来,选取的主成分个数越多,学习得到的模型参数越精确,但达到绝对精确一般需要选取无穷多个主成分,而且主成分越多计算机需要的运算时间越长。选择的原则是笔杆运动轨迹中每多一个明显的拐弯就需要增加一个主成分。)。
在此基础上,HMM的学习过程是一个经典的最优化问题,采用广泛使用的Baum-Welch算法来决定使
Figure DEST_PATH_IMAGE069
最大化的
Figure DEST_PATH_IMAGE070
值,其中
Figure 354180DEST_PATH_IMAGE001
为所有观测数据(在基函数下的表示)组成的向量。至此,HMM的机器学习过程就完成了。在学习得到的三组概率中,初始状态概率
Figure 83102DEST_PATH_IMAGE056
反映了书写者写一个字时起始运笔的随机性。转移概率A反映了书写者在写一个字时相邻笔画间的转移风格。可观测概率B反映了书写者在写一个笔画时的随机性。另外,在书写创作过程中,一个字往往是由第一笔开始,之后的笔画是从书写者审美的角度加以修饰,一笔一笔添加上去的。这种审美风格直接反映在书写者的运笔习惯上,能够通过HMM来自动进行机器学习。
 
五、利用步骤四中得到的书写者在写每一个字时运笔的空间运动统计模型,通过对该统计模型的随机过程采样来实现个人风格化动态字库的功能;
步骤四得到的是表现某一书写者在写一个字时的随机模型即HMM;利用此随机过程对同一个字(内部通过UNICODE识别)的多次采样就得到该字的风格一致但不完全相同的运笔轨迹,就好像真人书写者多次写同一个字时的运笔轨迹不会绝对相同。有了此多个运笔轨迹(都是时间的函数),通过计算机仿真或机器人技术就可以在显示器或纸张上展示出对应的字迹,即实际写作效果;若在电脑显示器上虚拟生成,就利用步骤一中所建的模型,采用前向仿真技术;若采用机械臂写在纸上,则利用机器人技术中的前向控制方法。如:运笔轨迹以控制电信号的方式来控制机械臂系统中的电机运动便可写出字来,类似人的写字方式。
 
此动态字库能够生成任一书写者个人写作风格下的标准字,即最有代表性的字。 这所谓最有代表性的字直接对应到HMM中具有最大概率的字的写法。 虽然学习得到的某个字的HMM在生成新字时服从一定的概率分布,从而每次生成的字迹也不一样,但生成的具有最大概率的字迹是代表书写者最有可能写出来的字迹。自然地,该字迹应该是字库中的反映该书写者个人风格的标准字。举例来说,假如在步骤四中计算机通过对若干个书写者写的“我”字学习得到了该字的HMM。那么对此HMM反复采样就可以得到不同的“我”字的字迹的空间运笔轨迹,通过计算机仿真或机器人实际书写就可以容易地得到该字的不同字迹。这些字迹(或生成字迹的运笔轨迹)在HMM中的概率一般是不一样的,但其中概率最大的那个字迹代表了书写者最有可能写出的“我”字的字迹,也就是最代表该书写者风格的“我”字的标准字迹。所有汉字的这样的标准字迹就可以组成一个传统意义下的静态字库(不同的是目前这样的传统静态字库都是通过人工来完成)。所以,从这个意义上说,目前的传统静态字库可以看成是本发明中动态字库能够高效生成的一个特例,或一个标准样张。
接下来对如何从学习得到的HMM找到概率最大的字迹做进一步说明。
在给定的HMM下找到最大概率的运笔轨迹可以按照最大似然(Maximum Likelihood, or ML)估计的方法进行,即
Figure DEST_PATH_IMAGE071
Figure DEST_PATH_IMAGE072
其中
Figure DEST_PATH_IMAGE073
S k 为第k步的状态,总的状态步数为K,实际应用时取值为300,以保证HMM在学习每一个字时有足够精确的描述。O ML
Figure 286550DEST_PATH_IMAGE071
的求解是一个有关HMM的标准问题之一, 迭代Viterbi算法(iterative Viterbi algorithm)就是针对此问题提出的,可以用来高效地求得所需的解。O ML 是一个运笔轨迹,通过计算机仿真或机器人技术就得到其对应的字迹。
实施例2,不同书写者握笔和运笔的方式都是基本相同的,不同的往往是由不同审美观导致的细微运笔习惯的差别。那么我们就可以首先建立一个广义的书写者运笔空间统计模型,用以反映一般书写者的运笔规律。然后根据某一个书写者的字迹来调整广义统计模型的参数,使之近似出该书写者的运笔习惯;可利用实施例1中步骤四所得到的若干个书写者的运笔空间统计模型来生成一个广义的书写者运笔空间统计模型,该模型可以实现以少量的个人平面字迹推导出其运笔的统计模型;然后根据某一个书写者的字迹来调整广义统计模型的参数,使之近似出该书写者的运笔习惯;进而采用步骤5来生成其个人风格化书法动态字库; 
具体方法如下:
假设我们按照前面的步骤得到了Q(例如,Q=20)个书写者的运笔统计模型HMM1, HMM2, …, HMMQ. 那么广义书写者书写统计模型可以定义为
Figure DEST_PATH_IMAGE074
Figure 912091DEST_PATH_IMAGE071
其中参数
Figure DEST_PATH_IMAGE075
取非负值且满足
Figure DEST_PATH_IMAGE076
容易证明按照此定义的HMM依然是一个HMM。Q个参数的不同取值代表不同的书法风格。当给定某个书写者的字迹后,可以按照以下标准最小二乘的方法来确定Q个参数
Figure 759010DEST_PATH_IMAGE075
的取值。
假设某书写者的字迹为
Figure DEST_PATH_IMAGE077
,HMM给出的字库字迹为,则
Figure 703832DEST_PATH_IMAGE075
可以通过对下式进行最小化得到。
Figure DEST_PATH_IMAGE079
然后对应于该书写者的运笔统计模型
Figure DEST_PATH_IMAGE080
Figure DEST_PATH_IMAGE081
       此
Figure DEST_PATH_IMAGE082
等效于所述步骤四得到的统计模型,然后利用其步骤
五得到对应的字库。
     本发明可用于传统毛笔或硬笔书写的任何个人风格化书法动态字库的实现。例如:行楷类、草书类等手写体或黑体类、宋体类等美术体的书法字库的建立。

Claims (3)

1.一种个人风格化书法动态字库的实现方法,其特征在于:该实现方法通过对任一书写者在写作过程中笔杆的空间运动轨迹进行多维建模,利用统计机器学习技术,让计算机达到对该书写者运笔习惯自动学习的目的,所学习得到的模型就是表征该书写者个人写作风格和多次书写同一汉字时的字迹多样性的数学描述,然后通过虚拟现实技术或机器人系统来实际生成该写作者个人风格化书法动态字库;具体步骤如下:
一、 建立毛笔的三维计算机模型;
毛笔由笔杆和笔刷构成;笔杆是刚体,可以用一个杆状刚体来建模;笔刷是软体,其顶端与所述笔杆末端为固定连接;笔刷采用弹簧-质点模型来建模;
二、对汉字进行编码;
    对汉字进行编码时的汉字内码采用GB2312或GBK或UNICODE;使每个字形与通过内码唯一识别的编码字建立一一对应关系;
三、 对书写者的书写过程进行采集,得到笔杆空间运动轨迹的时间函数;
采用机器视觉技术对书写者在书写每一个字时笔杆的空间运动轨迹进行记录,得到笔杆空间运动轨迹的时间函数;具体利用多点视频合成三维运动轨迹;步骤如下:
①、建立多点视频采集系统;采用若干相机环绕排列,相机连续拍摄笔杆的动作,并将图像序列保存下来;
②、对①所记录的结果进行分析和处理,识别其中的动作,并计算得出其在每一瞬间的空间位置,进而分析得到毛笔的空间运动轨迹;
四、利用步骤二和三得到的内容进行统计机器学习,得到书写者的运笔习惯,即书写者在写每一个字时运笔的空间统计模型;
采用隐马尔科夫模型进行运动建模,让计算机根据步骤二和三得到的书写者的实际运笔轨迹来学习得到对应其书法风格的隐马尔科夫模型;具体:在隐马尔科夫模型状态的选择上,将汉字的每个基本笔画作为一个状态;对步骤三中得到的运笔空间轨迹进行主成分分解,得到一组笔杆运动轨迹的基函数,并将每一个字的运动轨迹用此组基函数近似描述;在此基础上,使用Baum-Welch算法来确定使步骤三中得到的运笔的三维运动轨迹的概率最大化的模型参数值,即学习得到隐马尔科夫模型;
五、 利用步骤四中得到的书写者在写每一个字时运笔的空间统计模型,通过对该统计模型的随机过程采样就完成了个人风格化书法动态字库的功能;
如此实现的书法动态字库类似书写者的书法写作过程,每次生成的同一个字的字迹因随机性而不完全一样;而字库打印样张中的任一个字往往是最代表该书写者风格的那个字,这所谓最有代表性的字直接对应到隐马尔科夫模型中具有最大概率的字的写法,即书写者最有可能写出来的字迹;自然地,该字迹应该是字库中的反映该书写者个人风格的标准字;
从学习得到的隐马尔科夫模型到写出具有个人风格化书法动态字库的过程:先由隐马尔科夫模型生成字的笔杆空间运动轨迹;若在电脑显示器上虚拟生成,就利用步骤一中所建的模型,采用前向仿真技术;若采用机械臂用真笔在纸上写,则利用机器人技术中的前向控制方法。
2.根据权利要求1所述的一种个人风格化书法动态字库的实现方法,其特征在于:利用所述步骤四得到的若干书写者的运笔空间统计模型来生成一个广义书写者运笔空间统计模型,该模型可以实现以少量的个人平面字迹推导出其运笔的统计模型,根据某一书写者的字迹来调整广义统计模型的参数,使之近似出该书写者的运笔习惯;进而采用所述步骤五的方法生成其个人风格化书法动态字库; 
具体方法如下:
假设我们按照前面的步骤得到了Q个书写者的运笔统计模型HMM1, HMM2, …, HMMQ. 那么广义书写者书写的统计模型可以定义为
Figure 81219DEST_PATH_IMAGE001
其中参数取非负值且满足
Figure 684742DEST_PATH_IMAGE004
容易证明按照此定义的广义书写者书写的统计模型依然是一个HMM,Q个参数
Figure 421754DEST_PATH_IMAGE003
的不同取值代表不同的书法风格;当给定某个书写者的字迹后,按照以下标准最小二乘的方法来确定Q个参数
Figure 882822DEST_PATH_IMAGE003
的值;
假设某书写者的字迹为
Figure 312666DEST_PATH_IMAGE005
,HMM给出的字库字迹为
Figure 242707DEST_PATH_IMAGE006
,则可以通过对下式进行最小化得到;
Figure 98985DEST_PATH_IMAGE007
然后对应于该书写者的运笔统计模型
Figure 621102DEST_PATH_IMAGE008
Figure 350024DEST_PATH_IMAGE009
       此HMM等效于权利要求1中步骤四得到的统计模型,然后利用步骤五的方法得到对应的个人风格化书法动态字库。
3.一种如权利要求1或2所述的个人风格化书法动态字库的应用,可用于传统毛笔或硬笔书写的任何个人风格化书法动态字库的建立。
CN201110287823.3A 2011-09-26 2011-09-26 一种个人风格化书法动态字库的实现方法及其应用 Active CN103020085B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110287823.3A CN103020085B (zh) 2011-09-26 2011-09-26 一种个人风格化书法动态字库的实现方法及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110287823.3A CN103020085B (zh) 2011-09-26 2011-09-26 一种个人风格化书法动态字库的实现方法及其应用

Publications (2)

Publication Number Publication Date
CN103020085A true CN103020085A (zh) 2013-04-03
CN103020085B CN103020085B (zh) 2015-09-30

Family

ID=47968699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110287823.3A Active CN103020085B (zh) 2011-09-26 2011-09-26 一种个人风格化书法动态字库的实现方法及其应用

Country Status (1)

Country Link
CN (1) CN103020085B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424184A (zh) * 2013-08-19 2015-03-18 北大方正集团有限公司 生成字形字库的方法和系统
CN105679140A (zh) * 2016-04-12 2016-06-15 赵敏 一种生成书法练习贴的方法及其装置和书法练字方法
CN105987781A (zh) * 2015-02-10 2016-10-05 北京纳米能源与系统研究所 动态应力传感器、制备方法及动态应力测量系统
CN106844300A (zh) * 2017-01-23 2017-06-13 兰州海防信息科技有限公司 在显示设备上同时显示静态字和动态字的系统与方法
CN106846971A (zh) * 2016-12-30 2017-06-13 武汉市马里欧网络有限公司 基于ar的儿童书法学习系统及方法
CN107424448A (zh) * 2017-06-05 2017-12-01 北京华文益方科技有限公司 一种书法视频新型采集方法及其装置
CN108237544A (zh) * 2018-03-15 2018-07-03 北京化工大学 一种人工智能的书法机器人
CN108244205A (zh) * 2018-01-15 2018-07-06 王晓茗 一种书法饼干及其制作方法
CN110782710A (zh) * 2019-09-20 2020-02-11 厦门快商通科技股份有限公司 一种基于机器人实现的书写教学方法及装置
WO2021072905A1 (zh) * 2019-10-16 2021-04-22 北京方正手迹数字技术有限公司 字库生成方法、装置、电子设备及存储介质
US11726570B2 (en) 2021-09-15 2023-08-15 Hewlett-Packard Development Company, L.P. Surface classifications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477561A (zh) * 2002-08-21 2004-02-25 泰安市泰山工程机械制造有限公司 个人手写汉字自动识别系统
CN101620735A (zh) * 2009-08-07 2010-01-06 王伦 个性化艺术字体库生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477561A (zh) * 2002-08-21 2004-02-25 泰安市泰山工程机械制造有限公司 个人手写汉字自动识别系统
CN101620735A (zh) * 2009-08-07 2010-01-06 王伦 个性化艺术字体库生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张振庭等: "三维虚拟环境中的书法创作", 《计算机辅助设计与图形学学报》, vol. 22, no. 6, 30 June 2010 (2010-06-30) *
陈禹伶等: "小型个性化字库的设计与实现", 《网络与信息技术》, vol. 27, no. 7, 31 December 2008 (2008-12-31) *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424184A (zh) * 2013-08-19 2015-03-18 北大方正集团有限公司 生成字形字库的方法和系统
CN104424184B (zh) * 2013-08-19 2018-02-23 北大方正集团有限公司 生成字形字库的方法和系统
CN105987781A (zh) * 2015-02-10 2016-10-05 北京纳米能源与系统研究所 动态应力传感器、制备方法及动态应力测量系统
CN105987781B (zh) * 2015-02-10 2021-01-05 北京纳米能源与系统研究所 动态应力传感器、制备方法及动态应力测量系统
CN105679140B (zh) * 2016-04-12 2018-02-23 赵敏 一种生成书法练习贴的方法及其装置和书法练字方法
CN105679140A (zh) * 2016-04-12 2016-06-15 赵敏 一种生成书法练习贴的方法及其装置和书法练字方法
CN106846971A (zh) * 2016-12-30 2017-06-13 武汉市马里欧网络有限公司 基于ar的儿童书法学习系统及方法
CN106844300B (zh) * 2017-01-23 2021-02-19 兰州恒达彩印包装有限责任公司 在显示设备上同时显示静态字和动态字的系统与方法
CN106844300A (zh) * 2017-01-23 2017-06-13 兰州海防信息科技有限公司 在显示设备上同时显示静态字和动态字的系统与方法
CN107424448A (zh) * 2017-06-05 2017-12-01 北京华文益方科技有限公司 一种书法视频新型采集方法及其装置
CN108244205A (zh) * 2018-01-15 2018-07-06 王晓茗 一种书法饼干及其制作方法
CN108237544A (zh) * 2018-03-15 2018-07-03 北京化工大学 一种人工智能的书法机器人
CN108237544B (zh) * 2018-03-15 2024-03-26 北京化工大学 一种人工智能的书法机器人
CN110782710A (zh) * 2019-09-20 2020-02-11 厦门快商通科技股份有限公司 一种基于机器人实现的书写教学方法及装置
WO2021072905A1 (zh) * 2019-10-16 2021-04-22 北京方正手迹数字技术有限公司 字库生成方法、装置、电子设备及存储介质
US11726570B2 (en) 2021-09-15 2023-08-15 Hewlett-Packard Development Company, L.P. Surface classifications

Also Published As

Publication number Publication date
CN103020085B (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
CN103020085B (zh) 一种个人风格化书法动态字库的实现方法及其应用
Xu et al. A solid model based virtual hairy brush
Follmer et al. KidCAD: digitally remixing toys through tangible tools
Schumacher et al. Efficient simulation of example-based materials
CN103823554A (zh) 一种数字化虚实交互系统及方法
CN111475667A (zh) 一种基于手写汉字的机械臂楷体风格书法撰写方法
CN104821005B (zh) 可模拟笔势风格的汉字书法作品书写过程动态复现的方法
CN102496176B (zh) 一种基于力信息的钢笔书法表达方法
US20160093084A1 (en) Subspace clothing simulation using adaptive bases
Yao et al. Extracting the trajectory of writing brush in Chinese character calligraphy
Yeh et al. On the effects of haptic display in brush and ink simulation for chinese painting and calligraphy
Huang et al. Research progress on and prospects for virtual brush modeling in digital calligraphy and painting
CN101697234A (zh) 一种基于笔画分段建模的手写汉字隶书美化方法
CN106909891B (zh) 一种基于自反馈基因表达式编程的人体行为识别方法
Zhang et al. Chinese calligraphy specific style rendering system
Wang et al. Labanotation generation from motion capture data for protection of folk dance
Su et al. Simulating artistic brushstrokes using interval splines
Xu et al. Virtual hairy brush for painterly rendering
Jang et al. Enriching a motion database by analogous combination of partial human motions
Tam et al. Learning to write Chinese characters with correct stroke sequences on mobile devices
Zhang et al. Visual knowledge guided intelligent generation of Chinese seal carving
Li et al. Robot brush-writing system of Chinese calligraphy characters
Bai et al. An efficient physically-based model for chinese brush
Leung et al. In the name of art
Yao et al. Trajectory generation of the writing–brush for a robot arm to inherit block–style Chinese character calligraphy techniques

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant