引入注意力机制的自然场景文本检测算法研究

2019-09-13 03:38牛作东李捍东
计算机应用与软件 2019年9期
关键词:注意力图像特征

牛作东 李捍东

(贵州大学电气工程学院 贵州 贵阳 550025)

0 引 言

人工智能的兴起促进着当前社会生产活动中各项产业的革新与发展,以机器学习、深度学习和计算机视觉为代表的人工智能技术已经得到了很大程度的推广和应用。比如:无人驾驶中的高级驾驶辅助系统通过计算机视觉来实现对于动态物体的识别、侦测与追踪;以深度学习加强神经网络训练的阿尔法围棋已经被围棋界公认为超过了人类职业围棋顶尖水平。此外,深度学习在自然语言处理、语音识别、人脸识别、物体检测等诸多方面都有了广泛的应用,已经成为未来科技进步和发展的一个热点方向。

自然场景下的物体检测问题吸引世界各地的专家学者的关注和研究,传统的目标检测算法主要是基于手工特征的选取和滑动窗口的方式来检测目标物体,其中最具代表性的算法主要包括VJ、HOG和DPM等。由于手工设计目标特征,因此带来了很多的缺点,比如在特定条件下存在着特征值不具有代表性和鲁棒性等问题,另外通过滑动窗口的方式来提取目标框进而进行判断的过程非复杂,算法量大,制约着系统的运行效率。DPM算法提出之后,取得前所未有的目标检测效果,同时也代表着传统的目标检测方法已经遇到了无法突破的瓶颈。之后Girshick等[1]提出了R-CNN模型,开启了神经网络应用于目标检测的先河。随着2012年Krizhevsky等[2]使用扩展了深度的CNN在ImageNet大规模视觉识别挑战竞赛(ImageNet Large Scale Visual Recognition Challenge, LSVRC)中取得了当时最佳成绩的分类效果,使得CNN越来越受研究者们的重视。随后,基于CNN模型的改进的算法Fast R-CNN[3]、Faster R-CNN[4]、SSD[5]、YOLO[6]、Retina-Net以及Pyramid Networks等又进一步推动了基于深度学习的神经网络模型在自然场景下目标检测领域的快速发展。相对于传统的目标检测方法,深度学习目标检测方法通过深度神经网络来学习到的目标特征更鲁棒,采用Proposal或者直接回归的方式来获得候选目标的过程更加高效。在完成目标分类的过程中同样使用深度网络实现了端到端的方式直接训练模型,从而使得深度学习目标检测方法准确度高实时性好。通用目标检测算法的基本流程如图1所示。

图1 目标检测算法基本流程图

基于深度学习的目标检测算法在用于通用物体检测方面取得了很好的效果,但是面对自然场景下的文本信息的检测任务时却存在着许多问题,主要原因有:(1) 文本长宽比不定并且相关较小,与常规物体检测存在着差异,这个差异使得在选取候选框的长宽比时要做相应的处理。(2) 自然场景下的文本普遍存在着水平、倾斜、弯曲等各种不定的形状和方向,这些差异性较丰富的文体状态导致了采用通用的目标检测算法很难沿着某个方向或者倾斜角度去完成文本检测的任务。(3) 场景下的文本很容易受到其中某些物体的局部图像影像影响其文本特征信息。(4) 自然场景下的文本内容存在许多艺术字、手写体等。(5) 自然场景下的文本容易受到自然环境的干扰,比如背景、光照影响等。针对上述问题,在设计文本检测算法的时候需要对常规物体检测方法进行改进的方向主要包括特征提取算法、区域建议网络(RPN)对候选区域进行推荐、多任务网络训练、损失函数Loss改进、非极大值抑制(NMS)、半监督学习等。因此,自然图像中的文本检测仍然是一项非常具有挑战性的研究工作,加上受到许多现实应用实例的驱动影响,比如地理位置和图像检索[7]、照片OCR[8]等,此方面的研究工作也具有现实意义。

1 自然场景下的文本检测算法

1.1 研究现状

