基于光学字符识别技术在核电施工过程中的数据采集研究与应用

(整期优先)网络出版时间:2023-05-19
/ 4

基于光学字符识别技术在核电施工过程中的数据采集研究与应用

甘川1,陈文清2,熊依琳1,林全兵2

1.中核国电漳州能源有限公司,福建 363300

2.北京中核华辉科技发展有限 北京 100048

摘  要:纸质文件及其转化后的PDF等格式的电子文件作为信息的载体,在核电工程建设过程中发挥着重要的作用。随着工程的推进,逐渐产生了大量的PDF格式的文件,有的是从MS office格式文件转化而来,有的是从照片或扫描纸质文件转化而来,每位使用者都需要单独对文件进行处理,这就造成了人工成本比较高、利用效率比较低的状况。AI-OCR智能识别作为一项人工智能技术在文字识别领域得到了广泛的应用。本文结合中核华辉与漳州能源在基于光学字符识别技术在数据收集方面的研究成果,阐述了AI-OCR智能识别及其在核电施工大数据项目中的应用实践。实践表明,在识别系统手册、材料清单、工程量清单等表格类文件方面,比纯人工处理在效率等方面具有显著优势。本文介绍的AI-OCR智能识别技术及在核电工程建设过程中的创新应用,为后续更多智能化技术应用提供参考和借鉴。

关键词:AI智能;OCR识别;数据收集;自动处理;RPA机器人

 


引言

核电是中国清洁能源发展战略的重要组成部分之一,也是能源多样化的现实选择,对于保障国家能源安全具有重要意义。“华龙一号”作为具有完全自主产权的三代压水堆核电技术,是我国核电创新发展的标志性成果。众所周知,核电工程建设需要多产业协同和参与,上下游之间是通过文件来传递数据信息,包括设计、采购、施工、调试、运营等阶段。在核电工程建设过程中,存在大量的纸质文件以及其扫描或转化后的同版本电子文件,这些非结构化的文件存在着存放分散、安全性不高、查找不便捷、使用不方便、处理效率低等诸多问题。例如,PDF图纸中设备清单,是以表格的形式来分割属性的,在常规的人工处理过程中,需要先将其分页复制、合并、整理、校正等步骤后才能形成清单,然后才能共享使用。图纸升版后还需要重复操作一遍。如果采用计算机来实现自动化处理,将极大提高处理效率。

近年来,随着人工智能(Artificial Intelligence,AI)技术的高速发展,在多个领域的应用效果比较明显,采用AI智能OCR识别技术已成为热点之一。但是,AI-OCR识别在技术实现上还存在若干难点,一是如何提取PDF文件的特征,并利用这些特征识别表格或段落的内容;二是如何提高识别率;三是如何将识别的内容结构化输出。

针对上述问题,漳州能源与中核华辉联合研发了AI-OCR智能识别系统(以下简称“AI-OCR智能识别”)。该系统是深度学习技术在核电工程建设业务领域有效应用,解决了PDF文件使用不方便、处理效率低等识别难题,实现了PDF文件的文字识别、表格识别等智能识别及结构化输出。在此基础上,AI-OCR智能识别应用了识别算法的自洽功能(根据样本数量算法自我更新的功能)、表格或段落特征的提取等方面的研究成果,形成了面向核电工程施工过程中PDF文件智能识别的解决方案,并在漳州核电的系统手册、图纸材料清单、经验反馈等方面得到了初步应用和验证。在核电工程建设过程中积极开展AI-OCR智能识别技术的应用实践,对于核电行业实现创新驱动发展、创新保障安全目标具有重要意义。当然,这也是在现有协作分工状态下提出的过渡性解决方案,最终的解决方案还应该是上下游系统间的数据智能互联互通。本文介绍了AI-OCR智能识别技术及其在核电工程建设数据收集方式的应用实践成果,供读者参考和借鉴。

一、AI-OCR系统介绍

1.1 系统总体功能架构

OCR(Optical Character Recognition,光学字符识别),通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程,即针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。简单来说就是将图像信息转换为文字信息输出。

