【基础介绍】【OCR】

注:若有冒犯,请问候留言,会尽快删除。

文章目录

背景介绍

OCR基本概念介绍

  • OCR(Optical Character Recognition),光学字符识别。
  • 目的:用计算机看图识字。
    • 这活儿听上去不难,小时候上课抄作业咱不也靠眼睛一扫一抄吗?不过计算机就得靠算法来做这个活儿。(原作者描述的很形象,哈哈)

基础实现算法

  • 最早的OCR算法基本都是基于图像处理的。(预处理+模板匹配)
    • 边缘检测、灰度处理。
    • 然后配上模式识别算法,比如模板匹配、特征提取啥的。
      • 你可以理解成就是把字形切成一块一块的,然后跟它数据库里存的样本对比,看看哪个像,哪个不像。
  • 这些传统的算法好处是速度快,资源占用少。
  • 但缺点也明显:一碰到字歪了、字模糊了、或者字形不规则了,它就开始抓瞎,结果基本上就是"一看就是字,但就是不认识"。所以这玩意儿在应付像咱们手机拍的这种歪歪扭扭的图像时,基本等于玩儿完。

深度学习方法

1. CNN(卷积神经网络)
  • CNN算是深度学习里的一员猛将了,大家都用它来做图像处理,OCR当然也不例外。CNN能干的活就是搞图像特征提取,它能自动从图像里找出那些有用的信息,比如边缘、线条、曲线啥的,再经过几层卷积,把这些信息逐层抽象,最后变成对字符的理解。
  • 就像你拍一张图,CNN能从图像的不同部分提取到不同的特征,然后把这些特征汇总,搞出个"这玩意儿是个字"的结论来。
2. RNN(循环神经网络) & LSTM(长短期记忆网络)
  • 光提取特征还不够,因为OCR不只是识别单个字符,还得考虑字符的顺序,这时候RNN就上场了。RNN擅长处理序列数据,比如文字、语音啥的,它能记住前面的信息,用来影响后面的识别。这就像你在看一段文字时,前后的字有关系嘛。
  • LSTM是RNN的加强版,主要解决RNN容易忘事儿的问题。用了LSTM后,网络就能记住更长的上下文信息,识别结果更准了。
3. Attention机制
  • 最后,还有个神器叫Attention机制,这玩意儿能让模型自动关注图像里那些重要的部分,比如一张图里哪儿有字,它就盯着哪儿看,不重要的地方一笔带过。这就像你在开会时,重点内容多看两眼,废话直接略过。
  • Attention机制的加入让OCR模型在处理复杂图像时,识别效率和准确度都有了质的飞跃。

顶尖算法组合拳:CRNN + CTC

  • 现在说说最顶尖的OCR算法,那肯定少不了CRNN(卷积循环神经网络)+ CTC(连接时序分类)。这套组合拳可是当前OCR领域的标杆,很多大厂的OCR引擎背后都是它。
  • CRNN结合了CNN和RNN的优点,前面用CNN提取图像特征,后面用RNN处理字符序列,简直就是天作之合。而CTC呢,专门处理序列对齐的问题,因为有时候识别结果跟输入长度对不上,这时候CTC就能帮助网络在不需要手工对齐的情况下,搞定文字识别。
    你用 OCR时,哪怕图片模糊不清或者字儿东倒西歪,这套算法组合依然能搞出个准儿来。

未来发展:Transformer登场(Vision Transformer,ViT)

  • 不过话说回来,科技是不断进步的。现在Transformer架构
  • (对,你没看错,就是那个火遍NLP的Transformer)也开始在OCR领域展露头角。比如Vision Transformer(ViT)就是用来处理图像的Transformer变种,这玩意儿比传统的CNN + RNN组合更牛,可以更好地处理复杂图像和长序列。
  • 未来几年,估计Transformer架构会成为OCR的新宠,反正现在大厂都在疯狂搞这套东西,谁家搞得快,搞得好,谁就能在OCR领域继续称王。

总结

  • 现在最顶尖的OCR算法,一定是深度学习的天下,像CRNN + CTC这种组合是目前的主流,但未来Transformer架构肯定会慢慢抢占市场。

END

相关推荐
晓131316 小时前
OpenCV篇——项目(二)OCR文档扫描
人工智能·python·opencv·pycharm·ocr
秋窗721 小时前
Mac 部署Latex OCR并优化体验(打包成App并支持全局快捷键)
macos·ocr·latex
RainSerein1 天前
Laravel8中调取腾讯云文字识别OCR
ocr·php·腾讯云·laravel
老胖闲聊11 天前
Python pytesseract【OCR引擎库】 简介
开发语言·python·ocr
沉到海底去吧Go12 天前
【工具教程】PDF指定区域OCR识别重命名工具使用教程和注意事项
pdf·ocr·图片区域识别改名·仓储物流单据识别·物流单据识别改名·pdf区域识别改名·pdf区域识别重命名
heart000_112 天前
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
运维·自动化·ocr
kevin 112 天前
OCR大模型,破解金融文档处理困境,从文字识别到文字理解
金融·ocr
Just_Paranoid12 天前
华为云Flexus+DeepSeek征文|基于Dify构建智能票据信息识别助手
华为云·ocr·dify·maas·deepseek·flexusx
whoarethenext13 天前
使用 C++/OpenCV 构建中文 OCR 系统:实现账单、发票及 PDF 读取
c++·opencv·ocr
阿幸软件杂货间14 天前
望言OCR:免费视频字幕提取工具,高效识别吊打付费软件
ocr·字幕