一种基于卷积神经网络的单字图文字识别方法及装置与流程

文档序号:11231256阅读:927来源:国知局
一种基于卷积神经网络的单字图文字识别方法及装置与流程

本发明涉及计算机应用技术领域,特别是涉及一种基于卷积神经网络的单字图文字识别方法及装置。



背景技术:

随着计算机技术的快速发展,模式识别技术也得到了快速发展,文字识别一直是模式识别领域的重要研究课题之一。

图像中分离出的字符往往含有形变,如旋转、扭曲、倾斜等。现有的文字识别方法是,针对字符的结构特征,通过对字符的点阵采用非线性变换对变形字符进行校正,以减少类内方差。对于含有噪声的字符,采用中值滤波、高斯滤波等滤波算法对其进行去噪处理。然后将处理后的字符进行二值化,对二值化图像进行细化操作,提取文字的骨架特征。对细化后的文字提取特征向量,最后利用模板匹配、svw、knn等分类器进行文字识别。

这种方法存在一定的缺点,特别是在对汉字识别时,尤其明显。因为汉字规模较大,同时相似汉字较多,从图像中提取的字符信息往往形变较大,形变的类型各异,容易出现扭曲、倾斜、弹性形变、噪声、笔画断裂缺失等现象。应用现有技术的这种文字识别方法进行文字识别,识别率不高,泛化能力较弱。



技术实现要素:

本发明的目的是提供一种基于卷积神经网络的单字图文字识别方法及装置,以提高识别率,提升泛化能力。

为解决上述技术问题,本发明提供如下技术方案:

一种基于卷积神经网络的单字图文字识别方法,包括:

确定待进行文字识别的目标图像;

在所述目标图像中定位字符信息,提取各个字符;

根据提取到的各个字符,获得所述目标图像的多个单字图;

分别将每个单字图输入到预先训练得到的目标卷积神经网络中,进行前向传播,获得每个单字图的文字识别结果,所述目标卷积神经网络通过大量单字图样本训练得到。

在本发明的一种具体实施方式中,所述在所述目标图像中定位字符信息,提取各个字符,包括:

在所述目标图像中定位字符信息;

根据定位结果,对所述目标图像中的字符进行切割操作,获得所述目标图像包含的各个字符。

在本发明的一种具体实施方式中,所述根据提取到的各个字符,获得所述目标图像的多个单字图,包括:

针对提取到的每个字符,对该字符进行二值化处理,并将该字符的尺寸大小调整为设定第一尺寸大小;

将调整尺寸大小后的该字符放置于设定第二尺寸大小的背景图像的中心,并进行正则化处理,获得该字符对应的单字图。

在本发明的一种具体实施方式中,通过以下步骤预先训练得到所述目标卷积神经网络:

获得训练数据集和测试数据集,所述训练数据集中包含设定第一数量的单字图样本,所述测试数据集中包含设定第二数量的单字图样本,每个单字图样本的尺寸大小相同,每个单字图样本中包含的字符的尺寸大小相同;

初始化卷积神经网络;

利用所述训练数据集对所述卷积神经网络进行训练,调整网络参数,确定训练过程中的误差;

在所述卷积神经网络迭代设定次数时,将所述测试数据集输入到所述卷积神经网络中进行测试,获得测试正确率;

重复执行所述利用所述训练数据集对所述卷积神经网络进行训练,调整网络参数,确定训练过程中的误差的步骤,直至所述卷积神经网络的误差低于预设第一阈值,且所述测试正确率高于预设第二阈值时,停止训练,获得所述目标卷积神经网络。

在本发明的一种具体实施方式中,所述目标卷积神经网络为多尺度卷积神经网络。

一种基于卷积神经网络的单字图文字识别装置,包括:

目标图像确定模块,用于确定待进行文字识别的目标图像;

字符提取模块,用于在所述目标图像中定位字符信息,提取各个字符;

单字图获得模块,用于根据提取到的各个字符,获得所述目标图像的多个单字图;

文字识别模块,用于分别将每个单字图输入到预先训练得到的目标卷积神经网络中,进行前向传播,获得每个单字图的文字识别结果,所述目标卷积神经网络通过大量单字图样本训练得到。

在本发明的一种具体实施方式中,所述字符提取模块,具体用于:

在所述目标图像中定位字符信息;

根据定位结果,对所述目标图像中的字符进行切割操作,获得所述目标图像包含的各个字符。

在本发明的一种具体实施方式中,所述单字图获得模块,具体用于:

