第16卷第4期 智能系统学报 Vol.16 No.4 2021年7月 CAAI Transactions on Intelligent Systems Jul.2021 D0:10.11992/tis.202006033 网络出版地址:https:/ns.cnki.net/kcms/detail/23.1538.TP.20210412.1336.008.html 基于毛笔建模的机器人书法系统 王玉卓,闵华松 (武汉科技大学信息科学与工程学院,湖北武汉430081) 摘要:针对机器人书法系统存在仅考虑毛笔笔直状态下机器人书写的问题,提出了一种新的机器人书法 系统,可使机器人能够在倾斜状态下书写汉字。该系统首先分析毛笔足迹,建立一种适合用于机器人毛笔书写 的基于线性回归算法的笔触模型;然后使用遗传算法从笔画图像获得轨迹信息,加入了起笔、行笔、收笔规则, 生成虚拟笔画图像:最后采用B样条算法实现机器人路径规划,坐标变换完成姿态计算,从而进行实际书写。 机器人书法系统提取了3种笔画特征作为评价指标,实验结果表明:机器人毛笔书法系统可以得到较好的书写 效果。 关键词:机器人书法;毛笔建模;遗传算法;书写规则;路径规划;位姿变化:书法评价;笔画特征 中图分类号:TP242.6文献标志码:A文章编号:1673-4785(2021)04-0707-10 中文引用格式:王玉卓,闵华松.基于毛笔建模的机器人书法系统机.智能系统学报,2021,16(4):707-716 英文引用格式:WANG Yuzhuo,MIN Huasong..Robot calligraphy system based on brush modeling Jl..CAAI transactions on intel- ligent systems,2021,16(④:707-716. Robot calligraphy system based on brush modeling WANG Yuzhuo,MIN Huasong (School of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan 430081,China) Abstract:A novel robot calligraphy system is proposed to enable robots to write Chinese characters by using a brush in a slanted position,with the purpose of solving the problem of the existing robot calligraphy system taking only the straight state of the brush into consideration.First,writing marks are analyzed in this proposed system,and an appropri- ate stroke model is established based on the linear regression algorithm.Then,the trajectory information is obtained from the stroke image by using genetic algorithms,which are added with the rules of starting,running,and closing for virtual stroke images.Lastly,path planning for robots is realized by using a B-spline algorithm,and posture calculation is fulfilled through coordinate transformation,thereby achieving actual writing.In the experiments,three stroke charac- teristics are extracted as evaluation indicators.Experimental results show that the robot brush calligraphy system can achieve a better writing effect. Keywords:robot calligraphy;brush modeling,genetic algorithm;writing rules;path planning;posture change;calli- graphy evaluation;stroke characteristics 中国的书法艺术已有几千年的历史,无数书 魅力山。同时,机器人书法的研究成果可以为解 法名家留下大量墨宝。时至今日,随着手机电脑 决其他问题提供思路,推进机器人发展冈。 普及,人们对于书法艺术不甚了解。应用现代技 目前国内外很多研究者都提出了书法机器人 术进行书法创作,可以使更多人重新认识书法的 系统,机器人书法的研究重点是生成一条机器人 收稿日期:2020-06-20.网络出版日期:2021-04-12 书写字符轨迹。其中,Lⅱ等)使用编码器提取笔 基金项目:国家自然科学基金项目(61673304):国家重点研发 计划项目(2017YFB1300400):湖北省科技创新专项 画的特征,由解码器获得笔画轨迹序列;Wu等 重大项目(2019AAA071):武汉市应用基础前沿项目 提出了一种基于深度强化学习算法的书法机器 (2018010401011275). 通信作者:闵华松.E-mail:mhuasong@wust.edu.cn 人模型,使机器人能够直接从笔画图像中获得包
DOI: 10.11992/tis.202006033 网络出版地址: https://kns.cnki.net/kcms/detail/23.1538.TP.20210412.1336.008.html 基于毛笔建模的机器人书法系统 王玉卓,闵华松 (武汉科技大学 信息科学与工程学院,湖北 武汉 430081) 摘 要 :针对机器人书法系统存在仅考虑毛笔笔直状态下机器人书写的问题,提出了一种新的机器人书法 系统,可使机器人能够在倾斜状态下书写汉字。该系统首先分析毛笔足迹,建立一种适合用于机器人毛笔书写 的基于线性回归算法的笔触模型;然后使用遗传算法从笔画图像获得轨迹信息,加入了起笔、行笔、收笔规则, 生成虚拟笔画图像;最后采用 B 样条算法实现机器人路径规划,坐标变换完成姿态计算,从而进行实际书写。 机器人书法系统提取了 3 种笔画特征作为评价指标,实验结果表明:机器人毛笔书法系统可以得到较好的书写 效果。 关键词:机器人书法;毛笔建模;遗传算法;书写规则;路径规划;位姿变化;书法评价;笔画特征 中图分类号:TP242.6 文献标志码:A 文章编号:1673−4785(2021)04−0707−10 中文引用格式:王玉卓, 闵华松. 基于毛笔建模的机器人书法系统 [J]. 智能系统学报, 2021, 16(4): 707–716. 英文引用格式:WANG Yuzhuo, MIN Huasong. Robot calligraphy system based on brush modeling[J]. CAAI transactions on intelligent systems, 2021, 16(4): 707–716. Robot calligraphy system based on brush modeling WANG Yuzhuo,MIN Huasong (School of Information Science and Engineering, Wuhan University of Science and Technology, Wuhan 430081, China) Abstract: A novel robot calligraphy system is proposed to enable robots to write Chinese characters by using a brush in a slanted position, with the purpose of solving the problem of the existing robot calligraphy system taking only the straight state of the brush into consideration. First, writing marks are analyzed in this proposed system, and an appropriate stroke model is established based on the linear regression algorithm. Then, the trajectory information is obtained from the stroke image by using genetic algorithms, which are added with the rules of starting, running, and closing for virtual stroke images. Lastly, path planning for robots is realized by using a B-spline algorithm, and posture calculation is fulfilled through coordinate transformation, thereby achieving actual writing. In the experiments, three stroke characteristics are extracted as evaluation indicators. Experimental results show that the robot brush calligraphy system can achieve a better writing effect. Keywords: robot calligraphy; brush modeling; genetic algorithm; writing rules; path planning; posture change; calligraphy evaluation; stroke characteristics 中国的书法艺术已有几千年的历史,无数书 法名家留下大量墨宝。时至今日,随着手机电脑 普及,人们对于书法艺术不甚了解。应用现代技 术进行书法创作,可以使更多人重新认识书法的 魅力[1]。同时,机器人书法的研究成果可以为解 决其他问题提供思路,推进机器人发展[2]。 目前国内外很多研究者都提出了书法机器人 系统,机器人书法的研究重点是生成一条机器人 书写字符轨迹。其中,Li 等 [3] 使用编码器提取笔 画的特征,由解码器获得笔画轨迹序列;Wu 等 [4] 提出了一种基于深度强化学习算法的书法机器 人模型,使机器人能够直接从笔画图像中获得包 收稿日期:2020−06−20. 网络出版日期:2021−04−12. 基金项目:国家自然科学基金项目 (61673304);国家重点研发 计划项目 (2017YFB1300400);湖北省科技创新专项 重大项目 (2019AAA071);武汉市应用基础前沿项目 (2018010401011275). 通信作者:闵华松. E-mail:mhuasong@wust.edu.cn. 第 16 卷第 4 期 智 能 系 统 学 报 Vol.16 No.4 2021 年 7 月 CAAI Transactions on Intelligent Systems Jul. 2021
·708· 智能系统学报 第16卷 括画笔的压力信息在内的三维位置信息。Lⅰ等 外形进行对比,较直观地显示笔画差异,又包含 将书法机器人分为笔画分离、汉字特征建模、汉 了笔画的骨架特征和起笔收笔特征,获得更全面 字轨迹规划三部分,成功复现了颜体汉字。但 的评价。 是,绝大多数书法机器人都假定笔画宽度只与压 本文提出了一种基于毛笔建模的机器人书法 力有关。当毛笔保持竖直状态移动的情况下是 系统,该系统不仅控制机器人进行实际书写,而 成立的,但是实际书法过程中,毛笔会发生倾 且结合评价指标提高书写质量。这项工作的主要 斜。因此,有必要分析笔画宽度与倾斜角度之间 贡献有两个方面:1)考虑倾斜状态对毛笔足迹形 的关系,使机器人从笔画图像中获得更加准确轨 状的影响,并使机器人复现了这一状态;2)针对 迹信息。 笔画设计评价指标,多角度评价书写结果。 书法评价对产生高质量书写结果起着促进作 用,但一些常规的机器人书法系统通常使用单一 1机器人毛笔模型 的评估指标。Mueller等o仅考虑书写结果及其 1.1模型概述 参考笔画的轮廓匹配,并以此评价结果更新书写 本文拟议的机器人毛笔模型框架如图1所示, 轨迹。Xu等m将书写结果与知名书法家的示例 该模型由笔触模型、笔画模型和控制模型组成。 模板进行比较,以产生笔画质量得分。Wang等 笔触模型分析毛笔足迹,为笔画模型提供足迹形 提出了一种使用圆盘B样条曲线对字符进行矢 状与机器人位姿的函数关系。基于遗传算法的笔 量化,通过迭代最近点(iterative closest point, 画模型从笔画图像中获得轨迹信息,并加人了起 ICP)算法进行相似性评估。Zhou等使用可能 笔、行笔、收笔规则,结合插值算法叠加笔触形成 性-概率分布方法对汉字提取的特征,从而计算 笔画图像。控制模型根据笔画模型提供的轨迹信 字符的评估值。本文提出3种评价指标,不仅从 息进行轨迹规划,控制机器人进行实际书写。 实际笔触 仿其笔触 姿态计算 逆运动学 实际笔画 线性回归 位置计算 机器人 笔触模型 控制模型 模型参数 轨迹信息 笔画图像 虚拟笔画 遗传算法 书写规则 插值拟合 笔画模型 图1机器人毛笔模型框架 Fig.1 Robot brush model framework 12笔触模型 沿着Z轴向下移动到笔尖恰好接触纸张时,设为 本文笔触模型采用经验模拟,着重观察分析 初始位置,h值随着毛笔下降而增加。足迹水平 毛笔和纸张交互产生的毛笔足迹,避免对毛笔位置 中心线为X轴,毛笔从垂直纸面的竖直状态绕 的实时计算o。参考张俊松等的笔触模型,在 Y轴顺时针旋转α度,α即毛笔倾斜角度。实验 考虑毛笔倾斜情况下,机器人使用示教方式采集实 规定毛笔下降高度值为8~20mm,毛笔倾斜角度 际足迹,使用线性回归算法计算笔触模型参数。 a为0°10°。 1.2.1采集实际足迹 采集笔触过程如图3所示,描述如下,首先机 机器人向下运动在纸面留下毛笔足迹,如图2 器人以末端垂直纸面的姿态运行至起始点,进行 所示。这个过程中需要控制的机器人位姿参数包 姿态变化调整到指定倾斜度。然后,机器人沿纵向 括毛笔下降高度和毛笔倾斜角度。其中,当毛笔 缓慢下降到指定高度,到达指定高度后迅速提笔
括画笔的压力信息在内的三维位置信息。Li 等 [5] 将书法机器人分为笔画分离、汉字特征建模、汉 字轨迹规划三部分,成功复现了颜体汉字。但 是,绝大多数书法机器人都假定笔画宽度只与压 力有关。当毛笔保持竖直状态移动的情况下是 成立的,但是实际书法过程中,毛笔会发生倾 斜。因此,有必要分析笔画宽度与倾斜角度之间 的关系,使机器人从笔画图像中获得更加准确轨 迹信息。 书法评价对产生高质量书写结果起着促进作 用,但一些常规的机器人书法系统通常使用单一 的评估指标。Mueller 等 [6] 仅考虑书写结果及其 参考笔画的轮廓匹配,并以此评价结果更新书写 轨迹。Xu 等 [7] 将书写结果与知名书法家的示例 模板进行比较,以产生笔画质量得分。Wang 等 [8] 提出了一种使用圆盘 B 样条曲线对字符进行矢 量化,通过迭代最近点 (iterative closest point, ICP) 算法进行相似性评估。Zhou 等 [9] 使用可能 性−概率分布方法对汉字提取的特征,从而计算 字符的评估值。本文提出 3 种评价指标,不仅从 外形进行对比,较直观地显示笔画差异,又包含 了笔画的骨架特征和起笔收笔特征,获得更全面 的评价。 本文提出了一种基于毛笔建模的机器人书法 系统,该系统不仅控制机器人进行实际书写,而 且结合评价指标提高书写质量。这项工作的主要 贡献有两个方面:1) 考虑倾斜状态对毛笔足迹形 状的影响,并使机器人复现了这一状态;2) 针对 笔画设计评价指标,多角度评价书写结果。 1 机器人毛笔模型 1.1 模型概述 本文拟议的机器人毛笔模型框架如图 1 所示, 该模型由笔触模型、笔画模型和控制模型组成。 笔触模型分析毛笔足迹,为笔画模型提供足迹形 状与机器人位姿的函数关系。基于遗传算法的笔 画模型从笔画图像中获得轨迹信息,并加入了起 笔、行笔、收笔规则,结合插值算法叠加笔触形成 笔画图像。控制模型根据笔画模型提供的轨迹信 息进行轨迹规划,控制机器人进行实际书写。 遗传算法 模型参数 轨迹信息 笔画图像 虚拟笔画 笔画模型 控制模型 实际笔画 书写规则 插值拟合 线性回归 笔触模型 实际笔触 仿真笔触 位置计算 姿态计算 逆运动学 机器人 图 1 机器人毛笔模型框架 Fig. 1 Robot brush model framework 1.2 笔触模型 本文笔触模型采用经验模拟,着重观察分析 毛笔和纸张交互产生的毛笔足迹,避免对毛笔位置 的实时计算[10]。参考张俊松等的笔触模型[11] ,在 考虑毛笔倾斜情况下,机器人使用示教方式采集实 际足迹,使用线性回归算法计算笔触模型参数。 1.2.1 采集实际足迹 机器人向下运动在纸面留下毛笔足迹,如图 2 所示。这个过程中需要控制的机器人位姿参数包 括毛笔下降高度和毛笔倾斜角度。其中,当毛笔 h α α α 沿着 Z 轴向下移动到笔尖恰好接触纸张时,设为 初始位置, 值随着毛笔下降而增加。足迹水平 中心线为 X 轴,毛笔从垂直纸面的竖直状态绕 Y 轴顺时针旋转 度, 即毛笔倾斜角度。实验 规定毛笔下降高度值为 8~20 mm,毛笔倾斜角度 为 0°~10°。 采集笔触过程如图 3 所示,描述如下,首先机 器人以末端垂直纸面的姿态运行至起始点,进行 姿态变化调整到指定倾斜度。然后,机器人沿纵向 缓慢下降到指定高度,到达指定高度后迅速提笔。 ·708· 智 能 系 统 学 报 第 16 卷
第4期 王玉卓,等:基于毛笔建模的机器人书法系统 ·709· 式中:L为笔锋长度;L为笔根长度;L为笔肚长度。 将一幅机器人参数为(h,)的实际笔触图像 转换成二值图像,并提取轮廓信息。随机设置仿 真笔触参数(亿,L,L,),拟合形成仿真笔触图像,将 该笔触的轮廓与实际笔触轮廓进行匹配,调整仿 真笔触参数令两者基本重合,如图5所示,记录模 型参数(L,Lh,L,)。 图2实际笔触 Fig.2 Actual stroke 图4仿真笔触 Fig.4 Simulation brushstroke (a)准备 (b)旋转 (c)下压 (d提笔 图3采集笔触 Fig.3 Collecting strokes 图5轮廓匹配 Fig.5 Contour matching 1.2.2计算模型参数 对模型参数和机器人参数采用逐步分析法, 笔触模型用2条3次Bezier曲线进行拟合, 分析模型参数(L,L,L,)与(2,a2,h,a)函数关系, 如图4。定义仿真足迹S,=(L,L,L),其中L为笔 并进行线性回归,笔触模型参数描述如式(3): 锋长度,Lh为笔根长度,L,为笔肚长度。 L,=0.2055h+0.0405a+0.4814 3次Bezier曲线如式(I)所示: L=0.0011h2+0.0048a+0.2407 (3) B(t)=Po(1-t)3+3Pt1-02+3P22(1-t)+P L,=0.0575h+0.0097m+0.4134 (1) te[0,1] 式中:L为笔锋长度;Lw为笔根长度;L为笔肚长 式中:Po和P3为曲线起止点,P和P2坐标(Px,P) 度;h为毛笔下降高度值;α为倾斜角度。 (P2,P),如式(2): 1.3笔画模型 L-4Lh Sn={(x,y1,h1,1),(2,y2,h2,2),…(xnya,hn,an}表 3 P2x =Lh (2) 示笔画模型中毛笔运动轨迹,其中x和y是笔触 P,=P=3 4L 模型原点在纸面坐标系上坐标值,h值表示毛笔 所受压力,而α值的改变反应毛笔倾斜情况。位
图 2 实际笔触 Fig. 2 Actual stroke (a) 准备 (b) 旋转 (c) 下压 (d) 提笔 图 3 采集笔触 Fig. 3 Collecting strokes 1.2.2 计算模型参数 S t = (Lt ,Lh,Lr) Lt Lh Lr 笔触模型用 2 条 3 次 Bézier 曲线进行拟合, 如图 4。定义仿真足迹 ,其中 为笔 锋长度, 为笔根长度, 为笔肚长度。 3 次 Bézier 曲线如式 (1) 所示: B(t) = P0(1−t) 3 +3P1t(1−t) 2 +3P2t 2 (1−t)+ P3t 3 t ∈ [0,1] (1) P0 P3 P1 P2 (P1x ,P1y) (P2x ,P2y) 式中: 和 为曲线起止点, 和 坐标 、 ,如式 (2): P1x = Lt −4Lh 3 P2x = Lh P1y = P2y = 4Lr 3 (2) 式中: Lt 为笔锋长度; Lh为笔根长度; Lr 为笔肚长度。 (h,α) (Lt ,Lh,Lr) (Lt ,Lh,Lr) 将一幅机器人参数为 的实际笔触图像 转换成二值图像,并提取轮廓信息。随机设置仿 真笔触参数 ,拟合形成仿真笔触图像,将 该笔触的轮廓与实际笔触轮廓进行匹配,调整仿 真笔触参数令两者基本重合,如图 5 所示,记录模 型参数 。 Lt Lh Lr X Y P1 P0 P2 P3 图 4 仿真笔触 Fig. 4 Simulation brushstroke 图 5 轮廓匹配 Fig. 5 Contour matching (Lt ,Lh,Lr) ( h 2 ,α2 ,h,a ) 对模型参数和机器人参数采用逐步分析法, 分析模型参数 与 函数关系, 并进行线性回归,笔触模型参数描述如式 (3): Lt = 0.205 5h+0.040 5α+0.481 4 Lh = 0.001 1h 2 +0.004 8α+0.240 7 Lr = 0.057 5h+0.009 7α+0.413 4 (3) Lt Lh Lr h α 式中: 为笔锋长度; 为笔根长度; 为笔肚长 度; 为毛笔下降高度值; 为倾斜角度。 1.3 笔画模型 S n ={(x1, y1,h1,α1),(x2, y2,h2,α2),···(xn, yn,hn,αn)} x y h α 表 示笔画模型中毛笔运动轨迹,其中 和 是笔触 模型原点在纸面坐标系上坐标值, 值表示毛笔 所受压力,而 值的改变反应毛笔倾斜情况。位 第 4 期 王玉卓,等:基于毛笔建模的机器人书法系统 ·709·
·710· 智能系统学报 第16卷 置信息和高度信息是通过遗传算法从笔画图像中 小确定笔画趋向,笔画“横”为水平趋向,数据按 提取,遗传算法得到的初步轨迹信息需要根据起 趋向进行排序并分为k组。 笔、行笔、收笔规则进行修改,并添加倾斜信息。 1.3.1遗传算法提取信息 遗传算法是模仿自然界生物进化机制发展起 来的随机全局搜索和优化方法,不断向搜索空间 中适应度越高的区域移动以求得最优解。遗传算 法流程如图6所示,染色体是多个基因的集合,而 基因决定了个体的外部表现。笔画模型设计两条 (a)标准笔画 (b)笔画骨架 染色体,第一条染色体包含位置信息,决定了笔 画的骨架特征。第二条染色体包含位置信息和高 图7笔画“横” Fig.7 Stroke "horizontal" 度信息,即轨迹信息,决定了笔画的外型特征。 将初始数据拟合成目标曲线,通过计算对比 开始 多种拟合函数拟合误差平方和,选择使用5次多 项式进行拟合的,如式(4)所示: f=px+px+pax+px+psx+p6 (4) 初始化遗传参数 (N,PP.len,MaxGen),Gen=0 式中p,p2,…,P6为多项式系数。 遗传算法随机生成一个原始的种群,种群中 每个个体含有k个基因,将基因对应的数据通过 外部 基因编码,产生种群大 表现 小为N初始种群 拉格朗日插值法拟合成一条曲线,拟合曲线描述 如式(⑤): f5= >y:L(x) 计算每个个体适应度F i-0 (5) (x-xo)…(x-x-1)(x-x+1)…(x-x) l(x)= (x-xo)…(x-x-1)(x-x1)…(x-x) 选择操作:依据适应度选择父母 因此,最优个体的拟合曲线应该与目标曲线 适应度高的个体被选中的概率高 尽可能地重合,目标函数要最小化,如式(6)所示: minObjV=fi-fl (6) 更加适应于环境的个体应该拥有更高的适应 交叉操作:父母以概率P两两匹 Gen=Gen+】 配,交换长度为len的基因段. 度,第i个体适应度如式(⑦)所示: 生成子代 1 F(i)=ObjV(i) (7) 在每个种群50个个体,染色体含有10个基 变异操作:子代以概率P.在随机 基因段改变数值 因,80%交叉概率,20%变异概率下,经过20代 进化最佳个体骨架图像与目标图像骨架对比结 果,如图8所示。结果说明两条曲线较为重合,证 达到迭代次数MaxGen 明遗传算法选取的坐标信息是具有代表性。 将位置信息作为输入信息,对种群初始化,染 色体Sk={(1,y1,h1,a1),(22,h2,a2),…,(,Jy,hk,a)儿, 其中高度信息取值范围8~20mm,倾斜信息均设 结束 为0° 图6遗传算法流程图 对于每一个体,已知每个轨迹点的位置、高 Fig.6 Flow chart of genetic algorithm 度信息、倾斜信息,根据笔触模型可计算得到每 对参考笔画图像(图7(a)进行形态学处理, 个轨迹点的笔肚长度L,从而计算得到2k个笔画 提取骨架如图7(b),图中所有灰度值为0的像素 轮廓点位置,通过闭合B样条将这些轮廓点光滑 点位置是初始数据,染色体Sm={(xy),(x2,y2),…, 连接形成笔画图像。由于目标函数取最大值,目 (xm,ym)}。根据笔画垂直水平两个方向端点差值大 标函数和适应度函数相等,描述如式(8):
置信息和高度信息是通过遗传算法从笔画图像中 提取,遗传算法得到的初步轨迹信息需要根据起 笔、行笔、收笔规则进行修改,并添加倾斜信息。 1.3.1 遗传算法提取信息 遗传算法是模仿自然界生物进化机制发展起 来的随机全局搜索和优化方法,不断向搜索空间 中适应度越高的区域移动以求得最优解。遗传算 法流程如图 6 所示,染色体是多个基因的集合,而 基因决定了个体的外部表现。笔画模型设计两条 染色体,第一条染色体包含位置信息,决定了笔 画的骨架特征。第二条染色体包含位置信息和高 度信息,即轨迹信息,决定了笔画的外型特征。 开始 结束 计算每个个体适应度 F N Y 外部 表现 初始化遗传参数 (N, Pc , Pm, len, MaxGen), Gen=0 基因编码, 产生种群大 小为 N 初始种群 选择操作: 依据适应度选择父母, 适应度高的个体被选中的概率高 交叉操作: 父母以概率 Pc 两两匹 配, 交换长度为 len 的基因段, 生成子代 变异操作: 子代以概率 Pm 在随机 基因段改变数值 达到迭代次数 MaxGen Gen=Gen+1 图 6 遗传算法流程图 Fig. 6 Flow chart of genetic algorithm S m = {(x1, y1),(x2, y2),··· , (xm, ym)} 对参考笔画图像 (图 7(a)) 进行形态学处理, 提取骨架如图 7(b),图中所有灰度值为 0 的像素 点位置是初始数据,染色体 。根据笔画垂直水平两个方向端点差值大 k 小确定笔画趋向,笔画“橫”为水平趋向,数据按 趋向进行排序并分为 组。 (a) 标准笔画 (b) 笔画骨架 图 7 笔画“橫” Fig. 7 Stroke "horizontal" 将初始数据拟合成目标曲线,通过计算对比 多种拟合函数拟合误差平方和,选择使用 5 次多 项式进行拟合的,如式 (4) 所示: f1 = p1 x 5 + p2 x 4 + p3 x 3 + p4 x 2 + p5 x 1 + p6 (4) 式中 p1, p2, ··· , p6 为多项式系数。 k 遗传算法随机生成一个原始的种群,种群中 每个个体含有 个基因,将基因对应的数据通过 拉格朗日插值法拟合成一条曲线,拟合曲线描述 如式 (5): f2 = ∑k i=0 yi ·li(x) li(x) = (x− x0)···(x− xi−1) (x− xi+1)···(x− xk) (xi − x0)···(xi − xi−1) (xi − xi+1)···(xi − xk) (5) 因此,最优个体的拟合曲线应该与目标曲线 尽可能地重合,目标函数要最小化,如式 (6) 所示: minObjV = | f1 − f2| (6) 更加适应于环境的个体应该拥有更高的适应 度,第 i 个体适应度如式 (7) 所示: F(i) = 1 ObjV(i) (7) 在每个种群 50 个个体,染色体含有 10 个基 因,80% 交叉概率,20% 变异概率下,经过 20 代 进化最佳个体骨架图像与目标图像骨架对比结 果,如图 8 所示。结果说明两条曲线较为重合,证 明遗传算法选取的坐标信息是具有代表性。 S k = {(x1, y1,h1,α1),(x2, y2,h2,α2),··· ,(xk , yk ,hk ,αk)} 将位置信息作为输入信息,对种群初始化,染 色体 , 其中高度信息取值范围 8~20 mm,倾斜信息均设 为 0° Lr k 对于每一个体,已知每个轨迹点的位置、高 度信息、倾斜信息,根据笔触模型可计算得到每 个轨迹点的笔肚长度 ,从而计算得到 2 个笔画 轮廓点位置,通过闭合 B 样条将这些轮廓点光滑 连接形成笔画图像。由于目标函数取最大值,目 标函数和适应度函数相等,描述如式 (8): ·710· 智 能 系 统 学 报 第 16 卷
第4期 王玉卓,等:基于毛笔建模的机器人书法系统 ·711· 2 在起笔阶段,书法家握住毛笔,使笔尖刚好达 到纸面。此时,手在身体的左前方,而肘部朝右 F'=ObiV =1- 后方。然后将毛笔持续下压,形成杏仁点。然 ∑∑x,x+x-x0 (8) 后,根据不同笔画毛笔向不同方向运动。对于 pixel(i,)is white “横”,毛笔向右运动,扩大墨迹。最后,书法家逆 pixel (i,)is black 时针转动毛笔,带动笔锋作逆时针调锋,使原来 式中:X,为参考笔画图像像素点;X为仿真笔画 的笔锋指向由向左前变成向左,起笔结束。 图像像素点。 在起笔阶段,根据毛笔运动方向调整位置信 息;对毛笔的压力逐渐加大,逐步增大高度信息, 1000 毛笔保持竖直状态,倾斜信息设为零。 原始骨架 在行笔阶段,毛笔在纸上运行时,笔画模型根 800 拟合骨架 据毛笔运行轨迹结合笔触模型不断进行累加笔 触,模拟汉字书写。在实际书写中为了突出层 600 次,书法家往往会将毛笔前倾加重痕迹,故行笔 阶段,倾斜角α会发生变化。 在行笔阶段,遗传算法计算的轨迹点数量较 40 0 200 400600 8001000 多,实际机器人进行书写会出现卡顿现象。在不 P/mm 影响笔画光滑的前提下,删减轨迹点;对毛笔的 图8骨架对比 压力变化不大,适当调整高度信息;同时根据书 Fig.8 Skeleton comparison 写的笔画类别对倾斜信息进行修改。 图9显示了在每个种群50个个体,80%交叉概 行笔结束后,接下来就要收笔,毛笔收笔有两 率,20%变异概率下,基因数k取不同值,经过100 种方法:藏锋收笔、露峰收笔。 代进化后笔画仿真以及与目标图像轮廓对比结果。 藏锋收笔以横为例,藏峰收笔在笔画末端形成 棱角,需要连续变化毛笔方向,最后将笔尖轻轻收回, 藏在已有足迹中。“横”的仿真过程如图10所示。 (a)=10笔画仿真(b)=20笔画仿真(c)=30笔画仿真 2 - (a)起笔 (b)行笔 (c)收笔 图10“横”仿真过程 Fig.l0“Horizontal'”simulation process (d=l0轮廓对比(e)k=20轮廓对比(①=30轮廓对比 露峰收笔以撇为例,露峰收笔强调写出笔锋, 图9遗传算法结果 需要慢慢提高毛笔,使笔毛渐渐收拢,最后毛笔 Fig.9 Genetic algorithm results 快速从纸面移开,形成笔锋。“撇”的仿真过程如 当k=10时,两者存在较大差异;当k=20和 图11所示。 k=30的仿真效果较好,但是k=30时,虚拟笔画 轮廓不光滑,说明需要增加迭代次数进行优化, 但这会增加运算成本。因此合理选择基因数k, 既可以较好复现目标图像,又降低运算量。 1.3.2书写规则修改轨迹 笔画仿真图像在笔画开始和结束阶段与目标图 (a)起笔 (b)行笔 (c)收笔 像存在较大差距,这是由于中国书法在这两个阶段 图11“撇”仿真过程 充满变化,轨迹信息需要根据书写规则进行调整。 Fig.l1“skimming”simulation process
F ′ = ObjV′ = 1− ∑M i=1 ∑N j=1 Xi, j − X ′ i, j ∑M i=1 ∑N j=1 ( Xi, j · X ′ i, j + Xi, j − X ′ i, j ) Xi, j = { 1, pixel (i, j) is white 0, pixel (i, j) is black (8) Xi, j X ′ 式中: 为参考笔画图像像素点; i, j 为仿真笔画 图像像素点。 原始骨架 拟合骨架 1000 800 600 400 0 200 400 600 800 1000 Py /mm Px /mm 图 8 骨架对比 Fig. 8 Skeleton comparison k 图 9 显示了在每个种群 50 个个体,80% 交叉概 率,20% 变异概率下,基因数 取不同值,经过 100 代进化后笔画仿真以及与目标图像轮廓对比结果。 (a) k=10 笔画仿真 (b) k=20 笔画仿真 (d) k=10 轮廓对比 (e) k=20 轮廓对比 (f) k=30 轮廓对比 (c) k=30 笔画仿真 图 9 遗传算法结果 Fig. 9 Genetic algorithm results k = 10 k = 20 k = 30 k = 30 k 当 时,两者存在较大差异;当 和 的仿真效果较好,但是 时,虚拟笔画 轮廓不光滑,说明需要增加迭代次数进行优化, 但这会增加运算成本。因此合理选择基因数 , 既可以较好复现目标图像,又降低运算量。 1.3.2 书写规则修改轨迹 笔画仿真图像在笔画开始和结束阶段与目标图 像存在较大差距,这是由于中国书法在这两个阶段 充满变化,轨迹信息需要根据书写规则进行调整。 在起笔阶段,书法家握住毛笔,使笔尖刚好达 到纸面。此时,手在身体的左前方,而肘部朝右 后方。然后将毛笔持续下压,形成杏仁点。然 后,根据不同笔画毛笔向不同方向运动。对于 “橫”,毛笔向右运动,扩大墨迹。最后,书法家逆 时针转动毛笔,带动笔锋作逆时针调锋,使原来 的笔锋指向由向左前变成向左,起笔结束。 在起笔阶段,根据毛笔运动方向调整位置信 息;对毛笔的压力逐渐加大,逐步增大高度信息, 毛笔保持竖直状态,倾斜信息设为零。 α 在行笔阶段,毛笔在纸上运行时,笔画模型根 据毛笔运行轨迹结合笔触模型不断进行累加笔 触,模拟汉字书写。在实际书写中为了突出层 次,书法家往往会将毛笔前倾加重痕迹,故行笔 阶段,倾斜角 会发生变化。 在行笔阶段,遗传算法计算的轨迹点数量较 多,实际机器人进行书写会出现卡顿现象。在不 影响笔画光滑的前提下,删减轨迹点;对毛笔的 压力变化不大,适当调整高度信息;同时根据书 写的笔画类别对倾斜信息进行修改。 行笔结束后,接下来就要收笔,毛笔收笔有两 种方法:藏锋收笔、露峰收笔。 藏锋收笔以橫为例,藏峰收笔在笔画末端形成 棱角,需要连续变化毛笔方向,最后将笔尖轻轻收回, 藏在已有足迹中。“横”的仿真过程如图 10 所示。 (a) 起笔 (b) 行笔 (c) 收笔 图 10 “横”仿真过程 Fig. 10 “Horizontal” simulation process 露峰收笔以撇为例,露峰收笔强调写出笔锋, 需要慢慢提高毛笔,使笔毛渐渐收拢,最后毛笔 快速从纸面移开,形成笔锋。“撇”的仿真过程如 图 11 所示。 (a) 起笔 (b) 行笔 (c) 收笔 图 11 “撇”仿真过程 Fig. 11 “skimming” simulation process 第 4 期 王玉卓,等:基于毛笔建模的机器人书法系统 ·711·