点击领取AI产品100元体验金,助力开发者高效工作解决文档难题:

AI产品专享礼遇

总结

合合信息技术团队经过调研复现以及对比实验,对于上述几个印章识别的解决方案,有以下总结,如下表所示:

技术方案

优点

缺点

印章文本检测+文本矫正(optional)+文本识别

检测与识别模块可独立优化

适用不同类型印章识别

速度慢

维护成本高

印章端到端检测识别

模型pipeline简单

速度快,便于维护

很难训练

不适用方章等特殊印章

印章序列预测方案

模型pipeline简单

适用不同类型印章识别

模型容易过拟合

可解释差

无法给出文本位置

引言

随着社会经济的发展,印章作为企事业单位、社会团体、政府部门乃至国家的一种具有法律意义的标志和证据,在现代社会生活中发挥着重要作用。随着现代商务活动的不断发展,企业在业务开展的过程中通常会涉及大量的合同签署归档工作,以往会采取人工审核合同照片的方式来判断合同签署的双方是否都加盖了公章,但是这样做人工审核时间成本高、人力成本高,因此,印章识别可自动提取出印章文本,从而实现计算机替代人工审核比对,解决合同管理工作中人工审核时间成本高、人力成本高的难题,降低财税及商务合同签订过程的业务风险,使商务连接更加高效和便捷。

常用印章

日常工作中常见的印章有:公章、财务章、法定代表人章、发票专用章、合同专用章。

技术难点

回到本文的介绍主题,本文希望通过介绍印章识别和常规文本行识别的对比,来阐述两者的差异,从而让读者建立一个较为具象的认知。

对比纬度

常规文本行识别

印章识别

示例图像

文字形状

矩形/四边形

任意形状

文字遮挡

一般而言是无遮挡的独立文本行

大概率存在不同程度的遮挡和背景干扰

重叠

排版方式

千奇百怪,方形、椭圆形、圆形等各种形状差异都很大

阅读顺序

人类自然阅读顺序

从左到右

从右到左

无序

受盖章方向影响

OCR领域中较少关于印章文字识别的研究,但是合合技术团队研究论证认为,自然场景文本识别的一些技术可以应用于印章识别。本文下面将介绍一些印章识别的技术方案。

印章识别主流方案

印章识别系统的输入是一张经过裁剪的印章图片,输出是印章中所有文本的坐标框和识别结果,流程如下图所示:

下面介绍一些印章识别的技术方案。

印章文本检测+文本矫正(optional)+文本识别

第一套印章识别方案是传统的级联系统:

经过裁剪的印章图片,首先经过一个支持曲形文本检测的文本检测模型获取文本坐标框,其输出可以直接送入文本识别模型得到最终的识别结果;也可以先利用一个TPS[1]矫正模块,将所有曲形文本拉直成水平文本行图片,再送入文本识别模型。

下面简单介绍一下其中重点模块的选型。

文本检测模型:近年来基于深度学习的场景文本检测领域取得了重大进展,有很多成熟的曲形文本检测方案可供选择,大体上分为两类:

  • 基于回归的检测模型,比如Mask RCNN[2]、EAST-like[3]和TextRay[4];

  • 基于分割的检测模型,比如PSENet[5]、CRAFT[6]和DBNet[7]。

下面以EAST-like(该模型没有名称,暂且称为EAST-like)为例做简单介绍:

上图是EAST-like的标签生成示意图和网络结构,该模型对经典的EAST[8]模型进行了扩展,通过增加回归点的数目来支持多边形检测;使用了多尺度预测来改善目标的尺度变化问题;另外在Loss方面也做了改进。

文本识别模型:从解码方式来划分,目前学术界主流的文本识别模型分为两类: CTC和Attention。

  • 基于CTC的代表模型是CRNN[9],速度快,性能稳定,不过只能处理水平文本行图片(需要先经过TPS模块将曲形文本进行拉直);

  • 基于Attention的识别模型有两种思路,第一种是先通过STN[10]进行矫正,然后送入1D Attention的识别模型进行端到端训练,代表模型是ASTER[11];另一种是抛弃STN模块,直接基于2D Attention解码完成(曲形)文本识别,比如SAR[12]、MASTER[13]和SATRN[14]。最近学术界流行的基于多模态的文本识别模型如ABINet[15]、VisionLAN[16]等,其实可以看作是2D Attention模型的延伸。