RPA即机器人流程自动化(Robotic Process Automation),是以软件机器人作为“虚拟劳动力”,利用预先设计好的流程化程序脚本,在软件系统上模拟人类的点击、输入等人机交互操作,完成基于规则的重复性工作,如数据的采集、录入、核对、处理等。

系统包含三个模块,分别为RPA模块、AI模块及人工审核模块。

AI模块与人工审核模块部署在同一服务器中,由GPU提供主要算力。

RPA子系统包含三个子项:控制器、建模器及执行器,控制器为单独部署的服务器,由CPU提供主要算力;建模器及执行器为PC客户端应用。

用户通过移动端或者PC端从浏览器应用访问三个子系统。

系统功能架构图如图1所示。

 



1AI-OCR系统功能架构图

 


1.2 RPA模块

RPA子系统总体架构图设计如图2所示。

图 2 RP

A子系统功能架构

 


RPA模块总共分为三个子项:建模器、控制器、执行器。

建模器的主要功能是多人协同建模、搭建脚本、建模调试、脚本执行、执行记录等功能。

控制器的主要功能是注册服务、账号验证服务、负载均衡、任务调度、接口服务、数据缓存等功能。

执行器的主要功能是通信服务、审计服务、连接服务等功能。

1)RPA建模器

建模器是自动化流程设计开发平台。平台中封装了200多种活动组件,用户能够通过拖拉拽的方式,快速创建出简单易用、功能强大的业务自动化流程,实现流程设计,这些流程可以上传至控制器或者执行器中进行管理与执行。

采用高度灵活的流程编辑逻辑,让用户随心绘制自动化流程路径。

具备多平台处理能力,支持浏览器、桌面、应用程序、企业系统等平台识别与操作。

2)RPA控制器

控制器是RPA子系统的中央控制中心,高效连接并管理机器人、AI 服务、任务模板等业务模块,实现各模块的统一管理与协作。

3)RPA执行器

执行器是稳定、高效、安全、可靠的自动化流程执行者。它的主要功能就是执行已经在建模器中开发好的流程任务。

执行器分为无人值守模式和单机模式:

无人值守模式:无需人为干预,或者至少在给定场景或背景的情况下尽可能少的人为干预,机器人可以全天候地执行操作。可以通过多个接口或平台远程访问无人值守模式机器人,管理员可在控制器中实时查看、分析和部署调度、报告、审计和监视它们。

单机模式:助手型机器人,不需要连接网络就能工作,可以帮助工作人员完成简单、重复的任务。但因为其部署在用户的电脑中,用户需要和机器人共同使用一台电脑。

1.3 AI模块

AI模块总体架构如图3所示。

 


图 3 AI模块架构图

 


1)AI模块

管理页面:Web前端页面,提供整个服务的可视化功能,包括模板的新建、查询、修改、删除、使用记录等基本功能。

后台服务:将各个服务串起来的统筹服务,提供restful API。

模板库:配置好的模板仓库。

AI服务——表格分割服务、核心服务,提供表格分割能力。

AI服务——OCR服务:核心服务,提供OCR能力。

2)关键算法介绍

(1)文本检测算法DB

由于分割网络的结果可以准确描述诸如扭曲文本的场景,因而基于分割的自然场景文本检测方法变得流行起来。基于分割的方法其中关键的步骤是其后处理部分,这步中将分割的结果转换为文本框或是文本区域。DB算法也是基于分割的,但是通过提出Differentiable Banalization module(DB module)来简化分割后处理步骤(加了一个变的预测),并且可以通过设定自适应阈值来提升网络性能。

传统意义上,基于分割的文本检测算法,其流程如图4中的蓝色箭头所示。在取得分割结果之后采用一个固定的阈值得到二值化的分割图,之后采用诸如像素聚类的启发式算法来得到文本区域。而DB检测算法流程是下图4中红色箭头所示的,其中不同之处也是核心要素是在阈值选取上,通过网络去预测图片每个位置处的阈值,而不是采用一个固定的值,这样就可以很好将背景与前景分离出来。但是这样的操作会给训练带来梯度不可微的情况,因此对于二值化提出了一个叫做Differentiable Banalization来解决不可微的问题。

descript

4DB算法过程

 


