印章识别问题的特点

与普通场景下笔墨识别问题比较,印章识别具备一些独占的特点,而这也正是它的难点所在:

1. 印章样式的多样性强:印章从种类上分有公章、财务章、条约章等,从形状上看有圆章、方章、椭圆章等,印章笔墨的排布办法、笔墨的阅读顺序都有各种变革。

2. 随意马虎有背景滋扰:文档中盖章区域的背景多种多样,背景上的笔墨与印章笔墨每每会形成遮挡滋扰,影响印章的识别。

来也技能团队|来也智能文档处理系统中的印章识别实践

3. 印章图像质量受影响成分更多:印章由人加盖于文档上,由于印泥质量,用印力度等成分的影响,印章图像随意马虎涌现色彩不均,字形模糊的征象,质量较差的印章笔墨人眼乃至都很难分辨。

印章的多样性,表示在形状,阅读顺序

背景滋扰、印泥缺失落、字迹模糊

印章识别的一样平常流程如下:

个中的两个紧张步骤分别是印章位置检测与印章笔墨内容识别。
下面紧张先容一下这两个步骤的常用方法,以及来也科技在实践中选择的方案。
印章位置检测印章位置检测须要从文档图像中定位印章主体所在的位置,这是一种范例的目标检测场景,现在已有很多基于深度学习的目标检测方法,如RCNN系列,YOLO系列等。
这个任务本身比较经典,在此不做过多描述。
值得解释的是,这些目标检测方法基本都为“硬标签”学习,即每个目标只有一个标签。
但印章本身还具有形状和颜色这两个很主要的属性,很多情形下希望在得到印章位置的同时,同时还可以得到这两个属性值。
因此,我们选择在传统的yolov5目标检测框架上进行改进,同时输出印章的位置、形状、颜色。
为达到此目的,我们紧张改进了yolov5方案中的两个处理:

1. loss打算:打算分类丢失时的标签为多标签,同时利用带有sigmoid操作的交叉熵打算loss:在演习过程中计算loss利用的标签将其组织成[1, 0, 0, 0, 0, 1, 0]格式,同时利用torch.nn.BCEWithLogitsLoss() 打算loss。
2. 后处理nms:我们利用组合多种别nms代替原始的类间nms操作:yolov5中原始自带的nms操作为torchvision.ops.nms(),会忽略掉每个Bbox的种别信息,因此在模型后处理时利用tf.image.combined_non_max_suppression()进行nms操作,该方法会考虑每个Bbox的种别信息。
印章笔墨识别在确定了印章的主体位置并相应的裁切图像之后,印章笔墨的识别与场景笔墨识别的流程很类似,紧张有两种可选择的策略:1. 两阶段:即笔墨检测+笔墨识别先利用笔墨检测模型检测到图片内的笔墨item,该检测模型须要能检测不规则形状的文本行,再利用笔墨识别模型识别文本行的笔墨内容(印章内笔墨识别须要利用文本纠正方法将曲形的文本拉直后进行识别)。

乃至还可以选择检测印章中的各单个字符,然后逐个字符识别后再按照一定的读取顺序规则将单字识别结果进行串联,得到印章笔墨识别结果,

2. 一阶段:即端到端笔墨识别。
此即由模型直接从含有笔墨的输入图片,预测出图片内的笔墨内容,减少中间处理过程。
两阶段的OCR识别方法,检测方法与识别方法之间相互独立,无法进行联合优化,识别的效果会强依赖于检测结果。
与之比较,端到真个OCR识别方法框架大略,同时会避免分阶段演习产生的偏差积累。
因此,我们认为印章笔墨识别这个场景下,能够端到端演习的模型会具备更大的潜力,以下就先容几种我们调研过的范例模型。
端到端笔墨识别方法Mask-TextSpotter系列Mask-TextSpotter系列方法是由白翔团队从2018年提出的一个可端到端演习的文本检测与识别方法,可以对任意形状文本操作。
模型紧张由两部分组成:基于实例分割的文本检测器;基于字符分割的笔墨识别器。
Mask-TextSpotter v1 模型整体构造如下:该方法受到Mask RCNN的启示,在特色提取之后参与两个分支,分别进行文本区域检测和天生文本实例分割图与字符分割图(字符分割图数量为字符集个数+1)

