目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

脉冲耦合神经网络(PCNN-Pulse Coupled Neural Network)与传统神经网络相比,有着根本的不同。PCNN有生物学的背景,它是依据猫、猴等动物的大脑皮层上的同步脉冲发放现象提出的。PCNN有着广泛的应用,可应用于图像分割,边缘检测、细化、识别等方面。
        PCNN是Eckhorn于20世纪90年代开始提出的一种基于猫的视觉原理构建的简化神经网络模型,与BP神经网络和Kohonen神经网络相比,PCNN不需要学习或者训练,能从复杂背景下提取有效信息,具有同步脉冲发放和全局耦合等特性,其信号形式和处理机制更符合人类视觉神经系统的生理学基础。

一个生理激励的人工神经网络,脉冲耦合神经网络(PCNN),可以连接起来创建一个高度灵活的生理滤波器。PCNN对灵长类视觉皮层中观察到的脉冲高度、持续时间、重复频率和神经间联系进行建模。该模型不仅能满足我们视觉模型的滤波要求,还能产生所需的连接和脉冲,以模拟依赖于状态的调制和时间同步。图4显示了PCNN中单个神经元的框图。

有关PCNN的更多讨论,请参见参考文献[3]和[5]。表2显示了实现离散时间PCNN所需的方程式。在该模型中,PCNN神经元接收来自前一层次结构层的馈电输入(X2),并接收来自其自身和其他层的链接输入(Y)。可重入输入将被视为链接输入。图5显示了样本PCNN中单个神经元的馈电和连接。

单个PCNN神经元的滤波特性由馈电输入的模式和应用于这些输入的权重决定。滤光片的感受野由前一层馈电输入连接的形状决定。滤波特性由应用于进给输入的权重确定。例如,一个具有高斯(椭圆形)感受野的神经元将具有以椭圆形模式连接到前一层的馈电输入。在该椭圆模式中,应用于进给输入的权重(M2)在中心处为单位,并随着朝向椭圆边缘的高斯曲线而减小。

PCNN的特征提取和对象分割特性来自神经元的脉冲频率。具有相关进食输入特征(颜色、强度等)的神经元具有相似的脉冲率。连接连接导致神经元紧密接近,相关特征一致脉冲(同步)。连接模式、权重(Wf)和连接系数(i:3)决定了连接输入影响神经元输出的接近度和程度。较大的链接字段往往会对图像产生平滑效果。较大的权重和连接系数(假设标准化,接近1)往往会导致相关特征较少的神经元同步。PCNN神经元(无连接)的脉冲重复率由馈电输入的大小决定。输入较大的神经元比输入较小的神经元脉冲频率更高。缺乏连接输入将导致具有相同馈电输入强度的神经元一致脉冲。对象分割高度依赖于链接系数8的值。
        PCNN中的神经元数量等于输入图像中的像素数量。神经元被排列成一个具有横向连接的单层网络。每个神经元接收R半径内所有相邻神经元的链接输入。每个神经元只接收一个馈电输入,即输入图像中对应像素的强度。馈电输入上没有泄漏积分器。所有权重都设置为统一。

2.仿真效果预览

matlab2022a仿真结果如下:

3.MATLAB核心程序


Weight=[0.07 0.1 0.07;0.1 0 0.1;0.07 0.1 0.07];
WeightLI2=[-0.03 -0.03 -0.03;-0.03 0 -0.03;-0.03 -0.03 -0.03];
d=1/(1+sum(sum(WeightLI2)));
%%%%%%测试权值%%%%%%
WeightLI=[-0.03 -0.03 -0.03;-0.03 0.5 -0.03;-0.03 -0.03 -0.03];
d1=1/(sum(sum(WeightLI)));
%%%%%%%%%%%%%%%%%%
Beta=0.4;
Yuzhi=245;
%衰减系数
Decay=0.3;
[a,b]=size(X);
V_T=0.2;
%门限值
Threshold=zeros(a,b);
S=zeros(a+2,b+2);
Y=zeros(a,b);
%点火频率
Firate=zeros(a,b);
n=1;
%统计循环次数
count=0;
Tempu1=zeros(a,b);
Tempu2=zeros(a+2,b+2);
%%%%%%图像增强部分%%%%%%
Out=zeros(a,b);
Out=uint8(Out);
for i=1:a
for j=1:bif(i==1|j==1|i==a|j==b)Out(i,j)=X(i,j);else  H=[X(i-1,j-1)  X(i-1,j) X(i-1,j+1);X(i,j-1)   X(i,j)   X(i,j+1);X(i+1,j-1) X(i+1,j) X(i+1,j+1)]; temp=d1*sum(sum(H.*WeightLI));Out(i,j)=temp;endend
end
figure(2);
imshow(Out);
%%%%%%%%%%%%%%%%%%%
for count=1:30 for i0=2:a+1for i1=2:b+1V=[S(i0-1,i1-1)  S(i0-1,i1) S(i0-1,i1+1);S(i0,i1-1)   S(i0,i1)   S(i0,i1+1);S(i0+1,i1-1) S(i0+1,i1) S(i0+1,i1+1)];L=sum(sum(V.*Weight));V2=[Tempu2(i0-1,i1-1)  Tempu2(i0-1,i1) Tempu2(i0-1,i1+1);Tempu2(i0,i1-1)   Tempu2(i0,i1)   Tempu2(i0,i1+1);Tempu2(i0+1,i1-1) Tempu2(i0+1,i1) Tempu2(i0+1,i1+1)];        F=X(i0-1,i1-1)+sum(sum(V2.*WeightLI2));
%保证侧抑制图像无能量损失
F=d*F;
U=double(F)*(1+Beta*double(L));
Tempu1(i0-1,i1-1)=U;if U>=Threshold(i0-1,i1-1)|Threshold(i0-1,i1-1)<60T(i0-1,i1-1)=1;Threshold(i0-1,i1-1)=Yuzhi;%点火后一直置为1
Y(i0-1,i1-1)=1;    elseT(i0-1,i1-1)=0;Y(i0-1,i1-1)=0;endendendThreshold=exp(-Decay)*Threshold+V_T*Y;%被激活过的像素不再参与迭代过程if n==1S=zeros(a+2,b+2);elseS=Bianhuan(T);endn=n+1;count=count+1; Firate=Firate+Y;figure(3);imshow(Y);Tempu2=Bianhuan(Tempu1);
endFirate(find(Firate<10))=0;Firate(find(Firate>=10))=10;figure(4);imshow(Firate);A129