自然场景下的文本检测方法通常由两个主要部分组成,分别是文本检测和文本识别。文本检测主要以字边界框的形式定位图像中的文本。文本识别对裁剪后的单词或者文字图像进行编码,生成机器可解释的字符序列。本文的研究重点主要放在了文本的检测上。本文研究的目标检测算法中,可以将文本检测器分为基于原始检测目标的分类策略和基于目标边界框形状的分类策略,每个检测策略又有各自的特点和不同类别的算法。

基于原始检测目标的分类策略主要有:(1) 基于角色的检测算法。其过程为:首先检测单个字符或文本的一部分;然后将其分组成一个单词,以Neumann[9]为代表的研究提出通过对极值区域进行分类来定位字符;最后通过穷举搜索方法对检测到的字符进行分组。(2) 基于字的检测方法。它是与一般物体检测类似的方式直接提取文本,Gomez[10]提出了一个基于R-CNN的框架,其中候选词首先由类别不可知的提议生成器生成,随后是随机森林分类器,再采用用于边界框回归的卷积神经网络来细化边界框。(3) 基于文本行的检测算法。该方法首先检测文本行,然后再分逐个分成单词,Long[11]提出利用文本的对称特征来检测文本行,然后通过使用全卷积神经网络来定位文本行。

基于目标边界框形状的分类策略的检测方法可以分为两类。第一类为水平或接近水平的检测方法,这类方法专注于检测图像中的水平或接近水平的文本。例如:Yi[12]提出一个三阶段框架,它由边界聚类、笔划分割和字符串片段分类组成;Tian等[13]提出的方法检测几乎水平的文本部分,然后将它们链接在一起开成单候选区域;Cao等[14]尝试使用去模糊技术来获得更强大的检测结果。第二类为多方向的检测方法。与水平或接近水平检测方法相比,多方向的文本检测更加稳健,因为自然场景下的文本可以在图像中处于任意方向。这类的主要研究方法有利用检测多方向文本的旋转不变特征,首先在特征计算之前估计检测目标的中心、比例、方向信息,然后根据尺寸变化、颜色自相似性和结构自相似性进行链级特征。此外还有基于纹理的纹理分类器用于区分文本和非文本候选区[17]。文献[18]提出了四边形滑动窗口、蒙特卡罗方法和平滑Ln损失来检测定向文本,这在检测十分复杂的场景时是有效的。

1.2 EAST算法

本文重点研究了Zhou等[19]提出的EAST(An Efcient and Accurate Scene Text Detector)算法,经验证,该算法在准确性和效率总体方面明显优于其他的方法。在EAST算法中提出了一种快速、准确的场景文本检测流水线,该流水线只有两个阶段。管道采用完全卷积网络(FCN)模型,直接生成字或文本行级别的预测,不包括冗余和缓慢的中间步骤。生成的文本预测,可以是旋转的矩形或四边形,发送到非最大抑制以产生最终结果,算法总体结构如图2所示。

图2 EAST算法结构图

(1) EAST算法管道和网络设计 从EAST算法结构图可以看出该算法遵循Densebox[20]的总体设计,将图像输入到FCN中,生成多个像素级文本分数图和几何图形通道。其中一个预测通道是一个分数图,其像素值在[0,1]范围内。其余通道表示从每个像素的视图中包含单词的几何图形。分数代表在同一位置预测的几何图形的可信度。

在进行网络设计时,为处理文本字体大小以及各个形态的特征差异,该算法采用了U形[21]的思想,在保持上采样分支较小的同时,逐渐合并特征图,最终形成了一个既能利用不同层次特性又能保持较小计算成本的网络。

(2) EAST算法几何图形的生成 为不失一般性,该算法只考虑了四边形的情况,最终生成的几何图是RBox或者Quad之一。对于文本区域标注为四元样式的数据集,首先生成一个旋转矩形,该矩形覆盖区域最小。然后,对于每个具有正分数的像素,计算其到文本框的4个边界的距离,并将它们放到RBOX地面真值的4个通道中。对于四边形地真值,8通道几何图中每个带正分数的像素的值是其从四边形的4个顶点的坐标偏移,进而确定文本区域。

2 注意力机制

