一种任意方向自然场景文本识别方法与流程

文档序号:21002846发布日期:2020-06-05 22:51阅读:291来源:国知局
一种任意方向自然场景文本识别方法与流程

本发明属于数字图像处理领域,涉及一种任意方向自然场景文本识别方法。



背景技术:

随着智能设备的普及,人们可以轻易的获取图像。文本作为图像中的高层语义信息,能够帮助人们更好的理解图像。将图像中的文本信息转换为计算机可读可编辑的字符,对于提高多媒体检索能力、工业自动化水平、场景理解能力等具有重要意义。与自然场景文本识别相对应的是光学字符识别,光学字符识别一般是白底黑字易于区分,被认为是已经解决的问题。而自然场景文本由于文字类型多样,场景复杂多变,场景噪声等被视作计算机视觉领域一项极具挑战性的任务。

早期的场景文本识别分别对单个字符进行检测和分类,最后再将分类结果转换为序列信息。这类方法需要字符级别的标注信息,人工标注的成本过高。同时字符分类和检测的错误会累计并直接影响最终的识别精度。

受语音识别的启发,出现了基于ctc(connectionisttemporalclassification)的文本识别方法。该方法将文本看作一维信息并将文本识别看作序列预测问题。基于ctc的方法首先通过卷积神经网络提取文本的空间特征,然后使用lstm(longshort-termmemory)提取文本的序列特征,最后使用ctc替代传统的交叉熵损失训练网络。此外,还可以在ctc的基础上增加注意力机制,首先使用卷积神经网络和lstm作为编码器,提取文本的空间序列特征,然后使用带有注意力机制的解码器进行解码。近年来出现了大量基于ctc或者带注意力机制的ctc框架的文章。

基于ctc的自然场景文本识别方法存在两个主要问题:a)在基于ctc的识别方法中都用到了lstm,lstm的状态转换层用的是全连接,因此lstm要求将二维的输入图像信息转换为一维的序列信息,这将导致图像空间信息的丢失;b)基于ctc的识别方法只能针对规则文本,针对不规则文本需要增加一个矫正网络。这使得网路不能端到端的训练,同时会增加额外的计算。

为了解决基于序列的方法存在的问题,出现了基于二维视角的文本识别方法,该方法在保持图像二维信息的同时进行预测。m.liao等人使用分割网络,对输入图像进行像素级的分类。z.wan等人为了保存图像的二维信息使用2d-ctc进行预测。这类方法虽然保存了图像的二维信息,却也忽略了图像的序列信息。



技术实现要素:

有鉴于此,本发明的目的在于提供一种新的任意方向的自然场景文本识别方法,通过三个方面提高识别性能:a)使用高分辨率分割网络hrnet对图像进行像素级的分类;b)将文本识别看作一个时空序列预测问题,在特征提取阶段使用convlstm提取文本的时空序列信息;c)在网络中加入字符注意力机制,告诉网络应该把注意力放在图像的什么位置。

为达到上述目的,本发明提供如下技术方案:

一种任意方向自然场景文本识别方法,包括以下步骤:

s1:首先使用高分辨分割网络(highresolutionnetwork,hrnet)作为基础框架提取文本的空间信息;

s2:然后使用卷积长短时记忆(convolutionallongshort-termmemory,convlstm)模型提取文本的时空序列信息;

s3:通过设计字符注意机制使得模型的注意力在字符上,并使用可微分二值化函数进一步加大网络对前景的注意力,而削弱对背景区域的关注;

s4:网络对每个像素点进行37分类,将分类结果按照从左到右的顺序转换成文本。

进一步,步骤s2中所述的convlstm,是将长短时记忆lstm中的状态转换层换为卷积层,所述lstm的原理如下:lstm有三个门,分别为遗忘门ft、记忆门it和输出门ot,lstm中的门是一种让信息选择性通过的方法,由sigmoid激活函数跟元素点乘操作组成,sigmoid函数输出[0,1]之间的数,代表信息保留的比率,其中数值1代表信息全部保留,而0表示无信息保留。

