一、OCR技术背景
1、OCR是什么?
OCR(Optical Character Recognition,光学字符识别)是计算机视觉重要方向之一。传统定义的OCR一般面向扫描文档类对象,现在我们常说的OCR一般指场景文字识别(Scene Text Recognition,STR),主要面向自然场景,如下图中所示的牌匾等各种自然场景可见的文字。
2、OCR有哪些应用场景?
包含数码管、液晶屏、车牌、高精度SVTR模型、手写体识别等9个垂类模型,覆盖通用,制造、金融、交通行业的主要OCR垂类应用。同时,夸克扫描文档功能页使用额是OCR技术。
3、面临的挑战
- 算法层面:场景丰富,多语言,光照不足、等等
- 应用层面:数据量大、端侧识别速度要求
二、PaddleOCR
1、8种前沿算法
- 文本检测:FCENet,DB++
- 文本识别:VITSTR,ABINET、VisionLAN、SPIN、RobustScanner
- 表格识别:TableMaster
2、PP-OCR与PP-Structrue
- PP-OCR:针对文字检测识别(包括文本检测模块、检测框矫正模块、文本识别模块。利用经典算法CRNN)
- PP-Structrue:针对文档分析
3、文本检测
4、文本识别
文本识别一般可以根据待识别文本形状分为规则文本识别和不规则文本识别两大类
规则文本识别的算法根据解码方式的不同可以大致分为基于CTC和Sequence2Sequence两种
5、文本结构化识别
例如对于身份证的识别,我们需要的是识别出来 姓名对应姓名,身份证号对应身份证号,而不是简单的识别出文字。这一方面需求量大,同时难度也很大。
三、CRNN
1、CRNN简单了解
CRNN是一种深度学习模型结构,全称为Convolutional Recurrent Neural Network,中文名为卷积循环神经网络。它是将卷积神经网络(CNN)+ 循环神经网络(RNN)相结合的一种模型,主要用于处理序列数据和图像文本识别任务。