视觉注意已经在各种结构的神经网络对于目标检测和预测任务中有所应用,比如图像或视频字幕[20-21]和视觉问题回答[24-26]。它的可行性主要归功于合理的假设,即人类视觉不会立即整体处理整个图像。相反,人们只在需要的时间和地点专注于整个视觉空间的选择性部分[27]。具体而言,注意力不是将图像编码成静态矢量,而是允许图像特征从手边的句子上下文演化,从而导致对杂乱图像的更丰富和更长的描述。通过这种方式,视觉注意力可以被视为一种动态特征提取机制,它随着时间的推移结合了上下文定位。

当在描述图像中检测目标的特征和信息的图像处理任务中加入注意力机制,注意力模块需要处理的特征信息包含明确的序列项a={a1,a2,a3,…,aL},ai∈RD,其中L代表特征向量的个数,D代表的是空间维度。因此所采用的注意力机制需要计算出当前时刻t每个特征向量ai的权重αt,i,公式如下:

eti=fatt(ai,ht-1)

(1)

(2)

式中:fatt()代表多层感知机;eti代表中间变量;ht-1代表的是上个时刻的隐含状态;k代表特征向量的下标。计算出权重后,模型就可以对输入的序列a进行筛选,得到筛选后的序列项为:

(3)

最终由函数μ来决定该注意机制是硬注意力还是软注意力[28]。

在图像检测和目标识别的深度学习领域,文献[30]在目标检测框架中引入与子区域特征和宽高比特性相关的注意力特征库,并生成注意力特征图对原始的ROI池化特征进行优化,模型的检测精度和检测速度有明显提升。文献[28]设计了一种的引入注意力机制的AttenGAN模型,该模型包括一个生成器和一个判别器,生成器根据行人过去的轨迹概率性地对未来进行多种可能性预测。文献[31]介绍了一种新的卷积神经网络,称SCA-CNN,它在CNN中结合了空间注意力和通道方向注意力机制,并取得了良好的效果。

3 引入注意力机制的EAST算法

3.1 Attention-EAST算法结构

针对EAST算法文本检测器可处理的最大文本实例大小与网络的接收字段成比例,其限制了网络预测更长文本区域的能力。为了使文本检测器PVANet网络保证在提取精确的文本特征和位置特征的基础上,扩大目标检测视野,本文在EAST算法的基础上引入了注意力机制,构成Attention-EAST算法,该算法的核心框架如图3所示。

图3 Attention-EAST算法结构图

在利用PVANet网络进行下采样的过程中,通过中间的文本特征信息的空间关系生成空间注意力模块,其主要功能是用来捕捉二维空间中对于目标区判定的重要性信息,每次卷积生成的特征信息为I∈R1×H×W,并经过sigmod函数激活,其表达式为:

WS(I)=σf7×7Pool(I)

(4)

式中:f7×7为卷积操作,卷积核为7×7的卷积层。在上采样的过程中通过unpool池化的方式提取特征用于对目标位特征的逼近生成通道注意力模块,然后经过共享网络MLP进行调整,其表达式为:

WC(I′)=σMLP(unpool(I))=σW1W0I′

(5)

式中:σ为sigmod激活函数;W0∈RC/r×C和W1∈RC×C/r分别为MLP的权重。最后在特征融合的过程中,将通道注意力权重和空间注意力权重构成整个软件分支注意力模型,其过程可表示为:

I′=(WS(I)+1)⊙I

(6)

I″=(WC(I′)+1)⊙I′

(7)

式中:⊙为对应矩阵元素相乘,由于每个模块最后都需要使用sigmod函数来激活,使注意力通道每个元素值在[0,1]之间,达到注意力模块强化有用图像信息和抑制无用信息的效果。

3.2 损失函数设计

损失函数可表示为:

L=Ls+λgLg

(8)

式中:Ls和Lg分别表示分数图和几何图形的损失,而λg表示两个损失之间的重要性。本文将λg设为1。为了简化训练过程,本文算法借鉴了文献[32]中引入的类平衡交叉熵:

(9)

(10)

