1、计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering184甲骨文是中国迄今发现最早的文字系统,研究与揭示其含义对于揭示中国古代社会制度、居民生活和重大历史事件具有重要意义。传统的甲骨文研究包括甲骨片缀合、字义考释、甲骨字组类划分等研究内容,但由于甲骨文距今年代久远,甲骨文的书写形式和基本语法规则与现代文字有着很大的不同,加之缺乏足够的甲骨文相关传世文献,传统研究在考释、缀合等重要研究方向面临巨大瓶颈。计算机技术的发展使得甲骨文相关史料、文献得到数字化保存,同时也给利用计
2、算机处理和研究甲骨文提供了基础条件。利用计算机技术进行甲骨文识别能够实现大规模甲骨文数据的高效处理,已成为了甲骨文信息处理研究领域的重要研究方向:首先,甲骨学研究需要大量的古文字知识储备与积累,通过有效的计算机识别检索技术,可以挖掘甲骨文史料信息中更为深入的关联关系,为甲骨缀合、文字考释等研究瓶颈的突破提供技术手段支持。其次,甲骨文具有重要的文化属性,有效的甲骨文识别技术能够使得普通群众更容易的接触、了解甲骨文,便于中华优秀传统文化的推广。甲骨文有三种主要载体形式:拓片、照片以及手写甲骨文。其中手写体也称为临摹体,是甲骨文数字化,甲骨学研究以及甲骨文文创等领域重要的载体形式。现有诸多大型甲骨文
3、数据平台均提供以手写体为主要形式的字库,例如“殷契文淵”甲骨文大数据平台提供了标准的手写体字库,并与甲骨文著錄数据、甲骨文文献数据进行了关联1。手写甲骨文识别研究可更好的服务于甲骨文检索、相关资料查找以及知识关联等用户需求。有效的方法可以识别出各类形式的手写输入,满足专业、非专业人士进行文字查询、文献搜索,进而促进甲骨学研究以及甲骨文文化传播的发展。目前,甲骨文识别研究大多以甲骨拓片为处理对象,通过传统机器学习以及深度学习等方法的应用进行文字识别,对于手写甲骨文识别研究尚无针对性、系统全面的研究成果。本文以手写甲骨文为研究对象提出了一种基于 EasyDL 的手写甲骨文识别方法,针对手写甲骨文数
4、据集的特点提出了预处理方案,在此基础上利用EasyDL 平台智能算法实现处理识别过程,能够准确、快速的识别各类输入类型的手写甲骨字。1 相关工作与分析由于尚未有统一的文字编码,甲骨文在识别研究过程中一般被当作图片进行处理。基于传统机器学习的识别方法通过分析其图形图像特点将其转化成相应的结构编码等形式,再利用诸如支持向量机、K 邻近等分类算法对结果分类,实现甲骨文的识别。已公开方法中,比较具有参考价值的方法有:刘永革等人提出了一种基于支持向量机(SVM)的识别算法,实现了针对甲骨文图片的识别,并获得了 80%多的准确率2。曲恒熠等人以甲骨文拓扑结构为分析对象,通过大量文字结构分析,构建了甲骨文拓
5、扑特征点、连通域等拓扑特征关系,再利用相似性比较等方法实现了甲骨文的识别3。顾绍通将甲骨文平面图形分为了四个象限,利用分形几何原理将甲骨文表示成相应的描述码再通过与甲骨文字形的分形特征库进行配准实现甲骨文的识别4。基于 EasyDL 的手写甲骨文识别研究王楠王超杰焦清局(安阳师范学院甲骨文信息处理教育部重点实验室 河南省安阳市 455000)摘要:本文针对手写甲骨文书写风格多样、形态不确定性强、数据形式多源、甲骨文缺乏统一编码等问题,提出了一种 EasyDL 深度学习平台的手写甲骨文识别方法。该方法借助于 EasyDL 图像分类模型,根据手写甲骨文数据集特点,设计了数据扩充过程,利用高精度训练
6、方法,最终实现了在线手写、拍照上传等方式手写甲骨文的准确识别。关键词:甲骨文识别;EasyDL;图像分类;计算机技术本研究受河南省重点研发与推广专项(科技攻关)(222102320036,222102210257,222102320189)项目支持。计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering185基于甲骨文拓扑结构、字形特点并通过传统机器学习算法进行识别的甲骨文识别方法针对线条简单的甲骨文有着很好的识别效果,但在处理结构复杂的文字时仍然存在一些问题,特别是合体
7、字并且具有较多笔画时识别效果较差。手写甲骨文除上述特点外,识别效果受录入甲骨字的规范程度影响较大,因此采用传统识别方法需对算法本身进行较大的改进。基于深度学习的甲骨文识别方法通过对拓片上的甲骨字进行检测,然后利用 CNN、YOLO、Inception v3等深度学习模型实现甲骨文的识别。具体方法包括:Liu 等人使用深度卷积神经网络对甲骨文识别进行了研究,通过深度学习模型对样本的学习等过程能够较为准确的识别出特定类别的甲骨文5。Fujikawa 分阶段使用MobileNet 以及 YOLO 模型更为全面准确的对甲骨文进行了识别研究6。Meng 等人在提出了一种数据扩充方法的基础上通过深度学习进
8、行了甲骨文识别研究7。基于深度学习算法进行甲骨文识别研究,在处理能力以及识别效果上与传统的机器学习方法相比具有一定优势,但仍然存在一定问题,主要如下:首先,研究者基于 CNN、YOLO、Inception-v3 等深度学习模型进行甲骨文识别,受限于可获得的甲骨文拓片数据集规模,识别准确率相对较低,研究方法大多处于实验室级别,尚未进一步大规模实际应用;其次,现有相关研究提出的识别算法在执行效率上仍有所欠缺,响应时间等仍有进步空间;最后,针对甲骨文拓片的识别处理使用的都是裁剪后的拓片图像,其形式不具有手写体的录入方式的多样性,现有方法难以直接应用于手写甲骨文识别。手写甲骨文与拓片形式的甲骨文在文字
9、笔画、结构以及图像特点等方面都存在差异性,加之现有基于深度学习的方法以及基于传统机器学习识别方法仍存在一定的问题,前者在执行效率上还尚未有很好的应用,而后者在处理复杂文字或者由于书写习惯与模板具有较大差异时识别准确率偏低,本文将基于智能化的 EasyDL 平台实现手写甲骨文的识别。2 方法框架与步骤2.1 总体框架手写体甲骨文具有甲骨文本身字形特点,又兼具了手写体的笔画线条特征,本文在深度学习框架下进行识别研究以期获得更好的识别准确率。EasyDL 是一个智能化的 AI 平台,提供了以多种深度学习模型为基础的智能框架,可根据需要订制相应的功能模型,并保证识别效果最大化。本文将基于 EasyDL
10、 构建手写甲骨文识别模型,具体识别框架如图 1 所示。手写甲骨文识别主要包括数据处理以及识别算法流程两个部分。数据处理过程通过样本预处理、样本标注对现有的手写甲骨文数据集进行优化,能够为后续基于EasyDL 的识别方法提供更为有效的数据基础。识别流程则基于 EasyDL 提供的针对已有数据集的相关识别方法,通过参数设置以及过程控制实现手写甲骨文的识别。2.2 识别过程手写甲骨文识别基于 EasyDL 平台图像分类功能进行应用,主要包括:创建模型、数据准备、训练模型以及部署模型四个步骤,具体使用图像分类模型实现手写甲骨文识别流程如下:2.2.1 创建模型平 台 图 像 分 类 功 能 预 置 了
11、 Resnet(50,101)、Se_Resnext(50,101)、Mobilenet Nasnet、Inception Series 等深度学习算法。训练模型可根据需求选择高精度、高性能、AutoDL Transfer 等不同形式,为了保证识别效果,本文选择高精度方式,通过 PaddlePaddle 深度学习框架结合 Auto Model Search 选择与数据处理最为匹配的算法构建手写甲骨文训练模型。2.2.2 数据准备2.2.2.1 数据扩充方法图 1:识别框架计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Tech
12、nology&Software Engineering186本文使用的手写甲骨文数据集来自于殷契文渊甲骨文大数据平台提供的公开数据。由于该数据集提供的每个甲骨字训练样本数量在 19 至 24 个之间,与 EasyDL模型要求的至少需要 50 个以上样本数的标准有一定差距,因此在数据准备阶段需要对现有数据集进行额外的扩充处理。考虑到目前实际的手写甲骨文录入方式一般都是在白色画板或者白色纸张上进行书写,因此采用扩充样本背景大小的方式实现样本数量的增广,如图 2 所示。数据集中每个训练样本原本的背景大小为 400px 400px,为了获得更为丰富且有效的样本,在甲骨字字体大小不变的情况下,将背景变分
13、别转化成420px420px 和 450px450px 以完成样本扩充。通过该过程,每一个甲骨字的样本数量从 19 至 24 个扩充至 57至 72 个,进而满足识别模型对于数据样本数量的要求。2.2.2.2 数据标注殷契文淵提供的数据集中,每一个甲骨字都是单独的图片,不需要再进行类似甲骨文拓片的文字检测工作,可直接开展文字样本的标注工作。数据集中总共包含三千多个甲骨字,每一个甲骨字样本的数量在 57 至 72个之间,纯人工标注费时费力效率低下,因此本文采用半自动化的方法实现样本标注,主要过程如下:(1)对原始甲骨字样本以及扩充样本进行文件归类;(2)利用 NodeJS 对数据集批量生成标注;
14、(3)按照 EasyDL 要求对处理后的数据集进行上传。2.2.2.3 数据集划分方法使用 EasyDL 平台处理数据时,单个模型支持的标签类型上限数量为 1000。数据集中包括的甲骨字共有3000 多个,使用单个模型难以完成识别任务。为了实现数据集处理的全覆盖,需要对其进行分组,按照单个模型处理上限以内的数量进行划分,每组数据集对应一个模型。经过实际测算,每一个模型处理数据标签数量超过 995 时,运行效果会出现不稳定的情况,因此在进行甲骨文分组时将每 950 个甲骨字划分为一组,每组划分时的文字选取测量采用随机采集测量,若有不够 950 字的分组则按照实际数量进行处理。2.2.3 训练模型
15、EasyDL 平台提供了可选择的模型训练方式,其中高精度方式通过 PaddlePaddle 深度学习框架结合 Auto Model Search 选择与数据处理最为匹配的算法构建手写甲骨文训练模型,过程如图 3 所示,具体为:基于用户数据特征以及任务需求,Auto Model Search 从模型库中选择最优模型以及确定相关参数,通过数据集处理分析过程得到训练模型以供识别使用。因此针对手写甲骨文识别的训练模型选择高精度方式进行处理。2.2.4 部署模型模型训练完成后,若校验模型通过则可在公有云部署已经训练完毕的手写甲骨文识别模型用以识别使用。3 实验与分析经过上述过程,可进行实际手写甲骨文的识
16、别。为了验证模型有效性,测试样本将使用三种输入形式进行测试:第一类为通过计算机手写板临摹甲骨字进行输入,第二类为在白纸上书写甲骨文拍下图片进行输入,第三类为殷契文渊字库之外的字库或者书法甲骨文图片。测试样本文字的选择范围为殷契文渊字库中提供的可训练文字。为了更好的进行各类手写甲骨文的录入本文构建图 2:数据扩充示例 图 3:高精度方式训练模型过程计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering187了相应的前端系统,如图 4 所示每个测试样本文字总数在 10 至 15 个,包括了上述画板输入、手写拍照以及外来字库甲骨字图片三类输入类型,每类包含 2 至 7 个样本。对于手写字体在规范性上采用较为工整的输入方式进行录入。对于识别结果采用准确率指标进行评价,表 1 为三种输入类型测试样本总体识别准确率统计结果。表 1:识别准确率样本类型识别准确率画板输入98.7手写照片98.3字库图片99.6从统计结果中可以看出,基于 EasyDL 构建的手写甲骨文识别系统对于