曾凡锋 付亚南
摘 要:针对文本图像拍摄质量低下,而导致OCR系统识别率不稳定的问题,本文提出了一种基于文字笔画结构的文本图像校正算法,主要是在图像的预处理中对待处理像素点进行基于文字笔画结构的特征分析,实现目标和背景像素的校正,再结合局部二值化算法进行处理,分析其噪音分布特点采用邻域去噪进一步优化处理结果。实验表明,本文算法能够很好的适用于处理质量低下的文本图像,处理效果从视觉图像和识别率上都能满足应用需求。
关键词:文字笔画结构;特征分析;邻域去噪;低质文本图像
A text image correction algorithms base on the structure of text strokes
ZENG Fan-feng1 FU Ya-nan
(College of Information Engineering,North China University of Technology,Beijing 100144,China)
Abstract:Given the facts that OCR system recognition is unstable because of the low quality text image, this paper put forward a text image correction algorithms base on the structure of text strokes. The algorithm is mainly to analysis the characteristics of the processing pixel based on the text strokes structure, in order to correct the goals pixel and background pixel. Then, combined with local binary processing algorithm for processing, and using neighborhood de-noising method to further optimized image de-noising , The experimental results show that the method can be applied to deal with poor quality text images, and the visual effects and image recognition rate can meet the application.
Key words:structure of text strokes;analysis the characteristics;neighborhood de-noising;poor quality text images
文字是人类用来记录语言的符号,是信息的载体,是人们用来交流和表达思想的工具。纸质媒介是记录文字的传统介质,然而随着信息技术的快速发展,人们逐渐利用计算机、网络、通讯等信息处理技术存放与处理文字。OCR(Optical Character Recognition)识别技术就是将纸质上的打印字符转化成计算机文字最常见的方法。OCR系统一般包括图像获取、预处理、特征抽取、识别分类、后处理以及识别结果6个模块。由于纸质本身、拍摄设备、拍摄环境等各种因素的影响,使获取的图像质量低下,不能直接用于识别。预处理即对图像的存在的问题进行校正处理,是OCR识别的关键步骤,校正内容主要包括灰度化、增强、二值化、去噪、倾斜校正等,其中增强[1]、二值化[2]、去噪[3]的作用是提高图像质量,改善图像清晰度,将目标和背景分离开,也是本文算法要研究的内容。每种校正方法从基本作用和现有处理方法总结如下:增强是将目标点和背景点差异拉大,凸显目标点,抑制非关注的特征,使之改善图像质量,丰富信息量,从作用域可分为空间域增强和频率域增强,其中空间域增强又包括线性增强、分段线性增强、非线性增强;频率域[4]增强包括低通滤波、高通滤波和同台滤波。图像二值化是使目标和背景差异达到最大,产生非黑即白的二色图像,现有的二值化算法非常多见,从处理范围上主要分全局二值化处理和局部二值化算法处理,相结合的二值化算法处理。全局二值化算法有大津算法[5]、梯度算法、最优阈值法等,这类方法是为处理区域选取一个阈值,然后进行处理,优点是处理速度快,缺点对图像质量要求比较高,对噪音敏感,不适用于处理光照不均文本图像;局部二值化算法主要有Niblack算法[6]、Sauvola算法[7]、White算法、模糊聚类算法等,该类算法[8]主要是针对待处理像素点,结合其较小邻域内像素值求得阈值,对待处理像素点进行校正,算法优点抗敏性强,对图像质量要求不高,缺点处理速度较全局处理慢,且容易产生伪影和断笔的现象。图像去噪是纠正图像中被误判为目标点的背景点,进一步提高图像质量,目前常用的方法[9]
主要有均值滤波、中值滤波、小波去噪等。
本文算法以提高OCR识别率为目标,以提高图像质量,以便很好的分离目标点和背景点为算法思路,通过图像增强(像素校正)、二值化、去噪这三个具体的步骤实现。
1 Niblack算法与Sauvola算法分析比较
由于文本图像拍摄质量低下是一种很常见而且不可避免的问题,本文选用局部二值化处理,以提高算法的使用性。
Niblack方法的基本思想是根据局部像素点的均值和标准偏差来决定中心像素点的阈值,其局部阈值由以下公式求得:
其中,m(x,y)和σ(x,y)分别表示一个以(x,y)为中心的局部窗口尺寸为r×r的各像素點的平均灰度值和标准偏差,k为调整系数,一般取-0.2。
Sauvola方法实际上是对Niblack方法的一个改进,它引入参数r来降低Niblack方法中对参数k的依赖,具体的阈值计算公式如下:
其中,R是常数,一般取128,k为调整系数,一般取0.5。
从公式(1)和(2)可知,图像f(x,y)在坐标(x,y)处像素点的阈值由以(x,y)为中心的局部窗口内像素点的均值m(x,y)和标准偏差σ(x,y)决定。因此,该方法对光照不均匀或者背景复杂的文档图像具有比较好的处理效果。但它同时也具有局限性,主要表现如下:第一,运算速度和窗口尺寸的大小有关,这使得和全局阈值法相比时,其运算速度较慢;第二,处理一些退化的文本图像时会产生一定的噪声,容易产生断笔和伪影现象。本算法中选用公式2进行二值化处理,针对该类算法断笔和伪影的现象本文采用二值化前后利用增强加以弥补,利用去噪进一步完善。
2 文字笔画结构分析
宋体是一种通行的印刷体,一般用于正文部分,但由于人们为了追求视觉效果,给人焕然一新的感觉,“黑体”“华文楷体”“华文隶书”等多种字体也会出现在印刷版面上,这些字体之间存在着一定的差异,但总体结构[10]还是满足“横竖撇捺”的笔画构成,如图1所示。
对于白纸黑字的文本文档,以文字的“横”笔画为例(图2),分析笔画附近像素点分布,当光照分布均匀时,笔画区域的垂直上方“Part1”和垂直下方“Part2”像素值均大于笔画区域内的像素值,而笔画区域内的像素值相等。由于光照不均的影响可能会照成背景点和目标点像素值十分接近,笔画区域内的像素值存在一定的差异,但文字笔画区域之外一定垂直区域范围内平均灰度还是满足小于文字笔画区域内平均像素值。
3 基于文字笔画结构的文本图像校正算法
3.1 算法流程
基于对拍摄图像的质量分析,以及现有二值化算法的适用范围和文字笔画结构的分析,提出本文算法的基本思路:首先对于采集图像进行灰度化,然后利用采点法计算笔画的平均高度,对于待处理点进行基于文字笔画结构的校正,在利用Sauvola算法将目标和背景分离开,分析文本图像噪音特点,采用邻域去噪法进一步校正误判像素点。
3.2 统计笔画的平均高度
因为对于印刷文字笔画的高度并不是占一个像素点,统计笔画的平均高度能更准确的确定每一个待处理像素点校正时需要探测的范围,这样可使算法的自适用性更强。步骤如下:
Step1 随机采集一个目标点f(x,y),如果 ( 为常数,一般取128,以此来判断该点为文字笔画像素,以减少误差)则进行Step2,否则继续采点。
Step2在目标点的垂直方向分别向上和向下各探测 个像素,如果满足(3)或(4)
其中
则认为笔画高度h[j]=n2-n1+1(j?=0&&j?N,N为设置最大采点个数);否则进行Step3进行水平检测。
Step3 在在目标点的垂直方向分别向左和向右各探测n个像素,如果满足(5)或(6)
其中
则认为笔画高度h[j]=n2-n1+1(j?=0&&j?N,N为设置最大采点个数);否则进行Step1采集新的目标点。
Step4 如果j=N,则令笔画的平均高度
3.3 基于文字笔画结构的校正
基于上文对文字笔画结构的分析,提出笔画区域相关定义
定义1 以图像坐标方向为正方向,对于一个待研究像素点,如果在以其为中心的360度范围内 ( )满足
则该点为笔画区域内的像素点。
定义2 文字中某一笔画区域最大长度方向,即为该笔画延伸方向。
针对文字笔画方向不确定性,因此选择以 为角度增量进行探测所研究的像素点是否为笔画区域内像素点。光照不均现象也是拍摄文本图像常有的现象,该现象可能使得文字和背景的像素值十分的接近,这样一来单纯的分析一个像素点并不能达到满意的效果,所以需要考虑待处理像素点某一邻域内的像素分布。为了避免像素点的重复处理,本算法对已处理的像素点进行标记处理。设min为遍历区域内像素最小值,max为遍历区域内像素最大值。具体处理步骤如下:
Step1 为图像的每个像素点进行标记,初始标记为0,表示未处理。
Step2针对待处理图像,利用从左到右,从下到上的方向,选择待处理像素点,若标记为1表示已处理,跳过,选取下一个像素点。
Step3 对于待处理像素点以Δθ为角度增量,利用公式1判断该点是否为笔画像素,若是,将该点置为min,同时标记该点为1,继续进行step2,
Step4 若否,对其邻域的点按照step2进行检测,如果邻域内出现笔画像素点个数不小于2,则将该点置为min,若否,该点置为同时為max,为该点做标记1。
对于中文文档本算法取Δθ=900,考虑到部分中文文字笔画比较紧凑,如果选择的邻域过大可能造成笔画的粘连,因此在Step4中选择四邻域,图4(a)为未校正直接二值化和去噪效果图,(b)为通过本文方法校正后再二值化和去噪的效果图。可以看到明显的减少了文字笔画的丢失。
3.4 去噪处理
考虑到Sauvola算法后噪点分布多为字间和字内椒盐噪点,各噪点间孤立存在,本文选用四邻域内去噪。对于二值化后坐标为(x,y)灰度值为f(x,y)的像素点,当f(x,y)=0时,如果以其为中心的四邻域内统计灰度值等于0的点的个数count1和灰度值等于255点的个数count2,若count1≥count2,则判断该点为目标点,否则认为该点为噪点,令f(x,y)=255。该方法简捷有效,处理效果比较见图5(a)和(b).
4 算法测试及分析
本算法测试硬件环境:操作系统Windows XP,Inter(R)Core 2 Duo CPU,内存2G;软件环境:VC++6.0;实现方法:C++;测试对象:500万像素文本图像。对于本算法的有效性最终分别从视觉效果图,时效性和识别率三方面进行分析。
⑴视觉效果图,见图9
对于光照不均的文本图像(a)如果直接采用全局处理(全局大津算法)效果见图(b),大量的背景点被误判成目标点,形成阴影区。图(c)为采用8*8分块对图像进行分块处理,由于光照不均的问题,当局部分块内背景点像素值变化较大时,形成局部分块阴影区。图(d)为一种Niblack和模糊算法相结合的处理方法,并不能避免伪影的出现且处理速度较慢(见表1),并不适用。本文算法处理效果图见图(e),在断笔和伪影的问题上有明显的改进。
⑵采用随机采样法(样张为亮背景和暗目标点)进行测试,采样数为20。样本测试结果平均值与全局大津算法,分块大津算法和Niblack与模糊算法相结合四种方法平均值进行比较,见表1。
表1 算法平均识别率和平均耗时
方法 识别率(%) 平均耗时(毫秒)
本文算法 95.5 1748
全局大津算法 84.2 344
分块大津 86.9 1160
Niblack +FCM 96 34281
从识别率上看,本文算法对测试样張的平均识别率在95.5%,能过满足一般应用的需求,处理速度之所以不是最优,原因本文算法统计了校正、二值化、去噪整个处理过程的时间。全局大津算法和分块大津算法尽管显示的平均识别率达到84.2%和86.9%,但由于阴影的存在,会丢失部分文字。Niblack和模糊算法相结合的算法,经过去噪后平均识别率达到96%,但处理速度较慢,不适合应用于图像的实时处理。
5 结束语
考虑到采集文本图像质量低下(即背景和文字像素点接近难以区分)的问题的普遍存在,本文充分分析文字的笔画结构,以及文字笔画附近像素点的分布规律,提出了本文算法。图像校正处理其实就是提高图像的质量,主要用途除了利用OCR识别系统将文字存储介质由纸质转化成电子文档,还有就是直接用于人们的阅读,目前市场上已经有很多此类产品,像盲人辅助阅读器。本文算法的实验结果表明:从视觉效果上和识别效果上,该算法都能满足一般用户的需求。目前存在的问题就是处理速度不是最优,因此还需要进一步改进。
[参考文献]
[1]YU Jing,LI Da-Peng,Liao Qing-Min.Color constancy-based visibility enhancement of color images in low-light conditions.Acta Automatica Sinica,2011,37(8):923-931.
[2]YUAN Lu,LI Ren-fa,An improved Binarization for Character Image.Microcomputer Information,2012,25(3),140-142.
[3]ZENG Fan-feng,GAO Yan-yun,FU Xiao-ling.Application of denosing algorithm based on document image[J].Computer Engineering and Design,2012,2001-2005.
[4]YIN Li-min,LIU Yan-ying,GU Rei, LEI Kai. A controllable his togram equalization arithmetic[J].Microcomputer Information, 2005(26),147-149.
[5]N.Otsu.A threshold selection method from gray-level histograms[J].IEEE Transactions on Systems,1979,9(1):62-66.
[6]W.Niblack.An Introduction to Digital Image Processing[M]. Denmark:StrandbergPublishing Company,1985.
[7]J.Sauvola and M.Pietikainen.Adaptive document image Binarization[J].Pattern Recognization,2000,vol.33:225-236.
[8]童立靖,张艳,占国亮,等.几种文本图像二值化方法的对比和分析[J]. 北方工业大学学报,2011,23(1):25-33.
[9]谢凤英.数字图像处理[M].北京:电子工业出版社,2008.125-129.
[10]石蒙蒙,李少滋,曹冬林,陈淑媛.基于结构化局部边缘模式的文档图像分类[J].厦门大学学报,2013,52(3):349-355.