您的当前位置:精优范文网 > 专题范文 > 范文大全 >

基于错误纠正模块的场景文本识别算法

时间:2023-07-06 19:30:06 来源:精优范文网
导读: 于洁潇,张大壮,何凯(天津大学电气自动化与信息工程学院,天津300072)场景文本识别(scenet

于洁潇,张大壮,何 凯

(天津大学电气自动化与信息工程学院,天津 300072)

场景文本识别(scene text recognition,STR)一直是计算机视觉领域中一个重要的课题[1].近年来,STR因其在自动驾驶、机器人等领域的应用而受到广泛关注.STR早期只能用于水平分布图像的文本识别,近年来则主要关注于复杂的场景文本识别.后者中存在大量的遮蔽、扭曲等不规则情况,极大地增加了场景文本的识别难度.

现有的场景文本识别算法大致可以分为两大类:非语义方法和语义方法.

(1) 非语义方法.大多数场景文本识别方法[2-4]是基于视觉信息实现.例如,一些学者提出使用滑动窗口[2-3]或手动标记[5]的方式来识别场景文本图像.后来,Jaderberg等[6]以图像分类的形式来处理 STR问题.Shi等[7]在 CTC解码器[8]之前采用卷积网络和残差网络结合的方法来提取序列信息.Liao等[9]先利用语义分割算法将文本从背景图像中分离出来,再进行识别.除此之外,有学者提出了基于 STR的空间矫正网络.例如,Shi等[10]首先提出了基于薄板样条(thin plate spline,TPS)的空间变换网络,可将不规则图像转换成水平的规则图像.在此基础上,Zhang等[11]提出了一种消除透视失真的迭代机制.Chen等[12]提出了一种针对于场景文本识别的超分辨率模型.此外,部分学者提出采用不同的学习策略和训练数据集来提高模型的识别精度.例如,Singh等[13]创建了TextOCR数据集,Baek等[14]将半监督与自监督的训练方式相结合,来解决数据集多样性不足的问题.

(2) 语义方法.为了提高场景文本识别器的性能,一些学者提出利用文本图像中上下文相关性的语义方法.例如,Lee等[15]将图像转换成一维序列后,根据相邻的时间步长引导文本识别器对图像进行识别.Qiao等[16]通过训练语义模型(semantics enhanced encoder-decoder,SEED)来指导全局信息的解码过程.Litman等[17]通过增加解码器的数量来强化解码器对上下文信息的学习.此外,随着Transformer[18]的广泛使用,越来越多的学者倾向于采用注意力方法来提取图像中丰富的语义信息.例如,Yang等[19]提出了一种基于双向解码的 Transformer解码器,Fang等[20]在Transformer的基础上实现了自然语言处理模型和计算机视觉模型的结合,但该方法大大增加了训练成本.

现有方法(如 RNN或 LSTM)通常基于序列,或者通过语义信息来监督文本识别器的训练,过于强调视觉的重要性,容易受到上下文语义信息的影响.鉴于从纯文本中比从图像中提取语义信息容易得多,本文提出了一个纠错(error correction,EC)模块,可直接修正文本识别器的识别结果.此外,提出了一个多特征(multi-feature,MF)提取器,可以从初始的图像中提取空间和序列信息.

不规则数据集中存在的视觉障碍是造成识别错误的关键因素.为此,本文提出了一个 EC模块来纠正拼写错误.EC模块是一个基于文本的序列信息处理模块,可通过派生词来独立训练EC模块的纠错能力,有助于解决视觉障碍所带来的负面影响.此外,现有 STR算法中仅采用 Resnet-45最后一个模块的输出来提取相关特征,容易忽略浅层 Resnet网络中的信息,特别是场景文本图像中所包含的空间特征信息.为此,提出了一个多特征提取器,其由 5个 MF单元构成,分别对应 Resnet-45的后 5个模块,每个MF单元由注意力网络和残差网络组成,以确保模型能够提取足够多的图像特征信息.

与现有算法不同,所提算法属于一个识别-纠错的框架,具体如图1所示.其中,STR识别器由 MF提取器和Transformer编解码器构成.在识别STR图像时,先采用 MF提取器来提取场景文本图像特征,再利用文本识别器中的编解码框架从特征图中识别文本信息,最后使用EC模块来纠正识别错误的字符.

图1 模型整体识别-纠错框架Fig.1 Overall recognition-correction framework of the model

STR识别器负责对图像中的文本信息进行识别,其输出为错误结果“roards”(真值为“boards”,其中,绿色表示结果预测正确,红色表示预测错误),利用 EC模块纠正该错误拼写,最终获得正确的输出结果.

1.1 EC模块

为了解决单词中的个别字母识别错误的问题,提出了一种由记忆编码器、注意力网络和循环解码器组成的 EC模块,具体如图2所示.其中,循环解码器每一次解码都会调用注意力网络.记忆编码器对输入的文本(例:roards)进行编码,并输出一个输出态(o0)和一个隐藏态(h0).每次解码过程中,o0均会与权重矩阵(wi)相乘,生成语义特征图(Si).解码器从语义特征图(Si)中解码出当前位置字符;
与此同时,GRU会生成一个新的输出态(oi)和隐藏态(hi),并在下一次的循环解码过程中通过注意力网络生成新的权重矩阵.最终,利用权重矩阵与o0生成新的语义特征图,并解码出下个位置的字符.

图2 EC纠错模块框架Fig.2 Framework of the EC correction module

(1) 记忆力编码器.为了提高编码器的性能,在EC模块中增加了记忆编码器,采用学习感知机来提高学习能力.同时,使用一个由双向 GRU函数组成的 BiGRU序列来提高信息的存储能力.在保留文本中相邻字符的上下文信息的同时,提高了模型对整体文本的记忆能力.

如图2所示,首先将文本识别器的结果通过嵌入词向量编码器,获得词向量.其中,M表示单词的最大长度,D表示词向量的维度.使用嵌入词向量编码器,可以使得模型在训练过程中学到最合适的编码方式.在减少人工编码成本的同时,使得编码方式更加适合模型任务.

(2) 注意力网络.注意力网络负责连接编码器和解码器.记忆编码器和循环解码器输出的oi、hi拼接后进入注意力网络中,最终计算出权重矩阵wi.

如图3所示,本文注意力网络由多个注意力单元和一个融合单元组成.每个注意力单元由线性层和激活函数组成.鉴于特征图的通道数会随着网络深度的增加而增加,因此特征提取的精度会逐渐提高.不同注意力单元的特征图维度不同,因此,在注意力单元之间添加 L变换器来平衡维度.L变换器在扩展上一级输出特征图维度的同时,可进一步减小注意力单元输出到融合单元的特征图维度.

图3 注意力网络框架Fig.3 Framework of the attention network

在传递过程中,注意力单元负责接收上一个注意力单元的特征图;
经过维度变换和相关计算后,将输出送到下一个注意力单元和融合单元.注意力网络的整体过程可以表示为

式中:hi和oi分别表示编码器或解码器的第 i次循环的输出;
Attn表示注意力网络;
c1,c2,…,cn表示每个注意力单元的输出;
CAT表示拼接处理.与大多数场景文本识别算法通道数一致,注意力单元的第1层通道数设为 512.随着注意网络深度的增加,通道数也会相应增加.

在注意力网络中采用自适应学习策略,可以保证各个注意力单元性能稳定.每个注意力单元都被赋予一个可学习的参数(λk,k = 1 ,2,…,n),该参数通过在整体模型的梯度反向传播中进行优化,训练后参数达到最优值.融合过程为

式中初始参数kλ设为1.0.

根据式(3)和式(4),注意力机制网络输出权重矩阵wi,与o0相乘后得到语义特征图Si.最终,循环解码器可从Si中解码得到纠错后的文本.有两种乘法策略可供选择:普通乘法策略和残差策略.其中普通乘法策略适用于注意力网络相对较浅的情况,其计算式为

残差策略适用于网络层较深、注意力单元数量较多的情况,其计算式为

实验表明,使用 2个注意力单元时,模型参数量性能最优,因此本文采取式(5)的乘法策略.

(3) 循环解码器.不同于多数序列预测的文本识别器,EC模块并非一次解码出全部文本,而是采用了循环解码策略,以充分提取相邻字母之间的上下文信息.如图2所示,在每次循环中,解码器中的GRU 函数可根据Si计算出下一循环的oi+1和hi+1,利用 Linear线性函数和 Softmax分类器,从oi+1中计算出当前字符(Ci).在下一次循环中,注意力网络根据oi+1和hi+1来计算wi+1,若当前位置不存在字符,则以null表示解码完毕,最后,删除‘null’即可得到纠错后的文本.上述过程用公式描述如下.

与其他领域不同,场景文本识别的最终准确性取决于每一个字母的识别精度,而循环解码策略可有效避免上述个别字符识别错误的情况.EC模块采用带有循环机制的 GRU编解码框架,利用 GRU特性和循环机制可有效学习文本中的序列信息,最终根据上下文信息来纠正拼写错误.例如:文本“roards”中只有字母‘b’被错误识别成了‘r’,类似的拼写错误均可以使用EC模块来进行有效纠正.

1.2 MF提取器

STR识别器可将场景文本图像转换为文本,这是一种由图像到字符串的转换.如图4所示,文本识别器由 MF提取器和 Transformer编解码器组成.在许多STR算法中,特征提取器仅由Resnet-45网络组成,而MF提取器中包含有5个MF单元,分别连接Resnet-45的最后 5个模块,每个 MF单元都可以视为一个注意力特征提取器.

图4 采用MF提取器的STR框架Fig.4 STR framework with MF extractor

为了从图像中获得直观的空间信息,将底层Resnet-45模块输出到浅层的 MF单元中,再利用各个MF单元从5个Resnet-45输出模块中学习特征信息.如图4所示,MF单元由2个(卷积层-标准化层-激活层)序列和一个 Softmax分类器构成.利用残差思想,将MF输入和Softmax输出的权重进行乘加操作,再使用拼接函数将5个MF单元的输出拼接在一起,作为Transformer编解码器的输入.

与文献[19]类似,Transformer编解码器主要由多头注意力机制组成,解码器的数量影响模型的性能和参数量,本文选用3个Transformer编解码器.

2.1 数据集

为了验证本文提出模型的有效性,选取 MJSynth(MJ)[6]、SynthText(ST)[21]、SynthAdd(SA)[22]为训练数据集,选取 IIIT5k-words(IIIT5k)[23]、Street View Text(SVT)[2]、ICDAR2003(IC03)[24]、ICDAR2013(IC-13)[25]、ICDAR2015(IC15)[26]、CUTE80(CUTE)[27]、SVTP[28]等7个公共数据集作为测试数据集.

2.2 实验环境以及参数

实验选用2个NVIDIA 2080Ti图形处理器.STR模型经过 6个周期的训练,批尺寸设为 146.为了在一个周期内读取所有训练数据,一个批尺寸中的MJ、ST和 SA的比例设为 5∶4∶1.为公平起见,所有实验均未采用数据增强,而是直接使用原始数据集进行训练或测试.与大多数 STR算法的参数设置相同,输入图像尺寸统一调整为:高32像素;
宽100像素;
初始学习率设为1.00,在第4个和第5个周期后衰减至 0.10和 0.01.由于 EC模块主要关注语义信息,因此,本文实验中忽略了特殊字符和标点符号.识别的字符类别总数为 36,其中包括 10个数字和26个小写字母.

使用经过干扰处理的派生词训练EC模块,通过对 9×104个英文单词随机替换或添加字符来产生派生词.在此机制下,一个单词可对应多个派生词(可以视作存在拼写错误的单词).利用这种多对一的映射关系来训练 EC模块的纠错能力.此外,训练数据中仍然保留了真值,以确保 EC模块不会“纠正”原本正确的预测.当模型基本稳定后终止训练,该模型训练约600个周期,批尺寸设为2000,初始学习率设为0.001.鉴于本文字符种类只有36个,词向量维度设为10.

2.3 MF、EC有效性消融实验

为了讨论 MF提取器和 EC模块对识别准确率的影响,选取了 7个公共数据集(IIIT5k、SVT、IC03、IC13、IC15、SVTP和 CUTE)进行测试,结果如表1所示.

表1 MF和EC对识别结果的影响Tab.1 Influence of MF and EC on the recognition results%

从表1中可以看出,采用MF提取器可有效提高模型的识别准确率.特别是在规则数据集(SVT)上,准确率从 88.3%提高到了 91.7%;
在不规则数据集(SVTP)上,准确率也从78.4%提高到了83.9%.实验结果证明了 MF提取器的有效性.与传统的 Resnet-45相比,MF提取器能够从不同深度的特征图中提取信息,它不仅能够提取图像的深层细节,还能够学习图像中初始的空间信息.当 STR模型性能不够优秀时,该机制可以获得良好的效果.

此外,从表1中还可以看出,在使用EC模块后,在 7个测试数据集上的准确率均有明显提升.与仅使用 MF提取器的基础模型相比,使用 EC模块后,IC15的准确率提高了 1.6%,SVTP的准确率提高了1.4%,CUTE的准确率提高了 1.4%.不规则数据集中的各种形变、遮挡容易产生更多的字符识别错误,所以在不规则数据集上效果更加明显.尽管低质量图像导致的识别错误很难用现有的方法进行纠正,但使用 EC模块仍然可以根据语义信息来实现有效的纠正.

表2展示了EC模块对网络识别性能的影响,几张样例图像分别代表存在模糊、遮蔽、文本分布扭曲以及书写不规范等视觉障碍.从表2中可以看出,未使用 EC模块时,这些视觉障碍会产生识别错误,而使用EC模块则可以有效纠正上述拼写错误,证明了EC模块的有效性.

表2 EC模块对识别性能的影响Tab.2 Effects of the EC module on the recognition ability

2.4 参数选择

为了讨论 EC模块中注意力网络深度对网络纠错能力的影响,分别选取 IC15、SVTP、CUTE 3个不规则数据集进行测试,结果如图5所示.可以看出,随着注意力单元数量的增加,识别准确率逐渐提高;
但当注意力单元数量过大时,准确率不再提高,甚至略有下降.综合考虑,最终将注意力单元数设为n=2.

图5 注意力单元数量对性能的影响Fig.5 Effects of the number of attention units on performance

2.5 EC模块查全率、查准率以及FP值

为了进一步验证 EC模块的性能,将 STR问题看成 26类字母分类问题,在 7个公共数据集上,分别对使用 EC模块前后的查全率、查准率以及FP(false positive)值进行了计算,其中FP值表示负样本被识别成正样本的个数,平均结果如表3所示.从表3中可以看出:使用EC模块后,查全率、查准率在7个数据集上均有提高,证明了 EC模块可有效提升算法性能.FP值在使用EC模块后均有所下降,进一步证明EC模块的纠错能力.

表3 查全率、查准率及FP对比结果Tab.3 Comparison results of recall,precision and FP

2.6 与当前算法对比实验

为了验证提出算法的有效性,将其与当前该领域的最新算法进行了比较,并在7个常用的场景文本识别测试集上进行了测试,结果如表4所示.为公平起见,ABInet采用与其他算法相同的数据集来进行训练.从表4中可以看出,本文提出算法在数据集IIIT5k、SVT、IC03获得了3个最高的准确率,并在数据集 IC13、IC15、SVTP、CUTE上取得了次高的准确率.实验结果表明,该模型识别效果优于当前最优模型.此外,与其他具有语义模块或新式监督训练方法模型,如:SEED[16]、ABInet[20]、TRBA-PR[14]等相比,所提出模型性能更优.其主要原因是传统模型对语义信息不够重视,往往将语义信息与视觉模型混合;
虽然这一操作在一定程度上提高了文本识别器的性能,但在整体框架中,语义信息所占比例被大大削弱;
然而,EC模块独立于视觉模型,在训练过程中可直接从文本中学习语义信息,因此可以有效地纠正拼写错误.

表4 不同算法识别效果对比Tab.4 Comparison of recognition effects of different methods %

本文提出了一个用于场景文本识别的 EC模块与MF提取器.与大多数从视觉角度提取语义信息的模型不同,EC模块可独立地在纯文本中进行训练,可以保证获得更加丰富的上下文信息.所提出的 EC模块结构简单,处理速度快,实用性强,可灵活应用于STR模型当中.此外,与传统的Resnet-45特征提取器不同,MF提取器保留并学习了图像的初始空间信息.实验结果表明,所提出模型在 7个公共测试数据集上都取得了较好的效果.

设计具有纠错能力的文本识别解码器是今后一个值得尝试的方向.在训练场景文本识别器的同时,可通过训练来不断提高解码器的纠错能力.

猜你喜欢解码器注意力语义让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09科学解码器(一)小学生必读(低年级版)(2021年10期)2022-01-18科学解码器(二)小学生必读(低年级版)(2021年11期)2021-03-09科学解码器(三)小学生必读(低年级版)(2021年12期)2021-03-04语言与语义开放教育研究(2020年2期)2020-03-31线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器家庭影院技术(2019年8期)2019-12-04“扬眼”APP:让注意力“变现”传媒评论(2017年3期)2017-06-13A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21“上”与“下”语义的不对称性及其认知阐释现代语文(2016年21期)2016-05-25认知范畴模糊与语义模糊大连民族大学学报(2015年2期)2015-02-27

推荐访问:算法 纠正 模块

本文链接:https://www.xpbxgsx.cn/zhuantifanwen/fanwendaquan/60129.html(转载请注明文章来源)
热门标签
Copyright © 2024 精优范文网 版权所有 备案号:浙ICP备15042696号-1
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Top