进一步,所述lstm中遗忘门、记忆门和输出门的原理如下:

所述遗忘门的作用是选择性的舍弃上一个单元状态ct-1的信息,即使用sigmoid激活函数作用于上一个隐藏层状态ht-1,输入状态xt,其计算公式如式(1)所示:

ft=σ(wf·[ht-1,xt]+bf)(1)

所述记忆门的作用是选择性的保留临时状态的信息,其计算公式如式(2),与式(1)一样,仍使用sigmoid激活函数作用于ht-1,xt,其中如式(3)所示,其使用激活函数tanh将输入ht-1,xt转换成[-1,1]之间的值;

it=σ(wi·[ht-1,xt]+bi)(2)

将遗忘门跟记忆门作用的结果相加,得到下一个细胞状态ct,计算公式如式(4)所示:

所述输出门的作用是决定网络最终的输出状态;输出门ot的计算公式如式(5),和式(1)、式(2)一样,使用sigmoid激活函数作用于ht-1,xt;对由式(4)得到的ct使用tanh进行归一化处理后再与输出门结果ot做元素点乘操作以得到网络最终的输出状态ht,如式(6)所示:

ot=σ(wo·[ht-1,xt]+bo)(5)

ht=ot*tanh(ct)(6)

上述各式中系数wf,wc,wi,wo及bf,bi,bc,bo均为需要网络学习的权重参数,'·'代表矩阵乘法,等价于全连接操作;'*'代表元素点乘,等价于卷积操作。

进一步,所述将lstm中的状态转换层换为卷积层,计算公式如式(7)~(12),所述convlstm与lstm的区别在于所有的全连接'·'操作换成卷积操作'*';使用convlstm有效的提取到了文本的时空序列信息,从而提升了最终的识别精度。

ft=σ(wf*[ht-1,xt]+bf)(7)

it=σ(wi*[ht-1,xt]+bi)(8)

ot=σ(wo*[ht-1,xt]+bo)(11)

ht=ot*tanh(ct)(12)。

进一步,步骤s3中所述字符注意机制,具体包括:

将字符掩模模块加在每个convlstm的后面,所述字符掩模模块按照式(13)设计:

其中fi、fo分别代表输入和输出特征;代表对字符掩模模块的输出特征p进行近似二值化,其中k代表二值化的程度;根据经验,k设置为50;分别代表元素相加和元素相乘;

字符掩模模块包括二层卷积和一个二分类的softmax函数,字符掩模模块的输出特征p中所有元素都取0-1之间的概率值;通过对输出特征p中的所有元素使用可微分近似二值化函数,以加大网络对前景的注意力,同时削弱对背景区域的关注。

进一步,步骤s3中还包括构建损失函数:网络的损失由两部分组成,如式(14)所示;其中lo表示网络最终输出的损失,lm表示字符掩模模块的损失,s代表网络的层级索引,λbalance为两个损失的平衡参数,根据经验设置为0.25;

lo的计算公式如式(15),假设网络最终输出的图像尺寸为h×w×c,h,w分别代表输出图像的的高和宽,c代表网络预测的类别数,c∈{0,1,...,c-1},yc代表真实的类别标签,pc代表网络对该像素点的类别预测概率,wij是每个像素点的权重平衡因子,假设n=h×w,npos表示前景的像素点个数,则wij的计算公式如式(16):

的计算公式如式(17),其中hs,ws分别表示对应层的输出图像的高和宽:

进一步,步骤s4中具体包括:网络输出为h×w×c的概率图,将概率图转换获得文本信息;为此,首先手动设置一个阈值,将概率图转换为二值图,这里的阈值根据经验设置为125;然后根据二值图得到外轮廓的最小外接矩形,计算矩形所在区域的概率图的各通道的概率值之和,取概率值最大的通道数的索引为最终的预测类别;最后按照从左到右的顺序排列字符,得到最终的文本信息。

本发明的有益效果在于:本发明能识别任意方向的场景文本,同时对低分辨率和强噪声文本均有较强的鲁棒性,如表1所示是本发明在多个标准数据集上的性能表现,充分证明了本文提出的方法的有效性。

