一种基于真实场景的文字识别方法、系统及OCR终端
文献发布时间:2023-06-19 09:24:30
技术领域
本发明涉及文字识别领域,特别是涉及一种基于真实场景的文字识别方法、系统及OCR终端。
背景技术
随着计算机及信息技术的迅速发展,通过模仿人眼将视觉信号由大脑的神经元进行处理,形成人类可以理解的生物信号的过程,图像识别技术的应用逐渐扩大到诸多领域,尤其是在生物识别、图文识别及物品识别等多个领域日益发挥着重要作用。通常图像识别技术主要是指采用计算机按照既定目标对捕获的系统前端图片进行处理,在人工智能领域,神经网络是图像识别领域最广泛的应用,图像的矢量或光栅编码被转换为代表物体特性的特征向量。神经网络模型可以计算并分析这些构造,首先是通过简化图像并提取最重要的信息,然后通过特征提取和分类来组织数据。最后,神经网络模型通过分类、预测或其他算法来决定图像或属于哪个类别或者如何最好地描述它们。神经网络模型可以实现诸如人脸识别、图像检测、图像检索、目标跟踪、风格迁移等几大板块。其中,人脸识别、图像分类和文字识别等功能经过长时间的迭代发展已经实现了非常优秀的识别结果。
光学字符识别(Optical Character Recognition,OCR)在神经网络出现以前就已经出现了许多传统的解决算法。文字识别主要包含文本检测和文本识别两个部分,在深度神经网络被广泛地应用的当下,文字识别的准确率也随之提高。Opencv是一个提供全平台接口的计算机视觉工具,致力于真实世界的实时应用并且适用范围广泛,可执行能力强;Tesseract-OCR是由HP实验室开发由Google维护的识别引擎,发展至今几乎涵盖了世界上大多数主流语言在内的文字库用于识别。在办公领域OCR技术已经被应用于各个场景之中。总体而言,OCR技术可以解决现有的常见任务,但是对于一些特定的需要(如图片中某些固定区域)的文字识别还不够完善。
发明内容
基于此,本发明的目的是提供一种基于真实场景的文字识别方法、系统及OCR终端,用以提高文字检测水平和文字识别准确率。
为实现上述目的,本发明提供了如下方案:
一种基于真实场景的文字识别方法,包括:
获取真实办公场景中的图片数据;
对所述图片数据进行二值化处理;
通过二值化处理后的图片数据训练CTPN模型;
利用训练好的CTPN模型进行文字区域检测;
通过检测出的文字区域训练DenseNet+CTC模型;
利用训练好的DenseNet+CTC模型进行文字识别。
进一步地,所述CTPN模型包括CNN模型和LSTM模型。
进一步地,所述通过检测出的文字区域训练DenseNet+CTC模型,具体包括:
通过检测出的文字区域训练DenseNet模型;
通过训练好的DenseNet模型提取文字区域的特征;
通过文字区域的特征训练CTC模型;训练好的CTC模型用于进行文字识别。
本发明还提供了一种基于真实场景的文字识别系统,包括:
图片数据获取模块,用于获取真实办公场景中的图片数据;
处理模块,用于对所述图片数据进行二值化处理;
第一训练模块,用于通过二值化处理后的图片数据训练CTPN模型;
文字区域检测模块,用于利用训练好的CTPN模型进行文字区域检测;
第二训练模块,用于通过检测出的文字区域训练DenseNet+CTC模型;
文字识别模块,用于利用训练好的DenseNet+CTC模型进行文字识别。
进一步地,所述CTPN模型包括CNN模型和LSTM模型。
进一步地,所述第二训练模块具体包括:
第一训练单元,用于通过检测出的文字区域训练DenseNet模型;
特征提取单元,用于通过训练好的DenseNet模型提取文字区域的特征;
第二训练单元,用于通过文字区域的特征训练CTC模型;训练好的CTC模型用于进行文字识别。
本发明还提供了一种应用上述基于真实场景的文字识别方法的OCR终端,包括:
图片上传模块,用于上传真实办公场景中的图片数据;
区域选择模块,用于对真实办公场景中的图片数据进行区域选择。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明获取真实办公场景中的图片数据,构建有效的文字检测和文字识别模型用于训练,利用训练出的深度学习模型为工具,搭建OCR工具终端,用户可以自定义识别区域,提高工作效率的同时也提高了模型的识别准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于真实场景的文字识别方法的流程图;
图2为本发明实施例CTPN模型的工作原理图;
图3为本发明实施例双向循环神经网络--BiLSTM的工作原理图;
图4为本发明实施例DenseNet模型结构图
图5为本发明实施例基于真实场景的文字识别系统的结构框图;
图6为OCR终端的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于真实场景的文字识别方法、系统及OCR终端,用以提高文字检测水平和文字识别准确率。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,一种基于真实场景的文字识别方法,包括:
步骤101:获取真实办公场景中的图片数据。
获取办公领域中产生的诸如项目宣传图、通知公告以及表单票据等图片数据,具体方式如下:基于现有的公开数据集,本发明基于现实场景中的文字识别,因此采用包括产品描述、街景实拍,网络广告在内的数据集用于模型训练。
步骤102:对所述图片数据进行二值化处理。
以Opencv工具为基础对图片进行区域二值化处理。图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。在数字图像处理中,图像因光线等问题产生明暗不均等现象,二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。具体来说,在二值化操作前,要提前设置一个固定的阈值,再根据图片本身的像素点的数值进行比较,超过部分设置为255而小于的部分设置为0。但是这样“一刀切”的操作方式在处理复杂图片时难免产生一些误差。为优化这一方法而采用局部二值化,该方法根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处在于每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的。亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。不同亮度、对比度、纹理的局部图像区域将会拥有相对应的局部二值化阈值。
步骤103:通过二值化处理后的图片数据训练CTPN模型。所述CTPN模型包括CNN模型和LSTM模型。
二值化处理后的图片将送入深度学习模型中用于训练。CTPN结合了CNN与LSTM深度网络,能有效的检测出复杂场景的横向分布的文字。该方法将文本行拆分为slice,并预设多个不同规模的Anchor用于定位文字的位置,其中所采用的具有时序特性的双向LSTM层,提高了识别的准确率。
如图2所示,对于一个完整的CTPN模型,首先采用VGG16网络来处理输入的图片内容。VGG16网络本质上是由13层卷积层、5层最大池化层和3层全连接层组成的卷积神经网络。图片内容可以视为由三通道的像素点所组成的矩阵数据。在卷积层中利用二维卷积核w∈R
其中,n表示卷积运算的次数,m表示卷积核的个数,i表示所获取的第i个特征矩阵,f表示非线性激活函数,·表示卷积核的共享权重和特征矩阵的对应运算,w表示卷积核的权重,b表示偏差值。
在池化层使用最大池化的方法,其特征提取的公示表示如下:
p
其中,u表示池化的次数,Max
如图3所示,经过多次卷积和池化操作后,将Reshape处理后的数据流输入双向LSTM模型中,获得一个具有时序属性的特征向量,以公式表示为:
其中,s
步骤104:利用训练好的CTPN模型进行文字区域检测。
步骤105:通过检测出的文字区域训练DenseNet+CTC模型。具体包括:通过检测出的文字区域训练DenseNet模型;通过训练好的DenseNet模型提取文字区域的特征;通过文字区域的特征训练CTC模型;训练好的CTC模型用于进行文字识别。
准确定位了图像中的文字位置后,将定位括选出的文字图像以特征矩阵的形式送入DenseNet+CTC模型用于训练并识别文字内容。
如图4所示,DenseNet是基于残差网络的一种卷积深度神经网络模型,由denseblock稠密块+transitionlayer过渡块两部分组成。其中,denseblock定义了输入输出之间的连接关系,transitionlayer控制通道数。DenseNet改善了原有模型不同层之间信息流不连贯的问题在保证网络中层与层之间最大程度的信息传输的前提下,直接将所有层连接起来。公式表示如下:
x
其中,x
其中,S表示样本集合,个体样本表示为(x,z)。x表示样本中转换前的原序列,x是一个由m维向量组成的序列,其所属的集合X叫做输入空间。Z表示样本中转换后的序列,z是一个其所属的集合L叫做目标空间,L是由有限的元素组成的序列的集合,并且z的长度一定小于x的长度。CTC就是训练一个从X到L的映射h(x,z),使LER值越小,则说明任务完成的越精准。本申请基于densenet模型并使用ctc的loss训练网络从而达到识别文字识别的效果。
步骤106:利用训练好的DenseNet+CTC模型进行文字识别。
如图5所示,本发明还提供了一种基于真实场景的文字识别系统,包括:
图片数据获取模块501,用于获取真实办公场景中的图片数据。
处理模块502,用于对所述图片数据进行二值化处理。
第一训练模块503,用于通过二值化处理后的图片数据训练CTPN模型。所述CTPN模型包括CNN模型和LSTM模型。
文字区域检测模块504,用于利用训练好的CTPN模型进行文字区域检测。
第二训练模块505,用于通过检测出的文字区域训练DenseNet+CTC模型。
所述第二训练模块505具体包括:
第一训练单元,用于通过检测出的文字区域训练DenseNet模型;
特征提取单元,用于通过训练好的DenseNet模型提取文字区域的特征;
第二训练单元,用于通过文字区域的特征训练CTC模型;训练好的CTC模型用于进行文字识别。
文字识别模块506,用于利用训练好的DenseNet+CTC模型进行文字识别。
本发明还提供了一种应用上述基于真实场景的文字识别方法的OCR终端,包括:
图片上传模块,用于上传真实办公场景中的图片数据;
区域选择模块,用于对真实办公场景中的图片数据进行区域选择。
OCR终端的工作流程图如图6所示。基于以上的文字识别方法和用户的实际需求,本发明的终端提供一种可以自定义识别区域的文字识别工具。该工具支持用户上传图片,使用canvas画布插件为用户提供区域选择功能。用户可以利用该功能在图片上选择多个区域进行文字识别。这样的交互设计既便于用户精确把握需要识别的文字,也有利于模型准确定位文字内容,提高准确率的同时也提高了工作效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
- 一种基于真实场景的文字识别方法、系统及OCR终端
- 一种基于OCR的店头文字识别方法及系统