Hamming OCR是一个基于Transformer注意力的超轻量级文本识别模型,主要基于LSH局部敏感哈希编码和Max-Margin Loss的学习算法。

Hamming OCR: A Locality Sensitive Hashing Neural Networkfor SceneText Recognition

本文为极市开发者投稿,作者平安产险视觉计算组,转载请获授权。

背景

场景文本识别中很多模型都使用了笨重的模型,这些模型很难在移动端设备上部署。这也是最近大火的Paddle OCR使用CRNN实现其超轻量级识别模型的原因。PaddleOCR采用的策略就是暴力削减特征通道来减小模型,但是这样使得性能大幅度下降。最近在arXiv上公开的Hamming OCR提出了Hamming Embedding和LSH局部敏感哈希分类的算法,大幅度削减模型大小,同时保留模型能力。

简介

我们首先看FC+softmax分类层:

其中分类矩阵W占了将近20MB,这是因为onehot编码方式维度过大,字符字数多的原因。

对应的Hamming OCR中的LSH局部敏感哈希分类实现如下:

Hamming OCR使用LSH编码替代了onehot编码,把分类矩阵W的大小降低到0.5MB。初始阶段,HammingOCR使用LSH和voting生成每个字符的LSH编码。然后基于生成的LSH code采用Max-Margin算法优化。

在推理阶段,Hamming OCR二值化logit,然后跟所有字符的LSH编码计算汉明距离,距离最近字符的即为预测结果。

LSH编码很好地保留了字符之间的相似度,如下图:

很多识别模型使用Output Embedding来表达每个字符,Embedding层占了20MB。因为LSH编码的良好特性,Hamming OCR直接使用LSH编码作为字母的表达,也就是Hamming Embedding,减少20MB并且不损失精度。

Hamming OCR还加入了跨层共享Transformer权重、去除Feed-ForwardNetwork和FP16,最终模型只有3.9MB。模型结构如下图:

Hamming OCR模型的能力很强,如下图所示,最终模型不但比PaddleOCR小,精度还要更高。

模型各阶段优化之后的参数量如下图,

结论

  1. Hamming OCR模型小
  2. 模型能力很强
  3. 支持的字符数量超大
  4. 便于移动端部署

论文链接:https://arxiv.org/pdf/2009.10874.pdf

参考文献

  1. Lu, N.; Yu,W.; Qi, X.; Chen, Y.; Gong, P.; and Xiao, R. 2019. Master: Multi-aspectnon-local network for scene text recognition. arXiv preprint arXiv:1910.02562.
  2. Li, H.;Wang, P.; Shen, C.; and Zhang, G. 2019. Show, attend and read: A simple andstrong baseline for irregular text recognition. In Proceedings of the AAAIConference on Artificial Intelligence, volume 33, 8610–8617.
  3. Shi, B.;Bai, X.; and Yao, C. 2016. An end-to-end trainable neural network forimage-based sequence recognition and its application to scene text recognition.IEEE transactions on pattern analysis and machine intelligence 39(11):2298–2304.
  4. Lan, Z.;Chen, M.; Goodman, S.; Gimpel, K.; Sharma, P.; and Soricut, R. 2019. Albert: Alite bert for selfsupervised learning of language representations. arXiv preprintarXiv:1909.11942 .

作者团队

产险视觉计算组(VC组)专注解决金融保险领域的计算机视觉应用问题,在ICDAR 2019票据识别及关键信息3个任务中,团队分别斩获第二,第三,第一名。同时,在Kaggle举办的百度/北大无人驾驶比赛中,获得亚军。团队积极创新,已有多项自研OCR 、关键性信息抽取技术。

