图像文字识别(OCR)用什么算法小结

说明:主要考虑深度学习的方法,传统的方法不在考虑范围之内。

1.文字识别步骤

1.1detection:找到有文字的区域(proposal)。

1.2classification:识别区域中的文字。

2.文字检测

文字检测主要有两条线,两步法和一步法。

2.1两步法:faster-rcnn.

2.2一步法:yolo。相比于两步法,一步法速度更快,但是accuracy有损失。

文字检测按照文字的角度分。

2.1水平文字检测:四个自由度,类似于物体检测。水平文字检测比较好的算法是2016ECCV乔宇老师团队的CTPN。

2.2倾斜文字检测:文本框是不规则的四边形,八个自由度。倾斜文字检测个人比较喜欢的方法是2017CVPR的EAST和Seglink。套路:检测文本框->用radon hough变换等方法进行文本矫正->通过投影直方图分割出单行的文本的图片->最后对单行OCR。

3.文字识别

只考虑了不需要对文字进行分割。

3.1定长的,各个字符之间看成是独立的:multi-digit number。

3.2不定长的:RNN/LSTM/GRU+CTC。白翔老师团队的CRNN写的比较清楚。

3.3不定长的attention-mechanism(CNN+RNN+Attention):分为hard attention(直接给出hard location,不能直接暴力pb)、soft attention(可以暴力pb)、gradient-base attention。

参考:https://www.zhihu.com/question/20191727

猜你喜欢

转载自www.cnblogs.com/ys99/p/9201229.html