发布网友 发布时间:2022-04-23 04:34
共2个回答
热心网友 时间:2023-09-01 08:55
一般OCR套路是这样的
1.先检测和提取Text region.
2.接着利用radon hough变换 等方法 进行文本校正。
3.通过投影直方图分割出单行的文本的图片。
最后是对单行的OCR
对单行的OCR主要由两种思想
第一种是需要分割字符的。
分割字符的方法也比较多,用的最多的是基于投影直方图极值点作为候选分割点并使用分类器+beam search 搜索最佳分割点。
搜索到分割点之后对于单个字符,传统的就是特征工程+分类器。 一般流程是 灰度 -> 二值化->矫正图像 -> 提取特征(方法多种多样例如pca lbp 等等) ->分类器(分类器大致有SVM ANN KNN等等 )。
现在的 CNN(卷积神经网络)可以很大程度上免去特征工程。
第二种是无需分割字符的
还有一点就是端到端(end to end)的识别,但前提是你需要大量的标注好的数据集。 这种方法可以不分割图像直接以连续的输出字符序列。
对于短长度的可以使用mutli-label classification 。比如像车牌,验证码。 这里我试过一个车牌的多标签分类。 车牌识别中的不分割字符的端到端(End-to-End)识别
google做街景门牌号识别就是用的这种方法。
热心网友 时间:2023-09-01 08:56
文字识别近两年没有太大进展,有两种方法,一种是CNN+RNN+CTC,白翔老师团队的CRNN写的比较清楚,还有一种是CNN+RNN基于Attention的方法。
最近比较火的方向是文字检测和识别放到一个网络里joint train,沈春华老师团队2017 ICCV的Towards End-to-end Text Spotting with Convolutional Recurrent Neural Networks这篇文章已经在水平文字上把检测识别end to end做的比较work,感觉这可能是未来一两年的一个热点。