下面是经典的CRNN模型的网络结构:

CRNN模型由三部分组成: 卷积层、循环层和转录层。卷积层负责提取图像特征;循环层通过BLSTM进行序列建模,进一步改善特征表征;最后是线性分类层,并通过CTC解码得到最终的预测结果。

总结下来,合合信息技术团队认为多模型级联是较为成熟的印章识别方案。其优点是各个环节可供选择的模型较为丰富,同时将检测与识别模块进行解偶,使其各自的训练互不影响。其缺点主要是级联系统的误差累积问题。

印章端到端检测识别(End2End)

上一节的级联系统中,检测和识别模型单独训练,一方面会造成整个识别系统的次优化效果,另一方面错失了检测和识别head共享主干网络图像特征的机会。

近年来,学术界一直在致力于提出端到端的文本检测识别系统,通过检测和识别头共享主干网络,能有效降低系统的复杂度,同时利用多任务学习进一步提升了模型的整体性能。

印章端到端检测识别模型流程如下所示:

近两年来,不少支持曲形文本识别的端到端模型被提出,下面以ABCNet[17]和Mask TextSpotterv3[18]为例进行简要介绍。

ABCNet网络结构和贝塞尔曲线拟合示意图如下所示:

ABCNet的主要亮点在于引入了贝塞尔曲线用于建模曲形文本边界框,如上图所示,通过三阶贝塞尔曲线(四个控制点)可以灵活地拟合出各种曲线。

网络结构方面,ABCNet由检测模块 + RoI_Transform + 识别模块构成,类似于早期的端到端模型FOTS[19],只是检测模块的回归目标变成了贝塞尔曲线的控制点,以及RoI_Transform部分换成了BezierAlign。

Mask TextSpotterv3网络结构如下图所示:

该模型也是由检测模块 + RoI_Transform + 识别模块构成,但检测模块换成了分割模型,和基于回归的检测模型相比,分割模型能灵活地建模任意形状的文本,同时对文本长度不敏感;RoI_Transform部分直接使用了RoIAlign,利用水平外接框,裁剪出每个RoI文本块,同时对非前景区域进行了zero masking,防止背景干扰;与RoI_Transform配套,识别模块使用了基于attention的识别器。

总结下来,合合信息技术团队认为端到端检测识别算法有如下优点:

  1. 检测和识别模块进行端到端训练,改善了级联系统的误差累积问题,性能更好

  2. 通过共享主干网络,端到端检测识别模型的速度更快

  3. 维护具有相同依赖的统一框架,节省了大量的工程工作

与此同时,印章端到端检测识别算法也存在如下缺点:

  1. 检测和识别任务所需的训练样本的量级不一样(识别任务需要更多的训练数据),因此对训练数据集的要求更高。

印章序列预测方案(Image2Sequence)

不管是级联模型,还是端到端的检测识别模型,在进行方章识别时都会遇到多方向文本的难题,如下图所示:

真实方章图片中,文本阅读方向可能是从左到右,也可能是从右到左;可能是横排文本,也可能是竖排文本。文本检测模型仅依靠视觉信息,很容易将横排文本检测成竖排文本,同时不同的文本行还需要考虑如何拼接成正确语义顺序的完整字符串。

印章序列预测方案直接抛弃了检测模块:输入经过裁剪的印章图片,模型输出最终的字符串序列,该字符串包含了印章中所有感兴趣文本行:

理论上,序列预测方案可以同时处理所有类型的印章。如果想区分不同的字符串,可在不同字符串之间可插入某个特殊符号(比如'#'),如下图所示:

只需要人为规定印章中不同字符串之间的固定阅读顺序,构造相应的ground truth字符串标签,剩下的就交给模型自己去学习了。针对方章中字符串阅读顺序不固定的问题,本方案可以大大地简化处理流程。

img2seq模型选型没有特别要求,考虑到印章中文字的2D空间布局,可以使用一个基于2D Attention的文本识别模型来完成img2seq任务。为了让img2seq模型能更好地学习全局的上下文特征,推荐使用基于transformer encoder/decoder的识别模型,比如MASTER[12]和SATRN[13],借助其强大的self-attention机制,img2seq模型能获取全局的感受野,以及在解码阶段更好地进行关系建模。

