第一步:概要
基于深度学习OCR文本识别分为两个模块:DBNet和CRNN。
DBNet是基于分割的文本检测算法,算法将可微分二值化模块(Differentiable Binarization)引入了分割模型,使得模型能够通过自适应的阈值图进行二值化,并且自适应阈值图可以计算损失,能够在模型训练过程中起到辅助效果优化的效果。经过验证,该方案不仅提升了文本检测的效果而且简化了后处理过程。相较于其他文本检测模型,DBNet在效果和性能上都有比较大的优势,是当前常用的文本检测算法。
CRNN 全称为 Convolutional Recurrent Neural Network,是一种卷积循环神经网络结构,主要用于端到端地对不定长的文本序列进行识别,不用先对单个文字进行切割,而是将文本识别转化为时序依赖的序列学习问题,就是基于图像的序列识别。
CRNN(Convolutional Recurrent Neural Network)是目前较为流行的图文识别模型,可识别较长的文本序列。它包含CNN特征提取层和BLSTM序列特征提取层,能够进行端到端的联合训练。 它利用BLSTM和CTC部件学习字符图像中的上下文关系, 从而有效提升文本识别准确率,使得模型更加鲁棒。预测过程中,前端使用标准的CNN网络提取文本图像的特征,利用BLSTM将特征向量进行融合以提取字符序列的上下文特征,然后得到每列特征的概率分布,最后通过转录层(CTC rule)进行预测得到文本序列。
第二步:模型结构介绍
DB文本检测模型可以分为三个部分:
- Backbone网络,负责提取图像的特征
- FPN网络,特征金子塔,结构增强特征
- Head网络,计算文本区域概率图
CRNN(Convolutional Recurrent Neural Network,卷积递归神经网络)是这个领域内的一个代表性的框架,它融合了卷积神经网络(CNN)和递归神经网络(RNN),特别适用于对图像中的序列文本进行识别。
第三步:搭建GUI界面
功能模块:能支持手写文字串识别和图片文字串识别
第四步:整个工程的内容
提供整套代码和模型,提供GUI界面代码
代码的下载路径(新窗口打开链接):基于深度学习OCR文本识别
有问题可以私信或者留言,有问必答