APP下载

基于FCN的多方向自然场景文字检测方法

2020-01-17杨剑锋王润民李秀梅钱盛友

计算机工程与应用 2020年2期
关键词:像素卷积文字

杨剑锋,王润民,何 璇,李秀梅,钱盛友

1.湖南师范大学 信息科学与工程学院,长沙410081

2.湖南师范大学 物理与电子科学学院,长沙410081

1 引言

文字相较其他的自然场景内容具有高度的概括性与描述性,自然场景文字检测技术在图像/视频检索、智能手机或可穿戴式视觉系统等方面具有重要的应用价值,目前自然场景文字检测已成为计算机视觉与模式识别、文档分析与识别领域的研究热点。然而自然场景文字检测有别于传统的印刷文档中的文字检测,印刷文档图像中的文字字体规范且背景简单,文字与背景之间具有明显的差异性,从而背景信息对文字难以造成强烈的干扰。然而在自然场景图像中,受文字本身及其他干扰因素的影响,文字与背景之间很难得到有效地分割,比如:文字与背景对比度低、光照不均匀等。此外,自然场景文字还存在大小尺寸、空间布局、颜色及排列方向的多变性,这些干扰因素均给文字检测带来巨大的挑战。相比成熟的印刷文档中的文字检测问题,自然场景文字检测仍具有较大的提升空间。

基于自然场景文字检测技术所具有的理论意义与应用价值,该领域受到了研究者的广泛关注并提出了大量有效的文字检测方法。现有的文字检测方法主要采用了手工设计的特征(Handcraft Features)以及深度学习提取的特征来分类文字区域与背景区域。

基于手工设计特征的传统文字检测方法[1-9]大致分为三类:基于滑动检测窗方法、基于连通域分析方法以及混合方法。基于检测窗的文字检测方法[1-2]通常采用多尺度滑动窗口的方式对图像进行扫描以获得文字候选区域,然后使用分类模型判断候选区域是否是文字区域。基于连通域分析的文字检测方法[3-6]主要通过颜色聚类方法(Color Clustering)、文字笔画宽度变换(Stroke Width Transform,SWT)、最大稳态极值区域(Maximally Stable Extremal Regions,MSERs)等方法提取文字候选连通域,然后使用分类模型对文字候选连通域进行判断,最后设计一系列后续关联组合和分词手段来获取最终文字区域。混合方法[7]结合了基于滑动检测窗方法和基于连通域分析方法,利用这两类方法的优势来提高文字检测性能。尽管采用手工设计的特征方法可以取得不错的表现,但手工设计的特征无法有效地应对复杂的自然场景情形,比如光照不均匀或者部分遮挡等。

基于深度学习的文字检测方法[10-17]相较于手工设计的特征方法在文字检测性能上取得了很大的突破。在基于深度学习的自然场景文字检测方法中,基于文字区域建议(Text region proposal)的方法和基于图像分割的方法使用最为广泛。基于区域建议的文字检测方法[10-13]一般先在图像上提取很多个文字候选区域,然后训练一个分类器对文字候选区域分类筛选,最后对包含文字的候选区域的位置进行精修。基于文字区域建议的文字检测方法对复杂的自然场景文字检测具有很好的鲁棒性,但提取多个文字候选区域往往很耗时。基于图像分割的文字检测方法[14-16]通常利用全卷积网络(Fully Convolutional Networks,FCN)等方式来进行像素级别的文字/背景标注,该类方法可以较好地避免文字排列方向以及文字区域长宽比变化的影响,但其后续处理通常比较复杂。Zhang等人在文献[14]中首次提出采用全卷积网络从像素层面对图像进行处理,预测每个像素属于文字的概率,进而获得文字显著图,最后基于显著图得到文字候选区域。

