OCR技术的主流模型有CNN+softmax,CNN+RNN+CTC,CNN+attention等等,这些模型都是基于深度学习的方法,能够有效的识别文字。
- 如何从图像中提取文本呢?
- 检测到文字所在位置(CTPN):Connectionist Text Proposal Network.文本检测本质上也属于物体检测,但是文本却跟常规的物体有较大区别。
- 文本通常都是从左往右写的(水平方向),并且字之间的宽度都大致相同。
- 固定宽度,来检测文本高度即可,但是如何应对变长序列呢?
- 本质上还是RPN方法(可参考faster-rcnn),可将检测到的框拼在一起。
- 识别文本区域内容(CRNN)。
- 检测到文字所在位置(CTPN):Connectionist Text Proposal Network.文本检测本质上也属于物体检测,但是文本却跟常规的物体有较大区别。
基于我对CNN+RNN+CTC(CRNN+CTC)模型的了解,我选择了百度飞桨paddleOCR来实现一个文字识别app。(哈哈,这个结局没想到吧)
step1:先配置paddleOCR的实现环境
参考链接:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/index_cn.html
https://blog.csdn.net/David_B/article/details/113576999
以上链接中着重关注一下GPU的下载指令,很复杂的文字识别图像能感觉到GPU处理速度比CPU明显快。
step2:pycharm试试python代码