数字图像普遍存在于人们的生活当中,其中蕴含着大量的商业和应用价值。因受到视角、字体、语种、光照、模糊等诸多因素的干扰图像,文本的分析和抽取工作变得更加复杂,图像中的文本分割工作依然存在困难。对高清晰度、高质量的图像,文本分割较容易;而在清晰度低、字符不明显、背景存在强噪声干扰的图像中,文本难以准确分割。文本分割是文本识别中非常重要的环节,不准确的文本分割对识别带来很大难度。文本的分析和抽取工作依然是一个重要的研究课题。
目前,有许多基于二值化进行文本分割的方法研究。全局Otsu算法[1]利用全局阈值将图像前背景分开,但对目标大小和噪声很敏感,对于抽取单峰的类间方差图像效果好。局部Niblack算法[2]对图像像素周围2d大小的矩形窗口进行局部阈值计算,将文本与背景分离。如果图像背景复杂,干扰较多,Niblack方法的效果不佳。局部Bernsen算法[3]以像素为中心取一个局部窗口,以此窗口的像素最大和最小强度的均值作为此窗口的阈值。这种局部阈值的方法同样会产生很多噪声。最大稳定极值区域(Maximally Stable Extremal Region, MSER)方法[4]在图像二值化处理后找到在较宽阈值范围内仍保持稳定的区域,选择合理的稳定区域,能得到很好的文本分割结果,但对于图像模糊区域的分割效果不好。一些学者提出基于纹理分析进行文本分割的方法。文献[5]根据图像基本一致的笔画宽度特性和局部对比度,提出一种快速高效的笔画检测方法。文献[6]提出一种基于小波去噪和颜色聚类的文本分割方法。文献[7]提出了一种基于二值纹理分析的彩色图像二值化方法。文献[8]介绍了一种利用方向梯度直方图来计算笔画宽度的算法,在不规则文本中表现很好,但其依靠平行的边缘信息,导致对噪声很敏感。文献[9]提出熵率超像素分割方法。文献[10]提出的SLIC(Simple Linear Iterative Clustering)与一些基于图论和基于梯度下降的超像素方法作对比,SLIC表现出超像素密度均匀,且边缘信息准确的特性。文献[11]用超像素作图像分割,提出了双向图像分割方法。超像素方法在普通图像分割中有不错的效果,因此有人将超像素方法应用于文本分割中。文献[12]利用文本颜色、笔画宽度、边缘长度等多个字符特征作超像素文本分割。文献[13]提出一种基于笔画宽度的图像二值化方法,并结合超像素作文本分割,能够一定程度上去除噪声并找回丢失笔画,但如果图像中文本笔画宽度远大于笔画间距,分割效果不好,并且会产生噪声。
将超像素方法应用于文本分割中,分割效果有明显提升,但由于超像素对图像的过分割,导致分割准确性低、去噪性能差。为此,本文提出一种通过融合相似度高的超像素区域,再通过二值图像进行校验的文本分割算法,有效降低噪声,提高分割精度。
1 超像素文本分割算法 1.1 SLIC超像素算法SLIC即简单的线性迭代聚类。参考文献[10]对一些现有超像素方法作对比,SLIC超像素方法对图像像素进行局部聚类,是一种快速高效,能形成密度近似均匀、紧凑的超像素方法,且边缘信息准确,故选用该超像素方法。对于每个超像素的种子点可描述为Ci=(Li, Ai, Bi, xi, yi),其中采用CIELAB颜色空间的颜色特征(L, A, B)以及位置信息(x, y)。假设图像中有N个像素点,预分割k个尺寸相同的超像素,每个网格宽度即为S=N/k。以步长为S的网格初始化种子点Ci,然后对于每个种子点Ci的2S×2S邻域内,分别计算像素点与种子点间的相似度,分配相似度高的像素点;再重新计算种子点,不断迭代,直至收敛[14]。相似度的衡量算法如下:
像素点间强度差异表示为:
$\mathop D\nolimits_k = \left\| {I - {I_k}} \right\|$ | (1) |
像素点间空间距离表示为:
$\mathop D\nolimits_{ab} = \sqrt {{{\left( {x - {x_k}} \right)}^2} + {{\left( {y - \mathop y\nolimits_k } \right)}^2}} $ | (2) |
像素点之间的相似度表示为:
$D = {D_k} + m{D_{ab}}/s$ | (3) |
其中:Ik和I分别表示种子点和附近像素点的像素强度,xk和yk分别表示种子点横纵坐标的值,x和y分别表示附近像素点横纵坐标的值,S表示种子点间的距离,m用来衡量像素点间强度和空间信息在相似度计算中的比重关系。 图 1所示N=300时,不同的m值所得到的超像素聚类结果。m值越大,那么空间距离越重要,得到的超像素结果越紧密。m值越小,在超像素边界处越贴合图像文字边缘,但超像素形状不规则。故本文中m取15。
为了清除文本图像中文本信息由于局部阴影或者表面反射而被遮蔽的干扰,对于灰度图像中每一像素点进行局部对比度归一化处理。
根据文献[13]的图像二值化方法,假设P(x, y)是以像素点C(x0, y0)为中心的r×r滑动窗口内的像素点,那么像素点P和C的相似性可以描述为:
$con\left( {x,y,{x_0},{y_0}} \right) = \begin{array}{*{20}{c}} 1&{if\left| {I\left( {x,y} \right) - I\left( {{x_0},{y_0}} \right)} \right| \le t}\\ 0&{if\left| {I\left( {x,y} \right) - I\left( {{x_0},{y_0}} \right)} \right| > t} \end{array}$ | (4) |
其中:t表示亮度一致性比较阈值,I(x, y)和I(x0, y0)分别表示像素C和P的亮度。t=k×mean(I),其中k取0.8,mean(I)代表滑动窗内像素亮度均值。
那么归一化笔画宽度表示为:
$w\left( {{x_0},{y_0}} \right) = \sum\nolimits_{\left( {x,y} \right) \in {W_{r \times r}}} {con(x,y,{x_0},{y_0}){r^2}} $ | (5) |
其中:r2表示滑动窗内像素数量。按照文献[13]推荐,r值应大于2倍笔画宽度,r>2w,选取偏大的滑动窗。
若w(x0, y0)<0.5,即为笔画像素[13],从而得到初始二值化图像。
1.3 自适应超像素粒度分析一个合适的超像素粒度非常重要[15]。一般情况下,图像只经过超像素处理,并不能得到合适的超像素聚类区域。大粒度的超像素,由于粒度过大,把文本与背景包含在同一类别中,导致文本和背景粘连不易分割;而粒度过小的超像素,超像素数量太多,难以寻找超像素之间的区别与联系,致使后面的处理变得复杂。
图 2为对于同一图像进行不同粒度超像素的结果,该图像大小为235×63,不合适的超像素粒度会导致文本笔画间粘连、文本与背景间聚类不准确等问题。当N=100,文本与背景间边缘不准确,部分笔画被包含到背景中;当N=300和N=500时,前背景间,或是文本间都未产生粘连,且边界、纹理清晰,但超像素粒度过小,数量太多,这样的超像素粒度对噪声敏感,去噪能力差。
对图像进行超像素处理时,因图像中的笔画一般具有宽度一致性,选择尽量接近文本笔画宽度的超像素粒度,这样可以较为完整地把文本和背景分离开。超像素粒度N=(w×h)/(W-1) 2,其中w×h为图像大小,W为笔画宽度估计值。对于笔画宽度的估计,在灰度图像中,利用Otsu二值化方法得到二值图像,再计算笔画像素点间的横向距离,取所有点间距长度的均值即为笔画宽度估计值,可表示为:
$W = \frac{1}{n}\sum\limits_{i = 1}^n {\left| {{P_i}({x_i},{y_i}) - {P_j}({x_j},{y_j})} \right|} $ | (6) |
其中:n表示二值图像中横向笔画像素点对的个数,Pi(xi , yi )和Pj(xj , yj )表示相邻笔画像素点的位置。
1.4 超像素的融合超像素粒度过小会将具有相似特征性的像素区域分离为多个区域;如果超像素粒度过大,很容易聚集特征相似度低的像素点。超像素融合是将图像中的文本和背景分别最大限度地合并,把众多具有一定相似性的超像素区域融合到同一聚类[16]。这样能够大大提高文本分割的抗干扰能力,同时利用了图像中的文本前景信息和背景信息。
超像素及超像素融合在原始图像中进行。由于原始图像中的文本一般具有颜色信息,利用原始图像进行超像素处理,边缘准确性上会有一定提高。
经过超像素分割的图像,得到尺寸相同的聚类集合clusters={cluster1, cluster2, …, clusterk},每个聚类内的像素点均带有像素标签,可表示为clusteri=(xi, yi, signi),其中(xi, yi)为clusteri内像素坐标信息,signi为超像素内像素标签,若像素点Pa(xa, ya)∈clusteri,Pb(xb, yb)∈clusteri,则signa=signb,否则signa≠signb。超像素融合算法的步骤如下:
1) 计算每一个超像素聚类Ci中的像素点颜色强度均值,可以表示为:
$mean\left( {{C_i}} \right) = \sum\nolimits_{{P_x} \in {C_i}} {{g_x}} /{n_{{C_i}}}$ |
其中:gx表示像素点颜色强度,nci表示聚类Ci像素点个数。
2) 以任一未被访问超像素C0为起点,并标记已访问。
3) 搜索C0邻域超像素,找到所有相邻超像素Cn,组成相邻超像素对P0n(C0, Cn),那么C0邻域所有超像素集合表示为:
$neighbours = \left\{ {\left( {{C_0},{C_{n1}}} \right),\left( {{C_0},{C_{n2}}} \right)...} \right\}$ |
其中:k为邻域超像素个数。
4) 通过比较每一相邻超像素对(C0, Cn)的颜色差异δ,判断是否将其融合。若δ<10,满足融合条件,否则不融合。可表示为:
$\begin{array}{l} \delta = \left| {mean({C_0}) - mean({C_n})} \right|\\ = \left| {\frac{{\sum\nolimits_{{P_x} \in {C_0}} {{g_x}} }}{{{n_{{C_0}}}}} - \frac{{\sum\nolimits_{{P_x} \in {C_n}} {{g_x}} }}{{{n_{{C_n}}}}}} \right| \end{array}$ | (7) |
5) 若融合,被融合聚类中的像素标签signC0=signCn,并标记超像素Cn已访问。若不融合,不作处理。
6) 遍历邻域集合neighbours。若P0n=(C0, Cn)中Cn被标记已访问,融合后,signC0=signCn, 其余元素Cnx,signCnx=signC0。
7) 重复步骤2) ~6) ,直至所有超像素均已访问。
8) 融合完成,得到新的聚类集合newclusters。
图 3所示超像素融合过程。(a)为原始超像素图像。以左上角超像素聚类区域为起点,经过一次融合得到(b),经过多次融合得到(c)。(d)为最终融合结果。
超像素区域的颜色强度平均值体现了局部区域像素的颜色特性。超像素本身是通过聚类得到的局部特征一致性区域,故超像素强度均值是决定超像素是否可以融合的关键条件。
图 4超像素融合的结果图像。通过融合,得到较为完整的笔画和准确的边缘信息,同时背景也达到了一定程度的融合效果,可以有效剔除背景噪声,保证笔画完整性,得到较为理想的文本分割结果。
超像素融合能够比较准确地将图像的文本与背景划分为不同区域,利用新的超像素聚类区域,结合初始二值图像,对初始二值图像校验。
以融合后得到的新超像素聚类为单位,分别统计对应初始二值化图像区域的文本像素点个数NT及非文本像素点个数NU,根据NT和NU的比值φ来决策该超像素聚类是否为文本。
依次检测每一个newcluster, 以newclusteri为例,像素点P0(x0, y0)∈newclusteri,映射到初始二值图像相应位置S0(x0, y0),判断此像素点是否文本像素:若为文本像素,S0(x0, y0)=1;否则S0(x0, y0)=0。对于每一个聚类区域, 若超像素文本决策值φ>0.8,那么该超像素聚类区域标记为文本,否则为背景。超像素文本决策可表示为:
$\phi = \frac{{\sum\nolimits_{i \in newcluste{r_i}} {{S_i}({x_i},{y_i})} }}{{{n_{newcluste{r_i}}}{\rm{ - }}\sum\nolimits_{i \in newcluste{r_i}} {{S_i}({x_i},{y_i})} }}$ | (8) |
其中nnewclusteri表示超像素聚类newclusteri中像素点的个数。
图 5所示未融合的超像素在校验过后,由于有些粒度中噪声点较多,校验结果会把图像背景当作文本显示出来。而经过融合的超像素,噪声点所在超像素中所占比例较少,故校验后能将其剔除,抽取出准确的文本信息,同时起到降噪的作用。
以文本图像为例,对于每一步的结果以及分割流程如图 6所示。
本文实验的硬件环境是Intel Core i7-5500U,2.4 GHz,内存为8 GB。操作系统为64位Windows 10。编程环境为:Visual Studio 2013。
2.1 数据集为了验证本文方法的效果,通过与其他分割算法在公开数据集ICDAR2003数据集[17]和KAIST数据集[18]上测试的情况作对比,对实验结果进行分析。ICDAR2003数据集中共计1110张图片,5401个字符。KAIST数据集分为数码相机拍摄和移动电话拍摄的两种类型图片,共计683张,将其分为A~K 11类。其中:A~H为数码相机拍摄的图片608张,其中阴影图片(A)29张,灯光图片(B)23张,室外图片(C~E)380张,室内图片(F)106张,夜晚图片(G)35张,其他图片(H)35张;移动电话拍摄的图片75张,其中:室外图片(I)10张,室内图片(J)24张,图书封皮图片(K)41张。图 7展示数据集中部分图片。数据集中的图像为场景图片中切割出来的文本区域图片。
本文通过两种实验方式,对不同的文本分割方法进行测试分析。实验方案1采用基于像素对比(pixel-based)的评价方法,实验方案2采用基于识别率的评价方法。
实验方案1以分割准确率precision、召回率recall以及f值来评价算法,评价指标的计算规则如下:
$precision = \left| {S \cap T} \right|/\left| S \right|$ | (9) |
$recall = S \cap T/T$ | (10) |
$f = 2 \times precision \times recall/\left( {precision + recall} \right)$ | (11) |
其中S和T分别表示分割结果和ground-truth。
测试数据集为KAIST数据集。笔画超像素聚合(Stroke based Superpixel Grouping, SSG)为参考文献[13]中的方法,MSER为参考文献[19]中的方法。根据precision(p)和recall(r)在不同样本中的值分别绘统计图,见图 8。precision为分割正确的像素数与ground-truth的比值,故precision的值可以反映去噪能力。precision值越大,表明去噪能力强。图 8(a)显示本文方法在不同样本中的文本精度均较好。recall值越大,表明文本的抽取能力越强,图 8(b)表明本文方法在不同样本中具有相对稳定的性能,基本保持在0.85左右,虽然MSER在一些样本中表现较好,但其稳定性较差。综合两幅图,本文方法具有较稳定的文本抽取准确性且去噪能力强。统计实验结果见表 1。
实验方案2以文本分割结果的识别率来评价方法。借助OCR软件ABBYY Fine Reader 12.0版本进行文本的识别。识别率可表示为:
$R = {N_{recognize}}{\rm{ }}/{N_{recognize}}{N_{total}} - {N_{total}}$ | (12) |
其中:Nrecognize表示识别正确的字符数,Ntotal表示总共字符数。
图 9展示部分文本分割结果。在ICDAR2003数据集测试的结果对比见表 2(p表示precision,r表示recall)。
Otsu方法能够得到较为清晰的笔画,但与此同时,把图像中的一些背景也当作文本来显示,使笔画周围产生很多噪声。MSER方法在大多数图像中的文本分割结果表现较好,但处理模糊图像效果不好,稳定性有待提升。SSG方法在笔画间距小且在宽笔画的图像中的性能还需提高。识别结果中,就例图中第三行图像而言,如图 10(e)本文方法的识别结果全部正确,虽然字符“A”上方有噪声干扰,但未影响识别,在去噪方面表现较好。
文本分割和其他的图像分割不同,图像中的文本具有较多相似性特性。超像素的融合可以把文本和背景分离,得到较为完整的局部特征相似性区域。实验结果表明,此方法具有较强的去噪能力。但生活中的数字图像的背景一般较复杂,导致图像初始二值化和图像超像素并不一定都能够得到非常精确的结果,产生一些无法清除的干扰和噪声。今后仍需利用更多的文本特性,在超像素分割的稳定性上进行更进一步的研究。
[1] | OTSU N. A threshold selection method from gray-level histograms[J]. IEEE Transactions on Systems Man and Cybernetics, 1979, 9 (1) : 62-66. doi: 10.1109/TSMC.1979.4310076 |
[2] | NIBLACK W. An Introduction to Digital Image Processing[M]. Upper Saddle River, NJ: Prentice Hall, 1986 : 113 -116. |
[3] | BERNSEN J. Dynamic thresholding of grey-level images[C]//Proceeding of the 8th International Conference on Pattern Recognition. Piscataway, NJ:IEEE, 1986:1251-1255. |
[4] | SHI C, WANG C, XIAO B, et al. Scene text detection using graph model built upon maximally stable extremal regions[J]. Pattern Recognition Letters, 2007, 34 (2) : 107-116. |
[5] | SUBRAMANIAN K, NATARAJAN P, DECERBO M, et al. Character-stroke detection for text-localization and extraction[C]//Proceedings of the Ninth International Conference on Document Analysis and Recognition. Piscataway, NJ:IEEE, 2007:33-37. |
[6] | THILLOU C. Color binarization for complex camera based images[J]. Proceedings of the SPIE, 2005, 5667 : 301-308. doi: 10.1117/12.586618 |
[7] | WANG B, LI X F, LIU F, et al. Color text image binarization based on binary texture analysis[J]. Pattern Recognition Letters, 2005, 26 (10) : 1568-1576. doi: 10.1016/j.patrec.2004.12.004 |
[8] | EPSHTEIN B,OFEK E,WEXLER Y. Detecting text in natural scenes with stroke width transform[C]//Proceedings of the 2010 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Soceity, 2010:2963-2970. |
[9] | LIU M Y,TUZEL O, RAMALINGAM S, et al. Entropy rate superpixel segmentation[C]//Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Soceity, 2011:2097-2104. |
[10] | ACHANTA R, SHAJI A, SIMITH K, et al. SLIC superpixels compared to state-of-the-art superpixel methods[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34 (11) : 2274-2282. doi: 10.1109/TPAMI.2012.120 |
[11] | CHANG S F, WU X M, LI Z. Segmentation using superpixels:a bipartite graph partitioning approach[C]//Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Soceity, 2012:789-796. |
[12] | CHO M S, SEOK J-H, LEE S, et al. Scene text extraction by superpixel CRFs combining multiple character features[C]//Proceedings of the Eleventh International Conference on Document Analysis and Recognition. Piscataway, NJ:IEEE, 2011:1034-1038. |
[13] | ZHU A, WANG G, DONG Y. Robust text segmentation in low quality images via adaptive stroke width estimation and stroke based superpixel grouping[C]//Proceedings of the 2014 Asian Conference on Computer Vision, LNCS 9009. Cham, Switzerland:Springer InternationalPublishing, 2014:119-133. |
[14] | 王春瑶, 陈俊周, 李炜. 超像素分割算法研究综述[J]. 计算机应用研究, 2014, 31 (1) : 6-12. ( WANG C Y, CHEN J Z, LI W. Review on superpixel segmentation algorithms[J]. Application Research of Computers, 2014, 31 (1) : 6-12. ) |
[15] | ZHU Y, YAO C, BAI X. Scene text detection and recognition:recent advances and future trends[J]. Frontiers of Computer Science, 2016, 10 (1) : 19-36. doi: 10.1007/s11704-015-4488-0 |
[16] | SHI J, MALIK J. Normalized cuts and image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22 (8) : 888-905. doi: 10.1109/34.868688 |
[17] | LUCAS S M, PANARETOS A, SOSA L, et al. ICDAR 2003 robust reading competitions[C]//Proceedings of the Seventh International Conference on Document Analysis and Recognition. Washington, DC:IEEE Computer Society, 2003, 2:682. |
[18] | JUNG J, LEE S H, CHO M S, et al. Touch TT:Scene text extractor using touch screen interface[J]. ETRI Journal, 2011, 33 (1) : 78-88. doi: 10.4218/etrij.11.1510.0029 |
[19] | NEUMANN L, MATAS J. Real-time scene text localization and recognition[C]//Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2012:3538-3545 |