APP下载

基于风格迁移技术的机器人书法临摹研究*

2018-10-10邢淑敏梁冬泰魏玉锋

机械制造 2018年7期
关键词:字体骨架笔画

□ 邢淑敏 □ 梁冬泰 □ 梁 丹 □ 魏玉锋

宁波大学机械工程与力学学院 浙江宁波 315211

1 研究背景

加强毛笔书法的教育,有助于提升青少年的传统文化素养,然而具有相应教学能力教师的稀缺,是目前书法教育亟待解决的问题。工业机器人作为一种能够进行编程且在自动控制下完成特定任务的机械装置,能模仿人做各种动作,在近十几年中已大量应用于生产和生活中[1],如在危险环境中实现复杂雕刻、喷涂与焊接等工作,具有广泛的应用前景,完全有潜力应用于毛笔书法的教学。通过对书法的书写技巧进行适当的数字化处理,便可以将传统的书法艺术与机器人结合,利用机器人控制毛笔的空间运动来实现机器人书法临摹。

目前,机器人写字技术已有诸多研究。徐扬生等[2]通过记录书写演示过程中的节点位置,用机器人演示书写动作,达到重复书写过程。满永奎等[3]采用插值算法,通过控制伺服电机的参数实现了毛笔字的书写动作。Matsui Ayaka等[4]推出了一款书法机器人,利用机器人在直角坐标系平面内方便、迅速定位的原理成功临摹了书法。何薇等[5]用六自由度工业机器人,通过标准接口ORiN2进行控制,并使用工业摄像头获取文字信息,设计了一种基于机器视觉的机器人写字平台。宫晓博[6]分别使用普通插补算法和结合三维坐标系旋转变化的插补算法在给定平面和曲面上实现汉字绘制。薛环振[7]设计了机械臂夹持毛笔的方法,并提出了回笔的方法,获得了较好的书写效果。杨广卿等[8]将力反馈技术引入虚拟绘制过程,提出一种基于力反馈技术的笔道仿真方法。

已有的研究都是基于现有的书法风格字体进行模仿,并且对还原书法字体的风格及准确性也达不到理想效果。

风格迁移作为深度学习领域一个新的研究方向,近年来在机器视觉应用中取得了突破性进展[9-11],可将普通的汉字迁移成具有书法风格的字体。

笔者提出一种基于风格迁移与图像处理技术的机器人书写方法,这一方法不仅有效规划了机器人临摹新风格字体的轨迹,而且提高了机器人书写毛笔字的准确性。同时,这一技术在工业机器人抛光、打磨、焊接、喷涂及雕刻等轨迹规划中有广泛的应用前景。

2 机器人书法系统

笔者设计的机器人书法系统由七部分组成:机器人操作系统 ROS[12-14]平台、ABB 控制器、ABB 机械臂、风格迁移模块[15]、OpenCV 图像处理模块[16]、毛笔及三维打印圆柱形夹具。根据提供的源字体与目标风格,在Ubuntu操作系统环境下将源字体迁移成具有目标风格特征的书法汉字。基于C++,使用OpenCV库对汉字图像进行处理,获取汉字笔画的描述参数,并对汉字笔画的描述参数与机器人的控制参数建立联系。对机器人的目标轨迹进行运动学分析,通过ROS平台编写机械臂的控制程序进行仿真,并将参数传输给实体机械臂控制器。机械臂末端由夹具夹持毛笔按照参数设置进行移动,在平台上临摹出风格迁移后得到的新字体。与此同时,可以将实际书写的汉字与参考图像进行相似度对比。机器人书法系统结构如图1所示。

▲图1 机器人书法系统结构

3 汉字风格迁移

创建汉字字体需要较大的工作量,要做一个兼容GBK的汉字字体,需要为超过26 000个不同的汉字设计外形,可能需要多年时间才能完成。但是,汉字都是由偏旁构成的,不同的汉字中相同的偏旁也都相似。笔者根据kaonashi-tyc[17]提出的生成式对抗网络进行汉字风格迁移,将标准样式字体转换为目标风格字体。这一方法将两种不同风格的字体作为数据源来对生成式对抗网络进行训练,再通过生成式对抗网络对输入的汉字风格进行转换,所采用的生成式对抗网络模型可表示为:

式中:G为生成器生成结果;D为判别器生成结果;x为真实样本;z 为噪声;G(z)为假样本;D(x)为判别器对真实样本的判断结果;D[G(z)]为判别器对假样本的判断结果;E为样本x或z服从某一分布p的数学期望值;pdata(x)为真实样本 x 服从某一分布 p;pz(z)为噪声z服从某一分布p。

