【动手学OCR·十讲】第一讲、基于深度学习的OCR技术导论和PaddleOCR

目录

  • 一、OCR简介
    • 1.1、OCR是什么?
    • 1.2、OCR的使用场景
    • 1.3、OCR的技术难点
  • 二、OCR前言技术
    • 2.1、文本检测
    • 2.2、文本识别
    • 2.3、文档的结构化识别
    • 2.4、其他OCR相关工作
  • 三、PaddleOCR
  • Reference

一、OCR简介

1.1、OCR是什么?

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

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

1.2、OCR的使用场景

OCR应用场景非常多:
【动手学OCR·十讲】第一讲、基于深度学习的OCR技术导论和PaddleOCR_第1张图片
OCR还可以作为多模态数据做一些更复杂的任务:
【动手学OCR·十讲】第一讲、基于深度学习的OCR技术导论和PaddleOCR_第2张图片

1.3、OCR的技术难点

难点大概可以分为算法层和应用层两方面。
【动手学OCR·十讲】第一讲、基于深度学习的OCR技术导论和PaddleOCR_第3张图片
应用层:模型大小和模型性能如何平衡?精度和速度的平衡?

二、OCR前言技术

2.1、文本检测

概念:把文本区域从图片区域中框出来。
【动手学OCR·十讲】第一讲、基于深度学习的OCR技术导论和PaddleOCR_第4张图片

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

【动手学OCR·十讲】第一讲、基于深度学习的OCR技术导论和PaddleOCR_第5张图片

PPOCR:中英文检测模型

【动手学OCR·十讲】第一讲、基于深度学习的OCR技术导论和PaddleOCR_第6张图片
模型部署
【动手学OCR·十讲】第一讲、基于深度学习的OCR技术导论和PaddleOCR_第7张图片

Reference

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

你可能感兴趣的:(#,OCR检测,OCR,光学字符检测,PaddleOCR)