针对提取到的每个字符,对该字符进行二值化处理,并将该字符的尺寸大小调整为设定第一尺寸大小;

将调整尺寸大小后的该字符放置于设定第二尺寸大小的背景图像的中心,并进行正则化处理,获得该字符对应的单字图。

在本发明的一种具体实施方式中,还包括训练模块,用于通过以下步骤预先训练得到所述目标卷积神经网络:

获得训练数据集和测试数据集,所述训练数据集中包含设定第一数量的单字图样本,所述测试数据集中包含设定第二数量的单字图样本,每个单字图样本的尺寸大小相同,每个单字图样本中包含的字符的尺寸大小相同;

初始化卷积神经网络;

利用所述训练数据集对所述卷积神经网络进行训练,调整网络参数,确定训练过程中的误差;

在所述卷积神经网络迭代设定次数时,将所述测试数据集输入到所述卷积神经网络中进行测试,获得测试正确率;

重复执行所述利用所述训练数据集对所述卷积神经网络进行训练,调整网络参数,确定训练过程中的误差的步骤,直至所述卷积神经网络的误差低于预设第一阈值,且所述测试正确率高于预设第二阈值时,停止训练,获得所述目标卷积神经网络。

在本发明的一种具体实施方式中,所述目标卷积神经网络为多尺度卷积神经网络。

应用本发明实施例所提供的技术方案,确定待进行文字识别的目标图像后,在目标图像中定位字符信息,提取各个字符,根据提取到的各个字符,获得目标图像的多个单字图,分别将每个单字图输入到预先训练得到的目标卷积神经网络中,进行前向传播,获得每个单字图的文字识别结果。目标卷积神经网络通过大量单字图样本训练得到,提高了对单字图的文字识别率,提升了泛化能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种基于卷积神经网络的单字图文字识别方法的实施流程图;

图2为本发明实施例中多个单字图样本示意图;

图3为本发明实施例中卷积神经网络模型的一种示意图;

图4为本发明实施例中一种基于卷积神经网络的单字图文字识别装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1所示,为本发明实施例所提供的一种基于卷积神经网络的单字图文字识别方法的实施流程图,该方法可以包括以下步骤:

s110:确定待进行文字识别的目标图像。

在本发明实施例中,可以根据实际情况确定待进行文字识别的目标图像。如将监控图像确定为待进行文字识别的目标图像。

s120:在目标图像中定位字符信息,提取各个字符。

目标图像中可能包含一组文字,或者一段文字。确定待进行文字识别的目标图像后,可以对目标图像中的字符信息进行定位,并提取目标图像中的各个字符。

在本发明的一种具体实施方式中,步骤s120可以包括以下步骤:

步骤一:在目标图像中定位字符信息;

步骤二:根据定位结果,对目标图像中的字符进行切割操作,获得目标图像包含的各个字符。

为便于描述,将上述两个步骤结合起来进行说明。

确定待进行文字识别的目标图像后,可以在目标图像中定位字符信息,具体的,可以根据现有技术定位方法进行字符信息的定位,本发明实施例对此不再赘述。

根据定位结果,对目标图像中的字符进行切割操作,获得目标图像包含的各个字符。具体的,可以通过滤波方式去除目标图像中的噪声干扰,利用hough变换去除干扰线等,对于粘连字符,可以利用滴水算法进行字符切割。

这样使得对于含有噪声及笔画断裂的文字也能得到较好的识别效果。

s130:根据提取到的各个字符,获得目标图像的多个单字图。

在步骤s120,提取出目标图像的各个字符后,可以对提取到的各个字符进行预处理,获得目标图像的多个单字图。如图2所示,为多个单字图样本示意图。

在本发明的一种具体实施方式中,步骤s130可以包括以下步骤:

第一个步骤:针对提取到的每个字符,对该字符进行二值化处理,并将该字符的尺寸大小调整为设定第一尺寸大小;

第二个步骤:将调整尺寸大小后的该字符放置于设定第二尺寸大小的背景图像的中心,并进行正则化处理,获得该字符对应的单字图。

为便于描述,将上述两个步骤结合起来进行说明。

在本发明实施例中,针对提取到的每个字符,可以对该字符按照设定调整规则进行调整。具体的,可以先对提取到的每个字符进行二值化处理,即将背景像素点的灰度值置为0,将字符像素点的灰度值置为1。调整所有字符的尺寸大小为设定第一尺寸大小。针对每个字符,将该字符放置于设定第二尺寸大小的背景图像的中心,该背景图像中所有像素点的灰度值均为0。对新的字符进行正则化处理,均值为0,方差为1。从而可以获得每个字符对应的单字图,也即目标图像的多个单字图。