在生成式对抗网络中,同时训练生成器和判别器,式(1)等号左侧代表对G和D优化的结果,等号右侧为判别器D对真实样本x的预测结果和对假样本G(z)的预测结果。生成器主要用来模仿真实样本生成数据,判别器负责区分出真实样本和生成器生成的数据,在训练过程中,两个模型的分类能力越来越强,最终达到稳态。

笔者搜集了汉字的多种书写风格,通过向生成式对抗网络提供一对样本的子集来训练该生成式对抗网络学会两种字体间的相互转换,图2所示为生成式对抗网络在训练5 000对汉字样本从宋体迁移到行楷时的200次迭代部分结果。

由图2可以看出,迭代次数较少时,生成器生成的模仿样本与真实样本的效果相差很大,随着训练次数的增加,生成的样本越来越接近真实样本。训练完成后,就可以推理其它未被训练汉字的字符外形,图3所示为生成式对抗网络的结构模型,其中a~e展示了利用一个已训练完成的从粗体到楷体风格学习的模型对未训练字体“永”字进行测试的过程,风格特征权重比依次为 0、0.25、0.5、0.75、1。

▲图2 训练结果

通过深度学习生成式对抗网络的方法,可以获得各种风格化的汉字。为了将图像中的汉字转换为现实中具有艺术气息的书法,笔者通过控制机器人来实现这一过程。

4 汉字图像特征提取

为了使机器人更好地还原风格迁移得到的图像中的新风格汉字,需要对图像中的汉字进行特征分析与提取,主要包括轨迹特征与风格特征。文字是由笔画组合而成的,文字的基本笔画有“横”“竖”“撇”“捺”“点”“折”等,如图4所示。通过笔画的形状参数和相应笔画的位置信息可以确定一个文字,基于笔画参数的描述也能够更多地保留汉字的细节内容,因此对汉字的特征提取可以转换为对笔画的特征提取。

▲图3 生成式对抗网格结构模型

▲图4 汉字基本笔画

4.1 笔画特征描述参数

汉字笔画的特征描述参数不是唯一的,主要包括笔画的骨架、起始点、长度、宽度、关键点等。

式中:Fi为一个汉字中第i个笔画的特征集合;N为一个汉字中总的笔画数目;pi为第i个笔画每个骨架点的特征集合;si、ei分别为第i个笔画的骨架起点和终点;li为第i个笔画的骨架长度;θi为第i个笔画的倾斜角度;wi为第i个笔画的平均宽度。

4.2 汉字相似度评估

通常评价两个书法字体的相似度都是凭个人感知,结果会因为感知不同而有差异。笔者提出一种对评估书法字体相似度进行量化的方法,主要包括两方面。

(1)倾斜度。书法的笔画不像打印字体那样横平竖直,为了整体的风格效果,书法中的笔画往往会有一

式中:li′为参考图像中汉字第i个笔画的骨架长度;li为实际书写汉字第i个笔画的骨架长度。

平衡度的范围也是0~1,实际书写笔画与参考笔画平衡度越接近,平衡度指标就越接近1。

4.3 汉字图像处理

汉字笔画一般由很多像素点组成,需要对图像进行细化处理,得到汉字的骨架特征。笔尖沿着笔画路径进行移动,也即沿着骨架点坐标进行移动,用骨架点处笔画的宽度表示笔画的粗细。图像处理流程如图5所示。

由于风格迁移获些倾斜,如“一”字,笔画会略微向右上方倾斜。笔画的倾斜度在书法的整体风格效果中有重要影响,倾斜度过大或过小都会影响书法的整体效果。倾斜度指标可以表示为:

式中:θi′为参考图像中笔画的倾斜度;θi为实际书写字体中笔画的倾斜度。

倾斜度指标的变化范围为0~1,实际书写的汉字笔画与参考笔画的倾斜度越接近,倾斜度指标就越接近1。

▲图5 图像处理流程

(2)平衡度。书法字体放大或缩小都不会影响书法的整体风格效果,但字体内部笔画间的相对大小对书法的整体效果会有很大影响。平衡度指标可以表示为:得的图像受到一些条件的影响,如模型大小和设备的性能等,获得的图像通常会存在噪声等缺点,因此在提取笔画骨架之前需要对图像进行预处理。在试验中,使用归一化法将风格迁移后的每个字体尺寸大小改为200像素×200像素的图像。由于风格迁移后获得的汉字字体边缘可能会有轻微模糊,图像不是完全的黑白图像,因此笔者对汉字图像采用二值化处理和结构元素为3像素×3像素的先开后闭运算去噪处理。图像处理效果如图6所示。

