智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割 -附代码
智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割
文章目录
- 智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割
- 1.麻雀搜索算法
- 2.PCNN网络
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
摘要:本文利用麻雀搜索算法对脉冲耦合神经网络的参数进行优化,以信息熵作为适应度函数,提高其图像分割的性能。
1.麻雀搜索算法
麻雀搜索算法的具体原理参考博客:https://blog.csdn.net/u011835903/article/details/108830958。
2.PCNN网络
图1.PCNN 模型结构
为了提高效率,减少参数间的相互作用,采用简化的 PCNN 模型。如图1所示,简化 PCNN 的结构分为接收部分、调制部分和脉冲发生器 3 部分。其数学表达式为:
Fij[n]=Sij(1)F_{ij}[n] = S_{ij} \tag{1} Fij[n]=Sij(1)
Fij[n]=∑WijklYkl[n−1](2)F_{ij}[n] = \sum W_{ijkl}Y_{kl}[n-1] \tag{2} Fij[n]=∑WijklYkl[n−1](2)
θij[n]=exp(−αE)θij[n−1]+VEYij[n−1](3)\theta_{ij}[n] = exp(-\alpha_E)\theta_{ij}[n-1]+V_EY_{ij}[n-1] \tag{3} θij[n]=exp(−αE)θij[n−1]+VEYij[n−1](3)
Yij[n]={1,Uij[n]≥θij[n]0,Uij[n]<θij[n](4)Y_{ij}[n] = \begin{cases} 1,U_{ij}[n]\geq \theta_{ij}[n]\\ 0,U_{ij}[n]<\theta_{ij}[n] \end{cases} \tag{4} Yij[n]={1,Uij[n]≥θij[n]0,Uij[n]<θij[n](4)
式中: Fij[n]F_{ij}[n]Fij[n]表示 PCNN 的输入; Sij[n]S_{ij}[n]Sij[n]是外部输入,比如一幅图像的所有像素点; Lij[n]L_{ij}[n]Lij[n]是连接输入; Uij[n]U_{ij}[n]Uij[n]是内部活动项,θij[n]\theta_{ij}[n]θij[n]表示动态阈值,Yij[n]Y_{ij}[n]Yij[n]是神经网络的输出;β\betaβ是连接系数,WijklW_{ijkl}Wijkl是连接矩阵;αE\alpha_EαE是阈值衰减系数,VEV_EVE 是阈值放大系数。通常WijklW_{ijkl}Wijkl可以设置为:
Wijkl=[0.70710.7071010.70710.707](5)W_{ijkl} = [\begin{matrix}0.707&1&0.707\\ 1&0&1\\ 0.707&1&0.707 \end{matrix}] \tag{5} Wijkl=[0.70710.7071010.70710.707](5)
在这些参数中,对分割结果产生较大影响的主要有3个:连接系数 β\betaβ、阈值衰减系数 αE\alpha_EαE 、阈值放大系数VEV_EVE 。
3.麻雀适应度函数设计
适应度函数作为优化算法中重要的一部分,影响着分割结果。熵能够反映目标包含的信息量的大小,熵越大,说明包含的信息量越大。因此,本文选取分割后图像的熵作为适应度函数,其公式为:
H=−p1∗log2p1−p0∗log2p0(6)H =-p_1*log_2p_1 - p_0*log_2p_0 \tag{6} H=−p1∗log2p1−p0∗log2p0(6)
式中:p1p_1p1是二值图像中 1 占整幅图像的比例; p0p_0p0 是二值图像中 0 占整幅图像的比例。
由于麻雀优化算法为寻找最小值,于是添加负号,转换为选找最小值:
fitness=argmin(−H)(7)fitness = argmin(-H) \tag{7} fitness=argmin(−H)(7)
3.实验结果
麻雀参数设置如下:
3 个参数范围均设置为 0.001 ~200;
%% 麻雀算法优化脉冲耦合神经网络的图像自动分割
%读取图像
I = imread('lena.jpg');
%将图像转换为灰度图
if(size(I,3)~=1)Igray = rgb2gray(I);
elseIgray = I;
end
%对连接系数β、阈值衰减系数 αE 、阈值放大数 VE进行优化
%设置麻雀算法参数
%参数范围均设置为 0.001-200
dim = 3;%维度,3维即优化的3个参数
lb = 0.001.*ones(1,dim); %下边界
ub = 200.*ones(1,dim); %上边界
pop = 20;%种群数量
Max_iteration = 20;%最大迭代次数
fobj = @(x) fun(x,Igray);%适应度函数
优化的连接系数β、阈值衰减系数 αE 、阈值放大数 VE分别为:51.99388 0.001 155.0309
SSA-PCNN分割后的信息熵值0.99998
从结果图像和信息熵值来看,信息熵值接近1,表明优化取得了一个比较好的结果。
4.参考文献
[1]贾鹤鸣,康立飞,孙康健,彭晓旭,李瑶,姜子超.哈里斯鹰算法优化脉冲耦合神经网络的图像自动分割[J].应用科技,2019,46(04):16-20+25. (基本原理参考该文章)
5.Matlab代码
1.麻雀算法优化脉冲耦合神经网络的图像自动分割
2.哈里斯鹰算法优化脉冲耦合神经网络的图像自动分割
[1]贾鹤鸣,康立飞,孙康健,彭晓旭,李瑶,姜子超.哈里斯鹰算法优化脉冲耦合神经网络的图像自动分割[J].应用科技,2019,46(04):16-20+25.
个人资料介绍
智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割 -附代码相关推荐
- 基于MATLAB樽海鞘算法SSA(麻雀算法(十一)也简称SSA)的Eggholeer函数优化,测试函数的100种优化方法之十二
樽海鞘算法优化 Eggholder测试函数 樽海鞘算法SSA(麻雀算法也简称SSA,如果想了解麻雀算法,看方法十一)模拟了樽海鞘的聚集成链的生活习性而提出的优化算法,是近几年刚推出的新算法之一.算法将 ...
- 基于灰狼算法优化概率神经网络PNN的分类预测-附代码
基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 1.PNN网络概述 2.变压器故障诊街系统相关背景 2.1 模型建立 3. ...
- 基于头脑风暴优化的BP神经网络(预测应用) - 附代码
基于头脑风暴优化的BP神经网络(预测应用) - 附代码 文章目录 基于头脑风暴优化的BP神经网络(预测应用) - 附代码 1.数据介绍 3.BSO优化BP神经网络 3.1 BP神经网络参数设置 3.2 ...
- 基于布谷鸟优化的BP神经网络(预测应用) - 附代码
基于布谷鸟优化的BP神经网络(预测应用) - 附代码 文章目录 基于布谷鸟优化的BP神经网络(预测应用) - 附代码 1.数据介绍 3.CS优化BP神经网络 3.1 BP神经网络参数设置 3.2 布谷 ...
- 基于鸟群优化的BP神经网络(预测应用) - 附代码
基于鸟群优化的BP神经网络(预测应用) - 附代码 文章目录 基于鸟群优化的BP神经网络(预测应用) - 附代码 1.数据介绍 3.BSA优化BP神经网络 3.1 BP神经网络参数设置 3.2 鸟群算 ...
- Matlab舌体分割,中医舌体图像自动分割算法的研究
中医舌体图像自动分割算法的研究 目的:由于目前在舌体分割中,存在诸多的分割方法如灰度阈值法.区域生长法.边缘检测法.分水岭算法等,各有各的优缺点,灰度阈值法对于类别较多的图像分割难度大,区域生长法自动 ...
- 基于PCNN脉冲耦合神经网络的图像分割
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 脉冲耦合神经网络(PCNN-Pulse Coupled Neural Network)与传统神经网络 ...
- 神经网络 | 基于脉冲耦合神经网络(PCNN)的图像特征提取(Matlab源代码)
博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 一.代码 %------Pulse ...
- 毕业论文 | 基于脉冲耦合神经网络(PCNN)的图像特征提取:论文及源代码及参考文献
=========================================== github:https://github.com/MichaelBeechan CSDN:https://bl ...
- 【图像分割】基于脉冲耦合神经网络实现图像分割附matlab代码
1 简介 1950s数字图像处理产生,从此学术界对它的研究连绵不绝.十多年之后,数字图像的处理被独立出来成了一门课程.图像分割技术是处理图像的一种基础技术,在图像处理领域中占了重要地位,且在图像工程. ...
最新文章
- SAP EWM - 其他主数据 - 供应链单元
- 【教程】TestComplete测试桌面应用程序教程(四)
- DPDK support for vhost-user(十四)
- !和?在formal method里面的意思
- spss数据_spss数据分析软件
- centos mysql 启动_MYSQL在centos上首次启动
- 非类型模板参数(参考《C++ Templates 英文版第二版》)
- 视差滚动不适合网页的5个原因
- 小蚂蚁学习mysql性能优化(8)--数据库结构优化--范式化和反范式化,水平分表,垂直分表...
- leveldb 安装及使用
- java删除cookie_JAVAWEB使用保存cookie、删除cookie、获取cookie工具类
- 计算机硬件相关专业学校,计算机硬件相关专业有哪些
- win7开机后桌面黑屏,提示副本不是正版的解决办法
- 美国波士顿大学计算机专业排名,2017年波士顿大学各专业最新排名榜单 美国名校排名!...
- python excel超链接_在Python中保留Pandas中的超链接 – Excel到数据帧
- Python文件夹压缩
- MT7621_移植篇(3) uboot编译+配置项分析
- 手把手教你如何创造睡后收入
- 《心经》:渡人,渡己,渡心
- here is no getter for property named 解决方案及问题分析
热门文章
- 梦幻手游登录显示服务器爆满,梦幻西游手游服务器爆满怎么办
- The nodejs-legacy package simply installs a symbolic link so that it can be executed using the node
- SQL sever 中yyyyMMddmmss字符串转日期
- Codeforces 227E/226C Anniversary 斐波那契数列性质+矩阵快速幂
- Win7 中使用 blat 自动发邮件
- IP-guard功能模块简介
- 空集有四种写法,你知道么?——常用Latex符号表来啦!
- 超越极限——2009年度DDR3内存横向测试(图)
- 发现同义词 python_用词代替同义词
- Android 动画之 View动画 和 帧动画