s140:分别将每个单字图输入到预先训练得到的目标卷积神经网络中,进行前向传播,获得每个单字图的文字识别结果。

目标卷积神经网络通过大量单字图样本训练得到。

在本发明实施例中,预先训练得到目标卷积神经网络。卷积神经网络是一种模拟大脑神经元来实现机器学习的算法,是计算机视觉与人工智能领域的主要算法之一。

在本发明的一种具体实施方式中,可以通过以下步骤预先训练得到目标卷积神经网络:

步骤一:获得训练数据集和测试数据集,训练数据集中包含设定第一数量的单字图样本,测试数据集中包含设定第二数量的单字图样本,每个单字图样本的尺寸大小相同,每个单字图样本中包含的字符的尺寸大小相同;

步骤二:初始化卷积神经网络;

步骤三:利用训练数据集对卷积神经网络进行训练,调整网络参数,确定训练过程中的误差;

步骤四:在卷积神经网络迭代设定次数时,将测试数据集输入到卷积神经网络中进行测试,获得测试正确率;

步骤五:重复执行步骤三的操作,直至卷积神经网络的误差低于预设第一阈值,且测试正确率高于预设第二阈值时,停止训练,获得目标卷积神经网络。

为便于描述,将上述五个步骤结合起来进行说明。

在本发明实施例中,通过对卷积神经网络的训练可以对网络参数进行调整,得到目标卷积神经网络。

在训练之初,首先需要获得训练数据集和测试数据集。具体的,可以通过采集等方式预先获得大量的样本图像,从大量的样本图像中定位字符信息,提取各个样本图像中的各个字符。通过滤波方式可以去除样本图像中的噪声干扰,利用hough变换去除干扰线等,对于粘连字符,可以利用滴水算法进行字符切割。对从各个样本图像中提取出的每个字符进行二值化处理,调整所有字符的尺寸大小为设定第一尺寸大小,并将调整尺寸大小后的每个字符放置于设定第二尺寸大小的背景图像的中心,进行正则化处理,获得各个字符对应的单字图,即可获得大量的样本图像对应的多个单字图样本。

将大量的样本图像对应的多个单字图样本分为两个数据集,一个为训练数据集,一个为测试数据集。训练数据集中包含设定第一数量的单字图样本,测试数据集中包含设定第二数量的单字图样本,每个单字图样本的尺寸大小相同,每个单字图样本中包含的字符的尺寸大小相同。

初始化卷积神经网络,设定网络结构和初始网络参数。

利用训练数据集对卷积神经网络进行训练,调整网络参数。具体的,可以将训练数据集中的单字图样本随机分组进行训练,调整网络参数。确定训练过程中的误差。

在该卷积神经网络迭代设定次数时,可以将测试数据集输入到卷积神经网络中进行测试,获得测试正确率。以此验证当前卷积神经网络是否已达到预设的测试要求。

如果测试正确率不高于预设第二阈值,则需要继续对卷积神经网络进行训练。在这种情况下,可以重复执行利用训练数据集对卷积神经网络进行训练,调整网络参数,确定训练过程中的误差的步骤。

当卷积神经网络的误差低于预设第一阈值,且测试正确率高于预设第二阈值时,停止训练,获得目标卷积神经网络。

其中,第一阈值、第二阈值可以根据实际情况进行设定和调整,第二阈值也即为正确率饱和值,本发明实施例对此不做限制。

在本发明实施例中,目标卷积神经网络具体可以为多尺度卷积神经网络。

在对卷积神经网络进行训练时,初始的卷积神经网络模型示意图如图3所示。

卷积神经网络为双尺度卷积神经网络,包括大尺度网络分支和小尺度网络分支。将单字图样本作为大尺度网络分支的输入层图像,输入到大尺度网络分支中,同时对输入层图像进行尺寸变换,得到小尺度网络分支的输入层图像。假设大尺度网络分支的输入层图像的尺寸大小为48×48,小尺度网络分支的输入层图像的尺寸大小为32×32。

