随着电子技术和互联网技术的发展,录制并在互联网上分享视频越来越广泛。视频量的快速增长使得寻找一种有效的方法标注检索视频成为一项迫切的任务。视频文字包含有丰富的语义信息,若能准确地将其识别并成功运用文字处理分析技术,视频中文字可以成为视频标注检索的重要线索[1]。视频文字一般分为场景文字和叠加文字两种[2]。视频场景文字是指真实存在场景中的文字,是由摄像机镜头直接拍摄获得的。视频叠加文字是指在视频后期处理中,人工编辑添加到视频帧中的[3]。相比其他的底层特征,如颜色、亮度、纹理、形状,视频文字是一种高层语义信息,与视频内容息息相关。因此,视频文字的检测和识别在构建一个有效的视频标注检索系统中具有重要作用。由于视频叠加文字是人工添加的信息,能够对视频内容提供简明直接的描述和注释,提取识别视频叠加文字非常有意义,而本文所描述的工作主要集中在如何准确识别视频叠加文字。
一般而言,视频文字识别系统主要包含5个步骤:检测、定位、追踪、提取和识别[4]。在检测过程中,粗略辨别视频帧中的文字区域和非文字区域;然后进一步对文字区域进行定位和边界区域确认;文字追踪步骤则识别出视频中包含相同文字的视频帧,将多帧信息进行融合以得到更准确的分割结果;文字提取去除背景像素,提取文字像素用于识别;识别步骤则是用传统OCR引擎识别提取获得的二值化输出结果。
许多相关研究表明,将传统OCR引擎直接应用于视频文字识别,其识别结果往往差强人意,主要原因在于视频图像复杂背景和低分辨率导致二值化分割后的结果较差[5]。因此,许多文字二值化方法被提出以用于消除视频中复杂背景对于传统OCR引擎的影响。例如,文献[6-8]采用自适应的局域阈值算法,文献[9-10]利用聚类算法提取文字像素,文献[11-12]提出一种基于Markov随机场的分割方法实现图像二值化,文献[13-15]通过某些笔划滤波器增强笔划信息并抑制其他非笔划信息。上述方法在一定程度上提高了传统OCR引擎对于视频文字的识别准确率,然而,并没有完全解决识别准确率的问题。目前存在的视频OCR识别准确率无法令人满意的原因之一是二值化过程中不可避免地导致字符笔划信息丢失和噪声的引入。另外,传统OCR引擎的训练基本是基于高精度的扫描文档,当用来处理低分辨率的输入时,识别性能会随之降低。
本文寻求构建一个高效的中文字符识别器,提出一个简单有效的基于Gabor特征的识别方法,该识别方法涉及两点创新。首先,直接使用大规模的真实叠加文字数据集训练本文提出的识别器;其次,训练识别器是基于原始叠加文字图像,而非二值化后的结果,文字像素并没有从背景中分割出来。
1 本文提出的方法图 1显示本文提出方法的框架。对于一个叠加中文字符图像,首先利用如下公式将其转化为灰度图像:
$ \begin{array}{*{20}{c}} {I\left( {x,y} \right) = 0.299R\left( {x,y} \right) + 0.587G\left( {x,y} \right) + }\\ {0.114B\left( {x,y} \right),} \end{array} $ | (1) |
Download:
|
|
式中:R(x, y), G(x, y), B(x, y)表示位于(x, y)处像素的红绿蓝颜色分量值,I(x, y)表示对应的灰度值。然后将该灰度图像规范化为N×N大小的图像(在我们的系统中N=40),接着提取该灰度图像的Gabor特征。对于得到的原始Gabor特征,首先利用主成分分析法将其降维,然后送入二层分类器获得最终识别结果。
1.1 提取Gabor特征Gabor滤波器作为一种有效的图像分析工具,已经成功应用于大量的实践应用中,其中包括光学字符识别(OCR)[16-17]。在本文提出的系统中,直接利用Gabor滤波器组从规范化后的灰度字符图像中提取Gabor特征。二维Gabor滤波器如式(2)所示,是一个复杂的正弦平面波通过高斯核函数调制而成:
$ \begin{array}{*{20}{c}} {g\left( {x,y;\lambda ,\theta ,\psi ,\gamma } \right) = }\\ {\exp \left( { - \frac{{{{x'}^2} + {\gamma ^2}{{y'}^2}}}{{2{\sigma ^2}}}} \right)\exp \left( {{\rm{i}}\left( {2{\rm{ \mathsf{ π} }}\frac{{x'}}{\lambda } + \psi } \right)} \right),} \end{array} $ | (2) |
式中:x′=xcosθ+ysinθ, y′=-xsinθ+ycosθ,λ表示正弦函数的波长,θ指定Gabor函数并行条纹的方向,ψ表示相位偏移,σ表示高斯核函数的标准差,γ表示长宽比,控制Gabor函数的椭圆率。在我们的系统中,仅利用Gabor滤波器的实数部分,即
$ \begin{array}{*{20}{c}} {g\left( {x,y;\lambda ,\theta ,\psi ,\gamma } \right) = }\\ {\exp \left( { - \frac{{{{x'}^2} + {\gamma ^2}{{y'}^2}}}{{2{\sigma ^2}}}} \right)\cos \left( {2{\rm{ \mathsf{ π} }}\frac{{x'}}{\lambda } + \psi } \right).} \end{array} $ | (3) |
我们构建包含5个方向和8个尺度共计40个滤波器的Gabor滤波器组。具体地,σ=2π, γ=
Download:
|
|
以此方法获得的Gabor特征仍然具有非常高的维数,加大了识别过程中的计算代价,同时,由于维数灾难,为保证分类器的泛化能力,必须用大量的训练样本进行训练。为解决这个问题,采用经典的特征降维方法——主成分分析法(PCA),将高维特征投影到低维平面以获得更紧凑的特征表达。通过训练实验,寻找到一个跨度170个主成分的低维子空间,能保证低于5%信息损失的情况下紧致地表示原始Gabor特征。因此,对于每个中文字符图像,提取一个维数为170维的特征用来进行识别。
1.2 中文叠加字符二层分类器我们期望建立一个中文字符识别器,能识别GB 2312—80标准一级字库中的3 775个中文字符,同时能支持20种字体。实验中观察到,同一字符不同的字体,其Gabor特征也可能有较大不同。因此,将同一类字符的不同字体当作属于同一个类的不同原型,然后基于最近原型分类器(NPC)进行分类[18]。按照上述方法,在我们的分类器中共计有3 755×20=75 100个原型。考虑到如此多的类别数,采用由粗到精的层次结构构建分类器。本文提出的识别器包含两层分类器,对于第一层分类器,字符图像样本特征采用线性判别分析法(LDA)进一步降到低维子空间S1,并在子空间S1通过相似性度量获得某些候选项。紧接着,对于这些候选项,在另外一个较高于S1空间维数的子空间进行相似性度量,获得最终的识别结果。
1.2.1 二层分类器的构建形式化表述如下,假设有M种字符类别和N种字体样式,对于每种字符类别i, i=1, 2, …, M,其对应的字体样式j, j=1, 2, …, N,有nij个样本。用X=[X11, X12, …, X1 N, …, XM1, XM2, …, XMN]表示训练集,其中Xij∈RD*nij包含第i种字符第j种字体的样本特征矩阵,包含nij个样本的特征,D=170为训练样本的特征维数。为了构建第一层分类器,所有训练样本通过LDA投影到子空间S1,则可获得一个新的训练集X(1)=[X11(1), X12(1), …, X1 N(1), …, XM1(1), XM2(1), …, XMN(1)],其中Xij(1)包含用于第i个字符类别的第j个原型建模的训练数据。假设Xij(1)=[xij, 1(1), xij, 2(1), …, xij, k(1), …, xij, nij(1)], 其中xij, k(1)表示第i个字符类别的第j种原型的第k个样本特征,然后按式(4)计算对应的原型中心:
$ c_{ij}^{\left( 1 \right)} = \frac{1}{{{n_{ij}}}}\sum\limits_{k = 1}^{{n_{ij}}} {x_{ij,k}^{\left( 1 \right)}} , $ | (4) |
其中xij, k(1)∈Rd(S1),d(S1)表示子空间S1的维数。按照同样的方法,可以构建第二层最近原型分类器。首先,训练数据X投影到子空间S2,获得新训练数据X(2)=[X11(2), X12(2), …, X1 N(2), …, XM1(2), XM2(2), …, XMN(2)],并通过式(5)计算对应的原型中心:
$ c_{ij}^{\left( 2 \right)} = \frac{1}{{{n_{ij}}}}\sum\limits_{k = 1}^{{n_{ij}}} {x_{ij,k}^{\left( 2 \right)}} , $ | (5) |
其中xij, k(2)∈Rd(S2),d(S2)表示子空间S2的维数。需要注意的是,d(S1) < d(S2)。最后,得到二层分类器模型参数,C(1)={cij(1)|i=1, 2, …, M, j=1, 2, …, N}, C(2)={cij(2)|i=1, 2, …, M, j=1, 2, …, N}。
1.2.2 二层分类器的预测在预测时,对于一个给定的测试样本,首先进行预处理,Gabor特征提取以及PCA降维,获得其特征表达x。其次,利用LDA降维,得到其在子空间S1中的低维表示形式,记作x(1)。第一层分类器将在C(1)中的MN个原型中选出K个候选项构成C′1={c′1, c′2, …, c′K}, 其中||c′k-x(1)||2≤||c′h-x(1)||2, c′k∈C′1, c′h∈C(1)\C′1。其中||*||2表示2范式,用来计算2个向量间的欧式距离,“\”用于2个集合求差集。由于有太多原型存在于我们的系统中,为了更有效地寻找到K个最近原型,这些原型是通过KD树在第一层中构造的。树节点包含有原型中心的向量和表示该原型的二维标签(i, j)。
当C′1确定后,可以根据第一层中的二维标签获得其在第二层中的候选项,记作C″2={c″1, c″2, …, c″K}。设x(2)为x在子空间S2中的表达形式,第二层分类器将会根据公式(6)计算得到最近的原型,记作ĉ。
$ \mathit{\boldsymbol{\hat c}} = \mathop {\min }\limits_k {\left\| {{{\mathit{\boldsymbol{c''}}}_k} - {\mathit{\boldsymbol{x}}^{\left( 2 \right)}}} \right\|_2},{{\mathit{\boldsymbol{c''}}}_k} \in {{\mathit{\boldsymbol{C''}}}_2}. $ | (6) |
最后,系统预测的字符类别和字体类型根据原型ĉ对应的二维标签(î, ĵ)获得,原型标签的第一维是系统预测的字符类别,第二维是系统预测的字体类别。
2 实验 2.1 数据集为验证本文提出的方法,我们建立一个名为VOT2016-UCAS的视频叠加文字数据集。该数据集包含共计9 387 500个字符图像样本,覆盖国标GB 2312—80的1级字库的3 755个汉字。这些字符图像来自于2 200部各种各样的视频。这些视频来源包括电影、电视节目、新闻等,视频分辨率的大小从240×400到1 280×780。在我们的数据集中,视频文字字体样式更是多达20种,包括仿宋、楷体、隶书、宋体、黑体、幼圆等。每种汉字对应的每种字体都有125个不同视频背景、颜色或大小的样本。字符图像大小在23像素×24像素到44像素×46像素之间,字符接近占满图像。图 3显示字符“永”和“啊”的部分样本。
Download:
|
|
本文中,采用5折交叉验证的方法评估实验。每种字符的样本平均分成5份,在每轮实验中,采用其中4部分用于训练,剩下1部分数据用于测试。最终的识别准确率为5次实验结果的平均值。对于测试集T中的样本xi,ci和fi表示其实际字符类别和字体类型,c′i和f′i表示实验预测对应的字符类别和字体类别。此处定义两个用于评价本文提出方法性能的标准,仅字符识别正确的识别率P,字符字体都识别正确的识别率P′:
$ P = \frac{1}{n}\sum\limits_{i = 1}^n {{F_1}\left( {{c_i},{{c'}_i}} \right)} , $ | (7) |
$ P' = \frac{1}{n}\sum\limits_{i = 1}^n {{F_2}\left( {{c_i},{{c'}_i},{f_i},{{f'}_i}} \right)} , $ | (8) |
$ {F_1}\left( {{c_i},{{c'}_i}} \right) = \left\{ \begin{array}{l} 1,\;\;\;\;{c_i} = {{c'}_i},\\ 0,\;\;\;\;{\rm{other,}} \end{array} \right. $ | (9) |
$ {F_2}\left( {{c_i},{{c'}_i},{f_i},{{f'}_i}} \right) = \left\{ \begin{array}{l} 1,{c_i} = {{c'}_i},\;\;\;{f_i} = {{f'}_i},\\ 0,\;\;\;\;\;\;\;\;\;\;\;\;\;{\rm{other}}{\rm{.}} \end{array} \right. $ | (10) |
实验1 PCA降维对识别性能的提升
本实验验证有无必要进行PCA两次降维,实验中,d(S1)=20,d(S2)=60,实验结果如表 1。利用上文提到的仅字符识别正确的识别率P进行衡量,其中K表示第一层分类器选出的候选项数目。利用LDA进行降维获得的字符识别准确率记作P1,先利用PCA降维,再利用LDA降维获得的字符识别准确率记作P2。对表 1中的数据分析可知,先对数据进行PCA降维极大地提高字符识别准确率。
实验2 二次降维参数d(S1)和d(S2)的选择
首先考虑参数d(S1),在这里定义一个评价标准topK,对于测试集T中的样本xi,ci表示其实际字符类别,CKi={c1i, c2i, …, cKi}表示对于样本xi在第一层分类器获得的K个候选项,则topK识别准确率定义如下:
$ {\rm{top}}K = \frac{1}{n}\sum\limits_{i = 1}^n {{F_3}\left( {{c_i},{C_{Ki}}} \right)} , $ | (11) |
$ {F_3}\left( {{c_i},{C_{Ki}}} \right) = \left\{ \begin{array}{l} 1,\;\;\;\;{c_i} \in {C_{Ki}},\\ 0,\;\;\;\;{\rm{other}}{\rm{.}} \end{array} \right. $ | (12) |
从图 4可知,topK的识别准确率随着d(S1)的减小而降低。由于第一层分类器只是粗分类,目标是获得K个候选项,在保证topK识别率不低的情况下,d(S1)越小,整个分类器识别速度越快。从图中可以看出,当d(S1) < 20后,topK识别率有明显的下降,因此选择d(S1)=20,既可以保证第一层粗分类较大可能地不漏掉正确的类别,又可以保证整个分类器的识别速度。
Download:
|
|
在参数d(S1)确定为20后,对参数d(S2)选取不同的值进行实验。表 2是d(S1)=20, K=40时,d(S2)取不同的值对应的二层分类器识别结果。从表 2中的数据可以发现,二层分类器的字符识别率随d(S2)增加而提高,当d(S2)>60后,识别率提高很微小。
实验3 K的选择及字体识别分析
实验3是为了选择合适的第一层分类器候选项K,在参数d(S1)=20, d(S2)=60情况下进行的,表 3是实验3得到的实验结果。其中K表示第一层分类器选出的候选项数目,P表示仅考虑字符是否识别正确的字符识别率,P′表示字符和字体同时识别正确的识别率,S表示识别速度。从表 3观察可知,识别准确率会随候选项数目K增加而提高,当K增加到40后,准确率提高很小。在实验中发现,字符识别错误的主要原因来自于相近字。例如,字符“叉”很容易被错误识别为“义”或者“又”。
字体类型识别同样面临相似问题。字体的识别有利于视频中整个文本行的识别,通常同一文本行中的字符都是同一字体。如果能根据文本行前面字符的识别结果统计预测出整个文本行的字体,则对于文本行后面字符的识别,二层分类器中的原型数目可以从75 100缩减到3 755个,极大地提高后续字符的识别效率。表 4报告K=40, d(S1)=20, d(S2)=60时字体类型识别准确率。实验结果显示,对于某些字体,如新宋体、宋体,字体识别率差强人意,但是某些字体如华文彩云、华文琥珀却有非常高的识别准确率。为此,我们进一步分析新宋体和宋体的识别结果发现,这两种字体非常相似,其中29.99%的新宋体样本被错误地识别为宋体,同时,46.60%的宋体样本被错误地识别为新宋体。如果将这两种非常相近的字体当作同一种字体,字体识别准确率将得到显著提高。
实验4 与传统识别方法对比
为了比较非二值化的优势,实验4将本文提出的数据集采用3种方法二值化后的结果送入Tesseract OCR[19]引擎进行识别。这3种二值化方法分别是Otsu[20]、Niblack[6]、ZZK[21],识别结果如表 5所示。
表 5的数据表明,本文方法相比传统方法,在VOT2016-UCAS的视频叠加文字数据集上识别有很大优势。其中原因如前面所提到的,一方面二值化过程中引入噪声和笔划信息的丢失,另外一方面Tesseract OCR是采用高精度的扫描文档训练的分类器,对二值化后的图像识别不够鲁棒。
3 总结和展望本文提出一种新的基于Gabor特征的中文叠加视频字符识别器。这种两层识别器能有效地直接识别孤立的中文视频叠加字符图像,不需要从复杂的背景中分割字符图像像素,同时,该识别器能支持多达20种字体。通过在一个大规模的数据集上实践后,获得了很可观的实验结果。今后会结合其他技术,将工作拓展到视频中叠加文字字符行的识别。
[1] |
Yang H, Meinel C. Content based lecture video retrieval using speech and video text information[J]. IEEE Transactions on Learning Technologies, 2014, 7(2):142–154.
DOI:10.1109/TLT.2014.2307305 |
[2] |
Jung K, Kim K I, Jain A K. Text information extraction in images and video:a survey[J]. Pattern Recognition, 2004, 37(5):977–997.
DOI:10.1016/j.patcog.2003.10.012 |
[3] |
Wang Z, Yang L, Wu X, et al. A survey on video caption extraction technology[C]//Multimedia Information Networking and Security (MINES), 2012 Fourth International Conference on. IEEE, 2012: 713-716.
|
[4] |
Yusufu T, Wang Y, Fang X. A video text detection and tracking system[C]//Multimedia (ISM), 2013 IEEE International Symposium on. IEEE, 2013: 522-529.
|
[5] |
Lienhart R W, Stuber F. Automatic text recognition in digital videos[C]//Electronic Imaging: Science & Technology. International Society for Optics and Photonics, 1996: 180-188.
|
[6] |
Niblack W.
An introduction to digital image processing[M]. Birkeroed: Strandberg Publishing Company, 1985.
|
[7] |
Sauvola J, Pietikäinen M. Adaptive document image binarization[J]. Pattern Recognition, 2000, 33(2):225–236.
DOI:10.1016/S0031-3203(99)00055-2 |
[8] |
Wolf C, Jolion J M, Chassaing F. Text localization, enhancement and binarization in multimedia documents[C]//Pattern Recognition, 2002. Proceedings. 16th International Conference on. IEEE, 2002, 2: 1037-1040.
|
[9] |
Huang X, Ma H, Zhang H. A new video text extraction approach[C]//Multimedia and Expo, 2009. ICME 2009. IEEE International Conference on. IEEE, 2009: 650-653.
|
[10] |
Kita K, Wakahara T. Binarization of color characters in scene images using k-means clustering and support vector machines[C]//Pattern Recognition (ICPR), 201020th International Conference on. IEEE, 2010: 3183-3186.
|
[11] |
Peng X, Setlur S, Govindaraju V, et al. Markov random field based binarization for hand-held devices captured document images[C]//Proceedings of the Seventh Indian Conference on Computer Vision, Graphics and Image Processing. ACM, 2010: 71-76.
|
[12] |
Wang Y, Shi C, Xiao B, et al. MRF based text binarization in complex images using stroke feature[C]//Document Analysis and Recognition (ICDAR), 201513th International Conference on. IEEE, 2015: 821-825.
|
[13] |
Mancas-Thillou C, Gosselin B. Character segmentation-by-recognition using log-Gabor filters[C]//Pattern Recognition, 2006. ICPR 2006. 18th International Conference on. IEEE, 2006, 2: 901-904.
|
[14] |
Huang X. A novel video text extraction approach based on Log-Gabor filters[C]//Image and Signal Processing (CISP), 20114th International Congress on. IEEE, 2011, 1: 474-478.
|
[15] |
Mishra A, Alahari K, Jawahar C V. Unsupervised refinement of color and stroke features for text binarization[J]. International Journal on Document Analysis and Recognition, 2017, 20(2):1–17.
|
[16] |
Hao Q, Feng Z D, Ge Y. A study on the use of Gabor features for Chinese OCR[C]//Intelligent Multimedia, Video and Speech Processing, 2001. Proceedings of 2001 International Symposium on. IEEE, 2001: 389-392.
|
[17] |
Wang X, Ding X, Liu C. Gabor filters-based feature extraction for character recognition[J]. Pattern recognition, 2005, 38(3):369–379.
DOI:10.1016/j.patcog.2004.08.004 |
[18] |
Jin X B, Liu C L, Hou X. Regularized margin-based conditional log-likelihood loss for prototype learning[J]. Pattern Recognition, 2010, 43(7):2428–2438.
DOI:10.1016/j.patcog.2010.01.013 |
[19] |
Smith R. An overview of the Tesseract OCR engine[C]//Document Analysis and Recognition, 2007. ICDAR 2007. Ninth International Conference on. IEEE, 2007, 2: 629-633.
|
[20] |
Otsu N. A threshold selection method from gray-level histograms[J]. Automatica, 1975, 11(285-296):23–27.
|
[21] |
Zhang Z, Wang W, Lu K. Video text extraction using the fusion of color gradient and log-Gabor filter[C]//Pattern Recognition (ICPR), 201422nd International Conference on. IEEE, 2014: 2938-2943.
|