背景
一般来说,古代书法家留下的汉字个数是有限的,某些常见汉字会有大量的不同字型留存,而有些汉字只有少数几个。对于 Unicode 汉字字型中的绝大多数,都不可能找不到相应的字型。即便很多字型可以类推,仍然需要专业人员根据已有字型手工的组合与演绎。
书法汉字的批量自动生成
利用计算机的图像生成技术,可以根据古代书法家留下来的少量碑刻或真迹所制作的字型,模拟生成任意汉字的对应写法。本项目所使用的算法根据能够找到的大约 2000-3000 字的汉字,利用训练的模型,可以“学习”到书法家的用笔风格,从而推广到任意的 Unicode 的字符,甚至是错别字。比如,该项目可以使用宋体大字符集字库,按照书法家的笔法,写出对应字体的“汉字”:
图1
比如,赵孟頫从没有写过的字:
图2
书法汉字批量生成的应用
1、可以批量扩充只有少量字型的书法字体。有很多书法字体库,只有常用汉字几千个,甚至无法支持繁体字型,因此要显示有较多超出常用汉字的文档就无法胜任,特别是无法用于显示还有大量异体字的古典文献。该项目的方法可以批量生成美观的书法字体,无论 Unicode 或私有区字符,只要某个字库支持,均可以生成。同时也可以根据任何少量手写体图像,生成任意汉字的写法。
2、该项目当前最重要的实用价值在于生成古籍图像识别的虚拟页面。如果从真实古籍中切取汉字字图,少量汉字会有大量实例,而大量汉字只有少量实例,这对于古籍图像识别来说是非常不利的。而且,即便有大量实例的少量汉字,字型的多样性也不足。因此,利用本项目的技术,增加字型的多样性,大大提高古籍图像识别的准确率,使得古籍图像的识别能够适用多种多样的古籍。
利用上述书法字体批量生成的技术,我们在古籍的光学字符识别(Optical Character Recognition,OCR)上取得了不错的效果。古籍 OCR 是将古籍图像中的文字识别为可供计算机进一步利用的文字。
古籍 OCR 简介
古籍 OCR 是将古籍图像中的文字识别为可供计算机进一步利用的文字。
古籍 OCR 具体包括以下内容:第一步,正确获取古籍页面或版面的数字化图像及相关预处理,比如纠正图像倾斜等;第二步,要对文字、图片、印鉴、表格、标题、段落、版心、图框等版面元素的区块位置进行辨识及性质判断;第三步,根据每一区块的性质,在其中定位并切割出古文行列以及可能的每一个汉字的位置和大小(即行列定位、字定位);第四步,根据定位识别出汉字串,用正确的汉字编码标记每一个汉字 glyph 字型的类别;第五步,根据区块性质以及识别出的汉字及汉字串进行串联读出,形成正确的文字序列;最后一步则是将识别结果,无论是文字还是版式以及各类辅助要素,以合理的方式输出。
基于书法字体生成技术的汉文 OCR 技术
本项目在调研业界有关 OCR 相关技术基础上,与一般的 OCR 技术相比,在没有大量人工切图与人工生成数据的情况下,利用书法字体批量生成单字数据,训练出具有较高准确率的字识别模型,同时有借助伪数据集生成技术,生成大量的古籍页面,并对其进行切分,得到包含详细标注的伪数据集。在此字模型与页面识别伪数据集的基础上,不断通过迭代,通过生成单字,单字增强,单行识别,双行识别,混合行识别,页面分析,分析后处理等多个步骤,并运用于大量真实古籍页面,逐步增强识别的准确率。
图3 模拟生成古籍页面生成示例
模型的正确率
该模型经过有关人员多轮测试,使用《金陵诗徵》《四明续志》《四明它山水利备览》《昌国州图志》以及“再造善本”中部分数据,正确率达到约 95.37%。
图4 模拟生成古籍页面生成示例
当前,本项目的模型对普通版刻古籍的识别率能达到一个很高的准确率,例如,上图古籍的识别的正确率能达到 99%。
图5 模拟生成古籍页面生成示例
而敦煌写经一般手写体的识别率也能达到 90%以上。
模型的扩展应用
古籍识别模型可以扩展到更多的识别应用场景,如民国报纸及杂志、部分民国铅排书籍、碑刻、甲骨文、金文、石刻、篆书、行草、草书等,在版面分析方面,也需要兼容横竖左右文字方向,各种分栏的页面,还有表格的页面等,当然更丰富的识别场景也意味着更多的数据加工支持。