第 23卷 第 3期
2009年 8月
山 东 轻 工 业 学 院 学 报
JOURNAL OF SHANDONG INSTITUTE OF L IGHT INDUSTRY
Vol. 23 No. 3
Aug. 2009
文章编号 : 1004 - 4280 (2009) 03 - 0090 - 03
基于 BP神经网络的图书编号识别
李兆远 ,孔凡震 ,王涛 ,鲁怀伟
(兰州交通大学 数理与软件工程学院 ,甘肃 兰州 730070)
摘要 :摘要 :随着自动化管理水平的提高 ,在图书管理方面也都采用了计算机自动识别技术来代替传统的人眼识
别 、手工记录的操作方式 。而神经网络具有较好的抽象分类特性 ,本文就利用 BP神经网络识别图书编号 ,获得了
较高的识别率.
关键词 : BP网络 ;图书编号 ;图像识别
中图分类号 : TK413. 4 文献标识码 : A
Based on BP neural network book number recogn ition
L I Zhao
yuan, KONG Fan
zhen,WANG Tao, LU Huai
wei
( School of Mathematical and Software Engineering, Lanzhou J iaotong University, Lanzhou 730070, China)
Abstract:A long w ith the automation management level
s enhancement, the computer automatic diagnosis
technology is also used in the books management aspect to rep lace traditional human eye recognition, the
manual record operating mode. But the neural network has the good abstract sorting feature. This article
uses the BP neural network recognition books serial numberto obtain the high recognition rate.
Key words:BP neural network; book number; image recognition
0 引言
目前 ,大部分的高校图书馆都已经实现了计算
机自动化管理 ,而在图书编号识别这方面由于识别
方法的不同 ,对图书编号的识别率也有很大的差异 。
所以选择一种怎么的识别方法对图书编号的识别就
成了一个提高图书自动化管理水平问题关键 。
由于人工神经网络 [ 1 ] (A rtificial Neural Network)
是一种模拟人脑神经元细胞的网络结构和功能 ,运
用大量的处理部件 ,由人工方式建立起来的自适应
非线性动态系统 。它能在一定程度上模仿生物神经
系统的智慧和功能 ,因此被广泛应用于信息处理和
模式识别等领域 。本文根据神经网络具有良好的抽
象分类特性 ,采用了 BP神经网络对图书编号进行
识别 。
1 BP神经网络的基本原理
1. 1 BP神经网络结构
在神经网络所有结构模型中用法最多也最有成
效的是前向多层神经网络 ,由于该网络在学习 (训
练 )过程中采用了 BP ( ErrorBack - p ropagation) 算
法 ,故又称为 BP网络 。
标准的 BP网络由三层神经元组成 ,其结构如
图 1所示 。最下面为输入层 ,中间为隐含层 ,最上面
为输出层 ,网络中相邻层采取全互连方式连接 ,同层
各神经元之间没有任何连接 ,输出层与输入层之间
也没有直接的联系 。为方便讨论 ,在此设输入层 、隐
含层及输出层神经元的个数分别为 L , M , N。可以
证明 :在隐含层节点可以根据需要自由设置的情况
下 ,用三层前向神经网络可以实现以任意精度逼近
任意连续函数 。
收稿日期 : 2009 - 03 - 20
作者简介 :李兆远 (1981 - ) ,男 ,山东省临沂市人 ,兰州交通大学数理与软件工程学院在读研究生 ,研究方向 :模式识别与智能系统.
第 3期
李兆远 ,等 :基于 BP神经网络的图书编号识别
19
没有一种是令人信服的 ,在一些简单的问题中 ,η可
取为一常数 ,满足 0∠η∠1,如 η取 0. 5。
(3)在权值的修改公式中 ,往往还加入一个惯
ij
ij
pj
pi
( n - 1) ,即 :
( n) +α△W (L )
性项 (或称为动量项 )α△W ( 1)
( n) =ηδ(L )
( n) O (L - 1)
△W (L )
(2)
式中 △W (L )
( n)表示第 L 层第 i个神经元与上
一层第 j个神经元之间的连接权的当前修改值 ,
△W (L )
( n)表示上一个学习周期对同一个学习样本
的权值修改值 。
( n - 1)
ij
ij
ij
图 1 前向多层神经网络 (BP)模型
1. 2 BP神经网络的学习算法
BP算法 [ 2 - 6 ]的主要思路是根据训练网络的误
差函数 EP对各个神经元输出的偏导数 ,计算出误差
EP对所有连接权值的偏导数 ,从而可以利用求解非
线性优化问题的梯度下降法来修改各个连接权值.
当误差 EP满足实际要求时 ,停止训练 ,专家系统知
识获取过程结束 ,此时领域专家解决实际问题的经
验知识就转化成神经网络中各个神经元之间的连接
强度 ,整个网络就构成了神经网络专家系统的知
识库.
BP网络的学习过程是由正向和反向传播两部
分组成. 在正向传播过程中 ,每一层神经元的状态只
影响到下一层神经元网络. 如果输出层不能得到期
望输出 ,即说明实际输出值与期望输出值之间存在
误差 ,于是转入反向传播过程 ,将误差信号原路返
回 ,通过修改各层神经元的权值 ,逐次向输入层传播
进行计算 ,再经过正向传播过程 ,这两个过程的反复
运用 ,使得误差信号最小 。
BP学习算法中的注意问题 :
(1)神经网络输入层 ,输出层的神经元个数可
以根据研究对象的输入 ,输出信息来确定 ,如何合适
选取隐含层神经元的数目无规律可循 ,然而隐含神
经元的数目是否合适对整个网络能否正常工作具有
重要意义 ,一般情况下可按下式给出 :
(1)
n1 + n0 =L
nH =
nH为隐含层神经元数目
nI为输入层神经元数目
nO为输出层神经元数目
L 为 1~10之间的整数
(2)学习算法中的 η表示学习速率 , 或称为步
幅 ,η较大时 ,数值的修改量就较大 , 学习速率比较
快 ,但有时会导致振荡 ,η值较小时 ,学习速率慢 ,然
而学习过程平稳 ,η值的具体选取方案有很多种 ,但
惯性项修正系数 α应与 η协调选取 , 较大的 α
可以改善网络的收敛速度 , 但对提高网络的收敛精
度没有积极的作用 ,对于简单的情况 ,α取 0. 5。
(4)在设置各训练样本的理想输出分量时 , tpj有
时可取为接近 1, 0的数 ,如 0. 9, 0. 1等而不直接取
为 1. 0, 因为单个神经元的转换函数大都是采用
Sigmoid函数 ,因而输出层各神经元的实际输出值 ,
只能接近于 1或者 0,而不能达到 1或者 0。
(5)在学习开始时 ,必须给每个连接权赋初值 。
在实际的网络训练过程中 ,通常的处理方法是
给每一个连接权赋以 - 1至 1之间的随机数 。
(6) BP 算法 学习 的目 的 是 为 了 寻 找 连 接 权
N - 1
∑
j = 0
p
ij
pj
( tpj - O ( 2)
,使得 E = ∑
) 2 趋于全局最小 ,然
W (L )
而在实际操作时而只能使之趋于一个相对大一点的
E值 ,称为局部最优 ,如何避免在学习过程中陷入局
部最小是 BP算法的一大难题 。
当出现局部最优的情况下 ,表现出来的特征是 :
各数值收敛到某一稳定值 ,而误差值却不是最小 ,这
时可以按下式判定 :
( n + 1) - O ( 2)
β
j = 0, 1, 2…, N - 1
( n) |
|O ( 2)
|O ( 2)
( n) - tpj |
ζ
pj
pj
pj
式中 ζ≤1,β为一小数 ,通常 0 <β < 0. 2。如符
合上式 ,则认为此时 B P网络陷入局部极小点 。
1. 3 BP神经网络的学习步骤
综合上面的讨论 ,可以按照以下步骤来设计具
体的学习过程 :
(1)网络结构及学习参数的确定 :输入输入层 ,
隐含层 , 输出层的神经元数目 , 步长 η以及惯性校
正系数 α,数值收敛因子 ζ及误差收敛因子 β。
(2)网络状态初始化 : 用较小的 (绝对值为 1以
内 )随机数对网络权值 ,阈值置初值 。
(3)提供学习样本 :输入向量 xp ( p = 1, 2, …, P)
和目标向量 tp ( p = 1, 2, …, P)
(4)学习开始 :对每一个样本进行如下操作 :
a. 计算网络隐含层及输出层各神经元的输出
29
山 东 轻 工 业 学 院 学 报
第 23卷
O (L )
pj = fj ( netL
b. 计算训练误差
pJ ) = fj ( ∑
W (L )
ji O (L - 1)
i
-θ( L ) j )
i
δ( 2)
δ( 1)
pj =O ( 2)
pj =O ( 1)
pj
pj
(1 - O ( 2)
(1 - O ( 1)
pj
pj
) ( tpj - O ( 2)
pk W ( 2)
) ∑
δ( 2)
pj
k j
k
) (输出层 )
(隐含层 )
c. 修改权值和阈值
W (L )
ji
( n + 1) =W (L )
pj
( n) +ηδ(L )
pj O (L - 1)
pj
+
α(W (L )
ji
( n) - W (L )
ji
( n ) |
ζ? 满
(5)是否满足 |O (L )
pj
( n - 1) ) (递推公式 )
( n + 1) - O (L )
pj
足执行第 ( 6)步 ,否则返回 ( 4) 。
(6)是否满足 | O (L )
pj
( n) - tpj ( n) |
β? 若是则
执行第 ( 7)步 ,否则返回第 ( 2)步 。
(7)停止 。
2 图书编号识别方法介绍
2. 1 图书编号的组成
本文中所选图书编号是采用我校图书馆里的编
号规则 ,如图 2 示 TP212 /96 是《传感器技术及应
用 》这种书的图书编号 。其中 TP212 是分类号 ,分
类号是根据图书的学科主题所取用的分类号码 。96
是种次号 ,即具有相同分类号的图书的流水次序号 。
图书编号是图书馆赋予每一种馆藏图书的号
码 。这种号码具有一定结构并带有特定的意义 ,在
馆藏系统中 ,每种书具有一个唯一的图书编号 ,图书
馆的图书是按图书编号排架的 ,它是反映每册图书
具体存放书架位置的排架号码 ,也是读者查找图书
非常必要的代码信息 。
图 2 图书编号
2. 2 图书编号识别的步骤
进行图书编号识别的步骤为通过摄像头采集图
书编号的图像 ,进行一系列图像预处理 ,利用逐步去
除干扰的办法 ,获取图像中我们所关心的编号区域 ,
然后对所得的编号区域分割字符并提取字符特征 ,
最后利用神经网络对分割的字符进行识别 。其过程
分为两大块即图像预处理模块和图像识别 [ 7 ]模块 。
如图 3所示 。
图 3 图像识别过程
其中图像的特征向量做神经网络分类器的输
入 ,而隐含层结点数的选取没什么硬性规定 。一般
来说 ,隐含层神经元的数目越多 ,那么 BP 网络也就
越精确 ,训练时间也越长 ,但如果选太多就会适得其
反 ,造成识别率的急剧下降 ,网络的抗噪声能力降
低 ,所以要在测试中根据经验确定 。其次初始权值
要选好 ,过大过小都会影响学习速度 。然后要选择
适当的学习算法 ,并运用大量采集的样本进行学习
训练 ,这样不断的修正各层网络的连接权值 ,从而得
到正确的识别结果 。
3 仿真实验
本实验采用 MATLAB[ 8 ]对神经网络进行训练
并模拟神经网络进行图像识别 。首先我们将图书编
号分成主代号和顺序号两部分 ,前一部分只需识别
26个字母 ,后一部分只需识别 5个数字 。为了提高
识别率 ,构造两个神经网络 ,都采用三层的 BP 网
络 。在特征提取部分采用的是直接利用每个点的像
素值来作为特征也就是对图像进行逐行逐列的扫
描 ,当遇到黑色像素时取其特征值为 1,遇到白色像
素时取其特征值为 0,这样就形成了一个维数与图
像中像素点的个数相同的特征向量矩阵 (字母和数
字都一样 ) 。由于进行归一化后字符的高度为 16
宽度为 8,这样对于每一个输入样本就有 16
8 =
128个特征 。因此输入层的结点数为 128。隐含层
神经元根据多次试验选取为 45,输出层结点数的确
定则取决于如何设定标准输出 ,这里采用 8421BCD
码来对 0到 9进行编码 ,如输出 0就采用 (0, 0, 0, 0)
这样的输出向量来表示 ,输出 1 就采用 ( 0, 0, 0, 1)
输出向量表示 ,一直到 9。这样一来输出层的神经
(下转第 96页 )
69
山 东 轻 工 业 学 院 学 报
第 23卷
MPEG - 2,这也为后面对 H. 264的分级奠定了一个
良好的基础 ,我们可以假设 ,即使在分级后 , H. 264
和 MPEG - 2具有相同的码率下降的话 , H. 264分级
编码的性能也比 MPEG - 2进行分级后的性能优越
的多 。
论文中提出的分级编码方法采用了传统视频分
级的基本方法 ,该算法对于采用了低帧率 、低分辨率
的图像作为编码的基本层 ,采用高帧率 (几乎和原
始视频相同 ) 、高分辨率的图像作为增强层 ,影响整
个分级编码效率很大一部分是由增强层造成的 ,能
寻找到一种新的编码方案 ,提高增强层的编码效率
从而进一步提高整个分级编码的编码效率是今后改
进的方向 。
参考文献 :
[ 1 ]肖明明. IP网视频容错技术的研究 [D ]. 广州 :中山大学 , 2003.
[ 2 ] Yao W ang, Ya
Q in Zhang. V ideo Processing and communications
[M ]. Beijing: Tsinghua University Press, 2003.
[ 3 ] ITU
T Rec. H. 264 |
ISO / IEC 14496
10 AVC, 2003 Thomas
W iegand, Gary Sullivan. D raft Text of Final D raft
Standard ( FD IS) of Joint V ideo Specification[ S].
International
[ 4 ]AVS_1029, 2003 AVS标准视频工作草案 (Working D raft of AVS
2) [ S ].
技 , 2005, (1) : 38 - 41.
[ 2 ] 胡小锋 ,赵辉. V isual c + + /MATLAB 图像处理与识别实用案
例精选 [M ]. 北京 :人民邮电出版社 , 2004.
[ 3 ] 万来毅 ,陈建勋. 基于 BP神经网络的图像识别研究 [ J ]. 武汉
科技大学学报 (自然科学版 ) , 2006, 29 (3) : 277 - 279.
[ 4 ] 张海波 ,董槐林. 基于 BP神经网络的图像识别研究 [ J ]. 计算
机与现代化 , 2008, (5) : 17 - 19.
[ 5 ] 张伟 ,王克俭. 基于神经网络的数字识别的研究 [ J ]. 微电子
学与计算机. 2006, (8) : 206 - 208.
[ 6 ] 雷建锋 ,孙俊逸. 基于人工神经网络下的图像识别的研究 [ J ].
现代电子技术 , 2008, (8) : 127 - 130.
[ 7 ] 鲁昌华 ,苌凝. BP神经网络对驻极体麦克图像特征识别的研
究 [ J ]. 电子测量与仪器学报 , 2007, (2) : 26 - 30.
[ 8 ] 边肇祺. 模式识别 [M ]. 北京 :清华大学出版社 , 2000.
图 3 Habour序列散点图
4. 5 实验结果分析
从以上数据实验数据可以得出 , H. 264 相对于
MPEG - 2平均码率有大幅度的降低 。
根据图 1所示 Habour_qcif序列散点图 , ( 180 ×
120, 30Hz)在 Y_PSNR = 34dB 时 ,其 B itrate下降了
近 350Kbp s,百分比近 50%。
根据图 2所示 Habour_cif序列散点图 , ( 360 ×
240, 30Hz)在 Y_PSNR = 34dB 时 ,其 B itrate下降了
近 600Kbp s,百分比近 50%。
根据图 3所示 Habour序列散点图 , (780 ×480,
30Hz)在 Y _ PSNR = 37dB 时 , 其 B itrate 下降了 近
2500Kbp s,百分比近 60%。
由此 可 以 看 出 , H. 264 的 性 能 明 显 超 过 了
(上接第 92页 )
元数目就为 4即输出向量的维数 ,但是由于采用的
激励函数是 S型函数 ,其输出永远不可能达到 0或
1,只能是接近 。故用 0. 1来代表 0, 0. 9 来代表 1,
所以输出 0的向量为 (0. 1, 0. 1, 0. 1, 0. 1) , 9的输出
向量为 (0. 9, 0. 1, 0. 1, 0. 9)其它同理 。
4 结论
由实验可知 ,在理想的状态下单个数字 、字母的
平均识别率达到 96% ,如果加入噪声 ,识别率则达
到 93% ,速度在 3 ~5 秒 。因此如要获得较高的识
别率 ,则要更加完善对图像的预处理 ,其次增加训练
样本 ,也可以使识别率进一步提高 。
参考文献 :
[ 1 ] 彭淑敏 ,王军宁. 基于神经网络的图像识别方法 [ J ]. 电子科