随机初始化卷积神经网络参数等信息,设置网络层之间的链接。在大尺度网络分支上,对相应输入层图像利用3×3大小卷积核进行卷积,加上偏移量,通过激活函数得到lc1层。对lc1层利用3×3大小卷积核进行卷积得到几个lc2层特征图。其中lc1层与lc2层之间为随机连接。对lc2层利用2×2模板进行池化,得到池化层ls3。对ls3层利用3×3大小卷积核进行卷积,加上偏移量,经过激活函数得到卷积层lc4层,紧接着依次为池化层ls5、卷积层lc6、池化层ls7。将池化层ls7乘以参数矩阵,同时加上偏移量,通过激活函数得到全连接层lf8。

在小尺度网络分支上,采用5×5大小的卷积核。对相应输入层图像进行卷积,加上偏移量,结果输入激活函数得到卷积层sc1。对sc1利用2×2模板进行池化,得到池化层ss2。并依次得到卷积层sc3、池化层ss4、全连接层sf5。

将全连接层lf8、sf5连接,同时乘以参数矩阵,加上偏移量,结果输入激活函数得到全连接层f。卷积神经网络输出层采用softmax函数得到输出向量,输出向量与目标向量存在一定误差,利用梯度下降法进行反向传播,调整网络参数。通过多次训练及测试,即可得到目标卷积神经网络。得到的目标卷积神经网络也为双尺度卷积神经网络。

分别将目标图像对应的每个单字图输入到目标卷积神经网络中,进行前向传播,可以获得每个单字图的文字识别结果。

应用本发明实施例所提供的方法,确定待进行文字识别的目标图像后,在目标图像中定位字符信息,提取各个字符,根据提取到的各个字符,获得目标图像的多个单字图,分别将每个单字图输入到预先训练得到的目标卷积神经网络中,进行前向传播,获得每个单字图的文字识别结果。目标卷积神经网络通过大量单字图样本训练得到,提高了对单字图的文字识别率,提升了泛化能力。

相应于上面的方法实施例,本发明实施例还提供了一种基于卷积神经网络的单字图文字识别装置,下文描述的一种基于卷积神经网络的单字图文字识别装置与上文描述的一种基于卷积神经网络的单字图文字识别方法可相互对应参照。

参见图4所示,该装置包括以下模块:

目标图像确定模块410,用于确定待进行文字识别的目标图像;

字符提取模块420,用于在目标图像中定位字符信息,提取各个字符;

单字图获得模块430,用于根据提取到的各个字符,获得目标图像的多个单字图;

文字识别模块440,用于分别将每个单字图输入到预先训练得到的目标卷积神经网络中,进行前向传播,获得每个单字图的文字识别结果,目标卷积神经网络通过大量单字图样本训练得到。

应用本发明实施例所提供的装置,确定待进行文字识别的目标图像后,在目标图像中定位字符信息,提取各个字符,根据提取到的各个字符,获得目标图像的多个单字图,分别将每个单字图输入到预先训练得到的目标卷积神经网络中,进行前向传播,获得每个单字图的文字识别结果。目标卷积神经网络通过大量单字图样本训练得到,提高了对单字图的文字识别率,提升了泛化能力。

在本发明的一种具体实施方式中,字符提取模块420,具体用于:

在目标图像中定位字符信息;

根据定位结果,对目标图像中的字符进行切割操作,获得目标图像包含的各个字符。

在本发明的一种具体实施方式中,单字图获得模块430,具体用于:

针对提取到的每个字符,对该字符进行二值化处理,并将该字符的尺寸大小调整为设定第一尺寸大小;

将调整尺寸大小后的该字符放置于设定第二尺寸大小的背景图像的中心,并进行正则化处理,获得该字符对应的单字图。

在本发明的一种具体实施方式中,还包括训练模块,用于通过以下步骤预先训练得到目标卷积神经网络:

获得训练数据集和测试数据集,训练数据集中包含设定第一数量的单字图样本,测试数据集中包含设定第二数量的单字图样本,每个单字图样本的尺寸大小相同,每个单字图样本中包含的字符的尺寸大小相同;

初始化卷积神经网络;

利用训练数据集对卷积神经网络进行训练,调整网络参数,确定训练过程中的误差;

在卷积神经网络迭代设定次数时,将测试数据集输入到卷积神经网络中进行测试,获得测试正确率;

重复执行利用训练数据集对卷积神经网络进行训练,调整网络参数,确定训练过程中的误差的步骤,直至卷积神经网络的误差低于预设第一阈值,且测试正确率高于预设第二阈值时,停止训练,获得目标卷积神经网络。

在本发明的一种具体实施方式中,目标卷积神经网络为多尺度卷积神经网络。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1