Mask-TextSpotter v2 在v1的根本上给识别分支添加了空间把稳力(SAM)模块。
Mask-TextSpotter v3 在v1和v2的根本上提出了一个新的构造Segmentation Proposal Network(SPN)代替原来的RPN网络,SPN属于一种U型构造,可以领悟不同尺寸的特色图之后进行分割得到笔墨候选区域。
Mask-TextSpotter 系列可以将文本检测与识别放在同一个网络中进行端到端演习,可以避免两阶段OCR识别中的中间人为偏差, 但是该系列须要字符级标注,标注本钱较高,须要标注笔墨的轮廓区域,对笔墨的阅读顺序不敏感,而且识别分支须要为每个字符天生一个分割图,用来识别汉字时,会天生大量的分割图,增加打算量与内存利用量。
ABCNet系列ABCNet是由华南理工大学在2020年提出的,该方法提出了一个可适应于任意形状文本的参数化贝塞尔曲线,设计了一个新的BezierAlign对齐层,可以精准的提取任意形状文本实例的特色 ,与标准的bbox检测方法,bezier曲线检测方法只引入了一个可忽略的打算量,整体模型框架如下:

检测框架利用了一个signal-shot,anchor-free的卷积神经网络 ,在检测头将每个文本的检测转换成文本行高下两条曲线的检测,每条曲线利用一个三阶贝塞尔曲线拟合。
识别分支利用传统的crnn网络加ctc的方法。
ABCNet v2 在此根本上,将识别分支改为利用attention模块解码,骨干网络采取双向多尺度金字塔构造,用来检测不同尺度变革的笔墨特色。
同时针对v1演习中,识别分支的feature map与检测分支不共用的问题进行改进,首先对检测结果利用NMS肃清冗余框,利用文本实例的真实掌握点与每个检测框的掌握点的和的最小差,得到检测框并进行识别ABCNet 系列虽然不须要字符级标注,但紧张还是两阶段的策略放入一个模型中演习。
检测与识别中间的过程处理比较麻烦。
PGNetPGNet是由百度提出的一个多任务单级文本检测器,可以实时识别任意形状的文本,且供应了基于PaddlePaddle框架的源码。
PGNet把笔墨检测和识别归为以下四个任务:text center line(TCL,文本中央线检测)text border offset(TBO,文本边框偏移)text direction offset (TDO,文本方向偏移)text character classification map(TCC,文本字符分类map)同时,提出PG_CTC loss,避免字符级标注,利用PG_CTC loss,直接从2维空间得到 high-level 字符分类向量,提出GRM(图改动)模块,提高端到端表现。
PGNet的整体模型构造如下图:

在演习阶段:TBO,TCL,TDO利用相同尺寸大小的label map,pixel-level TCC map模块利用PG-CTC loss办理短缺字符级标注的问题。
在推理阶段:从TCL中计算每个文本区域的中央线,按照TDO的文本可读方向排序,规复阅读顺序,从TBO中提取边界偏移信息,通过多边形回归得到每个文本区域的检测结果,同时PG-CTC 编码器可以将二维的TCC map序列化为字符概率序列,并解码为终极的文本识别结果。
PGNet不须要NMS和RoI操作。
TCL map中可以打算文本区域的中央点序列 ,并按照可读方向排序,特殊的,还采纳了一种形态学的方法,得到文本区域的骨干,作为中央点序列。
从TDO map中得到每个点的检测结果,通过打算所有点的均匀方向并根据投影长度方向进行排序,得到中央点序列。
PGNet在演习中与Mask-TextSpotter类似,须要天生字符集个数级别的分割图,用来预测笔墨序列。
在中文场景下,模型会变得臃肿,且在演习天生groundtruth时中,须要每条文字字段的高下两条包围曲线点的个数相同,天生不同任务对应的标签,须要比较麻烦的预处理事情。
TrOCRTrOCR由微软亚洲研究院在2021年提出,它采取了Transformer 构造,包括图像 Transformer 和文本 Transformer,分别用于提取视觉特色和建模措辞模型,并且采取了标准的 Transformer 编码器-解码器模式,其构造如下图:

在TrOCR中,编码器用于获取图像切片的特色,解码器以自回归办法天生文本序列,某一步的解码器输出会关注编码器的输出和之前已天生的文本序列。
对付编码器,TrOCR采取了 ViT 形式的模型构造,详细的参数初始化可以用DeiT或者BeiT。
编码器归一化输入图像的尺寸,并将其切片成固定大小的正方形图像patch,以形成模型的输入序列。
模型保留预演习模型中的分外标记“[CLS]”代表整张图片的特色,对付 DeiT 的预演习模型,同样保留了对应的蒸馏token,代表来自于西席模型的蒸馏知识。
而对付解码器,TrOCR则采取原始的 Transformer 解码器构造,参数初始化利用RoBERTa。
与前面三种先容的模型不同,TrOCR不仅利用了大规模无标注数据预演习的图像和文本Transformer初始化其模型,还基于从两百多万PDF文件中自动合成出的六亿多条标注笔墨条款数据,进行了笔墨识别预演习,微软也开放供应了不同繁芜度的TrOCR预演习模型。
下贱OCR任务的开拓职员须要对目标场景数据进行标注,在预演习模型上进行微调。
在对几种端到端笔墨识别模型进行了大量实验与比拟之后,我们终极选择了基于TrOCR模型进行印章笔墨识别。
来也在印章识别上的实验如上所述,我们采取改进后的yolov5框架进行印章检测,采取TrOCR进行印章笔墨识别。
我们的演习数据中包含了2万多张真实标注的印章图片,以及30多万张利用印章模版和phtoshop script脚本合成的印章图片。
在印章笔墨识别中,我们采取了如下这些图像增强办法:随机resize,仿照拍照情形下,间隔目标远近造成的印章尺寸大小问题随机角度旋转,仿照任意角度下的盖章情形随机添加纹理特色,仿照盖章情形下印泥缺失落,印泥色度不均等情形在hsv颜色空间进行随机扰度,仿照真实场景下印章色度,饱和度不均等情形透明通道利用随机像素值添补,仿照真实场景下印章与背景笔墨相互遮挡与背景滋扰等情形

