《基于深度学习的街道场景广告标牌的文字检测识别研究》10000字_第1页
《基于深度学习的街道场景广告标牌的文字检测识别研究》10000字_第2页
《基于深度学习的街道场景广告标牌的文字检测识别研究》10000字_第3页
《基于深度学习的街道场景广告标牌的文字检测识别研究》10000字_第4页
《基于深度学习的街道场景广告标牌的文字检测识别研究》10000字_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于深度学习的街道场景广告标牌的文字检测识别研究摘要传统光学字符识别技术主要是对规整的文档图像进行处理,在适合条件下能够达到很好的检测识别效果;而复杂多变的自然场景中,面对杂乱的背景、手写体印刷体等多样化的字体和倾斜旋转的排列方式,传统光学字符识别很难得到有效的结果。针对上述问题,本文主要研究自然场景中广告牌图片中文字的检测与识别,主要内容如下:(1)建立一个包含8400张广告牌图片及其标签的广告牌文字检测与识别的数据集;(2)使用VGG网络提取空间特征,利用BLSTM获取上下文信息,采用RPN区域生成网络构建文本框,最终完成广告牌文字检测;(3)利用CNN进行特征提取,RNN进行序列特征提取,CTC的损失函数进行端到端的联合学习,并基于此得到广告牌文字识别结果;(4)采用PyQt实现用户界面,包括图片读入、文字区域检测和文字内容识别。关键词:深度学习;场景文字检测;场景文字识别目录1绪论 绪论1.1研究背景及意义广告牌宣传是一种传统又典型的方式,由于方便高效,针对性强等特点,长久以来受到广大商家的青睐。随着二维码扫描的普及,通过扫描图片的形式,快速准确识别广告牌文字,能够方便用户快速查找商店或商品信息,提高工作效率,降低人工成本,优化用户体验。传统光学字符识别应用在输入背景单一、字体为规范印刷体且分布整齐的高质量文档图像中时,通常能达到很好的效果。而自然场景中的情况就复杂很多,如广告牌位置不同,图像背景复杂;拍照设备或天气等因素影响分辨率差异大;书法字体,艺术字体等字体多样化;广告文字排布随意等,使得传统方法无法应用。随着深度学习热潮的掀起,文字检测与识别有了新的思路,经过研究后证明深度学习相比传统方法的确有更好的表现。如今的深度学习技术已经十分成熟,TensorFlow、Caffe、Torch、PyTorch等深度学习框架都有广泛应用。因此,探索基于深度学习方法的广告牌文字检测与识别系统具有重要的价值。1.2国内外研究现状2016以来,相比传统光学字符研究技术已十分成熟,场景图像的文本检测和识别却仍面临很多困难和挑战。在高质量文档可以达到99%以上的识别率时,自然场景图像却是检测率不到80%,识别率低于60%的情况。例如在图像的数字化转换、车牌识别、广告牌文字识别等的应用中,这类图片背景复杂,不像文档图片背景简单干净且分辨率高,则识别率准确率都很低。目前,在国内外学者地深入研究下,场景文字检测识别技术取得了巨大进展。(1)研究方向自然场景中的文字检测识别分为两个关键技术点,即文字检测与文字识别。只有精确检测出文字的位置,才能为后续识别的研究做好铺垫,所以文字检测十分重要。在文字检测研究中最有影响力的比赛是ICDAR组织的鲁棒性阅读比赛(RobustReadingCompetition),对文字检测研究的发展有极大意义。(2)场景文字检测研究现状场景文字检测的相关研究先提出了基于手工标注的传统方法,随着深度学习的潮流,基于深度学习的方法也逐渐受到重视。传统方法是先经过手工标注,再提取标注的特征向量。连接组件分析标签(Epshtein等,2010;Neumann和Matas,2010)和滑动窗口(Lee等,2011)在该任务中应用最为广泛。[1]但也存在很多问题,手工标注在复杂情况下缺乏鲁棒性,基于滑动窗口方法中窗口选择缺乏针对性,只能依次逐个划过,耗费时间长,窗口冗余。基于深度学习的方法在经过调整参数的卷积神经网络架构下,用反向传播算法来学习目标任务所需的特征向量,经实验证明能够大幅提高检测效果。现在广泛应用的深度学习文字检测模型是基于回归的模型和基于分割的模型。基于回归的模型是由目标检测框架改进。其中最为广泛应用的是FasterR-CNN的,但是此方法速度不具实时性。YOLO也属于基于回归的模型中的方法,采用端到端网络,训练检测出文字位置和类别。SSD[2]将YOLO和FasterR-CNN融合,是一种全卷积目标检测算法,能使文字定位更准确,在FasterR-CNN基础上速度明显提升。基于分割的模型产生是受到语义或实例分割框架影响,目前已经有了使用广泛,约束较少的框架。FCN[3]是深度学习解决分割问题的基础,它将分类网络转换成能够分割任务的结构,由端到端网络的训练后,产生一个较为细致的分割图以得到文字区域的相应热图。(3)场景文字识别研究现状2012年之前,传统的文字识别主要分为三个基本的步骤,先对图像预处理,通常是包括图像去噪、图象增强、缩放等;然后提取图像中文字的相关特征;最后采用分类器进行分类。深度学习在之后的发展中取得重大突破,训练深度学习模型识别成为了热门方向。目前主要有两种思路进行研究,一种是先对输入图片进行检测,定位文本位置后,在对文本行中的字符进行识别,即将研究过程中检测和识别两个步骤分开,CRNN是现在应用较多的图文识别模型,对识别较长的文本序列有良好的能力;另一种方案是进行端到端的快速检测识别,即将第一中方案中的检测与识别过程合成在一起,直接输出预测文本信息。当前较好的端到端算法为FOTS,计算速度较快,也能学到分阶段训练方式无法得出的一些图像特征。由于端到端的方式需要大量数据进行训练且识别准确率并不高,所以本文主要采用分阶段的方法。1.3主要研究内容综上所述本文对广告牌文字的检测识别技术分别进行了研究,研究的主要内容如下:(1)CTPN文本检测算法,将该算法应用于广告牌文本检测中。算法由图像预处理模块、CTPN网络文本定位模块和文本框融合模块三部分组成。它通过对待检测图像预处理规格化后,再对CTPN网络检测出的候选文本框进行融合,使用融合策略找出文本的最佳区域。(2)CRNN文本识别算法。首先CNN联合RNN训练构建输入特征序列,得到字符预测结果,最后使用CTC的损失函数进行端到端的联合训练对齐输入输出。将该算法在数据集上进行训练和测试,识别出广告牌文字。1.4本文结构第一章:介绍了本文的研究背景与现状,并对本文结构进行安排。第二章:对研究过程中用到的知识进行说明,以此降低阅读成本。第三章:对广告牌文字检测过程中的操作处理进行介绍。第四章:对检测出的文本框内的文字识别过程中的操作处理进行介绍。第五章:对实验结果进行分析。第六章:总结本文主要工作,并对提出了相关改进思路。2相关知识2.1深度学习(1)概述深度学习(deeplearning)是机器学习衍生出的[4],对数据进行模拟神经系统地复杂变换后使抽象得到有效信息的一种算法,使实现人工智能的目标更进一步。通过构建深层的神经网络进行学习,发现数据的内在规律和表示层次,机器能够在通过多层非线性的信息处理之后完成特征提取的任务,构建深层的模型是实现的手段。深层网络学习到的特征都是浅层中学习的特征的连接,因此能够学到更抽象的特征,进而数据的属性和类别能够更好的被表示。应用在文字、图像和声音等自然信息的检测识别领域,经过训练便能得到很好的结果。最终实现“人工智能”,使机器具有对输入的自然信息能够像人类一样分析学习的能力。(2)Pytorch框架Pytorch是一款在torch框架基础上开源的深度学习框架。由于种种优势,Pytorch目前得到了广泛的应用,已经在聊天机器人、机器翻译、文本搜索、文本到语音转换和图像与视频分类等项目中取得了巨大成功。2.2CNN卷积神经网络(1)概述卷积神经网络CNN(ConvolutionalNeuralNetworks)能够对物体的表面特征进行很好地提取学习,拥有良好的性能使其得到广泛应用[5]。卷积神经网的产生是从生物视觉感觉系统得到的思路,可以在无监督或有监督的情况下学习,在CNN的隐藏层中,各自的卷积核之间共享参数,各层间的连接稀疏,因此像素等网格化特征,计算量小,无需通过特征工序提取其他的,追加数据的特征信息。它通常由多层神经网络构成,各层能够取入卷积对象的不同水平的特征。网络的第一层是卷积对象的特征等级的最下层,其包括更多的纹理、颜色、形状等底部特征。后面的阶层所包含的特征更高级更抽象,这些高层次的抽象特征用传统的机器学习方法难以抽取。CNN的网络结构中多层隐藏层是重点结构,分为三个基本层级。卷积层有多个卷积核,每个卷积层通过卷积核来学习输入数据的关系,即通过在迭代训练期间获得最佳参数值来最小化网络模型的误差,用来提取输入数据的特征。池化层或名下采样,通过缩小或抽取平均值等方式压缩特征图,将卷积层的输出特征图输入到池化层中。全连接层一般是一维特征向量,其经由神经元连接到先前的网络,并将所提取的特征聚集在样本空间中。如下图2-1所示。图2-1CNN网络结构示意图(2)VGGNet相关研究VGG是经典的CNN模型,在分类比赛项目中取得优异成绩,展现了良好的性能。在对采用11至19层网络结构的VGG模型进行比较分析后,发现16层和19层网络深度的VGG模型展现出较好的性能,所以这两种模型使用最为广泛,分别被称为VGG-16和VGG-19,他们并没有实质上的差异,不同点只是中间隐含层层数不同[6]。VGG可以视为增加网络深度的AlexNet,将卷积层和全连接层叠加在一起生成,差异在于,VGG中使用的都是尺寸较小的卷积核。该模型具有如下特点,其一,使用连续的小卷积核,简化结构,减少训练过程中的计算量,使模型训练速度提高;全部使用2×2的池化核,能够获取细节信息,更好地感受图像的变化过程。其二,模型参数多,并且很多都位于FC层中。其三,训练网络进行合适的网络初始化来减少反向传播,并批量归一层。其四,VGG-19与VGG-16结构相似,其中VGG-19的性能更好一些,但训练中需要更多的资源配合,并且VGG-16的简单结构时期在迁移学习中表现良好,因此实际中VGG-16比VGG-19使用更多。图2-2VGG-16模型结构图示本文主要使用的是VGG-16模型,VGG-16模型整体结构由5个卷积块组成,如上图2-2所示结构。2.3RNN循环神经网络循环神经网络RNN(RecurrentNeuralNetwork)利用前后输入的关系提高模型的训练效果,更好的处理利用序列信息,在自然语言处理领域应用的较为广泛[7]。图2-3RNN网络结构示意图基础的神经网络只在层与层连接进行加权,RNN[8]最大的改进之处是在层之间的神经元之间也进行了加权,具体结构如图2-3所示。最传统的全连接神经网络基础上加上权重矩阵W便得到了RNN。输入层值的向量x结合权重矩阵U输入隐含层,得到隐藏层值的向量s,而上一次隐藏层值的向量s作为权重矩阵

