一种基于注意力机制卷积神经网络的自然场景文字检测方法与流程

文档序号:16539038发布日期:2019-01-08 20:10阅读:355来源:国知局
一种基于注意力机制卷积神经网络的自然场景文字检测方法与流程

本发明涉及模式识别与计算机视觉领域,特别是一种基于注意力机制卷积神经网络的自然场景文字检测方法。



背景技术:

文本作为人们生活中信息传递的一个主要载体之一,在现实生活中具有极其重要的作用。自动文本检测为计算机提供了一种利用图片和视频获取文本信息的方法,使得快速自动处理海量的自然场景下的文本信息成为了可能。

自然场景下自动文本检测的困难之处包括:

(1)文本中字符大小不一。

(2)文本中存在各种各样的字体。

(3)自然场景下文本带有复杂的图像背景。

(4)观察文本视角不同。

(5)光照度的多样性。

现有研究针对以上难点提出了许多解决办法。传统的文本检测方法都是先通过人工选择特征,特征通常是基于纹理和连通域信息的,然后通过这些特征提取图像中的文本信息。比较典型的方法包括笔划宽度变换(swt)、笔划特征变换(sft)和最大稳定极值区域(mser)法。这些方法都在一定程度上可以检测到文本信息,但都存在各自的缺点。这些缺点主要有以下几种:

(1)传统算法约束较多,使用场景有限制,泛化能力不足。例如当输入图像比较模糊,边缘信息较少时,基于swt的算法的效果明显变差;而基于mser的算法对于不是mser区域的文字存在漏检情况。

(2)传统算法使用人工设计的特征,带有很多的经验参数,算法效果很大程度上受这些经验参数这些参数影响。实际使用算法时,需要针对不同的图像对经验参数进行调整,算法的鲁棒性较差。

(3)传统算法无法识别一些复杂场景的自然图像上的文本与背景,检测效果不理想。

(4)与这些上述传统算法相比,深度学习方法可以通过大量实际数据自动提取特征,因此具有很强的普适性。深度学习网络在特征提取方面巨大的优越性使得其在目标检测、图像分类和语义分割等计算机视觉任务上得到了广泛的应用。

目前,有一些基于深度卷积网络的文本检测工作,如:将lstm与faster-rcnn相结合的算法,将rpn与fast-rnn相结合的算法,这些算法检测效果好,但速度较慢。



技术实现要素:

有鉴于此,本发明的目的是提出一种基于注意力机制卷积神经网络的自然场景文字检测方法,解决当前技术面对复杂自然环境下文字召回率不高、识别正确率较低的问题,同时采用端对端的结构,相比与其他多步处理方法在运行速度上具有优势。

本发明采用以下方案实现:一种基于注意力机制卷积神经网络的自然场景文字检测方法,具体包括以下步骤:

步骤s1:对获取的自然场景下的文本图像数据集进行人工标注,然后将数据集分为训练集和测试集;

步骤s2:对训练集数据进行数据增强处理;

步骤s3:基于注意力机制模块和inception网络构建特征提取网络,并采用多尺度特征融合的方法学习不同大小字体的特征;

步骤s4:采用课程学习(curriculumlearning)的策略预训练神经网络;

步骤s5:采用步骤s2增强处理后的训练集再次训练步骤s4预训练后的神经网络;采用adam方法进行优化,初始学习率设置为0.00002,训练10个epoch以后开始衰减,每个epoch衰减1%。并采用权重衰减的方法减小网络过拟合,权重衰减的参数设置为1e-5;

步骤s6:使用融合后的特征进行回归得到图像中文本的坐标,得到文本检测的结果;

步骤s7:在测试集以及其他公开数据集验证训练后的神经网络的有效性。

进一步地,步骤s1具体包括以下步骤:

步骤s11:从清华数据集中获得3000张自然场景下的文本图像作为数据集;

步骤s12:对获得的文本图像统一缩放到448x448大小,并使用开源的labelimg对数据集中的文本进行人工标注方框,同时保存组成方框的四个点的坐标;

步骤s13:将数据集按照100:1的比例随机分为训练集和测试集。

进一步地,步骤s2具体包括以下步骤:

步骤s21:对图像进行随机仿射变换增强;包括平移、旋转、扭曲等操作;通过这些增强可以使得网络获得对自然场景下不同位置,不同角度的文本图像的特征提取;

其中,图像平移的操作方法如下:

图像的旋转对操作方法如下:

图像扭曲操作可以使用仿射变换实现:

式中,a、b为变换后的坐标,(v,w)为变换前的坐标,x0是横轴方向上的平移量,y0是纵轴方向上的平移量,t为仿射变换矩阵参数,θ为旋转角度;进行扭曲变换的变换矩阵可以使用旋转前的图像上的四个位置坐标和旋转后图像上的四个位置坐标获得;

步骤s22:对图像进行随机亮度和对比度增强;通过这种数据增强方法,可以使得网络对于不同光照下的文本都具备识别的能力;

亮度和对比度调整通常使用点处理完成,两个常用的点处理过程是乘法和加法:

g(m)=αf(m)+β;

