基于BP神经网络的图像识别技术研究

2010-09-24 01:54孙妍姑
淮南师范学院学报 2010年5期
关键词:隐层人工神经网络图像识别

孙妍姑

(淮南师范学院 计算机与信息工程系,安徽 淮南 232001)

基于BP神经网络的图像识别技术研究

孙妍姑

(淮南师范学院 计算机与信息工程系,安徽 淮南 232001)

图像识别以图像的主要特征为基础,根据这些特征进行识别和分类。通常有效提取待识别样本的特征是一件很困难的工作。而BP神经网络通过非线性计算来识别图像,相比较而言,它的特征抽取过程要简单得多。但是,BP算法还存在许多值得探讨的地方,如收敛速度慢和容易陷入局部极小等问题。为改进BP算法存在的不足,将遗传算法引入其中。遗传算法具有很强的宏观搜索能力,并且简单通用,用它来完成前期搜索能较好地克服BP算法的部分缺点。

图像识别;BP神经网络;局部极小问题;遗传算法

图像识别以图像的主要特征为基础,根据这些特征进行识别和分类。每个图像都有它的特征,如字母A有个尖,P有个圈,而Y的中心有个锐角等。图像识别分为特征提取和识别两个过程,其中,特征提取是指知觉机制排除输入的多余信息,抽出关键的信息,这些关键信息就是图像的主要特征。当前,图像识别技术主要包括:匹配的图像识别方法、句法图像识别方法、模糊图像识别方法、神经网络图像识别方法。

人工神经网络是由大量的简单基本元件——神经元相互联接而成的自适应非线性动态系统。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。与数字计算机比较,人工神经网络在构成原理和功能特点等方面更加接近人脑,它不是按给定的程序一步一步地执行运算,而是能够自身适应环境、总结规律、完成某种运算、识别或过程控制。在图像识别技术中,由于人工神经网络具有自组织与自适应能力和并行分布处理等特点,使它和其他方法相比较,具有较明显的优点,如:能进行快速识别,具有很强的自适应和自学习能力,能识别带有噪声或变形的输入模式等。

1 BP神经网络

1.1 BP神经网络模型

BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。如图1所示。它的学习过程由信息的正向传播和误差的反向传播两部分组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息的变换,根据信息变换能力的需求,中间层可以设计为单隐层或者多隐层的结构;最后一个隐层传递信息到输出层的各神经元,经进一步处理后,由输出层向外界输出信息处理结果,从而完成信息的一次正向传播过程。当实际输出与期望输出不符时,进入反向传播阶段。误差通过输出层向隐层、输入层逐层反传,按误差梯度下降的方式修正各层权值。不断循环的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者达到预先设定的次数为止。

图1 典型3层BP神经网络结构

1.2 BP算法描述

假设输入层有n个神经元,隐层有p个神经元,输出层有q个神经元。

算法的执行的步骤如下:

(1)网络初始化:给各连接权值分别赋一个(-1,1)区间内的随机数,设定误差函数e,给定计算精度值t和最大学习次数M;

(2)随机选取第k个输入样本及对应期望输出;(3)计算隐层各神经元的输入和输出;

(4)利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数δ0(k);

(5)利用隐层到输出层的连接权值、输出层的δ0(k))和隐层的输出计算误差函数对隐层各神经元的偏导数δk(k);

(6)利用输出层各神经元的δ0(k)和隐层各神经元的输出来修正连接权值Wh0(k);

(7)利用隐层各神经元δh(k)和输入层各神经元的输入修正连接权;

(8)计算全局误差;

(9)判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第3步,进入下一轮学习。

2 BP神经网络存在的问题

多层前向 BP网络是目前应用最多的一种神经网络形式,它具有许多优点:具有很强的自适应学习能力和一定的推广、概括能力,识别速度快等,但也存在不少问题,主要有:

(1)学习速度慢。主要原因是BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,必然会出现“锯齿形现象”,这使得BP算法效率较低。

(2)容易陷入局部极小。从数学的角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很可能陷入局部极值。

(3)网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定。

从这些问题可以看出,BP神经网络要更好地应用于图像识别系统,仍需进行改进。

3 遗传算法

