当前位置:   article > 正文

【OCR入门】一、基于深度学习的OCR技术导论和PaddleOCR_深度学习ocr

深度学习ocr

一、OCR简介

1.1、OCR是什么?

OCR(Optical Character Recognition,光学字符识别)是计算机视觉最重要的方向之一。传统的OCR一般指面向文档的识别,现在一般指场景文字识别,主要面向自然场景。

我觉得OCR还可以算是CV和NLP的一个中间商,通过OCR技术将CV图像中的一些字符检测出来,再用NLP解析文字的含义。

1.2、OCR的使用场景

OCR应用场景非常多:
在这里插入图片描述
OCR还可以作为多模态数据做一些更复杂的任务:
在这里插入图片描述

1.3、OCR的技术难点

难点大概可以分为算法层和应用层两方面。
在这里插入图片描述
应用层:模型大小和模型性能如何平衡?精度和速度的平衡?

二、OCR前言技术

2.1、文本检测

概念:把文本区域从图片区域中框出来。
在这里插入图片描述

2.2、文本识别

概念:将文字内容识别出来(就是认字,认出来这是什么字)

文本识别按识别文本的形状可以分为:规则文本识别和不规则文本识别两大类。

文本识别按最终识别结果的处理方式不同(解码方式的不同)可以分为:基于CTC和基于Attention两大类。

  1. 基于CTC:CRNN+CTC
    主要创新:引入没有意义的空格字符。因为识别存在一个问题:时序特征的维度是固定的,但是最终要预测的图像特征是不固定的。所有引入空格字符,每一个时序特征都可以预测出一个字符,最后得到结果。
    缺点:但是每个时序特征是单独解码的(Softmax),所以解码时并没有利用上下文信息,对不规则形状文本识别效果差。

  2. 基于Attention:Seq2Seq+attention
    解码时利用了上下文信息,精度较高,但是过长或过短文本的识别效果较差。

  3. 其实还要一种分类:基于字符分割的方法。优点是可以解决弯曲文本和不规则文本,但是对字符的标注要求很高。

  4. 今年还有一种比较火的方法:基于transformer的方法。可以解决CNN在长依赖建模的局限性。

2.3、文档的结构化识别

需求量很大,技术也比较难。

主要可分为版面分析、表格识别、关键信息提取三个技术方面。

  1. 版面分析:把文档的内容划分为不同的区域(方法:目标检测 难点相对较低);
  2. 表格识别:把图片表格转为可编辑的excel表格。问题:表格本身版式很多,无线表格,单元格合并。(方法:基于启发式规则、基于CNN、基于GCN、端到端 难度高);
  3. 关键信息提取(难度高)

2.4、其他OCR相关工作

  1. 端到端文本识别(火热)
  2. OCR中的图像预处理技术
  3. OCR数据合成

三、PaddleOCR

在这里插入图片描述

PPOCR:中英文检测模型

在这里插入图片描述
模型部署
在这里插入图片描述

四、想说的话

一个经典的OCR模型,一般可以分为文本检测和文本识别两个阶段。PaddleOCR的低层也是这样设计的。

写这个系列博客主要是为了记录下自己学OCR的过程,因为精力有限,后面主要的学习都只围绕文本检测和文本识别两个方面。

Reference

基于深度学习的OCR技术导论(上)
基于深度学习的OCR技术导论(下)

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/1006314
推荐阅读
相关标签
  

闽ICP备14008679号