艾合麦提江·麦提托合提,艾斯卡尔·艾木都拉,阿布都萨拉木·达吾提
1.新疆大学 信息科学与工程学院,乌鲁木齐 830046
2.新疆大学 软件学院,乌鲁木齐 830046
近几年,随着各种多媒体技术以及互联网技术的迅速发展,各类图像的数量大幅增加。图像中不仅包含丰富的色彩、形状、图案等物体视觉信息,还可能包含大量丰富而精确的文本信息,准确有效地提取这些文本信息对基于内容的图像检索、图像自动分类、人机交互和工业自动化等应用具有重要价值,因此从图像中自动提取文本信息已成为模式识别领域研究的热点[1]。
图像中的文本根据其形成方式可以划分为两类,场景文本和图像文本。场景文本是指文本作为固有的自然场景内容随机地存在于图像中,比如广告牌、道路指示牌、商品名称等;而图像文本则是指有目的地加入图像以便于对视觉内容进行补充的文本,例如电影海报、互联网广告图像等。通常从图像中提取文本都需要精确定位包含文本的图像区域,然后从定位区域把文本提取出来,为进一步的文本识别做好准备,因此图像中文本区域的定位是文本提取和识别的基础和核心工作。然而,图像本身以及图像中的文本具有多变性,图像中的文本种类比较多,方向任意排列,文本行的组成方式、大小以及长宽比也不确定,图像中文本与背景也有一定的相似性,这些因素增加了图像中文本区域定位的难度。为了准确有效地定位到文本区域,许多学者提出了很多相应的文本区域定位方法,主要分为基于连通域分析的方法、基于滑动检测窗口的方法和基于深度学习的方法[2]。
基于连通域分析的方法主要通过分析图像中的像素点在空间结构上的特征,以及对特征相似的像素点进行特定处理来构造连通域,以便获取文本候选区域。最为代表性的基于连通域分析的方法主要包括:笔画宽度变换(Stroke Width Transform,SWT)方法[3]、最大稳定极值区域(Maximally Stable Extremal Region,MSER)方法[4-11]以及基于SWT 和MSER 结合的方法[12]。基于SWT 的方法首先获取图像的边缘,然后计算像素点到最近边缘的垂直距离作为笔画宽度的值,再根据像素点笔画宽度的值构造连通区域。基于SWT的方法可以提取不同尺度和方向的文本候选区域,然而该方法在图像边缘检测不准确并且背景复杂的情况下鲁棒性较差。基于MSER的方法根据分水岭概念,通过设定不同的阈值对图像进行二值化,随着阈值的变化有些连通区域变化比较小,此类连通区域就定义为最大稳定极值区域(MSER),并将这些连通区域作为文字候选区。无论是英文、数字还是其他文本,MSER 检测算法都能快速有效地从图像中提取出文本候选区域,具有很强的鲁棒性和实用性,因此ICDAR 大赛组委会将MSER 列为最有希望的文本定位基础算法[10]。
图像中文本的语言种类通常较多,甚至会加上一些数字,并且每一种文本包含了不同规模的文本类型,然而不同文本或者相同文本的不同文本类型之间具有很大的视觉特征差异。本文主要研究以维吾尔文本为主的文本图像。维吾尔文本包括了主体部分和附加部分两个层次,如图1所示。主体部分是字母和词汇书写时不间断地一次写成的部分,属于一个连通域;附加部分是一个字母和词汇的次要但又不能省略的部分,即使附加部分与主体部分不连通,但间距比较近;维吾尔文本主要以词汇为基本单元,每个词汇包含主体部分和附加部分,词汇大小不一致,词汇之间存在较小的词间间距,而词内存在更小的词内间距;维吾尔文本存在一条基线,同一行字体大小一致的词汇都在基线上分布,高度基本一致,间距大小基本一样,这些特点为维吾尔文本区域定位提供了思路。
图1 图像文本的特点
为了在背景复杂、文本变化不一致的图像中有效地获取维吾尔文本候选区域,宋云、谢洪涛等[7]采用增强MSER和基于HoG(Histogram of Oriented Gradient)特征的SVM(Support Vector Machine)分类方法定位维吾尔文本区域。该方法可以获取比较全面的文本候选区域,但是对维吾尔文本的提取效果不太理想,而且基于HoG 特征的SVM 分类方法去除非文本区域效果不佳,但该文献提出的遗失文本区域召回方法提高了文本区域定位的召回率。文献[10]提出基于MSER和卷积神经网络的自然场景文本定位方法,首先在R、G、B 通道下进行光线补偿,紧接着在三个通道下提取MSER连通区域作为字符候选区域,采用更加严格的筛选方法和基于CNN(Convolutional Neural Network)过滤的方法比较准确地去除伪字符区域,该方法在文本定位准确率上有了很大的提高,但是没有对遗失的文本区域进行召回,导致召回率不高。本文借鉴文献[10]中单通道上进行光线补偿的思路,在单通道图像进行膨胀操作来增加文本区域的连通性,这样可以获取更完整有效的文本候选区域,去除非文本区域时采用分类效果更好的CNN 网络,同时提出词级别文本区域的概念以及形成算法,然后根据文献[7]中的遗失文本区域召回方法规定了本文的遗失文本区域召回方法。
本文的主要贡献是研究如何有效地定位图像中的维吾尔文本区域,根据上述对维吾尔文本特点的分析提出一种基于通道增强MSER和CNN网络相结合的图像文本区域定位方法。本文定位方法准确度高,综合性能较好,为构建基于内容的文本图像检索和自动分类系统提供了理论基础。
本文方法应用通道增强MSER和CNN网络完成图像中维吾尔文本区域的定位任务,算法流程框架如图2所示。首先利用通道增强MSER 检测方法提取大量的候选区域,根据图像文本特点设计的启发式规则过滤大量的重复区域和非文本区域;利用CNN 网络对候选区域进行分类并保留文本区域,通过区域融合算法得到词级别文本区域。根据词级别文本区域的色彩相近程度和空间关系进行左右寻找,召回满足条件的遗漏文本区域,再利用CNN网络进行分类,将预测为文本的召回区域融合到词级别的文本区域中;根据文本区域空间特征进行链接,定位出最终的图像文本区域。
图2 文本区域定位算法框架图
针对文本候选区域的建立而言,最难解决的问题是在背景复杂、文本变化不一致的图像中有效地提取到文本并建立文本候选区域。为了获取有效完整的文本候选区域,避免文本区域漏检现象发生,本文采用通道增强MSER算法提取文本候选区域。
最大稳定极值区域(MSER)是在灰度图像下进行计算。首先设定一个阈值,然后将灰度图像每个像素值跟阈值比较,如果该像素值大于阈值,则将此像素值设置为1,反之,将此像素值设置为0。这样就会出现一系列的连通区域,随着亮度阈值的不断调整,区域面积也跟着增加或者减小,两个不同阈值间的区域变化不超过一定阈值就被认为是稳定极值区域。根据Matas 等人的研究[4],其数学定义如下:
其中,pi表示灰度阈值为i时的某一极值区域,Δ为灰度阈值的微小变化量,qi为当阈值为i时极值区域pi的变化率,在i处取得局部极小值时,则极值区域pi为MSER区域。原始的MSER检测算法运行速度较慢,因此Nister 等[13]对该算法进行了优化,大大提高了运行速度。本文算法借助于OpenCV 提供的MSER 检测算子。OpenCV中MSER检测算子不是利用式(1)计算,而是利用更易于实现的式(2)进行优化。
本文在获取候选区域的时候采取通道增强的MSER检测算法,算法流程如图3所示。首先对输入图像的大小进行动态调整,减少图像太大而消耗较多的检测时间,以及图像太小而遗漏文本候选区域。然后对输入图像进行通道分离,并分别在R、G、B 三个通道下对单通道图像进行膨胀操作,使得图像中维吾尔文本的附加部分尽可能地加入到主体部分形成一个连通域。通常MSER算法用于检测灰度图像,但将彩色图像转换为灰度图像时,前景与背景的对比度变弱。一般来说,许多前景在单个R、G 和B 通道中比在灰度图像中有更明显的对比度。为了在彩色图像中尽可能多地保留原始信息和提取文本候选区域,本文分别在增强处理后的R、G、B三个通道上进行MSER区域检测,合并三个通道下提取的MSER区域作为最后的候选区域,然后将所有候选区域在原始彩色图像中以最小矩形的形式框出来,如实验部分的图11所示。几乎所有的文本候选区域都可以用通道增强的MSER算法提取出来,候选区域提取结果如图4(a)所示。
图3 通道增强MSER检测算法提取候选区域流程图
图4 部分算法结果
通过通道增强MSER 检测算法能够提取出大量的候选区域,并在原图像上以矩形框标定,但其中包括大量的重复区域和非文本区域。根据图像中维吾尔文的文本特征,通过设定一些简单的启发式规则可以过滤明显的重复区域和非文本区域。本文首先根据标定矩形框的位置关系去除大量完全重复的区域,然后通过计算标定矩形框的面积来去除过大和过小的区域。在一幅图像中文本区域的尺寸有一定的范围,本文用矩形框标定区域的面积来表示文本区域的尺寸。根据图像中维吾尔文本的空间特征以及维吾尔词汇的大小,将面积小于80的区域作为过小区域,并将面积大于8 000的区域作为过大区域,同时计算标定区域的纵横比,根据维吾尔文本区域特征分析限定其范围[0.1,5.0],然后根据区域面积的大小和纵横比删除明显的非文本区域。
通过上面的步骤可以去除大量的重复区域和非文本区域,但仍有一些大面积重叠的区域,如何有效地去除这些重叠区域并尽可能地保留文本区域也很重要。因此,定义区域重叠率r如下:
其中,r(a,b)表示两个区域的重叠率,area(a)、area(b)表示两个区域的面积。根据图像文本的空间特征规定当重叠率r(a)大于等于0.8时,去除面积小的区域,保留面积大的区域。启发式规则去除重复区域和非文本区域结果如图4(b)所示。
虽然启发式规则去除了大量的重复区域和非文本区域,但仍需进一步判定候选区域是否为文本区域。对于一般的分类器而言,往往需要人工设计特征,但这消耗大量的时间,而且特征提取不当,其分类结果也会不太理想。近年来,深度学习在模式识别问题上取得了巨大成功,它通过对训练样本进行学习以自动地获取描述特征的方式,而不需要先进行人工特征提取,因而避免了繁琐低效的人工特征提取工程[14]。
卷积神经网络(CNN)是一种用于特征提取以及分类的自动机器学习模型。CNN 网络包括卷积层、池化层、全连接层、激活函数和评估函数[15]。卷积层的作用是提取图像的各种特征;池化层的作用是对原始特征信息进行抽象,从而大幅度减少训练参数,另外还可以减轻模型过拟合的程度;卷积神经网络最后一层一般是全连接层,在整个卷积神经网络中起到分类的作用;激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题;评估函数又称为损失函数(Loss Function),用来量化在训练过程中网络输出和真实目标间的差距。
为了快速有效地判定候选区域是否为文本区域,本文参考AlexNet[15]设计了一个CNN 二元分类网络,其深度仅采用5层结构,如图5所示。该网络有两个卷积层、两个池化层,最后网络的所有输出连接了一个二元分类器。首先输入一个48×32像素的彩色图像,然后用16个3×3的卷积核去提取输入图像的特征,得到一个48×32×16的卷积层,接着使用平均池化来降低卷积层的维度,得到24×16×16 的池化层,紧接着使用32 个5×5 的卷积核提取更高层次的特征,最后通过平均池化来降低卷积层的维度,得到12×8×32 的输出,将这些特征的输出全部连接在一个全连接层。其实全连接层就相当于是一个分类器,将上层抽取出来的特征向量在里面做一个权重计算,输出两个类别的概率,根据概率值大小来判断输入的区域是否为文本区域。
CNN网络中每个节点参数的有效训练是取得良好分类性能的关键。在训练CNN模型时,本文采用了可以替代传统随机梯度下降过程的一阶优化算法Adam,其学习效率设定为0.001,学习率下降的乘数因子(γ)设为0.1,损失函数采用交叉熵损失函数(CrossEntropyLoss)[14]。训练样本数据方面,将候选区域从原始图像中裁剪出来,建立了正负训练样本,其中正样本为文本区域裁剪图像,负样本为非文本区域裁剪图像。根据CNN 网络的预测结果,去除非文本区域而保留文本区域,如图6(a)和(c)所示。
经CNN网络分类之后,保留预测为文本的区域,得到许多文本区域。然而其中一些区域可能存在重叠部分,同时有的附加部分区域没有完全加入到主体部分区域,如图6(a)和(c),为此本文根据维吾尔文本特点设计了一个形成词级别文本区域的融合算法。
图5 CNN网络结构图
通过区域融合算法就可以得到大部分的词级别文本区域,如图6(b)所示。然而由于启发式规则过滤掉少量文本区域、CNN分类网络存在误分类情况等原因,导致一些文本区域被遗失,如图6(d)所示上面的数字部分,将这些遗失的文本区域尽可能多地加入到词级别文本区域也极其重要。
图6 部分算法结果
图像文本中属于同一个文本区域的文字一般色彩纹理统一,即具有相近属性且距离也相近,因此根据词级别文本区域的颜色相近程度以及空间关系进行左右寻找,可以得到遗漏的文本区域和少量的非文本区域。本文根据空间距离、宽高差和候选区域纵横比等特征距离[8]以及颜色直方图中的相关性和巴氏距离[16]作为区域色彩相近程度的度量。首先将词级别文本区域以宽度为基准分成10 等份,计算两两之间的巴氏距离和相关性,对所有的巴氏距离和相关性结果计算平均值分别得到一个阈值。然后以等宽等高的滑动窗口在词级别文本区域左右寻找,将巴氏距离小于巴氏距离阈值并且相关性大于相关性阈值的区域作为遗失的文本区域再次提取出来。将提取出来的候选区域从原始图像中裁剪出来,再次使用前面用于分类的CNN网络进行分类,将预测为文本的区域融合到词级别文本区域,再根据文本区域空间特征进行链接,定位出最终的图像文本区域,如图7(a)和(b)所示。
图7 最终的文本区域
本文定位算法主要以图像中的维吾尔文本为研究对象,然而目前没有公开的关于图像中维吾尔文本区域定位的标准数据库,因此本文收集了386张包含维吾尔文本的图像,图像中的文本有不同的字体、大小和颜色。首先对数据集进行划分,将其中的266张图片作为训练集,用于构建裁剪数据集,裁剪数据集总共16 683个样本,如图8(a)和(b)所示,其中正样本为8 485 个文本区域裁剪图像,负样本为8 198 个非文本区域裁剪图像,裁剪数据集用来训练和测试本文构建的CNN 网络模型;剩余的120张图像用于评估本文提出的文本区域定位算法的性能。
图8 部分训练样本实例
本文首先对MSER候选区域提取算子进行实验,以确保在候选区域获取过程中提取所有的文本区域。传统的MSER检测方法将输入图像转化为灰度图像,在灰度图像上提取MSER 区域,如图9 所示,然而该方法提取的文本候选区域不全面,存在文本区域遗漏现象。针对文本区域遗漏现象,文献[7]提出分别在R、G、B 单通道上提取MSER 区域,然后合并到彩色图像上,如图10所示。该方法可以获取比较全面的文本候选区域,但是对维吾尔文本的提取效果不太理想,即附加部分没有完全融合到主体部分的候选区域中。本文针对维吾尔文本特征,提出先分别对R、G、B 单通道图像进行膨胀操作,使得图像中维吾尔文本的附加部分尽可能地加入到主体部分形成一个连通域,然后在单通道上进行MSER区域检测,最后合并到彩色图像上的方法,如图11 所示。根据三个方法获取的候选区域数量和质量的比较,可以得出本文方法能够提取出更多的候选区域,同时将文本的大部分附加部分加入到主体部分,本文方法更适合维吾尔文本候选区域的提取,具有较好的鲁棒性。
图9 传统的MSER候选区域提取
本文对CNN网络训练方式以及用于训练和测试的样本数据大小与CNN 网络预测性能关系进行了实验。实验平台采用Intel Core i5 CPU、主频为3.1 GHz 的Mac笔记本,深度学习工具采用PyTorch。本文CNN网络模型为参考AlexNet设计的一个深度为5层的网络结构,导入数据时,首先打乱导入数据的顺序,并以8∶2的比例对数据进行随机划分,分别用于训练和测试,然后对输入图像进行标准化,采用均值为0.485、0.456、0.406,方差为0.229、0.224、0.225 的标准化参数对导入图像进行变换;训练时,损失函数采用交叉熵损失函数,优化方法采用可以替代传统随机梯度下降过程的一阶优化算法Adam。裁剪图像大小分别为32×24、32×32、48×32、48×48、64×48时CNN网络预测准确率变化曲线如图12所示。实验结果表明,本文构建的CNN 网络训练20 到30 轮时模型预测的准确率就趋于稳定。本文采用48×32 裁剪数据集上训练的网络模型,同时本文定位算法将候选区域裁剪图像统一调整为48×32 大小进行分类预测。
为了客观地评测本文方法的定位性能,采用三个性能参数来衡量,即准确率(Precision,P)、召回率(Recall,R)、综合评价指标(F-measure,F)[2]。本文采用ICDAR2015评估方法[17],首先定义覆盖面积比值为:
其中,a0为覆盖率,Bp和Bgt分别表示定位结果与Ground-truth,area(Bp∩Bgt) 与area(Bp∪Bgt) 分别表示Bp和Bgt之间的交集区域与并集区域。若定位结果与Ground-truth之间的实际面积覆盖率a0>0.5,则认为该检测结果为正确的,反之则认为是虚警。准确率(P)与召回率(R)分别定义为:
其中,Tp、E、T分别表示正确的定位结果集合、定位结果集合以及Ground-truth集合。综合评价指标(F)则定义为:
图10 增强MSER候选区域提取
图11 通道增强MSER候选区域提取
图12 裁剪图像大小与CNN网络预测准确率曲线图
表1 给出了本文算法和文献[7]、文献[10]在自建图像数据集上的性能对比情况。从表中可以看出,本文算法性能优于二者。这主要因为本文算法是基于维吾尔文本的特点提出的,采用通道增强MSER方法提取候选区域,根据维吾尔文本特征的启发式规则和CNN 网络去除非文本区域,形成词级别文本区域以及遗失文本区域召回机制等对于维吾尔文本区域定位都是有效的。
表1 自建数据集上的算法性能对比
本文根据图像中维吾尔文本区域的空间特征和纹理特征,提出了一种基于通道增强的MSER检测方法和CNN网络相结合的图像文本区域定位方法。该方法利用通道增强的MSER检测方法提取候选区域,避免了文本区域遗漏现象;采用启发式规则和CNN 网络去除非文本区域,提高了去除非文本区域的准确率和速度;最后利用文本的空间特征和纹理特征召回遗失的文本区域,提高了文本区域定位的召回率。实验结果表明,该算法能够准确有效地定位文本区域,但在一些质量差、存在模糊、文本区域和背景区域颜色接近的图像中文本区域定位结果不太理想。因此,如何提高检测算法的鲁棒性及应用性是下一步的研究工作。