▲图6 图像处理效果

4.4 笔画骨架特征提取

骨架描述了图像的几何形状与拓扑结构,汉字骨架的提取可通过细化法实现。图像的细化可将原本臃肿的笔画缩减为单像素连接的二值图像。

4.5 笔画顺序提取

对于无笔画交叉的字体,如上下结构的 “二”字,采取先从上到下,再从左到右的顺序提取并保存笔画的像素坐标。如左右结构的 “川”字,采取先从左到右,再从上到下的顺序提取并保存笔画的像系坐标。

对于有笔画交叉的字体,如图 7所示“机”字,先对字体进行连通区域的划分,分为“木”与 “几”两部分。对于“木”,遍历1处的八邻域像素来判断下一点的走势,当遇到第一个交叉点P时,分为三个路线, 分别为 P→2、P→3、P→5,提取每个路线的10个像素点并计算该路线的平均走势,与路线1→P走势最相似的即为下一笔画的路线,也就是P→2。

▲图7 “机”字笔画顺序

4.6 笔画关键点提取

笔画的关键点主要包括笔画的端点与笔画的拐点。笔画的端点即骨架的端点,可以根据八邻域查找法进行判断。当某一个骨架点的八邻域中只有一个点是黑色时,则认为该点是骨架端点,否则为非端点,两个端点之间骨架点的个数即为该笔画的长度。

拐点是笔画中曲率最大的点。可以根据计算曲率法提取笔画的拐点,即依次计算相邻骨架点的曲率,当曲率突然变化较大时,认为该点是笔画的拐点。

4.7 笔画宽度特征提取

在书写时,毛笔下压力度的大小是书法风格的重要特征。在线书写的字符可以通过特殊笔实时记录笔压的大小,离线书法字体虽然没有笔压记录,但可以用笔画的宽度特征间接表示笔压的大小。在书写时,对毛笔下压力度越大,笔画就越粗。笔画的宽度特征是书法的重要特征,宽度的变化即笔画粗细的变化,代表了笔刷沿Z轴的上下运动,同时也是书写时垂直于纸面方向的提笔、顿笔等动作。细化处理后的笔画骨架只显示了笔画的方向信息,对于笔画的粗细则需要通过宽度特征来表示。计算笔画宽度特征信息时,沿着骨架线计算每个骨架点处笔画的宽度。以初始骨架点像素坐标为圆心,初始半径为R画圆,检测圆内各像素点是否在笔画范围内。由于在二值图像中笔画像素值为0,背景像素值为255,因此只需检测圆内是否有白色点,无白色点则R+1继续判断,直到圆内有白色点,则证明圆已超过笔画范围,结束判断进行下一步。取R-1为当前骨架点处笔画半径,即当前骨架点处笔画的宽度为2R,然后以下一骨架点为圆心重复上述步骤。图8所示为对横笔画宽度信息进行提取。

▲图8 笔画宽度信息提取

5 机器人书写控制

5.1 运动学分析

机器人运动学分为正运动学与逆运动学,正运动学主要解决机器人运动方程的建立与末端位姿的求解问题,它将关节坐标系内的角度转化为笛卡尔坐标系中的末端位姿矩阵。在控制机器人写字的过程中,需要根据写字的位置和姿态计算机器人各关节的位置与姿态,即在已知机械臂末端在笛卡尔坐标系要到达的目标位姿的情况下求出关节变量,来驱动各关节的电机,使末端位姿得到满足,这就是反向运动学问题,也称为求运动学逆解。

对机器人的每一个连杆建立一个坐标系,用齐次变换来描述坐标系之间的相对关系,将描述一个连杆坐标系与下一个连杆坐标系间相对关系的齐次变换矩阵称为A矩阵。用0A1矩阵表示第一连杆坐标系相对于固定坐标系的齐次变换,依次类推。对于笔者试验中使用的ABB 120型六连杆机器人,机械臂末端执行器相对于固定坐标系的位姿为:

式(8)中,矩阵前三列表示末端的姿态,第四列表示机械臂末端的位姿。式(7)、式(8)是运动学求正解的过程,即根据各个关节变量来求末端执行器的位姿。机器人运动学逆解为已知0T6矩阵的参数,将A矩阵分别左乘,求得各关节变量值的过程,然后根据各关节变量值对机械臂进行控制,其中m为机械臂的关节值:

