2. 南京信息工程大学, 南京 210044;
3. 江苏少儿春互联教育科技有限公司 南京技术研发中心, 南京 210032
2. Nanjing University of Information Science & Technology, Nanjing 210044, China;
3. Nanjing Technology R & D Center, Jiangsu Children’s Spring Interconnection Education Technology Co. Ltd., Nanjing 210032, China
汉字是中华文化的载体, 学习书法是学习中华传统文化的重要途径. 汉字作为世界上最复杂的文字之一, 初学者总是需要在老师指导下学习书法. 国内中小学对书法教育越来越重视, 对于书法教育资源的需求也随之增长, 人们急切地需要计算机来进行书法辅助教学. 而作为汉字的基本单位, 笔画在硬笔字评价中起到至关重要的作用.
硬笔字笔画提取向来是一项艰巨的任务, 汉字的结构复杂, 笔画类型繁多, 且笔画交叉的情况很多. 传统方法多是通过规则判定交叉区域附近笔画段归属, 进行笔画的拆分, 大致分为两类.
其中一类是细化得到骨架, 通过像素的排列规则进行骨架笔画的提取[1–3]. 通过解决交叉点的分裂问题[4]、拆解笔画段并以一定规则重组笔画[5], 对硬笔字的骨架进行笔画提取. Lin等人[6]将骨架拆为笔画段, 通过计算所有交叉点的笔画段的入射方向, 基于双向图确定需要连接的笔画段对. 李建华等人[7]将基本笔画被简化为4种类型: 横、竖、撇、捺. 根据骨架与水平线夹角确定笔画类型. 在处理特定类型的笔画时, 其余类型的笔画被视为噪声. 刘相聪等人[8]利用CPD算法配准目标字与模板字的交叉点与拐点来确定笔画段归属, 并引入笔段权重以处理复杂汉字结构. 这类方法非常依赖骨架的质量, 交叉点的分裂以及毛刺等问题, 通过规则是无法完全避免的, 且丢失了笔锋、顿笔等信息, 对于关键点配准的方法, 甚至无法保证两个点集数量相等.
另一类是通过硬笔字图像原有的特征进行提取. Cao等人[9]使用了PBOD算法获取笔画延续性质, 改善了重叠笔画的分离并保持了连通性. 史伟等人[10]根据笔段外围轮廓的一阶微分特性, 获得其边界特征, 根据特征动态调整搜索方向, 更精确地匹配笔段的实际轮廓. 程立等人[11]使用水平垂直差分法检测汉字轮廓, 形成封闭的多边形轮廓. 提取轮廓上的凸点和凹点. 根据凹点的位置、角度、距离等条件, 将相交笔画的凹点进行配对并连接. 章夏芬等人[12]则是在骨架基础上, 将笔画轮廓同时引入到汉字的笔画分割中. 通过精确定位每个笔画的轮廓范围, 根据交叉区域的特征, 将它们分配给相应的轮廓笔画. 这类方法相较基于骨架的方法, 利用了更多的信息, 提高了容错率, 但仍然摆脱不了人为制定规则的束缚, 无法涵盖手写硬笔字可能出现的所有情况.
近年来也出现了基于神经网络的笔画提取算法. Liu等人[13]将笔画提取转化为实例分割问题, 采用两阶段策略[14], 并提供了大量数据集, 将数据集内的所有汉字共同训练, 提高了效率和鲁棒性, 但由于实例分割的特性, 可以正确划分笔画的类别, 但无法得知属于硬笔字的哪个笔画, 从而影响与模板字笔画对比评价. 张巍等人[15]则是利用条件生成对抗网络[16], 将每个字的每个笔画作为一项训练任务, 可以选择生成具体某个笔画, 但由于汉字笔画繁多, 此方法训练任务繁重, 且在提取硬笔字笔画时需要加载多次模型权重, 提取笔画时间过长. 这类方法通过学习样本笔画的特征来更好地适应形态复杂多变的手写硬笔字. 相较于传统方法, 此类方法有着很好的鲁棒性.
因此本文将使用神经网络对笔画进行提取. 语义分割作为经典的神经网络分支任务, 获得了大量研究者的关注, 其中的代表网络U-Net[17]更是被广泛应用与研究, 其全卷积的编码解码、跳跃连接结构, 使其可以在结构轻量化的同时, 保证高级语义与低级语义的正确表达. 在此基础上, 研究者们对其进行了多种改进, TransUNet[18]则是向U-Net加入了self-attention机制[18], 在保证高分辨率特征的基础上, 捕获了远距离的特征依赖.
然而TransUNet只能解决单标签的分割问题, 无法解决笔画相交的情况. 多标签语义分割是最适合硬笔字笔画提取的方法. 且硬笔字图像通常为二值图, 没有额外的颜色信息, 对于神经网络分割算法而言, 只能依赖于空间结构信息, 可供学习的特征有限, 相较于其他RGB图像的分割任务更容易出现FP分割噪声, 影响下游细化与笔画评价任务.
为解决上述问题, 本文使用多标签语义分割模型M-TransUNet, 将汉字作为单位任务, 笔画作为类别进行训练. 对于分割噪声, 本文还提出了一种针对笔画分割结果的局部平滑策略LSSS, 消除分割噪声的同时, 避免整体图像被模糊, 保证了笔画边缘的清晰.
1 算法分析由于硬笔字的特殊性, 两个甚至多个不同笔画之间可能存在相交, 如图1的中段相交(图1(a))和顶点相交(图1(b)), 其中顶点相交导致的笔画相连, 可以规定相交区域属于其中一个笔画, 不会影响其他笔画的连贯性; 对于中段相交的笔画, 如果规定相交区域属于其中一个笔画, 则其他笔画会出现断裂, 破坏了笔画应有的连贯性. 将每个汉字的每一个笔画作为单位任务, 每个任务只做前景背景的二分类任务可以避免这个问题, 但随之而来的是成倍的训练成本, 以及提取笔画时, 每个笔画都需要加载模型权重. 因此, 本文使用多标签语义分割进行笔画提取. 尽管多标签语义分割相较于二分类的单标签语义分割, 增加了很多需要学习的特征, 而且硬笔字图像本身缺乏颜色以及灰度信息, 只能依赖于空间结构信息, 导致分割噪声有所增加. 本文提出了一种针对笔画的局部平滑策略LSSS, 消除了部分分割噪声.
1.1 多标签语义分割网络M-TransUNet本文参考了TransUNet网络[18], 结构见图2, 其在U-Net[17]结构上加入了Transformer模块. 输入图像尺寸为
通常, Transformer将输入特征图当作一维序列, 并且只注重全局信息的捕获, 缺少对局部高分辨率特征的关注. 而U-Net则受限于网络的深度, 以及卷积网络本身的性质, 无法关注到全局信息. TransUNet则是结合了Transformer与U-Net的优点, 通过自注意力机制获得全局上下文信息的同时, 得益于U-Net的跳跃连接设计, 保留了足够的高分辨率特征. 在硬笔字笔画提取的任务中, 输入图像为二值图, 只分为硬笔字前景和背景, 相交笔画之间不存在颜色或灰度的差异, 提取笔画只能依靠笔画自身的形状结构, 以及硬笔字的全局结构. 而TransUNet的特性刚好满足硬笔字笔画提取的需求. 在单标签分类或语义分割任务中, 为了得到一个得分最大的类别, 通常希望有较大的得分差距. Softmax激活函数见式(1):
$ \begin{array}{*{20}{c}} {{\textit{Softmax}}\left( {{{\textit{z}}_i}} \right) = \dfrac{{{{\mathrm{e}}^{{{\textit{z}}_i}}}}}{{\displaystyle\mathop \sum \nolimits_{c = 1}^C {{\mathrm{e}}^{{{\textit{z}}_c}}}}}} \end{array} $ | (1) |
由于指数函数
$ {\sigma \left( {{{\textit{z}}_i}} \right) = \frac{1}{{1 + {{\mathrm{e}}^{ - {{\textit{z}}_i}}}}}} $ | (2) |
可以将神经网络输出的实数映射至
本文提出了多标签TransUNet (M-TransUNet), 将TransUNet的输出层激活函数由Softmax改为Sigmoid, 分别计算不同类别的得分, 以0.5为阈值, 判断像素是否属于当前类别, 其过程见图3. 由于硬笔字图像背景为白色像素, 前景为黑色像素, 得分小于0.5认为属于当前笔画类别, 得分大于0.5则认为不属于当前笔画. 多标签任务等价于多个二分类任务, 应当使用二分类交叉熵函数平均值(式(3))作为损失函数, 其中
$ {L_{{\mathrm{BCE}}}} = \frac{{\displaystyle\mathop \sum \nolimits_{j = 1}^N - {y_j}{\times}\log \left( {{{\hat y}_j}} \right) - \left( {1 - {y_j}} \right){\times}\log \left( {1 - {{\hat y}_j}} \right)}}{N} \\ $ | (3) |
然而二分类交叉熵函数可以很好地代表单个像素的预测值与其真实值的差异, 却无法准确表达语义分割任务中预测掩膜与真实掩膜的相似度. DiceLoss (式(4))可以表达预测掩膜与真实掩膜之间的相似度, 却对单个像素的差异则不敏感.
$ {{L_{{\mathrm{DiceLoss}}}} = 1 - \frac{{2\displaystyle\mathop \sum \nolimits_{j = 1}^N {y_j}{{\hat y}_j}}}{{\displaystyle\mathop \sum \nolimits_{j = 1}^N {y_j} + \displaystyle\mathop \sum \nolimits_{j = 1}^N {{\hat y}_j}}}} $ | (4) |
$ L_{\text {DiceLoss}_{\mathrm{R}}}=1-\frac{2 \displaystyle\sum_{j=1}^N\left(1-y_j\right)\left(1-\hat{y}_j\right)}{\displaystyle\sum_{j=1}^N\left(1-y_j\right)+\sum_{j=1}^N\left(1-\hat{y}_j\right)} $ | (5) |
因此, 本文采用混合损失函数:
$ {{L_{{\mathrm{Mix}}}} = \frac{{{L_{{\mathrm{BCE}}}} + {L_{{\mathrm{DiceLos{s_R}}}}}}}{2}} $ | (6) |
虽然硬笔字的笔画有先后顺序, 但不存在笔画被遮挡的情况, 因此笔画的分割结果应该是一整块连续的黑色像素. 然而本文所使用的硬笔字图像为二值图, 没有额外的颜色信息, 只能依赖于空间结构信息, 相较于其他的分割任务更容易出现FP分割噪声, 如图4, 这样的噪声会对下游的笔画细化及评价任务产生影响. 局部回归已很好地应用在图像处理领域[20], 图像的像素排列是规则有序的, 每一个像素与周围像素都有一定的联系, 局部回归可以利用周围邻域内的所有像素值, 拟合中心像素最有可能的值. 这样会使图像更加平滑, 可以一定程度上消除小面积的FP分割噪声.
硬笔字图像不需要额外的灰度信息, 硬笔字前景像素之间的灰度梯度为0, 如图5 “撇”和“捺”相交部分; 硬笔字前景和背景之间的灰度梯度为1, 如图5 “捺”的边界. 当进行笔画提取时, 我们仍然希望笔画与背景之间保持接近1的灰度梯度, 而局部回归这类利用邻域像素拟合中心像素值的平滑方法, 会使得背景与前景之间的边缘变得模糊.
因此, 本文提出了一种只针对硬笔字前景区域内的局部平滑策略LSSS, 利用硬笔字图像原有的二值特征, 不需要额外的算法就可以分辨出前景区域, 而分割后的笔画仍属于硬笔字前景的一部分. 设定一个
$ {{A_n} = \frac{{{S_n}}}{{{K_n}}}} $ | (7) |
其中,
$ {{W_n} = \dfrac{{{\alpha ^{n - 1}}}}{{\displaystyle\mathop \sum \nolimits_{a = 1}^{\frac{{H + 1}}{2}} {\alpha ^{a - 1}}}}} $ | (8) |
这样就得到了中心像素拟合值.
$ {p = \mathop \sum \nolimits_{n = 1}^{\frac{{H + 1}}{2}} {A_n}{\times}{W_n}} $ | (9) |
当某一级不存在硬笔字前景区域内的有效像素时, 其权重
$ \begin{array}{*{20}{c}} {{p^{\text{*}}} = p\times\left( {1 + {W^{\text{*}}}} \right)} \end{array} $ | (10) |
算法流程见图6. 由于排除了图像背景区域的影响, 消除了小面积FP误分割, 也保证了笔画边缘的清晰.
2 实验 2.1 实验数据实验所使用的数据来自于中小学学生, 均为楷体硬笔字. 为验证笔画的数量以及笔画的交叉次数对多标签语义分割性能的影响, 以“创”“被”和“筹”这3个字作为实验对象. 其中“创”字笔画数量较少, 笔画相交较少且为端点相交; “被”字笔画数量适中, 笔画相交适中, 同时包含端点相交和中段相交; “筹”字笔画数量较多, 同一笔画相交次数较多, 且多为中段相交. 每个字包含240张图片, 其中“创”字因其包含6个笔画, 因此包括
2.2 实验过程
本实验均使用随机梯度下降算法, 初始学习率设置为0.004, 衰减率为
得到神经网络输出结果后, 本文分别对单标签输出与多标签输出使用LSSS算法, 窗口长度
本文通过F1 score (F1)和Accuracy (Acc)对实验结果进行评估, F1在正负样本不平衡的情况下仍可以很好地评价分割结果.
$ {Acc = \frac{{TP + TN}}{{TP + TN + FP + FN}}} $ | (11) |
$ {F1 = \frac{{2TP}}{{2TP + FP + FN}}} $ | (12) |
表1–表3分别记录了“创”“被”以及“筹”字使用TransUNet进行分割得到的单笔画、所有笔画平均以及使用M-TransUNet分割的整体的F1和Acc. 其中TransUNet对3个字的
2.3.2 分割效率
此外, 本实验还记录了单标签与多标签语义分割的效率对比. 在单标签语义分割任务中, 每个笔画需要单独训练一个模型, 这不仅消耗大量的训练时间, 而且在预测时也需要加载多个模型, 增加了时间成本. 而多标签语义分割只需一次训练便可同时处理多个笔画, 极大地节省了训练时间并减少了预测时加载模型的时间. 本实验对比了“创”“被”和“筹”字使用TransUNet, M-TransUNet以及张巍等人[15]方法(CGAN)训练及预测所消耗时间, 见图7. 其中训练时间单位为min, 预测时间单位为s. 实验平台为RTX2060.
2.3.3 损失函数消融实验
我们还测试了不同损失函数对于训练结果的影响, 其中表4记录了“被”字通过M-TransUNet分别使用二分类交叉熵(BCE)、DiceLoss以及混合损失函数(Mix)达到的分割性能.
当单独使用BCE时, 由于正负样本的不均衡, 导致输出结果偏向白色背景, F1性能大幅下降. 单独使用DiceLoss则对于每个像素约束不够充分, Acc性能与F1性能都有所下降. 而Mix在Acc以及F1性能都优于单独使用一种损失函数.
2.3.4 LSSS性能影响图8展示了测试集中典型的FP误分割, 笔画为“创”第4画. 对于小面积的分割噪声(图8(a)), 像素本身灰度值更加接近0, 其周围像素灰度值多接近1, 在转换为硬标签后如图8(b). 经过LSSS处理后, 硬笔字前景区域内的像素灰度值变化更为平滑, 前景与背景交界处灰度梯度并没有受到影响, 被误分割的灰度值接近0的像素受周围灰度值接近1的像素的影响, 其灰度值也更加接近于1 (图8(c)), 转换为硬标签后如图8(d).
表5记录了TransUNet与M-TransUNet输出结果经过LSSS处理后的表现, 可以发现LSSS在没有牺牲分割性能的情况下, 有效地消除了部分小面积误分割, 对下游细化以及评价任务更加友好. 图9展示了本文算法对笔画提取的最终结果.
2.3.5 笔画提取性能对比
由于传统算法缺少客观的性能评估标准, 本文方法无法与传统算法进行直接的比较. 通常传统算法会人为判断一个笔画是否提取正确, 并计算提取正确的笔画在所有笔画中所占比例. 阳平等人[21]工判断分割正确率为86.7%, Xu等人[1]工判断KT字体笔画提取正确率为92.74%, 且传统方法一个笔画出现分割错误, 会影响其他笔画. 而本文方法不存在多检漏检的情况, 提取的笔画与实际笔画是一一对应的, 笔画对应的正确率为100%.
因此, 本文统计了“创”“被”“筹”这3个字使用M-TransUNet和张巍等人[15]方法(CGAN)所有笔画验证集中F1超过0.88的笔画所占比例以作为正确提取率, 以及Xu等人[1]所用方法(Traditional)基于本文数据集的提取正确率见表6.
本文方法相较于传统方法, 正确率有大幅提升. 相较于张巍等人的方法[15], 本文方法正确率略有下降, 但得益于多标签的语义分割, 在训练时间及预测时间上有着大幅的优势. Liu等人[13]通过实例分割对笔画进行分割, 无法获取硬笔字的笔顺信息, 且无法避免多检漏检的情况, 后续无法与模板字相应笔画匹配与比较, 本文方法在训练时通过标签的类别维度信息, 确定了硬笔字的笔顺, 输出的笔画可以直接与相应的模板字笔画进行比较与评分.
3 结束语在本文中, 我们将硬笔字笔画提取转化为了语义分割问题, 通过形态不一的数据集让神经网络学习笔画的深层特征, 提高鲁棒性与准确性, 并且使用多标签语义分割网络M-TransUNet代替单标签, 大大减少了训练时间, 同时可以根据标签顺序确定笔画的顺序, 满足了下游笔画评价任务的必要条件. 对于分割噪声, 本文还提出了针对笔画的局部平滑策略LSSS, 在消除分割噪声的同时, 避免了笔画边缘模糊, 下游笔画细化以及评价任务无需对分割结果进行进一步处理. 实验结果表明了本文方法的可行性, 对于硬笔字智能评价具有重要的意义.
[1] |
Xu ZY, Liang Y, Zhang QN, et al. Decomposition and matching: Towards efficient automatic Chinese character stroke extraction. Proceedings of the 2016 Visual Communications and Image Processing. Chengdu: IEEE, 2016. 1–4.
|
[2] |
范勇峰, 李成城, 林民, 等. 基于局部信息的手写汉字笔画提取. 内蒙古师范大学学报(自然科学汉文版), 2023, 52(2): 181-188. |
[3] |
荀恩东, 吕晓晨, 安维华, 等. 面向书写教学的手写汉字图像笔画还原. 北京大学学报(自然科学版), 2015, 51(2): 241-248. |
[4] |
Liao CW, Huang JS. Stroke segmentation by Bernstein-Bezier curve fitting. Pattern Recognition, 1990, 23(5): 475-484. DOI:10.1016/0031-3203(90)90068-V |
[5] |
Fan KC, Wu WH. A run-length-coding-based approach to stroke extraction of Chinese characters. Pattern Recognition, 2000, 33(11): 1881-1895. DOI:10.1016/S0031-3203(99)00173-9 |
[6] |
Lin F, Tang XO. Off-line handwritten Chinese character stroke extraction. Proceedings of the 2002 International Conference on Pattern Recognition. Quebec City: IEEE, 2002. 249–252.
|
[7] |
李建华, 王宏, 闫文芝, 等. 一种新的汉字细化和笔画提取方法. 第六届全国信息获取与处理学术会议论文集(1). 北京: 《仪器仪表学报》杂志社, 2008. 230–233.
|
[8] |
刘相聪, 李壮峰, 姜杰, 等. 基于CPD算法与笔段权重的楷体字笔画提取研究. 计算机应用与软件, 2022, 39(8): 204-212, 219. |
[9] |
Cao RN, Tan CL. A model of stroke extraction from Chinese character images. Proceedings of the 15th International Conference on Pattern Recognition. Barcelona: IEEE, 2000. 368–371.
|
[10] |
史伟, 傅彦, 陈安龙, 等. 一种动态的汉字笔段提取方法. 计算机应用研究, 2008, 25(7): 1998-2000. |
[11] |
程立, 王江晴, 李波, 等. 基于轮廓的汉字笔画分离算法. 计算机科学, 2013, 40(7): 307–311.
|
[12] |
章夏芬, 刘佳岩. 用爬虫法提取书法笔画. 计算机辅助设计与图形学学报, 2016, 28(2): 301-309. DOI:10.3969/j.issn.1003-9775.2016.02.013 |
[13] |
Liu LZ, Lin KY, Huang SX, et al. Instance segmentation for Chinese character stroke extraction, datasets and benchmarks. arXiv:2210.13826, 2022.
|
[14] |
He KM, Gkioxari G, Dollár P, et al. Mask R-CNN. Proceedings of the 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 2961–2969.
|
[15] |
张巍, 张筱, 万永菁. 基于条件生成对抗网络的书法字笔画分割. 自动化学报, 2022, 48(7): 1861-1868. |
[16] |
Isola P, Zhu JY, Zhou TH, et al. Image-to-image translation with conditional adversarial networks. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 1125–1134.
|
[17] |
Ronneberger O, Fischer P, Brox T. U-Net: Convolutional networks for biomedical image segmentation. Proceedings of the 18th Medical Image Computing and Computer-assisted Intervention. Munich: Springer, 2015. 234–241.
|
[18] |
Chen JN, Lu YY, Yu QH, et al. TransUNet: Transformers make strong encoders for medical image segmentation. arXiv:2102.04306, 2021.
|
[19] |
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need. Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: Curran Associates Inc., 2017. 6000–6010.
|
[20] |
Zou BJ, Dai YL, He Q, et al. Multi-label classification scheme based on local regression for retinal vessel segmentation. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 2021, 18(6): 2586-2597. DOI:10.1109/TCBB.2020.2980233 |
[21] |
阳平, 娄海涛, 胡正坤. 一种基于骨架的篆字笔划分割方法. 计算机科学, 2013, 40(2): 297-300. DOI:10.3969/j.issn.1002-137X.2013.02.066 |