印章的方向会随着盖章的方向发生变革,笔墨的方向也会随之改变,组织label时我们考虑了两种阅读情形,从上到下阅读顺序,从右至左阅读顺序。
设置了两种不同的分外符号“$$”和“”代表两种不同阅读顺序的换行符。

图片

label

兴业银行株式会社$$投资银行部

柴姣之印

在我们的实验中,我们比较理解码器自回归输出下BeamSearch模式和Greedy模式的效果,后者仅较前者在笔墨条款F1(下面有定义)有0.4%的低落,而推理速率会快的多,因此我们采取Greedy模式。
除此之外,在将模型转换为线上做事的serving模型时,我们也把稳利用了Transformer QKV打算时能够cache的特性,只管即便省却每个步骤中与此前步骤的重复打算,提升推理速率。
为了衡量印章识别的效果,我们设计了两个评测指标,分别是印章存在性F1,以及印章笔墨识别条款F1,两者的定义如下:存在性准确率:精确的检测个数/总印章检测个数存在性召回率:精确的检测个数/总印章存在个数存在性F1:2 召回率 准确率 / (召回率 + 准确率)笔墨条款准确率:精确的识别个数/总印章笔墨条款识别个数笔墨条款召回率:精确的识别个数/总印章存在个数笔墨条款F1:2 召回率 准确率 / (召回率 + 准确率)

我们的测试集涵盖了13个场景的真实印章图像数据,在印章存在性F1和印章笔墨条款F1这两个指标上均超过了 OCR 头部厂商:

下面是来也印章识别的一些测试用例

印章识别已经在来也智能文档处理平台上线。
点击demo,体验一下

文中涉及论文链接:

Mask textspotter V1:https://arxiv.org/pdf/1807.02242.pdfMask textspotter V2: https://arxiv.org/pdf/1908.08207.pdfMask textspotter V3: https://arxiv.org/pdf/2007.09482.pdfABCNet:https://arxiv.org/pdf/2002.10200.pdfABCNet V2:https://arxiv.org/pdf/2105.03620.pdfPGNet:https://arxiv.org/pdf/2104.05458.pdfTrOCR:https://arxiv.org/pdf/2109.10282.pdf

本文作者:刘凤楠

关于来也科技

来也科技RPA+AI现已开放免费利用社区版,要想体验智能自动化平台产品,您可点击链接试用!

更多关于LAIYE 智能自动化等问题,欢迎上岸

来也科技(北京)有限公司官网

理解!
更有免费专属一对一教练为您供应解答迷惑!
也可私信来也科技咨询理解!

来也科技作为中国乃至环球的智能自动化领军品牌,为客户供应变革性的智能自动化办理方案,提升组织生产力和办公效率,开释员工潜力,助力政企实现智能时期的人机协同。
来也科技的产品是一套智能自动化平台,包含机器人流程自动化(RPA)、智能文档处理(IDP)、对话式AI(Conversational AI)等。
基于这一平台,能够根据客户须要,布局各种不同类型的软件机器人,实现业务流程的自动化,全面提升业务效率。
目前,来也科技帮助电力,银行,保险、通信、零售等多行业的企业客户,以及数字政府、公共医疗、高校职教在内的公共奇迹领域,实现了各种业务场景的深度打破与打通,构建起了端到真个自动化办理方案,已做事超过 200 家 500 强企业,200 余个省市政府及上千家中小企业,2021年《财富》天下500强榜单前十名企业中,7 家在利用来也科技的智能自动化产品。

同时来也科技拥有着最完善的RPA开拓者生态社区,社区用户目前近70W!
拥有大量智能自动化在各领域的运用案例!
欢迎加入来也开拓者社区互换!