下面以MASTER为例对img2seq模型进行简单介绍,其网络结构如下图所示:

该模型是一个典型的encoder-decoder架构,其中encoder部分是一个定制的,拥有全局感受野的CNN网络,输出一个8倍图的feature map,decoder部分则采用了标准的transformer decoder。同时论文中还使用了memory cache的技术对解码部分进行加速。

总结下来,合合信息技术团队认为img2seq模型具备以下的优缺点:

其优点是可以使用单个模型解决不同类型印章的识别问题。部署和维护都相当简单。

其缺点是模型容易过拟合,需要大量的训练数据,这一点可以通过数据合成的方案进行缓解。另外,img2seq模型不能提供每个文本行的位置信息。

感兴趣的小伙伴可以下载体验:

支持Android和iOS平台,Android最低支持4.4,iOS最低支持9

Android下载渠道:小米和华为应用商店;

iOS下载渠道:AppStore应用商店。

参考文献

  1. Bookstein, Fred L. "Principal warps: Thin-plate splines and the decomposition of deformations." IEEE Transactions on pattern analysis and machine intelligence 11.6 (1989): 567-585.

  2. He, Kaiming, et al. "Mask r-cnn." Proceedings of the IEEE international conference on computer vision. 2017.

  3. Li, XiaoQian, et al. "Learning to predict more accurate text instances for scene text detection." Neurocomputing 449 (2021): 455-463.

  4. Wang, Fangfang, et al. "Textray: Contour-based geometric modeling for arbitrary-shaped scene text detection." Proceedings of the 28th ACM International Conference on Multimedia. 2020.

  5. Wang, Wenhai, et al. "Shape robust text detection with progressive scale expansion network." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019.

  6. Baek, Youngmin, et al. "Character region awareness for text detection." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019.

  7. Liao, Minghui, et al. "Real-time scene text detection with differentiable binarization." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 34. No. 07. 2020.

  8. Zhou, Xinyu, et al. "East: an efficient and accurate scene text detector." Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2017.

  9. Shi, Baoguang, Xiang Bai, and Cong Yao. "An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition." IEEE transactions on pattern analysis and machine intelligence 39.11 (2016): 2298-2304.

  10. Jaderberg, Max, Karen Simonyan, and Andrew Zisserman. "Spatial transformer networks." Advances in neural information processing systems 28 (2015).

  11. Shi, Baoguang, et al. "Aster: An attentional scene text recognizer with flexible rectification." IEEE transactions on pattern analysis and machine intelligence 41.9 (2018): 2035-2048.

  12. Li, Hui, et al. "Show, attend and read: A simple and strong baseline for irregular text recognition." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 33. No. 01. 2019.

  13. Lu, Ning, et al. "Master: Multi-aspect non-local network for scene text recognition." Pattern Recognition 117 (2021): 107980.

  14. Lee, Junyeop, et al. "On recognizing texts of arbitrary shapes with 2D self-attention." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. 2020.

  15. Fang, Shancheng, et al. "Read like humans: autonomous, bidirectional and iterative language modeling for scene text recognition." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.

  16. Wang, Yuxin, et al. "From two to one: A new scene text recognizer with visual language modeling network." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.

  17. Liu, Yuliang, et al. "Abcnet: Real-time scene text spotting with adaptive bezier-curve network." proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020.

  18. Liao, Minghui, et al. "Mask textspotter v3: Segmentation proposal network for robust scene text spotting." European Conference on Computer Vision. Springer, Cham, 2020.

  19. Liu, Xuebo, et al. "Fots: Fast oriented text spotting with a unified network." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.