为获得最终的文字检测结果,目前主要采用了文字边界框回归处理以及直接提取外接文字边界框的方法。在文献[15-16]中均采用了全卷积网络输出文字区域像素级检测结果,然后回归边界点来确定候选文字边界框的位置,最后采用非极大值抑制(Non-Maximum Suppression,NMS)去筛选出边界框作为最终检测结果。TextBoxes[10]、SegLink[18]、CTPN[11]在获取文字边界检测框时同样采用位置回归方法,可以得到精确的文字边界框,这类方法均取得不错检测效果,但往往以牺牲计算量为代价。在文献[19]中直接通过实例分割处理来获得文字位置信息而无需进行文字边界框回归处理,结合文字与非文字预测和像素连接预测的信息来提取文字边界框。直接提取外接文字边界框的方法从整体上处理文字行,充分利用了预测文字候选区域的方向信息检测多方向排列文字。本文受到文献[19]方法启发,利用文字与非文字预测得分图信息获取外接文字边界框,取得了更好的检测效果。

通常自然场景图像中的一些文字间距非常近,使得在文字与非文字预测得到的文字候选区域会难以完全分隔开,在获取外接文字边界框时会导致多个文字被检测到一个矩形边界框中。为解决这个问题,在生成文字标签时放弃选择标注的文字区域,而是选择标注文字区域的缩进区域。因此,在分割的得分图上得到的边界框区域会是真实文字的缩进区域,为此本文设计了自适应的加权扩大函数对参考边界框进行补偿扩大处理,使得最终边界框能完全包围文字区域。

本文创新点包括以下几个方面:

(1)全卷积网络结合多特征层融合,通过像素级分类,取得了更有竞争力的结果。

(2)设计简单而高效的方法实现了多方向文字检测。

(3)缩进的标注文字区域生成得分图,解决了单个边界框检测多个文字问题。

2 基于FCN的多方向场景文字检测方法

本文所提出的文字检测框架如图1(a)所示,输入待检测图像送入到已训练好的卷积神经网络模型中,提取图像中的文字特征,结合全卷积网络上采样并逐层融合多层特征图进行像素分割,输出得到每个像素的预测得分图。预测得分图采用双线性插值扩大和二值化处理后,直接获取预测文字候选区域的外接文字边界框作为参考文字边界框,然后进行加权补偿处理来修正参考文字边界框,最后通过筛选条件过滤掉非文字边界框得到最终的文字检测框。如图1所示,本文算法仅仅由两个步骤组成,全卷积网络FCN 多尺度特征融合部分和生成并补偿文字边界框部分,相比文献[11,14,20]中的算法更为简单,去除了很多中间步骤,省略了多个处理环节,避免了多个处理环节和组成部分可能局部最优但整体未必最优以及耗时的问题,任何环节的处理结果都将会影响系统的检测性能。在图1中,(b)为文献[11]中提出方法,通过CTPN实现水平方向文字检测;(c)为Yao等人在文献[20]中提出的方法;(d)为文献[14]中提出的方法。

2.1 网络结构

本文方法所提出的基于全卷积网络的文字检测模型如图2 所示,该模型主要由三个部分组成:特征提取网络,特征融合部分和文字与非文字预测。首先把自然场景文字图像送入模型中,使用特征提取网络来提取图像中的文字特征,然后结合全卷积网络(FCN)语义分割的方法对图像进行像素级分类,预测每一个像素是否为文字区域,从而分割出文字区域提取出自然场景图像中可能出现的文字位置。该模型采用U-Net[21]的思想融合浅层网络与深层网络的多层特征图,综合了精细信息及其高度抽象信息,用于检测不同尺度的文字。

2.1.1 特征提取网络

自然场景文字检测作为一种典型的模式识别问题,文字描述特征分类性能的好坏将直接影响到最终的检测结果。本文方法所采用的网络结构参数如表1所示,特征提取网络使用ResNet-50[22]作为基础网络来提取文字特征,其中Conv1,Res2,Res3,Res4,Res5均为ResNet-50中的操作,每一次操作后分别输出的该层的特征图,其尺寸大小分别为输入图像的1/2,1/4,1/8,1/16,1/32。