表1本发明在多个数据集上的表现

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:

图1为本发明网络结构示意图;

图2为本发明lstm门结构示意图;

图3为本发明lstm内部结构示意图;

图4为本发明lstm状态转换层示意图;

图5为本发明convlstm状态转换层示意图;

图6为本发明文本识别成功示例图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

本发明提供一种任意方向自然场景文本识别方法,包括以下步骤:

步骤一:准备数据

本发明仅仅使用合成数据集synthtext训练网络,未使用真实数据对网络进行微调。在通用的六个测试集上进行网络性能评估,包括规则文本数据集iiit5k,低分辨率和强噪声的文本数据集svt,透视文本svtp,弯曲文本cute等。值得注意的是,这六个测试集部分包含字典,本发明测试均不使用字典。

·synthtext是由gupta等人提出的用于场景文本检测的数据集。原始数据集包含有80万的场景文本图像,每幅图上包含有多个文本。该数据集中的文本字体多样,背景复杂,且文本方向具有任意性。该数据集中的每个字符都有文本框标注。最终,从该数据集中裁剪出约7百万的数据用于文本识别。

·ic03过滤后包含860张裁剪图像,和wang等人一样,非字母数字字符或少于三个的单词字符被丢弃。

·ic13大部分数据继承自ic03,包含233张原图,裁剪后包含1015张图像

·iiit5k是由mishra等人提出的。该数据集包含3000张从网络上获取的文本图像,大部分的图像是规则的。

·svt是由wang等人提出的。该数据集从谷歌街景中获取,共包含647张文本图像,由于该数据的低分辨率跟强噪声导致该数据集的识别十分具有挑战性。

·svtp是专为透视文本识别而设计的。包含238张跟svt取自相同地址的街道拍摄图像,裁剪后包含645张图。

·cute是由risnumawan等人提出的,该数据集虽然只有288张图像,但该数据集大部分图像都是严重的弯曲文本,因此该数据集相较于其他数据集更具有挑战性。

步骤二:首先使用高分辨分割网络(highresolutionnetwork,hrnet)作为基础框架提取文本的空间信息。

步骤三:然后使用卷积长短时记忆(convolutionallongshort-termmemory,convlstm)模型提取文本的时空序列信息;

如图2-4所示,lstm的原理如下:lstm有三个门,分别为遗忘门ft、记忆门it和输出门ot,lstm中的门是一种让信息选择性通过的方法,由sigmoid激活函数跟元素点乘操作组成,sigmoid函数输出[0,1]之间的数,代表信息保留的比率,其中数值1代表信息全部保留,而0表示无信息保留。

所述遗忘门的作用是选择性的舍弃上一个单元状态ct-1的信息,即使用sigmoid激活函数作用于上一个隐藏层状态ht-1,输入状态xt,其计算公式如式(1)所示:

ft=σ(wf·[ht-1,xt]+bf)(1)

所述记忆门的作用是选择性的保留临时状态的信息,其计算公式如式(2),与式(1)一样,仍使用sigmoid激活函数作用于ht-1,xt,其中如式(3)所示,其使用激活函数tanh将输入ht-1,xt转换成[-1,1]之间的值;

it=σ(wi·[ht-1,xt]+bi)(2)

将遗忘门跟记忆门作用的结果相加,得到下一个细胞状态ct,计算公式如式(4)所示:

所述输出门的作用是决定网络最终的输出状态;输出门ot的计算公式如式(5),和式(1)、式(2)一样,使用sigmoid激活函数作用于ht-1,xt;对由式(4)得到的ct使用tanh进行归一化处理后再与输出门结果ot做元素点乘操作以得到网络最终的输出状态ht,如式(6)所示:

ot=σ(wo·[ht-1,xt]+bo)(5)

ht=ot*tanh(ct)(6)

上述各式中系数wf,wc,wi,wo及bf,bi,bc,bo均为需要网络学习的权重参数,'·'代表矩阵乘法,等价于全连接操作;'*'代表元素点乘,等价于卷积操作。