3.9MB超小超强文本识别模型,支持20000个字符的识别,平安产险提出Hamming OCR相关推荐

  1. 号牌号码识别,支持新能源车牌,离线识别,喜欢就收下吧

    号牌号码识别,支持新能源车牌,离线识别 我的项目地址: https://github.com/ccc920123/LicensePlateDemo 如果喜欢记得标星哟!!! 号牌识别,支持新能源车,离 ...

  2. C 语言 GET请求 超小纯净下载工具 (支持http、https)第四季

    第一季简单实现了下载功能:C 语言http GET请求 超小纯净下载工具 (暂时只支持http)第一季_trw777的博客-CSDN博客 第二季主要修改功能:​​​​​​C 语言http GET请求 ...

  3. Android 号牌号码识别,支持新能源车牌,离线识别

    少废话,直接开始 项目地址https://github.com/ccc920123/LicensePlateDemo 方式一 项目build.gradle添加 allprojects { reposi ...

  4. 场景文本识别模型综述

    一.数据集的分析 (一) 训练数据集 大多数自然场景文字识别算法使用合成数据进行训练.两个常用的合成数据集是 MJSynth(MJ) 和 SynthText(ST) ,分别包含890万和550万张训练 ...

  5. EasyOCR 识别模型训练

    0. 开始之前 EasyOCR 中使用的神经网络模型在每个阶段会不同基于开源的项目:数据集整合.数据集训练.模型使用.分别对应三种不同的框架. 训练数据生成: GitHub - Belval/Text ...

  6. 车牌识别系统三:python+tensorflow实现车牌字符的识别

    字符识别 在前面两篇博客中分别介绍了车牌定位以及字符分割的代码实现,那么在这篇文章中,我主要想介绍一下车牌识别系统的最后一个模块:字符识别.字符识别可以说是整个系统的核心部分了,这一部分可以有很多中实 ...

  7. 车牌识别的研发,四种车牌识别软件

    互联网的繁荣发展随之而来互联网也强势发展,物联网顾名思义,物联网就是物物相连的互联网.这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络:其二,其用户端延伸和扩展到 ...

  8. 搭建基于飞桨的OCR工具库,总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别的PaddleOCR

    介绍 基于飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别.竖排文本识别.长文本识别.同时支持多种文本检测.文本识别的训练算法. 相关链接 PaddleOCR ...

  9. Mask TextSpotter v3 来了!最强端到端文本识别模型

    场景文本的识别可以用文本检测+文本识别两个过程来做,近年来端到端的场景文本识别(即Text Spotting)越来越引起学术界的重视,而华中科技大学白翔老师组的 Mask TextSpotter v1 ...

  10. 云小课 | ModelArts Pro 自然语言处理套件:高效构建行业高精度文本处理模型

    摘要:ModelArts Pro提供了自然语言处理套件,为客户提供自然语言处理的自定制工具,旨在帮助客户高效地构建行业领域的高精度文本处理模型,可应用于政府.金融.法律等行业. 本文分享自华为云社区& ...

最新文章

  1. python 打印皮卡丘_Python到底是什么?学姐靠它拿了5个offer
  2. 浏览器前进后退对下拉框数据的丢失(省市联动实现和例子)
  3. Redis数据持久化之AOF持久化
  4. hadoop练习处理地震数据
  5. android studio 获取SHA1值 MD5值
  6. java 自动装箱自动拆箱,java自动装箱、自动拆箱和正常情况性能比较
  7. 关于网站备案的44个问题
  8. 易打卡模板微信签到打卡小程序源码在线下载
  9. BP神经网络 MATLAB源程序
  10. PHP 使用rabbitmq 入门教程
  11. win10 家庭版升级win11
  12. 小程序访问第三方服务器,第三方微信小程序服务器地址设置
  13. 《如何有效阅读一本书-超实用笔记读书法》
  14. SpringBoot格式化日期
  15. 安卓手机免root权限恢复微信聊天记录(以vivo手机为例)
  16. python爬去新浪微博_Python爬虫爬取新浪微博内容示例【基于代理IP】
  17. 计算机毕业设计Python+uniapp“宠到家”宠物领养小程序(小程序+源码+LW)
  18. AC---上网行为管理
  19. 安全狗技术研究论文入选中国科技核心期刊
  20. 链栈的入栈、出栈、获取长度、获取栈顶值等相关操作

热门文章

  1. 机器学习算法——神经网络6(SOM网络)
  2. rhadoop连接mysql数据库_rhadoop连接mysql数据库
  3. 让PPT设计更出彩的技巧都有哪些?
  4. 【Matlab语音识别】声纹识别系统(带面板)【含GUI源码 1022期】
  5. Google 本地搜索 实例
  6. 【COCA】美国当代语料库常用高频词汇20200个(可直接复制)
  7. 和利时服务器通信协议,和利时网关UDP通信协议.pdf
  8. 调研AutoGluon数据处理与Tabular-NN
  9. 【facenet人脸识别】利用LFW数据集进行人脸比对测试
  10. Anaconda下载地址