表1 网络结构参数

图1 本文文字检测框架及其与其他算法的比较

图2 文字检测网络结构图

2.1.2 特征融合网络

在特征融合部分,首先对Res5 操作后提取的特征图进行上采样处理使得大小扩大为输入图像的1/16,然后与Res4 操作提取的特征图合并,特征图合并后进行1×1,3×3 不同尺度卷积核的卷积操作来融合特征图和降低通道数,本文中选择依此方式逐层往上融合特征层,经过多层的特征融合后的特征图大小为输入图像的1/4。最后经过卷积核为1×1 大小的卷积操作后输出得到文字与非文字的预测得分图。

本文算法中获取的文字与非文字预测得分图为单一通道,相比文献[13,16,19]等中所提出的算法,减少了通道数与计算量。

2.2 生成得分图

本文方法中用于训练的文字区域得分图的生成如图3 所示,放弃选择标注的真实文字框来生成得分图,而是选择标注的真实文字框的缩进框,其目的有以下两点:(1)真实文字框包围了文字区域的同时也会包围一些非文字区域,而缩进标注真实文字框以保证全部包围的为文字区域;(2)在文字与非文字预测时,如图4所示获取的得分图中的候选文字区域间的间隔会变大,解决了得分图中候选文字区域连接在一起从而被一个矩形框检测的问题。

图3 得分图的生成

图4 得分图对比

对于标注的文字框四边形Q(如图3(a)黄色框所示),其中di(i=1,2,3,4)是四边形左上顶点起顺时针顺序的顶点。为了缩小Q,首先计算每个顶点di的参考长度li,参考长度li,计算如下:

其中L(di,dj)是顶点di与dj的L2 范数,首先收缩一个四边形Q 的两个较长的边。对于四边形的两对边,通过比较它们的长度的平均值来确定较长的一对边,然后收缩两个较短的边。对于每个边,通过将它的两个端点分别向内移动0.3li和0.3l(imod4)+1来收缩文字框得到文字框四边形Q′(如图3(a)绿色框所示)。如图3(a)所示,文字框四边形Q 的顶点由di收缩到d′i生成四边形Q′,然后由文字框四边形Q′生成得分图如图3(b)所示。

2.3 文字与非文字分类

在经过全卷积网络后,输出文字与非文字预测结果,对每一个像素进行预测,每个像素预测产生一个预测值,代表该像素为文字区域的置信度,该值在0到1之间。像素预测置信度值越大则表示该像素越有可能为文字区域像素,置信度值越小,则代表该像素更可能位于非文字区域。考虑到输出的文字与非文字预测得分图为输入图像大小的1/4,为了使预测得分图与输入图像的每一个像素有一一对应的关系,本文将得分图双线性插值处理将其放大到与输入图像同样大小。本文对测试集图像中的文字置信度值的分布范围进行了统计,在实验中发现,在生成文字与非文字预测得分图中的像素预测值呈现典型双峰特点,像素预测值绝大部分在0.8 至1 和0 至0.2 的区间内,特别时绝大部分的文字区域像素预测值明显大于其周围区域非文字区域的像素预测值。基于上述特点本文采用了自适应阈值最大类间方差法(OTSU)对预测图进行二值化处理,通过OTSU二值化后的文字与非文字预测分类图如图5 所示。当文字与非文字预测的像素预测值大于或等于该阈值则该像素值置为1,将其判定为文字区域,否则该像素值置为0,并将判定为非文字区域。

图5 原图(上)和对应文字与非文字预测分类图(下)

2.4 文字框提取及补偿函数设计