4.完整MATLAB

V

基于PCNN脉冲耦合神经网络的图像分割相关推荐

  1. PCNN 脉冲耦合神经网络整理

    PCNN 脉冲耦合神经网络 脉冲耦合神经元模型 神经元的输入有哪些? 首先来看看这个神经元的图示的左边,有YYY和FFF. YYY为这个神经元之前输出的数值,就是说这个模型需要进行多次的运算,每次的运 ...

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

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

  3. 【MATLAB图像融合】[13]PCNN脉冲耦合神经网络基本原理

    →这是一篇学习笔记. →但考虑要发出来,还是排版了,请放心食用. PCNN在图像融合中应用广泛 1.脉冲耦合的神经元之间有有耦合和无耦合两种形式.,有耦合的神经元之间存在能量传播,产生同步脉冲发放,从 ...

  4. 【MATLAB图像融合】[14]PCNN脉冲耦合神经网络代码分享

    本代码转自厦门大学屈小波教授15年的DEMO代码. % Demo for PCNN in image processing % --------- % Author: Qu Xiao-Bo <q ...

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

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

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

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

  7. 【技术综述】基于弱监督深度学习的图像分割方法综述​

    文章首发于微信公众号<有三AI> [技术综述]基于弱监督深度学习的图像分割方法综述​ 本文是基于弱监督的深度学习的图像分割方法的综述,阐述了弱监督方法的原理以及相对于全监督方法的优势,首发 ...

  8. 基于ppg和fft神经网络的光学血压估计【翻译】

    基于ppg和fft神经网络的光学血压估计 摘要 我们引入并验证了仅使用指尖的光体积描记图(PPG)信号的逐拍光学血压(BP)估计范式.该方案确定了主体对PPG信号的特定贡献,并通过适当的归一化去除其大 ...

  9. 基于区域增长的可视人彩色图像分割

                                                              基于区域增长的可视人彩色图像分割 来源:电子技术应用  作者:张 雯 郝重阳 摘要: ...

最新文章

  1. 未解决:错误的结果 2 (从“D:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe”返回)。...
  2. 目标、物体识别(检测)object detection 中的 bounding boxes 是什么? 边界区域、边界框、边界盒
  3. Java刷题知识点之方法覆盖(方法重写)和方法重载的区别
  4. 关于mingw编译Qt时无法编译opengl es2(ANGLE)版本的问题
  5. mysql无法找到事件id100描述_解决“事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到”...
  6. [BZOJ4182]Shopping
  7. LeetCode 1791. 找出星型图的中心节点(图出入度)
  8. jquery的扩展方法介绍
  9. Java并发编程-wait和notify原理剖析
  10. java多线程基本概述(二)——Thread的一些方法
  11. 系统学习机器学习之神经网络(十一) --TDNN
  12. uva 11234 Expressions
  13. Tab栏切换效果的制作
  14. blender导出html,神器,C4D互导插件,可与Maya和Blender模型快速复制粘贴导出脚本Quick CopyPaste (Blender, Maya, C4D)...
  15. MySQL–ROW_NUMBER
  16. 大胖子走迷宫(蓝桥杯真题)
  17. SQLite3 模糊查询
  18. 甲午海战北洋水师战败的战术分析
  19. Linux文件权限的更改
  20. 1+X中级商城集群搭建(三台主机)

热门文章

  1. python阶乘求和的代码_Python阶乘求和的代码详解
  2. 在html中什么叫锚点,html中的锚点介绍和使用
  3. Java代码实现---可读性强的随机姓名
  4. VMware产品2014常见技术问题
  5. RabbitMQ消息中间件(二) RabbitMQ如何保证消息的可靠性投递
  6. 标准输入,标准输出和标准错误
  7. Brackets前端开发IDE工具
  8. 【联邦学习】联邦学习算法分类总结
  9. [英语单词] Kernel:upstream/downstream;上下游
  10. 8年经验机器人设计师,教你如何成为一名优秀的机械设计师