一种基于自适应遗传算法的bp神经网络图像复原算法

文档序号:8498985阅读:532来源:国知局
一种基于自适应遗传算法的bp神经网络图像复原算法
【技术领域】
[0001] 本发明涉及一种BP神经网络图像复原算法,尤其涉及一种基于自适应遗传算法 的BP神经网络图像复原算法。
【背景技术】
[0002] 自上世纪60年代开始,图像复原技术得到了快速的发展,出现了逆滤波、维纳滤 波、最小二乘滤波等经典复原方法。但这些传统的复原方法对许多点扩散函数(PSF)的变 化是很难把握的,因而无法得到精确的复原模型。BP神经网络则可以解决这一难题,它的非 线性映射能力可以实现对多维函数的逼近。
[0003] 然而单纯采用BP神经网络进行图像复原时,由于BP算法的误差曲面通常存在多 个极值点,因此算法容易陷入局部最优解。并且当BP神经网络结构较大时,收敛速度也比 较慢。为此,本发明在BP复原算法的基础上引入了有较强的全局搜索能力的遗传算法来对 BP神经网络的初始权值和阈值进行优化。
[0004] 遗传算法(Genetic Algorithm, GA)由密执安大学教授Holland及其学生于1975 年创建,其基本思想是基于Darwin的进化论和Mendel的遗传学说。由于遗传算法是来自 于进化论以及遗传学产生的直接搜索优化方法,因此在这个算法中用到了各种进化和遗传 学的概念。
[0005] 在遗传算法的每个串中,每个二进制位对应个体染色体中的某个基因,n个长度 为len的二进制串 Xi(i = 1,2,…,n)就可以组成遗传算法的初解群,即初始群体。根据 进化过程,整个环节对群体执行的操作有三种: 1 ?选择(Selection) 这一操作是要在群体中随机选择出较易于适应环境的个体,这些选中的个体将被用于 繁殖下一代个体。因此,有的时候也这一操作也称之为再生(Reproduction)。由于在选择 个体去繁殖下一代个体时,大多数情况是依据个体对环境的适应度来确定其繁殖量的,所 以有时这一处理也称为差异性再生(differential reproduction)。
[0006] 2?交叉(Crossover) 交叉是对两个不同个体的相同位置的基因进行交换,这些交叉的个体来源于上一步选 中的用于繁殖下一代的个体。
[0007] 3?变异(Mutation) 变异是在选中的个体中,针对个体中的某些基因执行突变转化。例如:串Xi*,假如某 位基因为1,产生变异时就是把它变成〇,反之则变为1。
[0008] 在遗传算法中,交叉率和变异率直接影响算法的收敛速度。交叉率的大小决定新 个体产生速度的快慢,交叉率越大,旧个体的模式越容易被破坏,新个体产生的速度就越 快。过高的交叉率可能使较优良的个体的模式遭到破坏,过小的交叉率又会延缓新个体的 产生,导致算法早熟,停滞不前。
[0009] 上述传统遗传算法容易陷入局部收敛,产生停滞现象。

【发明内容】