在解决了阈值可微的问题之后,将分割算法与DB module组合起来构建了一个快速且鲁棒的文本检测器,与其他文本检测网络的效果对比结果如图6所示。这个方法的优点表现在:

a.对于水平、倾斜、扭曲的文本表现出了更好的检测性能;

b.由于不需要繁琐的后处理,直接使用DB module产生适应的阈值使得网络提速很多,并且DB module能够生成更加鲁棒的分割二值图;

c.DB module在轻量级的backbone(ResNet-18)也具有很好的性能;

d.DB module在做inference的时候可以直接移除,而不会损失性能,因而减少了这部分的时间与资源消耗。

DB的网络结构:

输入的图像经过不同stage的采样之后获得不同大小的特征图,之后这些由这些特征图构建特征金字塔,从而构建出统一尺度的特征图,之后这个特征图用于预测分割概率图与阈值图,之后将分割概率图与阈值图结合得到估计的二值图,如图5所示。

 



descript

5 分割概率图结合阈值图所得的二值图

 


(2)文本识别算法CRNN

整个CRNN网络可以分为三个部分:

a.Convolutional Layers

这里的卷积层就是一个普通的CNN网络,用于提取输入图像的Convolutional feature maps。

b.Recurrent Layers

这里的循环网络层是一个深层双向LSTM网络,在卷积特征的基础上继续提取文字序列特征。

c.Transcription Layers

将RNN输出做Softmax后,为字符输出。

(3)表格检测算法

基于从PDF中截取包含表格的原始图片页,然后进行倾斜表格纠正操作:

a.转成灰度图;

b.自适应二值化;

c.直线检测;

d.采用一些过滤机制,选取合适的直线;

e.计算这些直线的斜率;

f.过滤部分斜率,计算剩下斜率的平均,转换成角度;

g.根据倾斜角度做透视变换摆正图片。

如果二值化图检测的角度不是0,则需要重新进行倾斜表格纠正操作。如果二值化图检测的角度是0,会分别提取横线二值化图和竖线二值化图,然后检测直线计算角度并摆正图片,再进行表格分割:

a.自适应二值化;

b.分别构造腐蚀和膨胀的横线和竖线的卷积核;

c.做开运算;

d.得到mask标签;

e.找到所有矩形框;

f.使用NMS等算法过滤矩形框;

g.根据表格之间的距离等因素鉴别异常框;

h.得到最终的框部分。

1.4 人工审核模块

算法是有识别率概念的,识别率高也会有识别错误的情况,例如0和o,1和I等,所以还是需要由合适的人员来参与对识别结果的审核,审核后的数据再以JSON格式向下游输出。

提供前端页面供用户审核。通过系统提供的待办任务清单打开网页形式的审核页面,总体布局左侧是原始PDF页,右侧是识别后的内容(包括表格和识别内容)。

在页面中,第一,点中右侧的表格可以映射到左侧的PDF页上的表格框;第二,可以修改识别内容栏数据;第三,对于异性的表格,识别后会产生表格的错乱,页面通过提供表格的增加删除行列等功能。

通过页面提供的相应功能,实现人工审核的工作,但通过模型的调优等后续完善工作尽量减少人员的工作量,提高工作效率。

二、AI-OCR系统在核电施工中的应用实践

2.1待识别文件的准备

系统中待识别的文件包括系统手册、图纸材料清单、经验反馈等带有表格或较为规整的题头的PDF文件。

第一步,通过工具软件Kettle定时从第三方系统中搜索需要识别的文件,然后获取PDF文件实体,并将文件上传到SFTP目录下。

第二步,在获取识别的PDF文件后,同时Kettle需要在Kafka的消息队列中生成一条消息,其中包括PDF文件在SFTP上的位置信息。

第三步,生成的消息,由RPA模块获取并根据消息中文件的地址获取对应的PDF文件。

使用Kafka消息队列的方式进行上下游的数据传递有着较大优势,一是降低系统的耦合度,便于系统的移植和匹配;二是发挥Kafka消息队列的巨大处理能力(十万条/秒),为大数据量处理留足裕量。

2.2模板特征提取及输出模板定义