如图5所示,所述将lstm中的状态转换层换为卷积层,计算公式如式(7)~(12),所述convlstm与lstm的区别在于所有的全连接'·'操作换成卷积操作'*';使用convlstm有效的提取到了文本的时空序列信息,从而提升了最终的识别精度。

ft=σ(wf*[ht-1,xt]+bf)(7)

it=σ(wi*[ht-1,xt]+bi)(8)

ot=σ(wo*[ht-1,xt]+bo)(11)

ht=ot*tanh(ct)(12)。

所述字符注意机制,具体包括:

将字符掩模模块加在每个convlstm的后面,所述字符掩模模块按照式(13)设计:

其中fi、fo分别代表输入和输出特征;代表对字符掩模模块的输出特征p进行近似二值化,其中k代表二值化的程度;根据经验,k设置为50;分别代表元素相加和元素相乘;

字符掩模模块包括二层卷积和一个二分类的softmax函数,字符掩模模块的输出特征p中所有元素都取0-1之间的概率值;通过对输出特征p中的所有元素使用可微分近似二值化函数,以加大网络对前景的注意力,同时削弱对背景区域的关注。

步骤四:通过设计字符注意机制使得模型的注意力在字符上,并使用可微分二值化函数进一步加大网络对前景的注意力,而削弱对背景区域的关注;

本发明还需要对网络进行训练,具体包括以下步骤:

1)制作数据标签:取每个字符的四边形标注框的外接矩形框,并向内收缩至原始框的1/4大小。这样可以避免相邻字重叠的问题。字符掩模模块的标签需要将字符所在区域的像素值置为1,其余区域的像素值置为0。网络最终输出的标签需要将字符所在区域的像素值置为字符编码后的数值。字符编码对应关系为:数字0-9编码后的值为1-10,字母a-z编码后的值为11-36,其余的一律编码为0。

2)构建如图1所示的网络结构;

3)在synthtext合成数据集上对网络进行训练:固定输入图像尺寸,高设置为64,宽设置为256。在训练阶段使用数据增强,包括模糊、随机亮度、对比度、色度、饱和度、随机旋转。特别的,设置随机旋转角度在[-15,15]范围内。使用adam进行网络优化,网络的学习率初始化为10-4,学习率每三万步下降为原来的0.1,降至10-6时不再变化。网络分类的类别数为37,包括10个阿拉伯数字,26的英文字母,一个背景。

4)构建损失函数:网络的损失由两部分组成,如式(14)所示。其中lo表示网络最终输出的损失,lm表示字符掩模模块的损失。s代表网络的层级索引。λbalance为两个损失的平衡参数,根据经验设置为0.25。

lo的计算公式如式(15),假设网络最终输出的图像尺寸为h×w×c,h,w分别代表输出图像的的高和宽,c代表网络预测的类别数,c∈{0,1,...,c-1},yc代表真实的类别标签,pc代表网络对该像素点的类别预测概率,wij是每个像素点的权重平衡因子,假设n=h×w,npos表示前景的像素点个数,则wij的计算公式如式(16):

的计算公式如式子(17),其中hs,ws分别表示对应层的输出图像的高和宽。

步骤五:对学习好的网络在测试集上进行测试:该步骤中,将归一化的测试图像输入网络模型中,网络输出为37分类的框,再将网络输出通过文本信息模块转换为文本。

网络输出为h×w×c的概率图,将概率图转换获得文本信息;为此,首先手动设置一个阈值,将概率图转换为二值图,这里的阈值根据经验设置为125;然后根据二值图得到外轮廓的最小外接矩形,计算矩形所在区域的概率图的各通道的概率值之和,取概率值最大的通道数的索引为最终的预测类别;最后按照从左到右的顺序排列字符,得到最终的文本信息。

如图6所示,是本发明对文本识别成功的示例图,本发明能识别任意方向的场景文本,同时对低分辨率和强噪声文本均有较强的鲁棒性。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

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