式中,参数α>0和β通常被称为增益和偏置参数,可以通过这些参数分别控制对比度和亮度;

令f(m)作为源图像和g(m)作为输出图像,m为第m个像素。上述表达式简写成:

g(h,k)=α·f(h,k)+β;

式中,h和k表示像素位于第h行和第k列;

步骤s23:对图像进行随机模糊增强;由于各种原因(如摄像头像素不高、拍摄时抖动、拍摄距离远等),自然场景下的文本图片可能存在一定程度的模糊,本文通过对训练数据使用高斯模糊,模拟自然场景下模糊的文本图片,使网络对模糊文本具有一定的识别能力;

步骤s24:对图像进行随机加噪增强。因为夜晚场景下获得的含有文本信息的图像会具有比较多的噪声,本发明通过对文本图像进行加噪处理使网络面对带有噪声的文本图片,依然可以识别其中的文本信息。

进一步地,步骤s3中,所述基于注意力机制模块和inception网络构建特征提取网络具体包括以下步骤:

步骤s31:构建以inceptionv4为基础的多尺度特征提取模块,主要利用了inception采用不同大小的卷积核提取图像不同层次特征的思想;所述多尺度特征提取模块包括1个stemblock、4个inception-a、1个reduction-a、7个inception-b、1个reduction-b、以及3个inception-c;

步骤s32:构建细化提取特征重要程度的注意力机制模块,所述注意力机制模块由残差单元组成,后面接两个1x1的卷积使得输出的特征图的大小和通道数与多尺度特征提取模块的输出的特征图一致,然后再接一个sigmoid层,用以保证得到的权重在0-1之间;

步骤s33:将多尺度特征提取模块的结果和注意力机制模块的结果对应相乘,即通过注意力机制模块学习,给予每个特征不同的重要程度,再将相乘结果和注意力机制模块结果相加,避免网络因为相乘而导致反向传递时的梯度弥散。

进一步地,步骤s4具体包括以下步骤:

步骤s41:制作一批文本和简单背景合成的图片作为预训练输入数据;其中文本包括汉字和英文字体,同时包括多种大小和字体,所述简单背景为纯色背景或者字体周围不存在干扰物;

步骤s42:对所述预训练输入数据进行数据增强处理,其处理方法可以采用步骤s2所采用的方法;

步骤s43:使用步骤s42增强处理后的预训练输入数据对随机初始化的神经网络进行训练,使神经网络获得提取简单背景下文本特征的能力。通过这种方法,可以在训练样本数较少的情况下(几千张),仍然可以使得网络获得良好的文本检测效果。

进一步地,步骤s6具体包括以下步骤:

步骤s61:网络最多可以检测10个文本框;为了检测倾斜文本,每个文本框使用4组点坐标共8个参数表示;最后一层使用1x1的卷积层回归坐标,输出结果为80x1x1x1的特征图;相比于使用全连接层,1x1的卷积层输出可以有效减少参数,减少网络运行时间;

步骤s62:使用l1smooth作为损失函数,其中损失函数表示如下:

式中,i表示第i个检测到的文本框,j表示本文框的第j个坐标点,(cij,uij)表示神经网络检测到文本框的点坐标,(c'ij,u'ij)表示对应的实际文本框坐标。

与现有技术相比,本发明有以下有益效果:本发明通过深度神经网络解决了传统分类器使用人工选取的特征泛化性差、需要调参的不足;通过注意力机制和inception的结合使得网络可以获得丰富的文本特征,提升了检测精度;通过多尺度特征融合可以使得网络可以适应多种大小和分辨率的字体;网络使用端到端的结构可以快速输出结果,解决了当前用于文本检测的深度卷积网络运行速度较慢的问题。

附图说明

图1为本发明实施例的方法流程示意图。

图2为本发明实施例的网络结构示意图。

图3为本发明实施例的注意力机制模块示意图。

图4为本发明实施例的各种场景下(不同字体、模糊、不同光照、不同角度)的检测结果图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

如图1所示,本实施例提供了一种基于注意力机制卷积神经网络的自然场景文字检测方法,具体包括以下步骤:

步骤s1:对获取的自然场景下的文本图像数据集进行人工标注,然后将数据集分为训练集和测试集;

步骤s2:对训练集数据进行数据增强处理;

步骤s3:基于注意力机制模块和inception网络构建特征提取网络,并采用多尺度特征融合的方法学习不同大小字体的特征;

步骤s4:采用课程学习(curriculumlearning)的策略预训练神经网络;

步骤s5:采用步骤s2增强处理后的训练集再次训练步骤s4预训练后的神经网络;采用adam方法进行优化,初始学习率设置为0.00002,训练10个epoch以后开始衰减,每个epoch衰减1%。并采用权重衰减的方法减小网络过拟合,权重衰减的参数设置为1e-5;

步骤s6:使用融合后的特征进行回归得到图像中文本的坐标,得到文本检测的结果;

步骤s7:在测试集以及其他公开数据集验证训练后的神经网络的有效性。

在本实施例中,步骤s1具体包括以下步骤:

