基于多头注意力机制的文本检测识别方法
2024-11-07龚钰张云华
摘要:针对自然场景中的文本图像存在信息、背景复杂,以及基于CNN(ConvolutionalNeuralNetworks)的自然场景文本图像检测鲁棒性低的问题,提出一种改进的FasterRCNN(RegionbasedConvolutionalNeuralNetworks)模型和多头注意力机制的字符关联模型文本检测识别方法。该方法首先使用改进的FasterRCNN模型检测出图像中字符的特征,其次通过字符关联模块和多头注意力模块获取字符间的语义关联信息,最后由字符输出模块的生成识别结果。实验结果表明,该方法具有良好的鲁棒性,能够有效利用字符间的关联信息和上下文语义信息解码字符序列,尤其是在不规则文本的识别中表现优异。
关键词:场景文本识别;改进的FasterRCNN;鲁棒性;注意力机制
中图分类号:TP391文献标志码:A
0引言(Introduction)
自然场景中的文本检测识别[1]具有广泛的应用场景。然而,由于文本图像中存在背景、信息复杂等问题,影响了模型的文本识别精度。基于FasterRCNN模型求出图像中所有文本区域的方法[2],在处理文本数量不确定的场景时,其识别性能往往不尽如人意,表现出较低的鲁棒性。同时,准确获取字符的顺序和全局的语义信息也至关重要,但是当前大多数文本识别方法[3\|4]都是采用单向顺序传送或者使用CRNN(ConvolutionalRecurrentNeuralNetwork),这些方法不仅效率低,而且从解码时间步获取的信息不足,会导致错误识别。
针对基于CRNN的自然场景文本检测识别方法中存在的结构复杂、鲁棒性低的问题,提出基于改进的FasterRCNN和多头注意力机制的文本检测识别模型。该模型基于多头注意力的字符关联网络,能够有效识别图像中的字符,并将字符进行格式化,确保字符间的位置信息相关联,并能够同时获取上下文之间的语义信息。
1相关工作(Relatedwork)
在早期的研究中,一些场景文本识别方法[5\|6]大都是将检测到的字符进行分类,即先通过滑动窗口检测单个字符,再采用动态规划的方法将其整合得到文本单词内容。随后,陆续出现了基于单词分类的识别方法。JADERBERG等[7]把输入的图像首先通过CNN,其次经过过滤后获得每个字符之间的界限,最后使用分类方法得出结果序列。ALMAZN等[8]则是直接预测图像中的特征,将文本的标注映射到同一个公共的向量空间中以计算最近的距离。
深度学习的飞速发展也让自然场景文本检测识别模型、算法的性能有了显著的提高。主流方法是开始使用RNN(RecurrentNeuralNetwork)[9]对序列特征进行建模,通常以字符序列的形式出现。基于语义分割仿射变换和CRNN模型,LIU等[10]提出了快速文本定位方法(FastOrientedTextSpotting,FOTS),此方法可以检测识别出非水平的文本,但只适用于较短的文本;SHI等[11]将CNN与RNN融合后运用到场景文本识别中,实现了字符序列预测。但是,该方法在处理字符序列时,对序列中不同位置的字符赋予了相近的权重,导致对于识别结果至关重要的关键字符并未获得足够的重视,可能在一定程度上影响了识别的精确度和鲁棒性。
注意力机制[12]能自动关注与当前任务相关的信息,从而忽略不相关或冗余的信息。刘崇宇等[13]提出的文本检测方法使用了注意力机制,更加注重对输入图形的整体的文本检测。LEE等[14]提出的ABINet(Autonomous,BidirectionalandIterativeNetwork)方法的建模中使用了Transformer。马洋洋等[15]提出的CTC(ConnectionistTemporalClassification)\|Attention方法同样采用了Transformer,都是通过其中内置的多头自注意力机制大幅度提高了模型的上下文表达能力,并且取得了SOTA(State\|of\|the\|Art)的效果。
然而,上述提及的很多模型都是主要针对规则方向上的文本图像,但是在自然场景下,很多图像的文本复杂、形状多变且难以准确识别。对于图像背景、信息复杂的文本识别,就需要先对图像中的文本进行预处理。SHI等[16]提出基于空间变换网络STN(SpaceTransformerNetwork)[17],使用薄板样条算法TPS(ThinPlateSpline)预处理倾斜的文本,增强了模型的识别能力。宋问玉等[18]则是在矫正过后使用Retinex和ACE(AutomaticColorEqualization)对图像进行彩色增强,使得输入图像的文本更加清晰可辨。
为了准确识别文本内容,需要更加关注字符之间的关联信息,一些研究工作尝试通过分割字符从而更加关注字符之间的关联信息。Two\|Attention[19]是基于FCN(FullyConvolutionalNeuralNetworks)的方法,将输入图像中的文本字符进行分割,然而此类方法要求模型必须达到每个字符级别的精确度,这无疑大大增加了训练的难度。
2算法框架(Algorithmframework)
2.1总体模型框架
本文提出了一种基于多头注意力机制的字符关联模型的自然场景文本检测识别模型,其整体框架如图1所示。模型主要由字符检测模块、字符关联模块、多头注意力模块和字符输出模块组成。在处理一个带有文本的图像时,首先使用改进的FasterRCNN模型检测并提取出图像中所有字符的特征向量,字符关联模块从字符检测模块提取的信息中逐一获取字符之间的关联信息;其次通过多头注意力,使用多通道对字符关联模块输出的特征向量进行解码,生成维度的特征序列,并获取正则化后的全局语义信息,将正则化后的特征向量输入字符输出模块;最后输出模型的识别结果。
2.2字符检测模块
改进的FasterRCNN模型流程图如图2所示,它使用ResNet\|101[20]网络替换原FasterRCNN中的VGG\|16[21]网络。在原始的前馈CNN上,增加了一个跳跃连接层,与VGG\|16相比,ResNet\|101的优势是可以简化网络结构,减少计算量,以及防止反向传播时的梯度弥散问题,可以使网络结构达到更深的层度。以下是基于改进FasterRCNN模型的字符检测模块的实验流程:首先将所有的英文字母(包括大小写)、输入图像中的文本背景和0~9的数字等信息输入ResNet\|101网络中进行字符的检测提取,获得通道的特征图。
得到全局的特征通道图之后,根据感受野之间的对应关系,从整体的特征图中提取出检测到字符的通道特征图,然后使用大小为512的卷积核将所有字符特征图的通道数量设置为最小,由于ROI(RegionofInterest)Pooling需要进行两次量化,量化后的候选框起初回归出来的位置的偏差会影响检测或者分割的准确度,因此选择ROI(RegionofInterest)Align量化特征图,特征图的大小设置为49,并通过最后的模块将特征图转为识别模块中所需要的维度序列。
2.3字符关联模块
根据顺序读取字符的关联信息,可以更好地识别文本图像,特别是在背景和信息复杂的文本中,需要获取字符之间的关联信息。常用的方法是使用RNN对文本图像转化的序列进行编码和解码,但会出现字符关联信息不足的问题,从而导致字符的误识别。想要在字符检测模块中得到的特征图上准确地定位字符,就需要获取字符之间的关联信息,这样可以让之后的输出具有字符的关联信息。图3展示了本文的字符关联模块的架构图。
2.4多头注意力模块
注意力机制的核心思想是通过对输入数据的不同部分赋予不同的权重,以表示它们在特定任务中的相对重要性。因此,可以将注意力机制看作一种强调或弱化某些特征的方法,使得模型能够更好地关注到与当前任务最相关的特征。传统的注意力机制通常是基于RNN等模型实现的,存在依赖前一时刻以及顺序执行的问题。本文提出的多头注意力模块是将多个注意力机制进行堆叠,在每个注意力机制之间进行残差级联,这种做法大大增强了模型的识别能力。通过不断地训练模型,每个注意力机制在不同的位置能够同时处理来自不同特征子空间的信息,从而得到更全面、丰富的特征表示。其中,自注意力机制可以快速地提取局部特征内部的依赖关系,采用缩放点积注意力,首先将位置关联模块的输出特征[WTHX]Y[WTBX]通过3次不同的线性变换得到3个维度均为d2的输入矩阵,即查询[WTHX]Q、键K、值V,其次将Q、K[WTBX]的转置做点积运算并除以 ,最后将Softmax处理获得的结果与[WTHX]V[WTBX]做张量乘法。缩放点积注意力的计算公式为
2.5字符输出模块
长短期记忆网络(LSTM)能使循环神经网络记录之前的信息和忽略一些不重要的信息,从而对长期语境等关系进行建模。门控循环单元(GRU)在此基础上,保留了长期序列信息,同时可以减少梯度消失问题。因此,字符输出模块由一个注意力机制和一个GRU组成。多头注意力机制输出的特征向量输入字符输出模块后,最终的输出为结果序列。
字符输出模块的注意力机制可以获取到每个字符之间的依赖关联信息,即不管在哪个时间或者步骤上,都可以只关注想要识别的字符。在解码环节,该模块通过不断地更新其状态,能够全面获得特征向量中的全部状态信息。用Z=(z1,z2,…,zM)表示输出的结果序列,其中M为每个序列特征的迭代次数,即生成的序列长度也为M。输出至t步,本文的识别模型由多头注意力的输出、字符输出模块中GRU的隐藏层状态以及t-1步时的zt-1输出获得结果序列。在t步时,zt的计算公式如下:
3实验结果(Experimentalresult)
3.1实验细节
在本文的实验过程中,首先将原始图像输入字符检测模块中进行检测,并提取字符特征,为了提高字符检测的精度,输入的图片必须具有较高的分辨率。其次将字符检测模块输出图像作为识别模块中的输入图像,控制点数量设置为20。为了使训练集的数据更具针对性,需要对两个不规则文本中的图像进行字符的标注,使用ICDAR2013、ICDAR2015、TotalText数据集进行训练,并且将mini\|batch的大小设置为256。使用SGD(StochasticGradientDescent)对训练的参数进行逐步优化,SGD动量的大小为0.9,权重的衰减大小为0.001,进行2×104次迭代;为了保证参数的最优化,学习率设置为0.001。
在识别阶段有两层单向连接的LSTM单元,多头注意力模块是由2个Transformer单元块组成的,由字符输出模块输出最终的字符序列。模型训练时,使用AdaDelta(AdaptiveDelta)进行参数上的优化,在识别阶段有两层单向连接的LSTM单元,批处理大小为256,初始学习率为0.6,输出序列N的最大长度设置为25。
[BT5+*3.2数据集与评价指标
为了准确评估本文所提实验方法的有效性,需要将其与一些常见的自然场景文本检测识别方法进行对比,本文选择数据集ICDAR(InternationalConferenceonDocumentAnalysisandRecognition)2013、ICDAR2015和TotalText作为训练集和测试集,前者为规则数据集,后两者为不规则数据集。
评价文本检测模块部分,主要使用文本检测方法中的查准率P、查全率R和调和平均值F。
查准率P的计算公式为
对整个文本识别结果的性能评估指标采用单词级的识别精度。
消融实验采用的评估指标为FS、FW、FG、Ffull、Fnone,分别代表使用ICDAR2013、ICDAR2015测试集提供的强词典、弱词典、通用词典、TotalText测试词典和无词典辅助。
3.3定量实验结果分析
在ICDAR2013、ICDAR2015和TotalText数据集上,将本文的检测模型与其他检测方法进行了实验对比,结果如表1所示,从表1中的数据可以看出,本文的检测模型展现出了优异的性能。
在ICDAR2013、ICDAR2015和TotalText数据集上的实验结果表明,与表1中的其他文本检测方法相比,本文模型在查准率与查全率方面大多高于对比模型的相应指标值。即便与表现最佳的文本检测模型相比,也仅在查全率上略微低了1百分点。4Wlf8Gk4WFKpay0Mmkj/CuRPBDgg961JTQ5cBxBHIPE=这一结果充分证明了本文检测模型具有高度的鲁棒性。
表2展示了本文检测模型与其他检测模型在ICDAR2013、ICDAR2015及TotalText数据集上的实验结果。从表2的实验结果中可以看出,本文的检测模型在3个数据集上分别取得了93.7%、83.0%、88.6%的优异结果,相比于其他模型,性能更优。尤其在不规则文本数据集ICDAR2015及TotalText上,本文的检测模型表现更优异。即便在ICDAR2013数据集上稍逊于EPAN,但是EPAN在ICDAR2015、TotalText上EPAN数据集上获得的精度结果不如本文的检测模型。
与TextScanner、Two\|Attention模型相比,本文模型在ICDAR2015、TotalText数据集上展现出了较大的性能提升。具体而言,相较于Two\|Attention模型,本文在ICDAR2015、TotalText数据集上分别提升了3.7百分点、1.8百分点;与TextScanner模型相比,则分别提升了3.6百分点、5.3百分点。当与基于注意力机制的SAR、EPAN模型相比,本文模型在ICDAR2015、TotalText不规则的文本数据集上相比于ICDAR2013有更大的性能提升。本文模型的识别模块考虑了相邻字符间的关联信息与上下文之间的语义信息,因此与传统采用分割或者基于传统注意力机制的模型相比,能够逐一获取字符之间的关联信息,并关联到全局之间的语义信息,可以获得更佳的实验结果。
3.4消融实验
本小节通过消融实验评估不同模块对模型总体性能的影响。为验证本文使用的ResNet\|101对检测模块起到的重要作用,设计了对比实验,将改进后的FasterRCNN(采用ResNet\|101)与原始版本的FasterRCNN(采用VGG\|16作为基准框架)进行性能对比。此消融实验同样在ICDAR2013、ICDAR2015和TotalText数据集上进行,对比结果如表3所示。Ours(1)代表使用原来的VGG\|16框架的实验结果。
在文本识别阶段,Ours(2)代表从本文模型去除字符关联模块和多头注意力模块,仅采用Bi\|LSTM进行序列建模。实验对比结果如表4所示。观察表4的数据可以得出,字符关联模块和多头注意力模块对本文模型的性能有很大的提升作用。
在ICDAR2013、ICDAR2015、TotalText数据集上,仅依赖Bi\|LSTM进行序列建模的消融实验模型与本文模型相比,显示性能分别下降了0.9百分点、2.8百分点、4.2百分点。由此可以得出,仅使用Bi\|LSTM进行序列的建模,其性能表现一般,容易漏检图像中的字符。相比之下,本文模型使用字符关联模块和多头注意力模块进行序列建模,可以使字符的区域逐一对齐并对其成功加以检测识别,使得字符所在的区域可以获得更合理的比例权重。
4结论(Conclusion)
本文提出的基于多头注意力机制的文本检测识别方法考虑了字符之间的关联信息和上下文之间的语义信息。首先,使用改进的FasterRCNN模型求出场景图像中所有字符的特征向量;其次,通过识别模块中的各个模块获得识别结果。针对检测部分鲁棒性低的问题,研究人员对FasterRCNN进行改进,使其能够更好地应对复杂不规则的文本。对于识别阶段中上下文之间字符信息语义不相关的问题,引入字符关联模块和多头注意力模块,可以关联字符之间的语义信息并对其检测识别。在实验部分,本文选取了常见的检测模型及识别方法与本文的检测模块以及整体模型进行比较,并在3个数据集上进行实验,结果表明本文的检测模型的查全与查准以及识别准确度都很出色,尤其是在不规则文本ICDAR2015、TotalText中的表现更好。在接下来的工作中,将扩充方法来对全文之间语义信息不显著的文本进行检测识别。
参考文献(References)
[1]ZHUY,YAOC,BAIX.Scenetextdetectionandrecognition:recentadvancesandfuturetrends[J].Frontiersofcomputerscience,2016,10(1):19\|36.
[2]LIH,WANGP,SHENCH,etal.Towardsend\|to\|endtextspottingwithconvolutionalrecurrentneuralnetworks[C]∥IEEE.Proceedingsofthe20cFDWvilYO2ezGTqeP+iNi5bmeGidGZ/hz4BsW6utNq8=17IEEEInternationalConferenceonComputerVision.Venice:IEEE,2017:5238\|5246.
[3]ZOUBJ,YANGWJ,LIUS,etal.Athree\|stagetextrecognitionframeworkfornaturalsceneimages[J].JournalofZhejiangUniversity(NaturalScience),2021,48(1):1\|8.
[4]WANGXY,DONGLF.ApplicationofattentionmechanisminofflineChinesehandwrittentextlinerecognition[J].Journalofchinesecomputersystems,2019,40(9):1876\|1880.
[5]WANT,WUDJ,COATESA,etal.End\|to\|endtextrecognitionwithconvolutionalneuralnetworks[C]∥IEEE.Proceedingsofthe21stInternationalConferenceonPatternRecognition(ICPR2012).HonshuIsland:IEEE,2012:3304\|3308.
[6]NEUMANNL,MATASJ.Real\|timescenetextlocalizationandrecognition[C]∥IEEE.Proceedingsofthe2012IEEEConference onComputerVisionandPatternRecognition.Providence:IEEE,2012:3538\|3545.
[7]JADERBERGM,SIMONYANK,VEDAIDIA,etal.Readingtextinthewildwithconvolutionalneuralnetworks[J].Internationaljournalofcomputervision,2016,116(1):1\|20.
[8]ALMAZNJ,GORDOA,FORNSA,etal.Wordspottingandrecognitionwithembeddedattributes[J].IEEEtransactionsonpatternanalysisandmachineintelligence,2014,36(12):2552\|2566.
[9]杨丽,吴雨茜,王俊丽,等.循环神经网络研究综述[J].计算机应用,2018,38(S2):1\|6,26.
[10]LIUX,LIANGD,YANS,etal.Fastorientedtextspottingwithaunifiednetwork[C]∥IEEE.ProceedingsoftheInternationalConferenceonComputerVision.S\|eoul:IEEE,2019:5676\|5685.
[11]SHIBG,BAIX,YAOC.Anend\|to\|endtrainableneuralnetworkforimage\|basedsequencerecognitionanditsapplicationtoscenetextrecognition[J].IEEEtransactionsonpatternanalysisandmachineintelligence,2016,39(11):2298\|2304.
[12]BAHDANAUD,CHOKH,BENGIOY.Neuralmachinetranslationbyjointlylearningtoalignandtranslate[C]∥Ithaca.Proceedingsofthe3rdInternationalConferenceonLearningRepresentations(ICLR).SanDiego:Ithaca,2015.
[13]刘崇宇,陈晓雪,罗灿杰,等.自然场景文本检测与识别的深度学习方法[J].中国图象图形学报,2021,26(6):1330\|1367.
[14]LEECY,OSINDEROS.Recursiverecurrentnetswithattentionmodelingforocrinthewild[C]∥IEEE.Proceedingsofthe2016IEEEConferenceonComputerVisionandPatternRecognition.LasVegas:IEEE,2016:2231\|2239.
[15]马洋洋,肖冰.基于CTC\|Attention脱机手写体文本识别[J].激光与光电子学进展,2021,58(12):130\|137.
[16]SHIBG,YANGMK,WANGXG,etal.ASTER:anattentionalscenetextrecognizerwithflexiblerectification[J].IEEEtransactionsonpatternanalysisandmachineintelligence,2019,41(9):2035\|2048.
[17]JADERBERGM,SIMONYANK,ZISSERMANA.Spatialtransformernetworks[C]∥NIPS.AdvancesinNeuralInformationProcessingSystems.Montreal:NIPS,2015:2017\|2025.
[18]宋问玉,杜文爽,封宇,等.双注意力机制的复杂场景文字识别网络[J].无线电工程,2024,54(2):343\|350.
[19]LYUPY,LIAOMH,YAOC,etal.MaskTextSpotter:Anend\|to\|endtrainableneurralnetworkforspottingtextwitharbitraryshapes[C]∥Springer.ProceedingsoftheEuropeanConferenceonComputerVision.Munich:Springer,2018:67\|83.
[20]ZHANGRY,WANGQQ,LUY.CombinationofResNetandcenterlossbasedmetriclearningforhandwrittenChinesecharacterrecognition[C]∥IEEE.Proceedingsofthe201714thIAPRInternationalConferenceonDocumentAnalysisandRecognition.Kyoto:IEEE,2017:25\|29.
[21]LIUB,ZHANGXY,GAOZY,etal.WelddefectimagesclassificationwithVGG16\|basedneuralnetwork[C]∥ZHAIG,ZHOUJ,YANGX.InternationalForumonDigitalTVandWirelessMultimediaCommunications.Singapore:Springer,2018:215\|223.
[22]TIANZ,HUANGWL,HET,etal.Detectingtextinnaturalimagewithconnectionisttextproposalnetwork[C]∥Springer.Proceedingsof theEuropeanConferenceonComputerVision.Amsterdam:Springer,2016:56\|72.[HJ1.75mm]
[23]LIJM,ZHANGCQ,SUNYP,etal.Detectingtextinthewildwithdeepcharacterembeddingnetwork[C]∥Springer.Proceedingsofthe14thAsiaConferenceonComputerVision.Perth:Springer,2018:501\|517.
[24]LONGSB,RUANJQ,ZHANGWJ,etal.TextSnake:Aflexiblerepresentationfordetectingtextofarbitraryshapes[C]∥Springer.ProceedingsoftheEuropeanConferenceonComputerVision.Cham:Springer,2018:19\|35.
[25]XUECH,LUSJ,ZHANGW.MSR:multi\|scaleshaperegressionforscenetextdetection[C]∥MorganKaufmannProceedingsoftheTwenty\|EighthInternationalJointConferenceonArtificialIntelligence.Macao:MorganKaufmann,2019:989\|995.
[26]LIAOMH,SHIBG,BAIX.TextBoxes++:asingle\|shotorientedscenetextdetector[J].IEEEtransactionsonimageprocessing:apublicationoftheieeesignalprocessingsociety,2018,27(8):3676\|3690.
[27]LIAOMH,LYUPY,HEMH,etal.MaskTextSpotter:anend\|to\|endtrainableneuralnetworkforspottingtextwitharbitraryshapes[J].IEEEtransactionsonpatternanalysisandmachineintelligence,2021,43(2):532\|548.
[28]ZHANFN,LUSJ.ESIR:end\|to\|endscenetextrecognitionviaiterativeimagerectification[C]∥IEEE.Proceedingsofthe2019IEEE/CVFConferenceonComputerVisionandPatternRecognition.LongBeach:IEEE,2019:2054\|2063.
[29]YANGMK,GUANYS,LIAOMH,etal.Symmetry\|constrainedrectificationnetworkforscenetextrecognition[C]∥IEEE.Proceedingsofthe2019IEEE/CVFInternationalConferenceonComputerVision.Seoul:IEEE,2019:9147\|9156.
[30]WANZY,HEMH,CHENHR,et al.Textscanner:readingcharactersinorderforrobustscenetextrecognition[C]∥AAAI.ProceedingsoftheAAAIConferenceonArtificialIntelligence.NewYork:AAAI,2020,34(7):12120\|12127.
[31]LIH,WANGP,SHENCH,etal.Show,attendandread:asimpleandstrongbaselineforirregulartextrecognition[C]∥AAAI.ProceedingsoftheAAAIConferenceonArtificialIntelligence.Honolulu:AAAI,2019,33(1):8610\|8617.
[32]HUANGYL,SUNZH,JINLW,etal.EPAN:effectivepartsattentionnetworkforscenetextrecognition[J].Neurocomputing,2020,376:202\|213.