预处理是手写数字识别中重要的一步,处理结果的优劣直接影响到识别结果的正确与否,直接影响到识别算法的性能。本文主要讨论手写体数字图像的预处理过程,在所用的MNIST库上进行实验,效果良好。 Pretreatment is a vital step in recognition of handwritten numerals. The merits of the processing directly affect the result of recognition and the recognition performance of the algorithm. In this paper, pretreatment process for image is discussed and it shows a good result on the database of MNIST.
张翠芳,杨国为
青岛大学,山东 青岛
收稿日期:2016年5月26日;录用日期:2016年6月13日;发布日期:2016年6月17日
预处理是手写数字识别中重要的一步,处理结果的优劣直接影响到识别结果的正确与否,直接影响到识别算法的性能。本文主要讨论手写体数字图像的预处理过程,在所用的MNIST库上进行实验,效果良好。
关键词 :手写数字识别,预处理,图像识别
手写数字识别(Handwritten Numeral Recognition) 是光学字符识别(Optical Character Recognition,简称OCR)的一个分支 [
手写数字识别虽然只有0~9十个字符,书写和笔画结构都比较简单,但识别困难在于不同人的书写样式不同,而且数字的书写一般没有上下文的关联。脱机手写字符的识别一般从纸质载体上采集字符,因而图像预处理的结果将直接影响识别系统的识别率,本文主要研究手写数字识别的预处理过程。
字符识别系统一般分为图像预处理、特征提取、字符识别等模块。预处理技术是手写数字字符识别中非常重要的一步,原始的待识别图像在预处理时被转换成计算机所能接受的二进制形式。减少图像冗余信息、滤出图像中的噪声为图像预处理的主要目的,即在图像预处理时,不但与图像无关的信息要去掉,原图像的特征还要尽量保留完全。
图像预处理时得到的图像信息越好越完整,后期进行特征提取和字符识别时得到的结果越理想,如果图像预处理的结果不理想,不仅会降低系统的识别率,而且也会影响判别的速度,从而降低整个系统的性能。对一般手写体数字识别技术,预处理一般包括二值化、平滑去噪、细化等步骤。
图像的二值化处理是指将手写体数字图像中所有像素点的像素值处理成仅有黑(像素值 = 0)和白(像素值 = 1)两个灰度值的图像的过程。进行二值化后的图像信息量大大减少,系统的处理速度得到很大的提升,同时进行特征提取和字符识别时也更加方便快捷。现有的图像二值化的方法大致可以分为3大类:整体阈值二值化法、局部阈值二值化法和动态阈值二值化法。
整体阈值二值化法,指图像的阈值是根据已有的经验或灰度图像直方图的分布来确定的。人工设定整体阈值法要根据不同要本图像的实际情况来设定图像的整体阈值,设
这种二值化方法速度最快最简单。在图像数字清晰、轮廓明显、干扰很小的情况下,该方法的效率特别高。人工设定整体阈值法的缺点是:① 不能根据每幅图像的具体情况设定最佳的阈值;② 阈值θ确定后,在外界环境条件改变时,阈值不能随之改变。
由灰度值直方图确定整体阈值法,图像整体的阈值是根据图像和背景的灰度值自动确定的,图像灰度值的整体分布情况由灰度直方图显示出来。设规范化灰度值g的范围为
灰度直方图就是以
图像平滑的主要目的是减少图像中的噪声,在图像处理中噪声是不可避免的问题,图像会因为噪声的存在而变的不清晰,特征不明显,特征提取和识别将会受到严重的影响,因此高效的处理噪声问题在图像处理中是至关重要的。噪声的种类十分复杂,对图像的影响也各不相同,所以要根据噪声的性质选取合适的除噪方法,才能达到预期的效果。
平滑处理,就是将—个
同样包括将上述这些窗口旋转90˚,180˚和270˚以后得到的新的平滑窗口。
中值滤波是一种基于排序统计理论的非线性信号细化处理技术,中值滤波可以有效地解决噪声所带来的图像质量下降问题 [
间值,将模板中心位置的像素值用该值代替。中值滤波的输出为
其中,
细化就是连续移除图像的最外层像素,直到连同的、单位像素的图像骨架产生,图形用该骨架所取代。中轴线是图像细化后最理想的状态,好的细化算法一般要满足:(1) 算法的收敛性;(2) 细化后细线的连通性;(3) 原图像的基本形状保持不变;(4) 减少笔画相交处的畸变;(4) 中轴线为细化后的结果;(5)细化的快速性;(6) 迭代次数少。
根据是否采用迭代运算可以分为非迭代算法和迭代算法。非迭代算法一次就可以产生骨架,如游程长度编码细化、基于距离变换的方法等。迭代算法需要把图像边缘满足一定条件的像素删除掉,使骨架变成单像素带宽。根据其检查像素的方法不同又可把迭代方法再分成串行算法和并行算法。串行算法在是否删除像素在每次迭代的执行中是固定顺序的,它取决于前次迭代的结果和本次迭代中已处理过的像素点。并行算法是像素点删除与否与像素图像中的顺序无关,仅取决于前次迭代的结果。
目前已有不少细化算法,如经典细化算法,Pavlidis异步细化算,Deutseh算法,Zhang快速并行细化算法等。其中Zhang快速并行细化算法是一种实用的细化方法,它具有速度快和保持细化后曲线的连通性等优点。
在1984年Zhang提出了Zhang快速并行细化算法。其最突出的优点是对于直线、T行交叉和拐角,经过算法细化后能够比较精确地和原图像保持一致 [
考虑以边界点为中心的8-邻域,记中心点为p1,其邻域的8个点顺时针绕中心点分别记为
同第(1)步,仅将前面条件(1.3)改为(2.3)
一次迭代算法由以上两步操作构成。直至没有再满足标记条件的点,剩下点即为运行细化算法后得到的图像的骨架。
图像预处理是手写体数字识别的基础,特征提取和图像识别直接受到预处理结果好坏的影响。由于手写数字图像目标和背景像素在灰度值上有明显的差异,采用基于直方图阈值的双峰法进行图像的二值化,采用Zhang并行细化算法很好的保持了原图像的骨架、减少了像素的存储量。通过以上的预处理操作,图像中与识别无关的信息点被去除,减少了存储的信息量,并且保留了原字符图像的特征,有效的提高了数字识别网络的性能。
张翠芳,杨国为. 手写数字识别中图像预处理技术的研究Research on Image Pretreatment Technique in Recognition of Handwritten Number[J]. 计算机科学与应用, 2016, 06(06): 329-332. http://dx.doi.org/10.12677/CSA.2016.66040