步骤s11:从清华数据集中获得3000张自然场景下的文本图像作为数据集;

步骤s12:对获得的文本图像统一缩放到448x448大小,并使用开源的labelimg对数据集中的文本进行人工标注方框,同时保存组成方框的四个点的坐标;

步骤s13:将数据集按照100:1的比例随机分为训练集和测试集。

在本实施例中,步骤s2具体包括以下步骤:

步骤s21:对图像进行随机仿射变换增强;包括平移、旋转、扭曲等操作;通过这些增强可以使得网络获得对自然场景下不同位置,不同角度的文本图像的特征提取;

其中,图像平移的操作方法如下:

图像的旋转对操作方法如下:

图像扭曲操作可以使用仿射变换实现:

式中,a、b为变换后的坐标,(v,w)为变换前的坐标,x0是横轴方向上的平移量,y0是纵轴方向上的平移量,t为仿射变换矩阵参数,θ为旋转角度;进行扭曲变换的变换矩阵可以使用旋转前的图像上的四个位置坐标和旋转后图像上的四个位置坐标获得;

步骤s22:对图像进行随机亮度和对比度增强;通过这种数据增强方法,可以使得网络对于不同光照下的文本都具备识别的能力;

亮度和对比度调整通常使用点处理完成,两个常用的点处理过程是乘法和加法:

g(m)=αf(m)+β;

式中,参数α>0和β通常被称为增益和偏置参数,可以通过这些参数分别控制对比度和亮度;

令f(m)作为源图像和g(m)作为输出图像,m为第m个像素。上述表达式简写成:

g(h,k)=α·f(h,k)+β;

式中,h和k表示像素位于第h行和第k列;

步骤s23:对图像进行随机模糊增强;由于各种原因(如摄像头像素不高、拍摄时抖动、拍摄距离远等),自然场景下的文本图片可能存在一定程度的模糊,本文通过对训练数据使用高斯模糊,模拟自然场景下模糊的文本图片,使网络对模糊文本具有一定的识别能力;

步骤s24:对图像进行随机加噪增强。因为夜晚场景下获得的含有文本信息的图像会具有比较多的噪声,本发明通过对文本图像进行加噪处理使网络面对带有噪声的文本图片,依然可以识别其中的文本信息。

如图2所示,在本实施例中,步骤s3中,所述基于注意力机制模块和inception网络构建特征提取网络具体包括以下步骤:

步骤s31:构建以inceptionv4为基础的多尺度特征提取模块,主要利用了inception采用不同大小的卷积核提取图像不同层次特征的思想;所述多尺度特征提取模块包括1个stemblock、4个inception-a、1个reduction-a、7个inception-b、1个reduction-b、以及3个inception-c(具体可以参考inceptionv4的实现);

步骤s32:构建细化提取特征重要程度的注意力机制模块,所述注意力机制模块由残差单元组成,后面接两个1x1的卷积使得输出的特征图的大小和通道数与多尺度特征提取模块的输出的特征图一致,然后再接一个sigmoid层,用以保证得到的权重在0-1之间,如图3所示;

步骤s33:将多尺度特征提取模块的结果和注意力机制模块的结果对应相乘,即通过注意力机制模块学习,给予每个特征不同的重要程度,再将相乘结果和注意力机制模块结果相加,避免网络因为相乘而导致反向传递时的梯度弥散。

在本实施例中,步骤s4具体包括以下步骤:

步骤s41:制作一批文本和简单背景合成的图片作为预训练输入数据;其中文本包括汉字和英文字体,同时包括多种大小和字体,所述简单背景为纯色背景或者字体周围不存在干扰物;

步骤s42:对所述预训练输入数据进行数据增强处理,其处理方法可以采用步骤s2所采用的方法;

步骤s43:使用步骤s42增强处理后的预训练输入数据对随机初始化的神经网络进行训练,使神经网络获得提取简单背景下文本特征的能力。通过这种方法,可以在训练样本数较少的情况下(几千张),仍然可以使得网络获得良好的文本检测效果。

在本实施例中,步骤s6具体包括以下步骤:

步骤s61:网络最多可以检测10个文本框;为了检测倾斜文本,每个文本框使用4组点坐标共8个参数表示;最后一层使用1x1的卷积层回归坐标,输出结果为80x1x1x1的特征图;相比于使用全连接层,1x1的卷积层输出可以有效减少参数,减少网络运行时间;

步骤s62:使用l1smooth作为损失函数,其中损失函数表示如下:

式中,i表示第i个检测到的文本框,j表示本文框的第j个坐标点,(cij,uij)表示神经网络检测到文本框的点坐标,(c'ij,u'ij)表示对应的实际文本框坐标。

对于训练完成的网络,采用测试集和一些公开的文本图像数据集如icdar进行测试。结果表明本实施例提出的基于注意力机制卷积神经网络对于传统方法无法检测的图片也可以有效进行检测。此外,相比于现有的一些神经网络方法(如ssd),本发明在准确率和召回率略优的条件下,检测时间显著减少。

图4为各种场景下(不同字体、模糊、不同光照、不同角度)本发明的检测结果图。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

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