在文字与非文字分类的结果上,语义分割包含了文字的位置信息和边缘信息,因此本文直接采用最小外接矩形边界框粗糙地检测出文字区域。文字与非文字预测得分图在插值放大和二值化处理后利用OpenCV 中的minAreaRect()函数直接获取图像分割文字的检测矩形框,该矩形框包含了预测文字区域的方向信息,可以检测任意方向的文字。但由于在生成得分图中,文字的得分图由标注四边形的缩进四边形生成,所以在文字与非文字预测时,得分图中的预测文字区域都是实际文字区域的缩小区域,所以提取到的文字检测矩形框均小于实际文字区域包围矩形框,文字区域不能完全被检测框包围住。因此在本文中设计了加权补偿函数来对检测框补偿放大,使得检测框能更好地检测文字区域,增大检测框与真实文字框的交并比(Intersection Over Union,IOU),来提升文字检测性能。

检测矩形框做加权补偿扩大处理如图6所示,检测矩形框R′加权补偿后得到矩形框R,加权补偿扩大函数设计如下。

常数补偿系数:把标注文字四边形的缩进的四边形作为训练的真实文字区域,缩进的长度为kli和k=0.3,同理,把矩形框R′放大到R,放大的长度为rl′i和rl′(imod4)+1,r 是补偿系数,其可按照公式(2)计算:

假设p′i是检测矩形框R′自左上顶点起顺时针顺序的矩形顶点。为了扩大R′,为每个顶点p′i的参考长度,l′i的计算参考公式(1),k′为常数补偿系数,补偿规则如下:

(1)扩大检测矩形框R′的较短的对边,如图6中的h 与其对边的各个顶点沿着h 方向向外延伸长度rl′i和。

(2)扩大检测矩形框R′的较长的对边,如图6中的w 与其对边的各个顶点沿着h 方向向外延伸长度rl′i和

图6 矩形边界框做加权补偿扩大处理示意图

实验发现,如果所有候选检测矩形框均采用常数补偿来扩大矩形框,则小字符检测矩形框不能完全包围住文字区域,所以候选检测矩形框min(w,h)越小,在扩大补偿处理时补偿系数r 越大,由得分图预测文字区域的特征和检测矩形框的特点设计并对比了以下几种自适应加权补偿函数。

(1)线性补偿函数,其计算公式为:

其中,hthreshold为检测矩形框较短边的阈值,hmin=min(w,h)。

(2)三角非线性补偿函数,其计算公式为:

(3)高斯非线性补偿函数,其计算公式为:

2.5 矩形框过滤

由于采用语义分割的方法得到文字与非文字预测得分图时,将不可避免地出现少数非文字区域会获得较高的预测值,从而导致在文字与非文字分类时会将这些非文字区域误判定成文字区域,最终导致错误的检测结果。为尽可能地减少错误检测,有必要设计相应的后处理算法以进一步提高检测准确率。本文算法主要设计了如下两种后处理算法:

(1)在实验测试图像中的文字区域大小绝大部分超过10 个像素和面积不低于300 个像素,所以将hmin<hthreshold=10 或者w×h <300 的候选检测框滤除掉。

(2)定义矩形框置信度,矩形框置信度为非线性插值得分预测图中矩形框内的所有像素预测值的均值,如果矩形框置信度小于某一阈值则被判断为无效矩形框。

2.6 损失函数

本文方法中训练损失函数为Dice's 系数,也称作Dice 系数,是一种集合相似度度量函数,对于信息检索中的关键字集合X 和Y ,系数可以定义为:

Dice 系数和Jaccard 指数的方法相似,所以在本文中设计的损失函数计算公式如下:

Sscore_map为得分图,即文字非文字分类的语义分割区域,

Sground_truth为标注文字区域。

3 实验结果与分析

为了验证本文方法的有效性,在ICDAR 2013 与ICDAR 2015 自然场景文字检测竞赛数据集进行了实验,ICDAR 2015自然场景文字检测竞赛数据集共包含1 500张图像(其中训练集1 000张,测试集500张),该数据集中的场景文字其排列方向是任意的,且包括了运动模糊和低分辨率的问题。ICDAR 2013 自然场景文字检测数据集包含了229 张训练图像和233 张测试图像,共462张图像,该数据集图像中的文字以水平方向排列为主,且涵盖了复杂光照、模糊和低分辨率等各种极端情况。上述数据集作为基准数据集在各类文字检测算法的评估中被广泛地使用。

