赞
踩
传统的OCR基于图像处理(二值化、连通域分析、投影分析等)和统计机器学习(Adaboost、SVM),过去20年间在印刷体和扫描文档上取得了不错的效果。传统的印刷体OCR解决方案整体流程如图。
从输入图像到给出识别结果经历了图像预处理、文字行提取和文字行识别三个阶段。
二值化:由于彩色图像所含信息量过于巨大,在对图像中印刷体字符进行识别处理前,需要对图像进行二值化处理,使图像只包含黑色的前景信息和白色的背景信息,提升识别处理的效率和精确度。
图像降噪:由于待识别图像的品质受限于输入设备、环境、以及文档的印刷质量,在对图像中印刷体字符进行识别处理前,需要根据噪声的特征对待识别图像进行去噪处理,提升识别处理的精确度。
倾斜校正:由于扫描和拍摄过程涉及人工操作,输入计算机的待识别图像或多或少都会存在一些倾斜,在对图像中印刷体字符进行识别处理前,就需要进行图像方向检测,并校正图像方向。
文字检测主要有两条线,两步法和一步法。
两步法:faster-rcnn.
一步法:yolo。相比于两步法,一步法速度更快,但是accuracy有损失。
文字检测按照文字的角度分。
水平文字检测:四个自由度,类似于物体检测。水平文字检测比较好的算法是CTPN。
倾斜文字检测:文本框是不规则的四边形,八个自由度。倾斜文字检测个人比较喜欢的方法是CVPR的EAST和Seglink。
在以前的OCR任务中,识别过程分为两步:单字切割和分类任务。
现今基于深度学习的端到端OCR技术有两大主流技术:CRNN OCR和attention OCR。
其实这两大方法主要区别在于最后的输出层(翻译层),即怎么将网络学习到的序列特征信息转化为最终的识别结果。
这两大主流技术在其特征学习阶段都采用了CNN+RNN的网络结构,CRNN OCR在对齐时采取的方式是CTC算法,而attention OCR采取的方式则是attention机制。
网络结构包含三部分,从下到上依次为:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。