W加入到本次隐藏层的训练中,使上一次运算的值与本次得到结合,全局角度上使得上下文信息得到联系,再将本次隐含层值的向量s以另一加权值,训练后得出输出层结果。所以当前St的值同时受到本次输入Xt和上一次隐藏层的值St-1的影响[9]。如图2-3所示。RNN框架对序列处理有一定的改进,却同时存在梯度爆炸或梯度消失问题的可能,因为随着训练的推进,神经网络中“记忆能力”减弱,使得上下文联系的能力减弱。为解决这两个问题研究者们又提出了相关算法。对于梯度消失采取了一种具有“记忆”的存储方式,取代直接抹去距离较长上文信息的方式;对于梯度爆炸问题,通过设置一个阈值a,当梯度超过a或者小于-a时,直接设置为a或-a,不再增加减少。

3广告牌文字的检测对于自然场景图像,文字检测需要实现定位文字的位置,确定文字的大小,为之后文字识别做好准备,只有检测出了文字,才能更准确的识别文字。本文文字检测主要流程如下图:图像预处理图像预处理CNN学习空间特征CNN学习空间特征Bi-LSTM学习序列特征Bi-LSTM学习序列特征RPN网络获得TextProposalsRPN网络获得TextProposals构造文本框构造文本框图3-1广告牌文字检测流程图3.1图像预处理预处理操作先将图像去噪,即处理掉原始输入图像中影响训练过程的因素。在图像去噪过程中需要保护原始图像不受损,同时减少图片中的一些无用的信息。进而用OpenCV将图片统一规格为宽1600像素,高900像素,便于输入CTPN算法网络中。3.2CTPN算法训练模型CTPN是ECCV在2016提出的一种基于连接预选框,联合采用RNN和CNN的文本信息检测算法[10]。并结合LSTM(长短期记忆网络)深度网络,该算法表现出良好的性能,能有效的检测出复杂场景的水平方向的文字。3.2.1CTPN介绍CTPN模型中利用VGG-16作为基础网络,再用得到的特征图训练出多个候选框,采用文本框融合技术得到最终文本框[11]。当需要获得的相关信息和待预测位置之间的间隔不断增大时,RNN不能在距离较大的情况下保持学习信息的能力,所以用到了LSTM。双向LSTM可看作是两层神经网络,这两层神经网络分别从两个方向对待处理信息输入进行训练,一层将数据从开头在左边输入,另一层中则末尾开始倒着在右边输入,两个方向进行相同的处理,最后将结果叠加,能够将数据序列的上下文信息综合考虑[12]。3.2.2网络训练过程(1)将VGG16网络作为basenet进行特征的提取,将conv5得到featuremap输出,由于数据经过4次池化后Stride为16,所以改变特征图中1个像素,在原图中则是对16个像素点进行了操作。(2)在产生的特征图上框出大小为3x3的滑动窗口。如下图3-2所示,输出为N×9C×H×W的Featuremap,学得广告牌图像的空间特征。可以预测出当前窗口是特征向量与周围anchor之间的偏移距离,即由一个滑动窗口可以预测出10个textproposal。图3-2滑动窗口变换示意图(3)对上一步输出的Featuremap进行Reshape操作:Reshape:N×9C×H×W→NH(4)将Batch=NH且最大时间长度Tmax=W的数据流输入Bi-LSTM,Bi-LSTM输出为(NH)×W×256,获得序列特征,再经Reshape恢复原图大小:Reshape:NH这时输出的特征向量同时包含了CNN训练后得到的空间特征,RNN训练后含有前后信息的序列特征。(5)然后输入全连接层,使特征竖直,Anchors定位文字位置。因为采用VGG16模型提取空间特征,所以Conv5生成特征图的宽度高度都比输入广告牌图片的宽度和高度缩小16倍。之后采用了每个像素点位置创建等宽度的Anchors,对文字进行定位。如下图3-3所示,全连接FC层Featuremap中每个像素点都设置10个等宽不等高的Anchor,宽高分别为:Widths=[16],heights=[11,16,23,33,48,68,97,139,198,283]图3-3每个像素点10个Anchors示意图这种方式有两个优点。其一,保证在水平方向上,每个像素点都能且只能被一个Anchor组覆盖;其二,由于同一广告牌不同文本行在竖直方向上高度也可能存在很大差距,所以设置10个不同高度的Anchors高度。Anchor作为检测文字的候选框,通过之后步骤中的分类和位置矫正操作,获取Anchor候选框在原图中对应大小位置的文本检测框。可以采用Boundingboxregression将小框回归为大框。具体回归方式如下:VcVhVcVh其中,V=(Vc,Vh)是回归预测的坐标,V=(Vc∗,Vh​Anchor在进行回归处理后,就能得到一组将文字区域框在若干个Anchor中的竖直方向条状textproposal,如下图3-4所示。在之后的操作处理中,只需要将这些小块文本区域用文本线构造算法连接成一个完整文本框,即完成文字检测。图3-4竖直条状textproposal(6)最后经过RPN[13]网络,获得TextProposals。通过分类和回归后,输出三个数据,其一,2kverticalcoordinates表示候选文本框高度到文本框纵向中点的坐标;其二,2kscores表示的是k个anchor的正负例情况,区分出当前anchor为文本还是背景,分别用0和1表示;其三,kside-refinement表示的是对候选文本框边界位置的微调,只调节位置,不调节高度。整个CTPN算法流程如3-5所示。图3-5CTPN算法示意图3.3构造文本框为将广告牌文字检测结果有效传入后续文字识别步骤,需要将产生的textproposal连接成一个完整的文本检测框。本文构造文本框线步骤是先将Anchor按照横向坐标依次排列;然后逐个计算Anchorboxi的pair(boxj),组成pair(boxi,boxj);再利用pair建立一个连通图,最后生成广告牌图像中对应文字位置的文本检测框。分别沿正向寻找和反向寻找。正向向前走,先沿水平正方向,按boxi搜索位置距离为50个像素点的范围并且与标签重合度大于0.7的候选Anchor;然后从候选Anchor中找出最大的boxj;反向寻找同理。为每个Anchor求出正反方向的score值,最后对正向score和反向score进行比较,如果正向score大于反向score,则这是一个长序列;否则不是一个最长的连接,即一定存在另一更长连接包括此连接。由正反score值比较得出的位于长序列的Anchor,建立一个Connectgraph。如图3-6所示。图3-6构造文本框示意图遍历此Connectgraph并连接就能确定出文本检测框。4广告牌文字的识别目前基于深度学习的光学字符识别技术有CRNN和加入attention机制的OCR[14]。他们在输入层,隐含层有相同的操作处理。他们最大的不同点在最后的输出层,即将最终生成文字进行翻译出的网络层,该层中需要将网络中学习到的信息转化为自然文本信息,该层中对齐方式不同,CRNN采取的方式是CTC为损失函数进行训练,而attentionOCR是加入了注意力机制。本部分主要应用更为广泛的CRNN算法来完成文字识别。图像预处图像预处理CNN提取特CNN提取特征RNNRNN预测标签分布转化标签序列转化标签序列图4-1广告牌文字识别流程图4.1图像预处理对经过文字检测后产生的广告牌图片文本框,首先将图片高度放缩到32个像素点,长度随原图比例进行改变,再将图像进行灰度化之后作为网络的输入。4.2CRNN进行文字识别CRNN(ConvolutionalRecurrentNeuralNetwork)不需要先将整行文本切割成单个字符,而是转变为时序依赖的序列学习问题[15]。采用端到端的训练方法识别不同长度的文本,其网络结构主要分为CNN层,RNN层,转录层,如图4-2所示。图4-2CRNN算法示意图4.2.1CNN提取特征本文中用到的CNN网络前两个最大池化层的窗口大小为2×2,后两个池化层的则改为1×2,即在池化层训练过程中输入图像的变为原来的1/24,而宽度则只变为原来的1/22。采用这种方式的原因是输入图像大多数为横向文本框,在之前步骤的处理中去除了背景部分,呈现出高小宽长的长条形式,为了更好的适应其特点,更好的学习水平方向的信息,特征图也配置为此类高小宽长的长条形式。这个设置在识别英文时更能体现优越性。训练时输入图像设置为灰度图像,经过CNN,所有图像固定高度为由32转化为1;宽度不固定,但需要统一为统一大小。例如输入单通道,高度为32,宽度为160的数据到CNN中进行训练,输出结果为512个特征图,每个特征图的高度为1,宽度为40。经过CNN得到的特征图,需要map-to-sequence将数据格式进行调整,提取到符合RNN要求的特征向量序列,才能输入RNN中训练。调整过程中需要从featuremap上按列顺序生成每一列特征向量,其中每列为512维特征,所以经调整后产生的序列中特征向量位置就是所有的特征图对应列的位置像素的组合,成为一个完整的能够输入RNN中的序列。CNN生成特征图的一列就是一个特征向量,映射到输入图像中的部分区域,他们与特征图上相应列顺序一样。4.2.2RNN预测标签分布由于RNN存在梯度消失的不足,CRNN算法中采用的是LSTM网络模型,能够在长距离中获得依赖信息。普通LSTM方法只能使用之前的数据,但是在文字识别中需要联系上下文信息,相互佐证依赖的。所以在广告牌文字是识别过程中采用向前和向后组合的双向LSTM,这种深层结构的RNN,用以学习浅层抽象中无法获得的信息,具有更好的识别能力。将CNN训练后得到了40个特征长度为512的特征向量,输入双向LSTM,经过40个步长,结合序列信息进行训练后,预测出该特征向量对应原图中的矩形区域位置处的字符,得到所有字符的概率分布,作为CTC层的输入。输入双向LSTM后进行训练,每一个输入的特征向量预测出该向量对应原图位置的字符。对每个特征向量预测完后,即预测出所有字符后,由每个输入特征向量和预测字符的概率分布组成一个向量。由40个这样的向量构成后验概率矩阵。再将后验概率矩阵输入CTC层。4.2.3转化标签序列在转录层进行的是,将双向LSTM的预测结果转换成标签序列,即由单个预测结果求出可能性最大的排列方式,为标签序列。端到端OCR识别无法处理不定长序列对齐,即当识别出各个可能字符不法按正确形式得到结果。RNN对序列信息进行分类时,总是会出现很多多余重复信息,比如在文本行中由于文字间隔距离不同,宽度等种种原因,一个字母被连续识别了两次。可以采取用“-”符号表示空白blank,对预测结果字符出现重复时插入,例如经过模型识别后输出序列为“bbooo-ookk”,则最后压缩冗余部分,得到最后识别结果为“book”,而不是错误压缩为“bok”。这种机制在有blank字符作为分隔的情况下,连续相同字符就不进行合并,过程中先删除结果中连续重复字符,再删除所有“-”字符,对解决删除重复字符的问题有很好的表现。此为解码过程,相对的编码过程则是由神经网络来完成。在端到端网络中,采用的是CTC(ConnectionistTemporalClassification)的损失函数,来解决这一问题。损失函数的计算需要依据后验概率矩阵和对应文本标签,并应用到网络模型的训练中,下图4-3所示为损失函数的计算流程事例。图4-3损失函数计算方法以上图中最简单的情况,时序为2的字符识别为例,有t方向的两个时间步长(t0,t1)以及s方向的可能的预测字符结果。假如直接采用最大概率路径,即“-”的路径,预测出正确识别结果,为空的可能是0.36。然而字符“a”的个数和与空格的关系无法确定,识别出“a”而真实可能是“aa”,“a-“和“-a”,所以,输出“a”的概率应该为三种情况的概率相加为0.64,所以需要在神经网络中训练得出概率值最大的情况。在一般的分类算法中,将概率的负最大似然函数作为CTC损失函数,本文为简化难度对似然函数取对数计算。采用上述方法反向传播,神经网络中的参数不断优化,进而识别出像素位置相应的字符。用概率值结合映射的方式不需要对原始的字符序列进行精确分割。在测试阶段,需要将训练完成的神经网络模型应用到文本图像测试集。因为测试集中图像情况未知,通过求解所有可能路径,比较出最大概率的方法计算量过大。所以采用字符种类概率分布向量中最大概率的字符,作为该时间步的预测结果,然后拼接获得一个序列路径,此路径就是最大概率路径,最后结合上述序列合并机制获得输入图像的文本预测结果所以在最后阶段将神经网络学习到的序列特征信息转化为文本字符,实现了对广告牌文字的识别。5实验结果5.1实验环境及数据集实验中的模型在PyTorch上实现,开发语言使用Python版本3.7,操作系统为Windows10。文字检测与文字识别要求有所不同,使用是数据集也不同。文字检测包含8400张广告牌图片及其标签,经过清洗筛选后,选择3000张图片用于CTPN算法的训练。文字识别用到的是3000张广告牌文本框图片。最后用300张广告牌图片作为测试集。5.2结果分析我们使用本文文字检测识别模型,在广告牌数据集上开展了充分的实验。实验结果表明,该模型能够有效完成目标任务,但仍存在一系列问题,以下选择展示一些例子,进一步分析模型:(1)由于CTPN算法是针对水平方向的文字检测算法,图片文字不是水平方向时,检测效果较差。如图5-1中“亦有致”纵向排列,无法检测出文字区域。图5-1非水平文字无法识别例图(2)图片文字不是印刷体,如书法字体时,无法正确识别。如图5-2中书法字体的“雀春”,被错误识别为“徐煮”。图5-2非印刷体无法识别例图(3)图片文字分辨率低,被识别为背景,不能检测识别出正确结果。如图5-3中字体较大,分辨率高的文字“金氏眼镜”、“创始于1989”能被识别,但下方较小的文字“城建店”、“金氏眼镜”无法识别。图5-3分辨率低无法识别例图5.3界面化为实现用户友好的目的,采用PyQt对模型进行界面化。先用QtDesigner画出界面样式后,后在Python3.6环境下与模型测试进行连接。可通过界面输入广告牌图片,显示图片路径,点击“检测文字”控件,输出用边界框框出文字区域的广告牌图片及运行时间,点击“识别文字”控件,输出识别的文字及运行时间。用户界面如图5-4所示:图5-4交互界面6总结与展望6.1总结本文自然场景下广告牌文字检测与识别任务,采用了基于深度学习的方法进行研究。面对传统光学字符识别不能很好解决自然场景图片的问题,深度学习方法的引入,带来的新的活力,使这一问题效果有所提高,但仍须继续改进。为了解决上述问题,采用了CTPN进行文字检测,CRNN进行文字识别的方法,并在建立的数据集上开展了相关实验,下面对实验进行总结:(1)CTPN中在VGG网络基础上加入LSTM使训练过程中序列前后信息得到很好的利用,对水平方向文字检测效果较好。但面对文字不规则排布情况时,如倾斜角度,旋转分布时,依然效果较差。另一方面,采用双向LSTM结合上下文信息,学到的文字序列特征更多,提高了检测效果,但在训练中存在梯度爆炸的可能。(2)CRNN算法进行文本识别时,先采用CNN联合BLSTM学习得到特征的概率分布,最后在转录层使用CTC将输入输出文本对齐。训练阶段CRNN将图像缩小放大为统一大小;而测试阶段,又进行扩展拉伸,转换过程中的影响使得识别度下降。此外CRNN缩放中输入图像长宽比例不变,但因为LSTM的时序长度取决与卷积特征图的尺寸,图像高度必须全部转化为32个像素。6.2展望经过进一步的数据和实验分析,接下来还可以从以下方面进一步开展研究。(1)对待检测图像尝试进行一定旋转,增加文本行接近水平的可能,使用CTPN网络对旋转后的图片进行检测,由多个可能的候选框计算出概率最大的作为文本框。多个概率较高的最佳文本框用多矩阵框标记,或以曲线文本框的形式标记旋转样式的文字。(2)对CRNN进行改进,以CRNN为基础模型,可以在此基础上添加对抗网络分支,并加入传统文本特征与深度学习的特征一起,使遮挡的部分文字也能得到识别。

参考文献温佳林.基于深度学习的场景文字检测与识别[D].电子科技大学,2020.LiuW,AnguelovD,Erh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论