智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割

文章目录

  • 智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割
    • 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]=∑Wijkl​Ykl​[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]+VE​Yij​[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.707​101​0.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​∗log2​p1​−p0​∗log2​p0​(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.

个人资料介绍

智能优化算法应用:麻雀算法优化脉冲耦合神经网络的图像自动分割 -附代码相关推荐

  1. 基于MATLAB樽海鞘算法SSA(麻雀算法(十一)也简称SSA)的Eggholeer函数优化,测试函数的100种优化方法之十二

    樽海鞘算法优化 Eggholder测试函数 樽海鞘算法SSA(麻雀算法也简称SSA,如果想了解麻雀算法,看方法十一)模拟了樽海鞘的聚集成链的生活习性而提出的优化算法,是近几年刚推出的新算法之一.算法将 ...

  2. 基于灰狼算法优化概率神经网络PNN的分类预测-附代码

    基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 1.PNN网络概述 2.变压器故障诊街系统相关背景 2.1 模型建立 3. ...

  3. 基于头脑风暴优化的BP神经网络(预测应用) - 附代码

    基于头脑风暴优化的BP神经网络(预测应用) - 附代码 文章目录 基于头脑风暴优化的BP神经网络(预测应用) - 附代码 1.数据介绍 3.BSO优化BP神经网络 3.1 BP神经网络参数设置 3.2 ...

  4. 基于布谷鸟优化的BP神经网络(预测应用) - 附代码

    基于布谷鸟优化的BP神经网络(预测应用) - 附代码 文章目录 基于布谷鸟优化的BP神经网络(预测应用) - 附代码 1.数据介绍 3.CS优化BP神经网络 3.1 BP神经网络参数设置 3.2 布谷 ...

  5. 基于鸟群优化的BP神经网络(预测应用) - 附代码

    基于鸟群优化的BP神经网络(预测应用) - 附代码 文章目录 基于鸟群优化的BP神经网络(预测应用) - 附代码 1.数据介绍 3.BSA优化BP神经网络 3.1 BP神经网络参数设置 3.2 鸟群算 ...

  6. Matlab舌体分割,中医舌体图像自动分割算法的研究

    中医舌体图像自动分割算法的研究 目的:由于目前在舌体分割中,存在诸多的分割方法如灰度阈值法.区域生长法.边缘检测法.分水岭算法等,各有各的优缺点,灰度阈值法对于类别较多的图像分割难度大,区域生长法自动 ...

  7. 基于PCNN脉冲耦合神经网络的图像分割

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 脉冲耦合神经网络(PCNN-Pulse Coupled Neural Network)与传统神经网络 ...

  8. 神经网络 | 基于脉冲耦合神经网络(PCNN)的图像特征提取(Matlab源代码)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 一.代码 %------Pulse ...

  9. 毕业论文 | 基于脉冲耦合神经网络(PCNN)的图像特征提取:论文及源代码及参考文献

    =========================================== github:https://github.com/MichaelBeechan CSDN:https://bl ...

  10. 【图像分割】基于脉冲耦合神经网络实现图像分割附matlab代码

    1 简介 1950s数字图像处理产生,从此学术界对它的研究连绵不绝.十多年之后,数字图像的处理被独立出来成了一门课程.图像分割技术是处理图像的一种基础技术,在图像处理领域中占了重要地位,且在图像工程. ...

最新文章

  1. SAP EWM - 其他主数据 - 供应链单元
  2. 【教程】TestComplete测试桌面应用程序教程(四)
  3. DPDK support for vhost-user(十四)
  4. !和?在formal method里面的意思
  5. spss数据_spss数据分析软件
  6. centos mysql 启动_MYSQL在centos上首次启动
  7. 非类型模板参数(参考《C++ Templates 英文版第二版》)
  8. 视差滚动不适合网页的5个原因
  9. 小蚂蚁学习mysql性能优化(8)--数据库结构优化--范式化和反范式化,水平分表,垂直分表...
  10. leveldb 安装及使用
  11. java删除cookie_JAVAWEB使用保存cookie、删除cookie、获取cookie工具类
  12. 计算机硬件相关专业学校,计算机硬件相关专业有哪些
  13. win7开机后桌面黑屏,提示副本不是正版的解决办法
  14. 美国波士顿大学计算机专业排名,2017年波士顿大学各专业最新排名榜单 美国名校排名!...
  15. python excel超链接_在Python中保留Pandas中的超链接 – Excel到数据帧
  16. Python文件夹压缩
  17. MT7621_移植篇(3) uboot编译+配置项分析
  18. 手把手教你如何创造睡后收入
  19. 《心经》:渡人,渡己,渡心
  20. here is no getter for property named 解决方案及问题分析

热门文章

  1. 梦幻手游登录显示服务器爆满,梦幻西游手游服务器爆满怎么办
  2. The nodejs-legacy package simply installs a symbolic link so that it can be executed using the node
  3. SQL sever 中yyyyMMddmmss字符串转日期
  4. Codeforces 227E/226C Anniversary 斐波那契数列性质+矩阵快速幂
  5. Win7 中使用 blat 自动发邮件
  6. IP-guard功能模块简介
  7. 空集有四种写法,你知道么?——常用Latex符号表来啦!
  8. 超越极限——2009年度DDR3内存横向测试(图)
  9. 发现同义词 python_用词代替同义词
  10. Android 动画之 View动画 和 帧动画