文本识别网络的训练方法和光学字符识别方法与流程

文档序号:18467112发布日期:2019-08-17 02:35阅读:243来源:国知局
文本识别网络的训练方法和光学字符识别方法与流程

本发明涉及文本识别技术领域,尤其是涉及一种文本识别网络的训练方法和光学字符识别方法。



背景技术:

光学字符识别是指通过光学设备例如相机或扫描仪将图像中的文本内容识别并输入到计算机中,避免了人为重复低效的劳动,极大提高了工作效率,在工业和生活中有着广泛的应用。目前社会生活中,光学字符识别对图像的识别主要依赖于传统的算法,在传统训练过程中,首先提取图像特征图,再利用特征图进行训练卷积神经网络。然而,从图像中提取出来的特征图包括多个可能内容重复的目标文本的特征,和多个可能内容重复的背景的特征,还包含有目标和背景掺杂的特征,在训练时对于内容重复的或者具有掺杂的特征训练出来的效果并不好,造成训练效率比较低。



技术实现要素:

有鉴于此,本发明的目的在于提供文本识别网络的训练方法和光学字符识别方法,可以提高识别结果的正确率。

第一方面,本发明实施例提供了一种文本识别网络的训练方法,包括:

对训练样本集进行特征提取,得到多个特征图;所述训练样本集中包括标注文本内容和文本位置的标注框的训练图像;

将特征图中的每个像素点为中心,生成候选框集;所述候选框集包括至少一个候选框;

剔除超过所述训练图像大小对应的第一类候选框,和超过预设重复率对应的第二类候选框;

根据剔除后的候选框集,训练文本识别网络。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述剔除超过所述训练图像大小对应的第一类候选框的步骤,包括:

将每一个候选框与候选框对应的训练图像的标注框进行重合度计算;

将重合度计算结果在第一阈值和第二阈值之间的候选框作为第一类候选框进行剔除处理。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述剔除超过预设重复率对应的第二类候选框的步骤,包括:

计算所述候选框的位置信息;

根据位置信息,确定每一个候选框的置信度;

对多个置信度进行排序,得到置信度队列;

从候选框中提取出置信度的数值最高对应的参照候选框;

将所述参照候选框与所述候选框进行重叠面积计算;

确定超过预设重复率对应的候选框作为第二类候选框进行剔除处理。结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述计算所述候选框的位置信息的步骤,包括:

将重合度计算结果大于第一阈值对应的候选框作为前景框;

将前景框与所述前景框对应的标注框进行坐标回归计算,得到偏移量;

根据所述偏移量,计算所述候选框的位置信息。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述对训练样本集进行特征提取,得到多个特征图的步骤,包括:

通过神经网络模型对训练样本集进行特征提取,得到多个特征图;

其中,所述神经网络模型包括:多个残差块,每一个残差块包括至少两个卷积层、批量正则化层、批归一化层和两个激活函数层;至少一个卷积层、所述批量正则化层、激活函数层、至少一个卷积层、所述批归一化层、激活函数层一一相连。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述通过神经网络模型对训练样本集进行特征提取,得到多个特征图的步骤之前,所述方法还包括:

设置神经网络模型的训练参数;所述训练参数包括以下参数中的一个或者多个:迭代次数、批大小、图像大小、学习率和学习率衰减值。

结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,在所述在所述训练样本集中选取训练图像,将所述训练图像输入到神经网络模型中,得到多个特征图的步骤之前,所述方法还包括:

将所述训练样本集中的训练图像进行以下一种或多种处理:水平翻转处理、竖直翻转处理、调节光照处理、去除噪声处理;

将处理后的所述训练图像添加到所述训练样本集中。

第二方面,本发明实施例还提供一种文本识别网络的训练装置,包括:

提取模块,用于对训练样本集进行特征提取,得到多个特征图;所述训练样本集中包括标注文本内容和文本位置的标注框的训练图像;

生成模块,用于将特征图中的每个像素点为中心,生成候选框集;所述候选框集包括至少一个候选框;

剔除模块,用于剔除超过所述训练图像大小对应的第一类候选框,和超过预设重复率对应的第二类候选框;

训练模块,用于根据剔除后的候选框集,训练文本识别网络。