为了使大文本区域和小文本区域生成精确的文本几何预测,保持回归损失尺度不变,旋转矩形框RBox回归部分采用IoU损失函数,因为它对不同尺度的对象是固定,其表达式为:

(11)

(12)

式中:d1、d2、d3和d4分别表示像素到其对应矩形的上、右、下和左边界的距离。联合区由以下公式给出:

(13)

由此可以轻松计算交叉或者联合区域。接下来,旋转角损失计算如下:

(14)

Lg=LR+λθLθ

(15)

在实验过程中本文将λθ设置成10。由此整个算法的损失函数搭建完毕。

3.3 模型训练

对于本文提出的模型按照EAST算法的训练方式采用Adam[21]优化器对网络进行端到端的训练。为了加快学习速度,将原始图像512×512的训练样本每次统一打包成24个进行批处理。Adam的学习率从1e-3开始,每27 300个小批量下降到十分之一,停在1e-5,对网络进行训练,直到性能改善趋于平稳。

4 实验与分析

4.1 实验环境

本次实验是在Ubuntu18.04 LTS操作系统上进行,开发语言为Python 3.6,集成开发环境为Pycharm,深度学习框架是GPU版本的TensorFlow。硬件配置CPU为四核八线程的 i7-6700k,其主频4 GHz,内存为32 GB,GPU 为 NVIDIA GTX 1080T,显存11 GB。

4.2 实验结果

本次实验采用的数据集为ICDAR挑战赛所用的数据集,该数据集也是当文本目标检测算法中比较流行的数据集,共有1 500张图片,其中1 000张图片用于模型训练,其余图片用于测试集。其文本区域由四边形的四个顶点进行注释,对应于目标文本中的四边几何图形。这些图片均由手机或相机随机拍摄,因此,场景中的文本信息是任意方向的,而且可能受到自然环境的影响,这些特征有利于对文本检测算法的估计检验。

本文引入注意力机制的Attention-EAST算法与EAST算法在处理自然场景下的长文本的检测结果对比如图4所示。

(a) EAST算法长文本检测效果图

(b) 本文算法长文本检测效果图图4 长文本检测对比图

可以看出,通过加入注意力机制对于提取文本和方位的特征信息的增强,提高了文本检测视野,有效改善了对于长文本的检测效果。同时,本文使用召回率(Recall)、准确率(Precision)和加权调和平均值F-measured三个指标来评价本文算法在ICDAR数据集上的训练效果。并选择了当前文本检测领域比较有代表性的算法进行对比,包括以R-CNN为框架的文献[10],以SSD为框架的文献[15]和以Faster R-CNN为框架的文献[16],实验结果如表1所示。实验结果表明,本文提出的引入注意力机制的方法相比原EAST算法在文本检测性能指标均有所提升,并且相对优于其他主流的文本检测算法。

表1 各文本检测算法实验结果对比数据

为分析引入注意力模块后在检测效率上对于原EAST算法的影响,在本文的实验环境下采用每秒帧率(Frame Per Second,FPS)这一指标来评价本文算法和原EAST算法的检测效率,表示每秒处理的图片数量,将测试集500张检测图片随机分成5份分别进行测试。实验结果如表2所示,可以看出加注入注意力模块后,并没有损失原算法的检测效率。

表2 两种算法文本检测效率对比数据(FPS)

5 结 语

本文研究了当前计算机视觉领域中文本检测的算法,其中针对EAST算法在对于文本方向特征提取时视野受限的问题。通过在主干网络PVANet中引入注意力机制,提出一种Attention-EAST算法,使得训练模型在提取文本目标特征时更加关注有用信息和抑制无用信息。实验证明,该方法有效提升了EAST算法检测长文本的能力,在没有损失检测效率的同时提升了检测精度。本文研究通过引入注意力机制的方法可为自然环境下的文本检测研究领域提供一定的参考。

猜你喜欢
注意力图像特征
离散型随机变量的分布列与数字特征
让注意力“飞”回来
基于生成对抗网络的CT图像生成
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
抓特征解方程组
不忠诚的四个特征
A Beautiful Way Of Looking At Things
趣味数独等4则
抓特征 猜成语