通过前文介绍的文本检测算法DB和文本识别算法CRNN,再加上表格检测算法,系统可以直接从PDF分页文件中提取表格内容特征,在本项目中择表头作为表格特征形成表格特征组合,依此来识别和匹配下文的模板。

对于相似度很高的多个表格特征需要注意的是系统采用的是特征数量优先的原则。

模板是输出识别数据的格式,一般是按照表格的顺序逐一排列。系统中模板的数量多少取决于表格表头的样式多少,系统应用在核电施工过程中系统手册的表格识别大约近80种模板,主要原因是上游的图纸内容格式没有规范输出。

输出数据按照模板样式生成JSON串,并向下一步输出。

2.3RPA调度执行

在2.1和2.2已经准备好的基础上,由RPA负责调度执行相关的功能模块,实现自动化的流程处理。具体步骤如下:

第一步,调用获取Kafka消息模块,并

 


根据消息获取存放在SFTP上的PDF文件。

第二步,调用文本检测算法DB,将分割算法与DB module组合起来构建了一个快速且鲁棒的文本检测器,实现对页面的水平、倾斜、扭曲等更好的处理效果。

第三步,调用文本识别算法CRNN,实现对分割区域的文字识别。OCR的智能识别模型在前期是需要根据数据进行训练的,在达到一定的识别率之后才能部署后使用,而且在人工审核修改后的数据会反馈到模型中,作为提高识别率的基础数据。

第四步,调用表格检测算法,根据PDF的特征值确定要使用的模板,再根据模板对应的数据项,把表格中的项与模板中的项相对应,形成结构化数据后输出。

第五步,生成结构化数据后,将数据暂存在数据库中,并生成人工审核待办任务项。

2.4AI智能识别

在2.3调用OCR识别模块后,在核电工程建设过程中实际应用的过程及效果,首先是截取PDF的原始图片,然后是进行二值化处理,选取二值化直线,再就是进行表格检测。

2.5人工审核及输出

调用AI智能识别后得到的结构化数据,是需要人工参与审核的,毕竟算法是有识别率的,识别率再高也会有识别错误的情况。需要人工参与进行校验后,才能将最终的数据提交至下游节点使用。在人工审核页面,用户可以对可视化表格结果进行添加、修改、删除单元格和删除行,可以对OCR结果进行修改后提交,即可将审核后的数据传递到下游Kettle进行入库处理,供其他功能使用。

三、总结与展望

应用本系统后,除在人工审核环节仍需要安排人员参与之外,其余环节全部可以实现自动化处理。将PDF非结构化文件转换为结构化数据,有效提高了数据的利用效率。

本文针对核电工程建设过程中产生的大量PDF文件存在着存放分散、安全性不高、查找不便捷、使用不方便、处理效率低等诸多问题,给出了基于AI-OCR智能识别系统的解决方案。本文介绍了AI-OCR智能识别系统及其关键技术,并介绍了该系统在核电工程建设过程中的应用实践。实践表明,本系统能够有效应用于系统手册、图纸材料清单、经验反馈等PDF文件的结构化处理,能够将人力资源从费时费力的重复性工作中解放出来,并能显著提高数据的利用率。

未来将进一步提高AI-OCR智能识别在核电工程建设过程中的应用实践的广度和深度,例如办公自动化、邮件处理等方面。另外,还将继续提高文字的识别率,提高模型的识别精度,并将扩展系统的适用范围,不断完善系统的可用性和易用性,为核电行业赋能,促进行业提质增效。

参考文献

[1]史万春. 机器人流程自动化[J]. 上海质量, 2019(2):4.
[2]MA Accessibility. Microsoft UI Automation[J].  2015.
[3]温照松, 易仁伟, 姚寒冰. 基于WebSocket的实时Web应用解决方案[J]. 电脑知识与技术:学术版, 2012, 8(6):3.
[4]吴继安, 杨超宇. 复杂环景下的文本检测与识别算法的研究[J]. 绥化学院学报, 2021, 41(8):4.
[5] Fu X ,  Ch'Ng E ,  Aickelin U , et al. CRNN: A Joint Neural Network for Redundancy Detection[J]. SSRN Electronic Journal, 2017.