[0010] 本发明的目的是针对上述不足之处提供一种基于自适应遗传算法的BP神经网络 图像复原算法,具有更小的预测误差和更可靠的稳定性,增强了算法的鲁棒性。
[0011] 基于自适应遗传算法的BP神经网络图像复原算法是采取以下技术方案实现的: 一种基于自适应遗传算法的BP神经网络图像复原算法,其实现步骤如下: 51、 种群初始化 将每个个体的染色体通过实数串表示,所述实数串由BP隐含层或者输出层的连接权 值以及输出层的阈值构成; 52、 适应度函数设计 S2-1、经过步骤S1的种群初始化建立测试种群,BP神经网络的初始权值和阈值不再随 机产生,训练时的权值和阈值通过每个个体染色体分解取得; S2-2、用预先准备好的通用训练数据训练BP神经网络; S2-3、通过步骤S2-2得到预测结果后,将预测结果进行比较,统计总的误差作为个体 适应度的取值; 统计公式如下,
【主权项】
1. 一种基于自适应遗传算法的BP神经网络图像复原算法,其特征在于,其实现步骤如 下: 51、 种群初始化 将每个个体的染色体通过实数串表示,所述实数串由BP隐含层或者输出层的连接权 值以及输出层的阈值构成; 52、 适应度函数设计 S2-1、经过步骤Sl的种群初始化建立测试种群,BP神经网络的初始权值和阈值不再随 机产生,训练时的权值和阈值通过每个个体染色体分解取得; S2-2、用预先准备好的通用训练数据训练BP神经网络; S2-3、通过步骤S2-2得到预测结果后,将预测结果进行比较,统计总的误差作为个体 适应度的取值; 统计公式如下,
式(1. 1)中,为个体适应度值,1为调节系数,M为BP神经网络输出节点数,〇|为第 i个节点的预估输出,1为BP神经网络第突个节点的期望输出;n为图像的像素值; 53、 选择设计 采用遗传算法的选择轮盘赌法,是基于适应度比例的选择策略,所述遗传算法中针对 每个个体i的选择概率设为,i,选择概率的计算公式如下,
式(1.2)中,Jri为适应度值,Pi为选择概率,况为种群个体数目; 54、 交叉设计 采用实数交叉法进行计算,第是个染色体G Jt与第/个染色体<3丨在j位的交叉操作公式 如下,
在式(1. 3)中,办是区间[0,1]的随机数; 55、 变异设计 如果个体在迭代中被选为变异,变异公式如下,
在式(1. 4)中,i表示第i个个体,0??表示第i个个体的第j个基因,为基因》_勺 上限,flHia为基因的下限; /(g) = g犯Mk),r2为区间[W]的随机数:为当前迭代次数,G臟为最大进 化次数,f为区间[CU ]的随机数; S6、动态调整交叉率和变异率 当种群中的个体适应度相近或趋于局部最优时,增大交叉率和变异率,反之,则减小交 叉率和变异率;当个体适应度高于平均水平时,降低其对应的交叉率和变异率,使之尽可能 被遗传下去,反之,当个体适应度低于平均水平时,则提高其对应的交叉率和变异率,使之 尽可能被淘汰;在自适应遗传算法中,交叉率和变异率的表达式为,
在式(1.〖)、(1.6)中,G为交叉率,Ps为变异率,为要进行交叉的两个个体中的较 大的适应度,/_为当代群体的平均适应度,/msx为当代群体的最大适应度,为给定最大 交叉率,Pf 2为给定最小交叉率,Ps i为给定最大变异率,Ps 2为给定最小变异率。
2. 根据权利要求1所述的基于自适应遗传算法的BP神经网络图像复原算法,其特征在 于,在所述步骤S6中,适应度较差的个体变异能力比较低,易于导致停滞,适应度较优的个 体得到了保留,但如果其个体数目过多的话,也会造成进化停滞,为解决上述问题可以进一 步对交叉率和变异率的计算方法进行改进:
在式(1.1)、(1.8)中,$为交叉率,为变异率,^为当前的进化代数,APf为交叉 率增量,^&为变异率增量,Pfl为给定最大交叉率,Psjl为给定最大变异率; Fav (君)为当代群体的平均适应度,+ 1)为下一代群体的平均适应度。
3. 根据权利要求1所述的基于自适应遗传算法的BP神经网络图像复原算法,其特征在 于,在所述步骤Sl中,由于BP神经网络的权值和阈值都是实数形式,二进制编码方式不适 合来表达个体的基因,采用实数编码方式,因此每个个体的染色体都由一个实数串来表示; 每个基因都对应不同的权值和阈值,每个个体的染色体都由神经网络输入层与隐含层的连 接权值、隐含层与输出层的连接权值、隐含层各神经元的阈值以及输出层各神经元的阈值4 个部分组成,因而每个个体包含了 BP神经网络的所有权值和阈值,只要BP网络的结构确 定,即能生成种群。
4.根据权利要求1所述的基于自适应遗传算法的BP神经网络图像复原算法,其特征在 于,步骤S2-2中所述的通用训练数据指的是用Lenna,Cameraman等经典图像处理后的复原 图像,其大小为90*90像素。
【专利摘要】本发明涉及一种BP神经网络图像复原算法,尤其涉及一种基于自适应遗传算法的BP神经网络图像复原算法。该算法包括如下步骤:S1、种群初始化,S2、适应度函数的设计,S3、选择设计,S4、交叉设计,S5、变异设计,S6、动态调整交叉率和变异率。本发明具有更小的预测误差,更可靠的稳定性,增强了算法的鲁棒性。
【IPC分类】G06T5-00, G06N3-12
【公开号】CN104820977
【申请号】CN201510265990
【发明人】高琪琪, 肖颖, 王欣, 吴伟
【申请人】无锡职业技术学院
【公开日】2015年8月5日
【申请日】2015年5月22日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1