本文方法使用的模型采用自适应矩估计(Adaptive Moment Eestimation,ADAM)优化器进行训练,为了加速学习过程,训练样本均调整为512×512 大小,每执行一步使用的batch数量为24。ADAM的学习率从0.000 1开始,衰减速率为0.94,最大执行步数为100 000,每10 000执行步数更新一次学习率,当性能不再提高而停止训练。本文所采用的ResNet-50 与FCN 网络都是基于深度学习框架TensorFlow并均为python实现。

本文在ICDAR 2013 与ICDAR 2015 测试数据集中所获得的检测结果如图7所示,可以看出本文方法能有效地应对复杂的场景图像中的多方向排列的文字检测问题。

3.1 实验结果与对比

图7 本文方法在ICDAR数据集的检测效果

图8 一些检测失败的结果

为进一步验证本文方法的有效性,本文与最近的其他文字检测方法进行了对比,在ICDAR 2015 测试集实验结果的对比如表2 所示,本文方法利用设计的高斯补偿函数在ICDAR 2015数据集上的Precision与Fmeasure 指标上相对于其他补偿函数取得了更好的效果,其中Precision 为0.803,F-measure 指标为0.773。本文方法在Precision 指标均高于表2 中其他方法,Fmeasure指标结果高于表2中绝大多数的方法,如SegLink[18]与CTPN[11]等。然而与方法RRPN[13]比较,本文方法在Recall、F-measure 指标上还有进一步提升的空间。本文方法利用设计的高斯补偿函数与其他文字检测方法在ICDAR 2013 测试集实验结果的对比如表3 所示,相对于I2R NUS[25]、Text[26]、Faster-RCNN[27]等方法,本文方法取得了更有竞争力的结果。

表2 ICDAR 2015场景文字检测竞赛测试集实验结果

表3 ICDAR 2013场景文字检测竞赛测试集实验结果

3.2 算法存在的不足

尽管本文方法取得了令人满意的结果,但在实验中依然发现本文方法对如下一些特殊场景或者特殊文字的检测效果有待进一步改善:(1)对弧形排列的文字检测效果不佳,这些文字只能被矩形边界框检测(如图8(a)所示),原因在于本文选择带有方向信息的矩形框去提取文字区域,适用于文字单个方向的排列;(2)另外会错误地检测一些和文字相类似的物体,如条纹状图形(如栏杆)、窗户、符号等(如图8(b)、(c)所示),这些物体与文字在纹理或形状上都极为相似,以至于很难被区分开来;(3)一些文字尺寸太大导致无法被检测(如图8(d)所示)。

4 结语

本文提出一种基于全卷积网络的多方向自然场景文字检测方法,该方法利用深度卷积网络提取文字特征,融合多层文字特征并采用语义分割方法分割文字区域,然后直接提取对应文字区域的包含方向信息的外接矩形框。在生成得分图时选择了标注文字区域的缩进区域,进行文字与非文字预测处理时,对外接矩形边界框扩大补偿处理得到最后的文字边界框。与其他一些最新方法相比,本文算法在ICDAR 13 和ICDAR 15 标准数据集上均取得了更具竞争力的结果。在实验中发现尽管本文所提出的自然场景文字检测方法取得了不错的性能,但仍然有不足之处,以下几个方面是未来研究工作中所需要进一步考虑的问题:(1)弧形方向排列的文字检测;(2)多语种共存的文字检测。

猜你喜欢

像素卷积文字
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
文字的前世今生
热爱与坚持
当我在文字中投宿
卷积神经网络的分析与设计
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
ÉVOLUTIONDIGAE Style de vie tactile