基于Adaboost的视频文本定位
2017-04-08尹芳郑亮陈田田
尹芳 郑亮 陈田田
摘要:提出了一种基于Adaboost的视频文本定位的新方法。首先我们提取视频图像中的连通域,经过对视频文本区域分析,提取了视频文本的5类特征,然后利用这5类特征经过分类与回归决策树构造了Adaboost强分类器,最后将候选文本区域送入强分类器,得到正确的文本区域。实验结果表明本方法不仅对视频帧图像中字体、大小和颜色多变的文本具有很好的定位效果而且还实现了视频文本定位要求的快速性和准确性的特点。
关键词:文本定位;文本识别;连通域;强分类器;分类与回归决策树
中图分类号:TP391 文献标志码:A 文章编号:1007-2683(2017)01-0103-06
0 引言
随着多媒体网络技术的发展,大量的视频进入了人们的学习、生活和工作当中。然而视频中的文本信息作为一种重要的语义信息,对视频的理解、分析和检索有着重要的作用。视频文本识别主要包括两步。第一步,对视频帧中的文本进行定位;第二步,获取文本定位区域中的文本信息。然后将获取的文本信息送入到OCR或利用其他的文本识别技
最近几年,不少视频文本提取的相关算法应运而生。Li等通过利用混合小波神经网络对16×16像素块的视频帧进行检测;Zhong和Crandall利用文本图像在垂直和水平方向亮度的变化规律在8×8的DCT压缩域直接实现了文本检测。但是基于块的方法在文本定位不够精确。数学形态学,角点检测和边缘检测也是大多学者经常采用的方法。工作人员在制作视频时,对于具有文本的区域,往往使其前景与背景具有鲜明的对比度,在频域上这种对比度表现为高频特征,而在空域上可以通过角点和边缘点来表现,因此角点和边缘检测经常是文本定位采用的方法。例如,Hua等人先利用SUSAN角点检测算子获得视频帧的角点图,然后对角点按照一定的规律进行合并和过滤最终定位文本区域。这种方法应用起来比较简单,速度较快,但是对噪声比较敏感,只能处理背景简单的视频文本。
近几年基于Adaboost的学习方法也被大量应用于文本识别,并且取得了良好的效果。例如,Chen和Yuille利用文本图像的X和Y偏导数、灰度直方图和边缘连接特征进行Adaboost学习实现文本定位。
以上方法虽然可以实现文本定位,但是效果并不理想。由于视频文本本身的低分辨率,复杂的背景,文本的颜色,字体以及大小多变性等因素使视频文本定位存在不小的难度。
1 Adaboost算法
AdaBoost算法通过将大量分类能力一般的弱分类器按照一定方法组合起来,构成一个分类能力很强的强分类器。Keams和Valiant已经证明,只要有足够的分类能力比随机猜测好的分类器,就能将组合成误分率趋于0的强分类器。Adaboost算法根据每次训练集中各樣本的分类是否正确以及上一次的总体分类准确率来确定每个样本的权值,将修改权值的新数据送给下层分类器进行训练,然后将每次训练得到的分类器融合起来,作为最后的决策分类器,实现对目标的搜索检测。
假设输入n个训练样本:{x1,y1},{x2,y2},…,{x2n/sub>,yn},其中yi={0,1},i=1,2,…,n;0表示假样本,1表示真样本。已知训练样本中有a个假样本和b个真样本,则第.j个生成的简单分类器如式(1)所示。
(1)其中:hi表示简单分类器的值;θi表示阈值;pi表示不等号的方向,只能取±1;fi表示特征值,j=1,2,…,n。
步骤1:初始化误差权值,对于yi=0的假样本,W1,i=1/2a;对于yi=1的真样本,W1,i=1/2b;
步骤2:For t=1,2,…,T,其中T为训练的次数;
2)对每个特征j,循环生成相应的弱分类器hj,计算相对于当前权重的误差:
(2)
3)选择具有最小误差εj的弱分类器ht加入到强分类器中去;
4)更新每个样本所对应的权重;
(3)
步骤3:形成强分类器为
(4)
Adaboost算法相比于其他机器学习算法所具备的优点:第一,构造一个弱分类器比直接构造一个高精度的强分类器简单的多;第二,不会过度拟合,不会随着迭代次数的增加而降低其泛化能力。
2 候选区域检测
候选区域生成的主要任务是提取图像中的连通区域。其中包括文本区域和非文本区域。然后将这些连通域送入利用Adaboost生成的强分类器。从而将连通区域中的非文本区域剔除,最终得到准确的文本区域。
2.1 灰度化处理
文进行边缘检测,首先将彩色的视频帧图像灰度化,以减少后续图像处理计算量。
灰度化处理的方法有,最大值法、平均值法和加权平均值法,最大值法产生的灰度图像亮度过高,平均值法产生的灰度图像过于柔和,所以本文采用加权平均值法将视频帧图像灰度化,首先如式(5)给每个像素的R、G、B分量赋予权值,然后取得3个分量的加权平均值
R=G=B=(WR×R+WG×G+WB×B)/3 (5)其中WR、WG、WB分别是R、G、B的权值,根据先验知识,其中WR=0.30、WG=0.59、WB=0.11得到的灰度图像较为合理,即:
Vgray=R=G=B
=(0.30R+0.59G+0.11B)/3 (6)
实验结果比较如图1所示。
2.2 边缘检测
为了能给读者提供有关视频的信息及帮助理解,视频文本大多是叠加的,而且一般会与背景有较大的对比度。因此本文根据梯度特征来获得文本区域边缘。
依赖于图像梯度的边缘检测方法根据X、Y方向滤波器计算梯度估计的不同分为不同类型,例如Robeas算子、Sobel算子和Prewitt算子等。本文通过实验比较,选择Sobel算子。
Sobel算子是一种离散性差分算子,与Roberts算子相比,它能够在噪声情况下精确定位图像边缘方向的差分。它利用水平卷积因子和垂直卷积因子(8),在横向x和纵向y方向上对图像G(x,y)做平面卷积,得到亮度差分:
(7)
(9)设定阈值T,提取大于阈值T的点作为边缘点。
实验结果如图2所示。
3 基于Adaboost的视频文本定位
3.1 总体系统设计
整个系统分为预处理,特征提取和基于Ada-boost强分类器3部分,如图3所示。
其中CART(classification and regression trees)即分类与回归决策树,是运用二元递归分割的过程来分析大数据集。因具有具有分类速度快、精度高、较其他模型更容易理解等优点,被选为本系统Ada-boost的基本弱分类器(即Adaboost with CART)。
3.2 预处理
现有视频类型及播放工具多种多样,因此所采集的视频图像也是大小不一。本系统为了将大小不同的数字图像缩放到统一标准,首先进行边界扫描,确定图像的大小,然后利用差值算法,将图像缩放为64×32,为分类做好准备。图像尺寸选择主要考虑图像的变化关系为2n,n为正整数;同时由于文字形状一般为长方形结构,因此在保证形状不失真的情况下尽可能缩小尺寸,以减少计算量,提高处理速度。
3.3 特征提取
特征提取是视频定位系统的重要部分,本文为构建分类与回归决策树的Adaboost强分类器提供了5类特征。
3.3.1 Gabor特征
视频文本的笔画特征丰富且表现出一定的周期性,本文将视频文本看作一种特殊的纹理,利用Gabor滤波器提取文本特征。本文利用二位Ga-bor滤波器进行分析,其函数如下定义:
(10)
3.3.2 连通性分析
1)文本尺寸特征。文本区域在整幅图像中通常占有一定的比例,文本区域的大小通常通过文本区的宽高信息来表示。设S(cc)表示连通区面积,S(pic)表示整个图像区域的面积,w(cc)和h(cc)分别表示区域的宽高,MinWH表示最小长宽,S_Ratio表示面积比,其中:
(11)
(12)
2)文本區域的边缘密度特征。笔画是构成文本的单位元素,因此文本区域具有很强的边缘密度(Edge_Density)。假设P(cc)为边缘像素点的数量,则:
(13)
结合先验知识,实验时阈值定义为MinWH>8,0.05
3.3.3 笔画密度
文本笔画以,π/2,π/2,3π/4,π4个方向为主,且前景与背景间存在较大差异。根据此特性,在亮底暗字的正向文中,利用式(14)计算笔画强度,而对于暗底亮字的负向文本将其进行反色,统一为正向文本进行处理。
(14)
(15)式中:p=0,1,2,3表示π/4,π/2,3π/4,π这4个方向;W表示笔画宽度上限;fp(q+1)表示p方向上与点q距离为j的像素点的灰度值。
笔画特征表示4个方向上笔画特征的最大值,用式(16)表示:
DEp(q)=max(op3){DEp(q)}
(16)
对笔画特征图做二值化处理,采用Otsu求得阈值,即:
(17)这种方法对笔画均匀的文字区域具有较好效果。
3.3.4 纹理统计特征
纹理统计是文本定位的常用方法,本文使用4种纹理特征来区分文本区域和非文本区域。设p(i,d,j,θ)为特征图像中点(i,j)关于距离d和方向θ分离的联合概率,则能量、熵、对比度和逆差距4种纹理统计特征定义如下:
能量:E(d,θ)=Ei,jp2(d,θ)
熵:H(d,θ)=Ei,jP2(d,θ)logp(d,θ)
对比度:I(d,θ)=Ei,j(i-j)2p(d,θ)
3.3.5 图像的X,Y导数的方差和期望
Chen和YuiHe使用X-Y导数的平均值和标准差提取文本特征。对于文本图像,X方向的偏导数具有极小值,而Y方向的偏导数具有极大值,根据X偏导数的极大值和极小值来进行区域分割,然后计算被分割区域的方差和期望作为特征。
本文利用这5类特征生成弱分类器,通过Ada-boost进行结合,生成一个精度较高的强分类器。
3.4 基于Adaboost的强分类器构建和实验结果分析
3.4.1 数据库的构建
目前还没有统一标准的视频文本数据库,本文在自建视频文本数据库上进行实验。在网络上共搜集了300幅图像,其中包括新闻、电影和广告等视频文本图像,图像中的文本大多数为中文,还有少量的英文和数字,并且这些文本在尺寸,颜色,对比度以及字体方面都有所不同。从300幅图像中选出200幅图像作为训练样本,其余100幅图像作为测试样本测试本文提出的文本定位方法的效果及泛化能力。训练中的正样本是通过手动标记图像中的文本区域获得的,负样本是通过程序对背景图像随机抽取得到的。实验过程中共采集1 860个正样本和8 000个负样本作为Adaboost分类器的训练样本,正、负样本的部分图像如图4。
3.4.2 基于Adaboost的强分类器构建
为了给正负样本分配恰当的权值,我们使用了非对称Adaboost的方法,通过改进经典Adaboost算法,定义弱分类器为
(18)其中m=1…M,M为迭代的次数。设置迭代次数M为100。
从1 860个正样本和8 000个负样中提取5类特征集,并利用这些特征集构建了一个最大深度为4的分类与回归决策树。树的每个节点都是Ada—boost弱分类器,而节点后继分支表示文本区域和非文本区域属性的可能值。最终结果是由最终的Ad—aboost强分类器输出。
利用正确率p(提取出的正确文本区域/提取出的区域)、召回率r(提取出的正确文本区域/总文本区域)及其两者的调和平均数f(正确率×召回率×2/(正确率+召回率))作为评价的性能指标。利用100幅检测样本图像,对5类特征集的分类性能作了比较,如图5所示。
尽管每个分类器的分类性能并不佳,但是经过分类与回归树的Adaboost算法合并后,表现出了强大的分类性能。
3.4.3 实验结果分析
为了体现方法的优越性,采用同样的训练样本训练了SVM(支持向量机),并利用同组测试样本进行两者分类性能的比较。两者对同一图像的实验结果部分图像如图6,结果比较如表1。所用100幅测试样本包括视频叠加文本和场景文本,在这100个样本中,人工标注197个文本行。
通过表1可以看出本文提出的方法不管在准确率还是召回率上都是优于使用基于SVM分类器的效果的。并且在实验过程中,在同样的机器上本文方法的执行效率也比基于SVM方法的分类器的执行效率高。这也恰恰满足了视频文本定位快速性的特别要求要求。
本文使用100幅图像作为测试样本,测试结果准确率达到73%。由于训练样本有限,通过增加训练的次数,提高文本定位的准确率和召回率。
4 结论
本文基于Adaboost算法將视频文本定位问题转化为二分类问题,将多个弱分类器组合成一个强分类器,实现了对视频文本的定位。并且在视频文本定位的正确率、实时性和泛化能力上取得了良好的效果。但是,在实验过程中发现系统对噪声比较敏感,所以在训练的后期阶段对去噪方面集中了不少注意力,因此我们在选取样本时,应该选取更加全面的样本,以解决这一问题。
(编辑:温泽宇)