第三方面,本发明实施例还提供一种光学字符识别方法,包括:

获取待测图像;

将所述待测图像输入所述文本识别网络中,识别出所述待测图像中文本内容和文本位置;所述文本识别网络为根据上述实施例任一项所述的文本识别网络的训练方法训练得到的。

第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行所述上述实施例任一所述方法。

本发明实施例带来了以下有益效果:通过对训练样本集进行特征提取,得到多个特征图;所述训练样本集中包括标注文本内容和文本位置的标注框的训练图像,将特征图中的每个像素点为中心,生成候选框集;所述候选框集包括至少一个候选框,剔除超过所述训练图像大小对应的第一类候选框,和超过预设重复率对应的第二类候选框,根据剔除后的候选框集,训练文本识别网络,本发明将剔除后的候选框进行训练,可以在保证正确率的情况下提高训练效率。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的文本识别网络的训练方法的流程图;

图2为本发明实施例提供的文本识别网络的训练装置的结构图;

图3为本发明实施例提供的光学字符识别方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的一种文本识别网络的训练方法和光学字符识别方法,,本发明可以将剔除后的候选框进行训练,可以在保证正确率的情况下提高训练效率。为便于对本实施例进行理解,首先对本发明实施例所公开的一种文本识别网络的训练方法进行详细介绍,

结合图1所示,该方法包括:

s110:对训练样本集进行特征提取,得到多个特征图;训练样本集中包括标注文本内容的标注框的训练图像。

可选的,步骤s110可以通过神经网络模型对训练样本集进行特征提取,得到多个特征图。

其中,所述神经网络模型包括:多个残差块,每一个残差块包括至少两个卷积层、批量正则化层、批归一化层和两个激活函数层;至少一个卷积层、所述批量正则化层、激活函数层、至少一个卷积层、所述批归一化层、激活函数层一一相连。批量正则化层可以有效防止训练参数过拟合,这是由于在每一次迭代过后,神经网络模型参数进行更新,上一层网络的输出经过下一次网络的计算,数据的分布会发生变化,为下一层网络的学习带来困难。激活函数层对模型加入非线性因素,可以提高神经网络对模型的表达批归一化层,与跳跃结构进行逐元素相加操作后,再进行激活函数操作。这种结构通过学习残差(f(x)+x–x)的方式解决了网络层数多导致的梯度退化问题,让网络结构更容易学习到数据内在的特征,在各种图像处理任务中发挥了重要作用。

举例:神经网络模型的结构可以为一个50层深的残差网络结构,而残差网络由一个个的残差块构成。残差块包括三个卷积层,第一卷积层与第二卷积层连接之后都再加上批量正则化层和第一激活函数层,第一激活函数层与第三个卷积层连接,并后接批归一化层和第二激活函数层操作。

对于上述神经网络模型在训练过程中,将训练图像经过一系列卷积提取特征并下采样16倍得到原图的特征图。下采样是指经过步长为2的卷积层时,将原始图像的2*2窗口内的图像变为一个像素,使提取到的特征图在长度和宽度上各缩小一倍,一共经过4次下采样得到特征图,因此特征图的长和宽分别为原图的1/16。通过残差块获取训练图像中的特征信息,经过的残差块越多,提取出的图像的特征信息更详细,更高级,网络模型在之后的测试结果就会更好。

在所述通过神经网络模型对训练样本集进行特征提取,得到多个特征图的步骤之前,所述方法还包括:

