APP下载

数字识别算法研究

2012-10-13

长治学院学报 2012年5期
关键词:训练样本字符特征提取

韩 华

(1.中北大学,山西 太原 030051;2.长治学院,山西 长治 046011)

1 引言

数字识别系统是模式识别领域的重要研究方向,它在许多场合,如智能交通管理系统、手写数字报表中都有广泛的应用。数字识别系统主要由三个基本模块构成:预处理模块、提取数字特征模块和根据特征进行分类模块。预处理模块主要是对图像去除噪声,增强有用的信息,并对那些因为成像设备、周围环境或其他因素造成的退化现象进行复原,从而抽取识别数字所需要的特征。

特征提取模块主要是获取一组“少而精”的分类特征,即获取特征数目少且分类错误概率小的特征向量。目前特征提取的一般方法主要有直接对图像点阵进行降维、基于统计的特征选取和基于字符结构特征的选取方法。每种选取方法各有其优劣,但是无论采用哪种算法,用于识别的特征应该便于提取,并且需要具有较高的稳定性和抗干扰性。

文章采用基于BP神经网络的分类器设计。BP神经网络是多层网络学习算法,其典型结构包括一个输入层、一个或多个隐层和一个输出层,。本文采用了3层BP网络,即只有一个隐层。该网络中的传输函数通常采用S型函数,可以将整个网络的输出限制在一个较小的范围内。网络相邻层次的神经元相互连接,形成全互连神经网络,而相同层次内的神经元之间没有相互连接。

2 预处理模块

由于输入的图像一般是RGB格式,预处理模块首先需要将该图像通过rgb2gray函数转化为256级的灰度图像,然后对灰度图像进行归一化处理,通过im2bw函数将其转化为二值化的图像。即将每一个像素点的灰度值除以255,使像素的灰度值归一化为只包含“0”、“1”的矩阵形式。笔者在图像处理中使用了灰度化、图像二值化、平滑去噪、边缘提取与字符分割等操作,具体步骤如下。

2.1 灰度化与二值化

读取待识别的图像,如图1所示。首先进行灰度化与二值化处理。经试验,门限值采用0.4附近时噪声小且没有断开,便于后期统计,最终效果如图2所示。

图1 待识别图像

图2 灰度化与二值化图像

2.2 提取字符边缘、膨胀、腐蚀和填充

图像边缘是指灰度有阶跃变化的那些像素的集合,是图像的基本特征。经典的边缘提取方法是考察图像的每个像素在某个领域内灰度的变化,利用边缘邻近一阶或二阶方向倒数变化规律,用简单的方法提取图像边缘。本论文采用sobel算子对二值化图像提取边缘特征[1],然后通过膨胀与填充,使每个数字成为连通区域,并查找连通区域边界,同时保留此边界图形,以便后续进行数字识别。

2.3 图像分割

基于连通区域的聚类分析分割方法是将属于同一个字符的像素构成一个连通区域,再根据字符的高度和宽度搜索符合特征的连通区域[2]。由连通区域的起始位置和终止位置构成一个矩形区域,这样的矩形区定义为一个类。文章采用8邻域对图像进行标记,这样的算法对倾斜图像也能较好的分割出字符。

3 特征提取模块

特征提取是为了求出一组对分类最有效的特征,这就需要一个定量的准则来衡量特征对分类的有效性。将一个高维空间变换到低维空间时,特征提取的主要目的就是降低维数,降维的映射有很多种,哪种映射对分类最有利,需要一个评判的标准。

理想的特征之间应该相互独立,特征向量的维数应该尽可能的小。特征一般可分为结构特征和统计特征。结构特征广泛应用于模式识别的众多领域。字符的结构虽然比较复杂,但还是有相当严格的规律可循。在字符图像中包含了丰富的结构信息,我们可以抽取这些结构特征作为字符识别的依据,比如端点、交叉点等。然而在字符图像中抽取笔划操作比较困难,所以通常先将原始图像进行细化处理,提高识别度。但针对数字笔划简单的特点,采取统计特征比较适合。

统计特征是利用统计方法计算得到的,反映了图像点阵的整体分布情况(手写数字识别的研究)。统计特征又可以分为全局特征和局部特征两大类。全局特征是对整个字符图像进行变换,包括KL变换、小波变换、矩特征等等。局部统计特征是将字符图像分割成若干个子块,在各个子块内分别抽取统计特征。主要包括:局部灰度特征、四角特征等。本论文通过粗网格方法提取特征,粗网格是局部特征,首先把样本归一化为70×50的图像,然后按行7等分,按列5等分,并依次统计每个网格内的像素值,得到一个7×5维的特征矩阵,最后对特征矩阵进行归一化处理。

4 基于BP神经网络的分类器

4.1 BP神经网络介绍

BP神经网络算法是把一组样本输入输出问题转化为一个非线性优化问题,并通过梯度算法利用迭代运算求解权值的一种学习方法。人工神经网络是参照生物神经网络发展起来的,其组织能够模拟生物神经系统对真实世界所作出的交互反应。BP网络的设计主要包括输入层、隐含层、输出层以及各层之间的传输函数,其网络拓扑结构如图3所示。

图3 神经网络拓扑结构

BP神经元与其他神经元类似,但BP神经元的传输函数为非线性函数,最常用的是logsig和tansig函数。本实验输出值限制在(0,1)范围,因此选用logsig函数,其输出为 a=log sig(Wp+b)。

4.2 BP神经网络结构分析

按照BP神经网络设计方法采用三层BP神经网络实现,其输入节点数为16×16=256。因为只需分类0~9这样0个数字,所以中间层传输函数选用Sigmoid函数。假设用一个输出节点表示10个数字,则输出层传输函数为pureline,中间层节点数为+α,再结合实验,隐含层神经元个数取为25。

(1)构造训练样本集,并构成训练所需的输入矢量和目标矢量:准备10组,每组10个数字图片作为训练样本,如图4所示。首先调用预处理函数,取出其最大有效区域,归一为16×16的二值图像,作为输入矢量。

图4 训练样本集

(2)设定训练目标,构造BP神经网络,并根据训练样本集形成的输入矢量和目标矢量,将提取的数字特征送入BP神经网络进行训练,如下程序所示。

(3)对BP神经网络训练器进行仿真。用不同的方法生成测试样本图像,识别效果如图5所示。

图5 识别效果图

5 结束语

通过Matlab编程能够识别图片上的数字,经实验验证该系统可以达到一定的识别精度。但是也存在缺点和不足,比如对训练样本集有一定的要求,对图片中待识别的数字也有一定的限制,因此数字识别系统还有待进一步的完善,可以通过增加训练样本,或增加字体的特征向量等方法来解决。

[1]杜梅,赵怀慈.手写数字识别的研究[J].计算机工程与设计,2010,31(15):3464-3467.

[2]毛群,王少飞.基于Matlab的神经网络数字识别系统实现[J].中国西部科技,2010,9(19):22-24.

猜你喜欢

训练样本字符特征提取
人工智能
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
基于Gazebo仿真环境的ORB特征提取与比对的研究
HBM电子称与西门子S7-200系列PLC自由口通讯
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
宽带光谱成像系统最优训练样本选择方法研究
融合原始样本和虚拟样本的人脸识别算法