【技术新趋势】合合信息:复杂环境下ocr与印章识别技术理解及研发趋势相关推荐

  1. AI赋能下的声纹识别技术在公共安全领域的深度应用

    佳都新太科技股份有限公司 徐建明 1.声纹识别在公共安全领域的应用现状 生物特征是指每个个体所独有的.可以通过技术有效测量.甄别.鉴定与验证的某类生理上的特征或行为上的方式.从生物特征的来源进行区分, ...

  2. 关于在Windows环境下对AliExpress反爬虫技术突破的一些分享

    Python爬虫之Aliexpress反爬虫技术的分享 关于在Windows环境下对AliExpress反爬虫技术突破的一些分享 在公司工作的时候公司的业务涉及到了对应爬虫任务,然后根据平时积累的知识 ...

  3. Ubuntu18.04环境下I219-LM网卡不能识别问题解决

    Ubuntu18.04环境下I219-LM网卡不能识别问题解决 背景介绍 硬件信息 驱动信息 解决过程 解决方案 注意事项 背景介绍 使用的某品牌的PC机,CPU型号为I5-1145G7(笔记本)或者 ...

  4. 【技术新趋势】合合信息:表格识别与内容提炼技术理解及研发趋势

    点击领取AI产品100元体验金,助力开发者高效工作解决文档难题: AI产品专享礼遇 引言: 表格是各类文档中常见的对象,其结构化的组织形式方便人们进行信息理解和提取.表格的种类根据有无边框可以划分有线 ...

  5. iis下的php不显示报错信息,IIS环境下 PHP无法显示错误信息怎么办

    IIS环境下 PHP无法显示错误信息的解决办法:1.更改PHP的配置文件[php.ini]:2.在网站的根目录下面新建一个[web.config]文件,并添加相应代码:3.安装组件[VCRUNTIME ...

  6. OCR检测与识别技术

    在过去的数年中,腾讯数平精准推荐(Tencent-DPPR)团队一直致力于实时精准推荐.海量大数据分析及挖掘等领域的技术研发与落地.特别是在广告推荐领域,团队自研的基于深度在线点击率预估算法及全流程实 ...

  7. 分布式缓存技术memcached学习(一)——linux环境下编译memcahed

    安装依赖工具 [root@localhost upload]# yum install gcc make cmake autoconf libtool 下载并上传文件 memcached 依赖于 li ...

  8. EfficientNet-B4-Ranger:自然复杂环境下温室黄瓜病害识别新方法(同时存在两种疾病)

    1.研究介绍 主要任务是***找到一种有效的方法来解决同一片叶子上发生的两种疾病以及外界光线的影响所引起的疾病相似性问题***.首先,在自然复杂的温室背景下获得了黄瓜叶片病害数据集,其中不仅包括白粉病 ...

  9. 【雷达检测】基于复杂环境下的雷达目标检测技术附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

最新文章

  1. 防止代码变质的思考与方法
  2. 20145324 《信息安全系统设计基础》第十周学习总结
  3. centos php 开启socket,centos下phpsocket连接,该如何解决
  4. 校门外的树+矩阵旋转
  5. 【BUG调试】——OSError: Caught OSError in DataLoader worker process 0
  6. 如何在Windows 7或Vista上安装IIS
  7. imread函数 matlab_【MATLAB图像处理学习】1.读取和显示图片
  8. ospf 环回口的路由条目_华为OSPF基础实验
  9. 万字长文!搞定逃不脱的 DNS 面试题
  10. 《暗时间》——总结+语录整理
  11. Linux命令之top命令查看服务器CPU与内存占用
  12. 【BUCT数据结构类库】1.2--链表的基本操作
  13. 完成对靓号号码的筛选
  14. 随机点名册的简单程序
  15. 真有人去炸公司了...
  16. R语言基于lm模型构建线性回归模型(蟋蟀的鸣叫声与温度的关系)、计算回归模型的RMSE指标、计算回归模型的R方指标(R-squared)
  17. C语言编程>第十一周 ⑤ 请编写一个函数,用来删除字符串中的所有空格。
  18. Qt使用qtwebapp编写http服务的步骤
  19. 自制文档格式转换器,支持 .txt/.xlsx/.csv格式转换...
  20. Vuejs2.X组件化-阿里的G2图表组件

热门文章

  1. 再度强强联合,APENFT联手BinanceNFT打造NFT头像新玩法
  2. 常用的分布式事务解决方案
  3. HTML关闭当前网页
  4. 乔布斯和盖茨的殊途同归
  5. 开发出差申请审批单时碰到的问题
  6. Linux 下使用杀毒软件clamav扫描木马病毒
  7. 华为云ECS - 学习/实践
  8. Windows Media Player 实现快进10秒
  9. 网络协议 5 - ICMP 与 ping:投石问路的侦察兵
  10. 【报错记录MaskRCNN】#931-> raise ValueError(error_str) ValueError: The following Variables were created w