设置神经网络模型的训练参数;所述训练参数包括以下参数中的一个或者多个:迭代次数、批大小、图像大小、学习率和学习率衰减值。迭代次数是指训练样本集上所有训练图像的训练次数,一般根据训练图像的数量和网络模型大小来决定。批大小表示网络一次前向传播载入的图像数。图片大小指图像在训练前需要调整到适当的大小,根据定义的长宽来改变图片的大小。改变图像大小需要考虑以下两种情况:第一,图像过大,训练过程中对图像处理过程中所需要的内存超出了硬件所能提供的最大内存,从而引起程序崩溃;二、图像中的被识别目标在图像中所占比例非常微小,若直接将原图输入进行训练,可能算法输出的检测效果不佳,甚至可能出现漏掉识别目标的情况。学习率是深度学习训练中非常重要的参数,学习率表示控制模型的学习速率,当使用不合适的学习率时,会出现两种影响结果的情况:一、学习率过大,网络模型训练中无法达到最优模型,使得到模型的正确率很低;二、学习率过小,训练的网络模型收敛很慢,需要很长的迭代次数才能达到预期的结果,很浪费时间,甚至经过很长时间也达不到目标精度。因此需要选取合适的数据集。深度学习训练过程中一般采取动态调整学习率的方法,因此用到了学习率衰减值这一参数,先设置学习率为一个比较大的值,例如0.001,在经过一定的迭代次数后,学习率按照学习率衰减值降低,降低后的新学习率值为:新学习率=旧学习率*学习率衰减值,一般设学习率衰减值可以为0.1。

当然,在对训练样本集进行特征提取的步骤之前,需要获取包含有文本内容的训练样本集;训练样本集中包括标注文本内容的标注框的训练图像。

例如,可以采用车牌号图像作为训练样本集。详细来讲,可以用工业相机对大量的车牌进行拍照,需满足从不同角度和不同背景进行拍照,保证训练样本集的多样性。接下来对获取的包含车牌字符的图像进行标注,记录包含车牌字符的图像的位置信息和字符内容信息。具体做法为用图像标注工具将包含车牌字符的图像中每个字符用矩形框包围住,并记录围住的字符内容和位置信息,以便进行训练。

并将训练样本集中的训练图像进行以下一种或多种处理:水平翻转处理、竖直翻转处理、调节光照处理、去除噪声处理;

将处理后的所述训练图像添加到训练样本集中。

具体来说,去除噪声处理指黑白相间的噪点,往往由图像切割引起,去除椒盐噪声最常用的方法为中值滤波。对每个图像预处理方式可以选择是否使用。如果使用翻转,水平翻转和竖直翻转以中轴线为轴,将图像在对应方向上进行翻转;如果使用椒盐噪声滤波,需设定椒盐噪声的尺寸大小,必须为大于1的奇数;如果使用调节光照变化,需设定调节光照参数,该值为一个0~255之间的数,将调节光照参数乘以一个0~1的数,再对原图进行调节。数据预处理对训练数据集进行增强,丰富了训练样本集的特征内容,使得训练可以更充分,更高效。

s120:将特征图中的每个像素点为中心,生成候选框集;所述候选框集包括至少一个候选框。

其中,多个特征图中的每一个特征图进行如下处理,使用卷积核大小为3*3的卷积对特征图进行滑窗处理,即以特征图中的每一个像素为中心,生成锚点,可以生成不同长宽比和面积大小的候选框,覆盖全部的特征图,候选框一般设定长宽比为1/2,1/1,2/1三种比例,面积比为4,8,16三种比例,这样一共得到9种尺度的锚点,并将锚点映射回原图。这样原图像就被全部覆盖了候选框,这些候选框包含了全部的待识别目标和背景。

s130:剔除超过所述训练图像大小对应的第一类候选框,和超过预设重复率对应的第二类候选框;

其中,剔除超过所述训练图像大小对应的第一类候选框的步骤,包括:

将重合度计算结果在第一阈值和第二阈值之间的候选框作为第一类候选框进行剔除处理。

其中,剔除超过预设重复率对应的第二类候选框的步骤,包括:

根据位置信息,确定每一个候选框的置信度;

对多个置信度进行排序,得到置信度队列;

从候选框中提取出置信度的数值最高对应的参照候选框;

将所述参照候选框与所述候选框进行重叠面积计算;

确定超过预设重复率对应的候选框作为第二类候选框进行剔除处理。

s140:根据剔除后的候选框集,训练文本识别网络。

首先计算进行剔除后处理的候选框集的类别信息和位置信息,利用计算得到的类别信息和位置信息训练文本识别网络。可以理解为:将每一个候选框与候选框对应的训练图像的标注框进行重合度计算,确定多个候选框的类别信息,并提取出多个前景框;将前景框与前景框对应的标注框进行坐标回归计算,得到偏移量;根据偏移量,计算多个初始候选框的位置信息。

