3.9MB超小超强文本识别模型,支持20000个字符的识别,平安产险提出Hamming OCR
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小,精度还要更高。
模型各阶段优化之后的参数量如下图,
结论
- Hamming OCR模型小
- 模型能力很强
- 支持的字符数量超大
- 便于移动端部署
论文链接:https://arxiv.org/pdf/2009.10874.pdf
参考文献
- 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.
- 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.
- 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.
- 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相关推荐
- 号牌号码识别,支持新能源车牌,离线识别,喜欢就收下吧
号牌号码识别,支持新能源车牌,离线识别 我的项目地址: https://github.com/ccc920123/LicensePlateDemo 如果喜欢记得标星哟!!! 号牌识别,支持新能源车,离 ...
- C 语言 GET请求 超小纯净下载工具 (支持http、https)第四季
第一季简单实现了下载功能:C 语言http GET请求 超小纯净下载工具 (暂时只支持http)第一季_trw777的博客-CSDN博客 第二季主要修改功能:C 语言http GET请求 ...
- Android 号牌号码识别,支持新能源车牌,离线识别
少废话,直接开始 项目地址https://github.com/ccc920123/LicensePlateDemo 方式一 项目build.gradle添加 allprojects { reposi ...
- 场景文本识别模型综述
一.数据集的分析 (一) 训练数据集 大多数自然场景文字识别算法使用合成数据进行训练.两个常用的合成数据集是 MJSynth(MJ) 和 SynthText(ST) ,分别包含890万和550万张训练 ...
- EasyOCR 识别模型训练
0. 开始之前 EasyOCR 中使用的神经网络模型在每个阶段会不同基于开源的项目:数据集整合.数据集训练.模型使用.分别对应三种不同的框架. 训练数据生成: GitHub - Belval/Text ...
- 车牌识别系统三:python+tensorflow实现车牌字符的识别
字符识别 在前面两篇博客中分别介绍了车牌定位以及字符分割的代码实现,那么在这篇文章中,我主要想介绍一下车牌识别系统的最后一个模块:字符识别.字符识别可以说是整个系统的核心部分了,这一部分可以有很多中实 ...
- 车牌识别的研发,四种车牌识别软件
互联网的繁荣发展随之而来互联网也强势发展,物联网顾名思义,物联网就是物物相连的互联网.这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络:其二,其用户端延伸和扩展到 ...
- 搭建基于飞桨的OCR工具库,总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别的PaddleOCR
介绍 基于飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别.竖排文本识别.长文本识别.同时支持多种文本检测.文本识别的训练算法. 相关链接 PaddleOCR ...
- Mask TextSpotter v3 来了!最强端到端文本识别模型
场景文本的识别可以用文本检测+文本识别两个过程来做,近年来端到端的场景文本识别(即Text Spotting)越来越引起学术界的重视,而华中科技大学白翔老师组的 Mask TextSpotter v1 ...
- 云小课 | ModelArts Pro 自然语言处理套件:高效构建行业高精度文本处理模型
摘要:ModelArts Pro提供了自然语言处理套件,为客户提供自然语言处理的自定制工具,旨在帮助客户高效地构建行业领域的高精度文本处理模型,可应用于政府.金融.法律等行业. 本文分享自华为云社区& ...
最新文章
- python 打印皮卡丘_Python到底是什么?学姐靠它拿了5个offer
- 浏览器前进后退对下拉框数据的丢失(省市联动实现和例子)
- Redis数据持久化之AOF持久化
- hadoop练习处理地震数据
- android studio 获取SHA1值 MD5值
- java 自动装箱自动拆箱,java自动装箱、自动拆箱和正常情况性能比较
- 关于网站备案的44个问题
- 易打卡模板微信签到打卡小程序源码在线下载
- BP神经网络 MATLAB源程序
- PHP 使用rabbitmq 入门教程
- win10 家庭版升级win11
- 小程序访问第三方服务器,第三方微信小程序服务器地址设置
- 《如何有效阅读一本书-超实用笔记读书法》
- SpringBoot格式化日期
- 安卓手机免root权限恢复微信聊天记录(以vivo手机为例)
- python爬去新浪微博_Python爬虫爬取新浪微博内容示例【基于代理IP】
- 计算机毕业设计Python+uniapp“宠到家”宠物领养小程序(小程序+源码+LW)
- AC---上网行为管理
- 安全狗技术研究论文入选中国科技核心期刊
- 链栈的入栈、出栈、获取长度、获取栈顶值等相关操作