位姿中两个重要的参数为位置和四元数,分别代表末端执行器在三维空间中沿X、Y、Z轴的移动和旋转。在机械臂关节空间位姿的描述中,常用的旋转表示法是欧拉角,而在笛卡尔坐标系内常用四元数来表示。在ROS平台控制机械臂的位姿时,需要将欧拉角转换为四元数,欧拉角到四元数的转换q为[18]:

式中:ψ、θ、φ 依次为绕 Z、Y、X 轴的旋转角度。

5.2 机器人运笔深度

汉字的外形主要由笔画的宽度与笔画的轨迹决定,为了控制机器人书写出目标文字,需要控制机器人从这两方面对目标文字进行重现。笔画的宽度信息可由机器人的运笔深度来代替,将图像处理中获取的笔画宽度信息与机器人坐标互相转换,当笔画宽度为时的机器人Z轴坐标为:

式中:Zmax为毛笔刚接触纸面时机械臂的Z轴坐标;Zmin为毛笔完全接触纸面时的Z轴坐标;W为毛笔与纸面完全接触时的宽度。

笔者所使用的ABB机械臂中,Zmax=220 mm,Zmin=214 mm,W=13 mm。通过控制机械臂在Z轴方向上下运动来实现对毛笔字笔画宽度的控制。

6 试验结果与分析

机器人书法系统操作平台如图9所示,试验流程如下:①利用生成式对抗网络对源字体进行风格迁移,产生新风格字体;②对生成的新字体进行图像处理,得到笔画的描述参数,即笔画的骨架坐标与宽度信息等;③将笔画的描述参数转换为机器人的控制参数,骨架坐标转换为ABB机械臂的XOY平面轨迹坐标,宽度信息转换为机器人的运笔深度,即机械臂末端的Z轴坐标;④ 通过C++编写程序,在ROS平台中发送指令,控制实体机器人沿着笔画轨迹运动,同时包括笔画的提笔与顿笔。

以往机器人书写毛笔字大多数都在二维平面内进行,丢失了笔画的宽度等信息,缺少了书法的艺术风格。加入笔画宽度等信息之后,机器人书写的毛笔字具有了书法的风格美。为了全面评估不同结构汉字的书写效果,对左右结构、上下结构、半包围结构和全包围结构的典型字体进行书写试验,试验结果见表1。可见,利用笔者提出的方法书写汉字,显示出较好的风格迁移效果。

▲图9 机器人书法系统操作平台

表1 书写效果

为了对笔者方法的临摹效果进行定量分析,采用包含倾斜度与平衡度两个指标的评价方法进行相似度评估。由于“永”字是书法的代表性字体,因此选用“永”字。利用笔者提出的汉字相似度评估的方法,将实际书写效果与参考图像进行对比,结果见表2。可见,倾斜度和平衡度两个指标基本都达到了0.9,笔者所述方法对汉字临摹效果较佳。

由实际书写效果和倾斜度与平衡度的评估结果可知,笔者提出的将书法风格特征与机器人运笔深度相结合的方法对于风格迁移而言效果良好。

7 结束语

生成式对抗网络作为典型的深度学习模型,在图像识别中的应用中已取得了突破性进展。笔者基于生成式对抗网络与图像处理技术,提出一种将汉字特征参数与机器人控制参数相结合的机器人临摹书法的方法。为了实现以上目的,首先将源字体进行风格迁移,生成新风格字体;然后提出一系列汉字特征描述参数,以及将汉字相似度评估量化的方法,将汉字特征描述参数转换为机器人控制参数;在对机器人进行运动学分析的基础上,利用ROS平台实现机器人绘制书法的功能,将实际书写的字体与源字体进行倾斜度与平衡度两方面的相似度对比评估;最后用试验验证了这一方法的准确性与可行性。这一方法能较好地还原字体形状与书写风格,而且书法机器人还适用于其它复杂环境的应用,如在危险环境中可较好地实现雕刻、喷涂及焊接等工作。另外,在医疗方面也可控制机械臂在较小的空间中进行精确定位及运动,具有较为广泛的应用前景。

表2 “永”字相似度评估

猜你喜欢

字体骨架笔画
浅谈管状骨架喷涂方法
笔画相同 长短各异
——识记“己”“已”“巳”
有趣的一笔画
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
字体的产生
找不同
周博士考察拾零(六十六)日光温室前屋面开机具作业门处骨架的处理方法
组合字体
内支撑骨架封抽技术在突出煤层瓦斯抽采中的应用
字体安装步步通