举例:通过候选框与候选框对应的训练图像的标注框进行重合度计算,将候选框与标注框重合度大于0.7,候选框类别置为1的初始候选框作为前景框提取出来,并对属于前景框与标注框进行坐标回归计算,算出偏移量,将初始候选框经过坐标变换得到一个新的位置信息,分别与原图的类别和位置信息进行对比计算,得到损失函数。损失函数是一种衡量损失和错误程度的函数,在神经网络训练时反向传播起到了调整网络参数,优化网络模型的作用。将处理后的候选框和坐标变换得到的数值传到下一层网络。

首先将感兴趣区域映射回特征图,将映射后的区域划分为相同大小的部分,对每部分进行最大池化操作,得到针对性更强的待识别目标区域,接下来就是对待识别目标类别进行训练。对目标区域经过一系列残差块操作,得到目标区域的特征信息,并对该特征信息的位置和类别进行学习训练,由损失函数反向传播来不断优化结果,得到更准确的位置信息和类别信息。

当然步骤s130和步骤s140在执行时,可以交叉进行。举一个示例:将每一个初始候选框与其对应的标注框进行重合度计算,当初始候选框与标注框重合度大于0.7,候选框类别置为1,属于前景框。当重合度小于0.3的,置类别为0,属于背景框,当重合度处于0.3~0.7之间的,置类别为-1,置为-1为第二类候选框,即超过训练图像大小,在之后的训练中不予考虑。然后利用对前景框与标注框进行坐标回归计算,算出偏移量,分别与原图的类别和位置信息进行对比计算,得到损失函数。损失函数是一种衡量损失和错误程度的函数,在神经网络训练时反向传播起到了调整网络参数,优化网络模型的作用。将处理后的候选框和坐标变换得到的数值传到下一层网络。

根据得到的坐标变换和偏移量进行候选框回归操作,所有属于前景框和背景框的初始候选框经过坐标变换得到一个新的位置信息。然后对候选框进行非极大值抑制,去除多余且重叠的候选框,具体操作为:根据位置信息对每一个框赋予一个置信度。一、将所有的框按得分排序,选中最高分以及对应的框。二、遍历其余的框,如果和当前最高分框的重叠面积大于一定阈值,就将该框去除。三、从未处理的框中继续选取一个得分最高的,重复一、二过程。

以上为一张图像一次训练的全过程。在训练过程中,当观察到损失函数不再变化时,可视为训练结束,此时保存训练完成的模型。调用训练完成的网络模型和测试数据集进行测试,测试流程与训练基本相同,需要设定的测试参数为测试检测框的置信度,即当测试结果的目标框置信度小于阈值时,视为未识别出来,一般阈值设为0.7。测试结束后,测试数据集上会渲染出识别结果,包括包含目标字符的目标框和目标字符的内容,由此可以根据统计测试结果进行量化指标的计算。当测试得到的目标框与真实目标框重叠率高于0.5,且目标内容识别正确,将识别结果判为正例,若内容识别错误,将结果判为负例,将正例数量和正例负例数量之和做除法得到模型的准确率,将正例数量和所有测试的目标数量做除法得到召回率,根据两个评价指标可以判断网络模型性能是否达到预期。

本发明实施例还提供一种文本识别网络的训练装置,结合图2所示,所述装置包括:

提取模块210,用于对训练样本集进行特征提取,得到多个特征图;所述训练样本集中包括标注文本内容和文本位置的标注框的训练图像;

生成模块220,用于将特征图中的每个像素点为中心,生成候选框集;所述候选框集包括至少一个候选框;

剔除模块230,用于剔除超过所述训练图像大小对应的第一类候选框,和超过预设重复率对应的第二类候选框;

训练模块240,用于根据剔除后的候选框集,训练文本识别网络。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明实施例还提供一种光学字符识别方法,结合图3所示,该方法包括:

s310:获取待测图像;

s320:将待测图像输入文本识别网络中,识别出待测图像中文本内容,文本识别网络为根据上述实施例任一项所述的文本识别网络的训练方法训练得到的。

本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行所述上述实施例任一所述方法。

本发明实施例还提供一种电子设备,包括:处理器,存储器;其中,存储器可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。其中,存储器用于存储程序,所述处理器在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器中,或者由处理器实现。

本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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