PaddleOCR/doc/doc_ch/models_and_config.md

39 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 目录
- [1. OCR 简要介绍](#1-ocr-----)
* [1.1 OCR 检测模型基本概念](#11-ocr---------)
* [1.2 OCR 识别模型基本概念](#12-ocr---------)
* [1.3 PP-OCR模型](#13-pp-ocr--)
<a name="1-ocr-----"></a>
# 1. OCR 简要介绍
本节简要介绍OCR检测模型、识别模型的基本概念并介绍PaddleOCR的PP-OCR模型。
OCROptical Character Recognition光学字符识别目前是文字识别的统称已不限于文档或书本文字识别更包括识别自然场景下的文字又可以称为STRScene Text Recognition
OCR文字识别一般包括两个部分文本检测和文本识别文本检测首先利用检测算法检测到图像中的文本行然后检测到的文本行用识别算法去识别到具体文字。
<a name="11-ocr---------"></a>
## 1.1 OCR 检测模型基本概念
文本检测就是要定位图像中的文字区域,然后通常以边界框的形式将单词或文本行标记出来。传统的文字检测算法多是通过手工提取特征的方式,特点是速度快,简单场景效果好,但是面对自然场景,效果会大打折扣。当前多是采用深度学习方法来做。
基于深度学习的文本检测算法可以大致分为以下几类:
1. 基于目标检测的方法一般是预测得到文本框后通过NMS筛选得到最终文本框多是四点文本框对弯曲文本场景效果不理想。典型算法为EAST、Text Box等方法。
2. 基于分割的方法将文本行当成分割目标然后通过分割结果构建外接文本框可以处理弯曲文本对于文本交叉场景问题效果不理想。典型算法为DB、PSENet等方法。
3. 混合目标检测和分割的方法;
<a name="12-ocr---------"></a>
## 1.2 OCR 识别模型基本概念
OCR识别算法的输入数据一般是文本行背景信息不多文字占据主要部分识别算法目前可以分为两类算法
1. 基于CTC的方法即识别算法的文字预测模块是基于CTC的常用的算法组合为CNN+RNN+CTC。目前也有一些算法尝试在网络中加入transformer模块等等。
2. 基于Attention的方法即识别算法的文字预测模块是基于Attention的常用算法组合是CNN+RNN+Attention。
<a name="13-pp-ocr--"></a>
## 1.3 PP-OCR模型
PaddleOCR 中集成了很多OCR算法文本检测算法有DB、EAST、SAST等等文本识别算法有CRNN、RARE、StarNet、Rosetta、SRN等算法。
其中PaddleOCR针对中英文自然场景通用OCR推出了PP-OCR系列模型PP-OCR模型由DB+CRNN算法组成利用海量中文数据训练加上模型调优方法在中文场景上具备较高的文本检测识别能力。并且PaddleOCR推出了高精度超轻量PP-OCRv2模型检测模型仅3M识别模型仅8.5M,利用[PaddleSlim](https://github.com/PaddlePaddle/PaddleSlim)的模型量化方法可以在保持精度不降低的情况下将检测模型压缩到0.8M识别压缩到3M更加适用于移动端部署场景。