遗传算法(Genetic Algorithm)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算机算法。遗传算法是一种全局优化搜索算法,具有简单通用、鲁棒性强、适合并行处理等特点,并且具有广泛的应用范围。

遗传算法的基本步骤:

(1)把问题的解表示成“染色体”,在算法中就是以二进制编码的串,给出一群“染色体”,也就是假设的可行解;

(2)把这些可行解置于问题的“环境”中,按适者生存的原则,选取较适应环境的“染色体”进行复制,并通过交叉、变异过程产生更适应环境的新一代“染色体”群;

(3)经过这样一代一代的进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。

遗传算法本质上是对染色体模式所进行的一系列运算,即通过选择算子将当前种群中的优良模式遗传到下一代种群中,利用交叉算子进行模式重组,利用变异算子进行模式突变。通过这些遗传操作,模式向较好的方向逐步进化,最终得到问题的最优解。

遗传算法的优越性主要表现在:首先,遗传算法在搜索过程中不容易陷入局部最优,即使所定义的适应函数是不连续的、非规则的或者有噪声的情况下,它也能以很大的概率找到整体最优解;其次,遗传算法所固有的并行性,使其非常适用于大规模并行计算。

4 遗传-BP神经网络

从上面的叙述可以看出,遗传算法优于BP算法的地方在于其不容易陷入局部极小值,尤其是在误差函数不可微或者完全没有梯度信息的情况下。但是遗传算法也存在不足:当遗传搜索迅速找到最优解附近时,无法精确地确定最优解的位置,即遗传算法在局部搜索空间不具备微调能力。因此,可以取遗传算法和BP算法之长处,将二者相结合。

利用遗传算法优化BP网络权值的算法如下:

(1)随机产生N组在不同实数区间内取值的初试网络权值。

(2)用BP算法对这N组初试权值分别进行预训练,若经过训练后这N组权值中至少已有一组满足精度要求,则算法结束;否则转入步骤3。

(3)分别依据上述N组权值所对应的上下限确定取值区间,在区间内随机生成r×N组新的权值,连同经过训练的N组权值一起,构成完整的基因群体,共(r+1)×N组权值。

(4)对这(r+1)×N组权值进行选择、交叉、变异等遗传操作。

(5)如果经过步骤4的操作已至少得到一组满足精度要求的权值,则算法结束;否则从经过遗传操作的这(r+1)×N组权值中选出较好的N组,回到步骤2。

5 结语

本文首先对BP神经网络和BP算法进行了介绍,并分析了在具体的应用中BP算法存在的不足。为对其进行进一步的改进,将遗传算法引入其中。遗传算法具有很强的宏观搜索能力,并且简单通用,用它来完成前期搜索能较好地克服BP算法的部分缺点。

[1]阎平凡,张长水.人工神经网络与模拟进化计算(第2版)[M].北京:清华大学出版社,2005

[2]Richard O.Duda,Peter E.Hart,David G.Stor.模式分类(英文版·第2版)[M].北京:机械工业出版社,2004

[3]ZHOU Jie-ye.A Novel Recurrent Neural Network forFace Recognition [J].JournalofSoftware,2001,12(8)

[4]朱大奇.人工神经网络研究现状及其展望[J].江南大学学报(自然科学版),2004,3(1)

[5]李弼程,彭天强,彭波.智能图像处理技术[M].北京:电子工业出版社,2004

[6]何迪.实时图像序列目标跟踪算法的研究与实现[D].西安:西安电子科技大学,2004

TP391

A

1009-9530(2010)05-0022-02

2010-05-25

淮南师范学院自然科学研究项目(2007lkp11)

孙妍姑(1978-),女,江西婺源人,淮南师范学院计算机与信息工程系实验师,硕士。

猜你喜欢
隐层人工神经网络图像识别
基于RTD可编程逻辑门的n变量函数实现算法
基于BP神经网络学习算法的图像压缩技术研究
利用人工神经网络快速计算木星系磁坐标
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
人工神经网络实现简单字母的识别
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
滑动电接触摩擦力的BP与RBF人工神经网络建模
图像识别在物联网上的应用
图像识别在水质检测中的应用