脉冲耦合神经网络(PCNN)的matlab实现

article/2025/7/20 10:17:36


基本脉冲耦合神经网络的matlab实现

Gray 首先发现了猫的初生视觉皮层有神经激发相关振荡现象,并将其研究结果发在了 Nature 杂志上。与此同时, Eckhom 也根据猫的大猫皮层的同步脉冲发放现象,提出了脉冲发现的连接模式,将开拓性地提出了 PCNN 基本模型。 Gray Eckhom 被称为 PCNN 的鼻祖。我国的兰州大学马义德教授在 PCNN 研究领域有很大建树,发表了很多相关的论文,并出版了《脉冲耦合神经网络原理及其应用》和《脉冲耦合神经网络与数字图像原理》两本专著。我在当当上买了一本《脉冲耦合神经网络与数字图像原理》,发现还不错,原理讲得很全,但没有附光盘,详细的算法或代码很少。
基本 PCNN 神经网络是提出的一种有连接域的网络模型,它是由若干个神经元互连形成的反馈型神经网络,构成 PCNN 的神经元系统是一个复杂的非线性动态系统。一个 PCNN 神经元由三部分组成:接受部分,调制部分,脉冲发生器,其基本模型见下图:    
该模型的数学形式可用以下四个方程来描述:
其中 Sij  Uij  Yij  分别为神经元 Nij  的外部刺激 ( 输入 、内部行为和输出 ; Lij  Fij  分别为神经元的链接域和馈送域两个输入通道 ; M/ VF  W/ VL  分别是馈送域和链接域的连接权系数矩阵 放大系数 ; θ ij  V θ变阈值函数输出和阈值放大系数 ; τ 、τ 、τθ分别为链接域、馈送域和变阈值函数的时间常数。
由基本模型可以得出,根据链接系数即 beta ,可以将 PCNN 分为无耦合和有耦合两种情况,当 beta=0 时,可以认为各神经元是独立运行的组合。这种情况下,神经元周而复始地循环工作,并兴奋产生脉冲。在这种情况下,即不同灰度值的像素在没有受到别的神经元影响下,其独立点火频率依赖于该像素灰度值,而于其他像素的灰度值无关。同时也可以得出以下结论:即相近灰度值的神经元将在同时刻点火,这个结论也印证了 PCNN 同步脉冲发放现象的内在机理。这种情况属于理想情况
beta~=0 时,即有耦合存在的情况之下,神经元的点火,不仅受其自身的灰度值影响,还要受与其存在链接的神经元的影响,也就是存在着捕获点火的情况,当满足捕获范围的若干相似相邻神经元提前兴奋,实现点火。这也是在空间近似或灰度近似的神经元同步产生脉冲串的机理。由 PCNN 数学模型可以知道,当连接系数 beta ,连接域 L 值越大,则能够点火的范围也越大,所以在耦合状态下, PCNN 能集群发放同步脉冲串序列,产生所谓的同步脉冲发现现象,即神经元的振荡。
基本模型由于实现相对复杂,在实际应用中相对较少,经常使用的则是改进型 PCNN ,其模型的数学形式可用以下四个方程来描述:
其中 Fij ( n)  是第 ( i , j)  神经元的 次反馈输入 ,Sij  为输入刺激信号 ( 这里为图像像素构成的矩阵中第 ( i , j)  像素的灰度值 ) , β为连接系数 , L ij ( n)  是连接项 , θ i j ( n)  为动态阈值 , Yij ( n)  PCNN  脉冲输出值 ,Uij ( n)  为内部活动项 , W  为连接权矩阵 , V θ为幅度常数 , αθ为相应的衰减系数。
由上式我们可以看出, PCNN 的主要参数就是上述四个,即权值、链接系数、初始阈值和衰减系数,使用各种优化算法对 PCNN 的参数进行优化时,往往主要优化链接系数,初始阈值和衰减系数,在一般情况下,主要是优化初始阈值和衰减系数。
以最后的代码为例,则其算法描述如下:
首先读取一幅图片,对像素矩阵进行扫描运算,通过连接矩阵、加权等等关系式计算出每一个像素的内部活动项 Uij(n) ,当 Uij(n) 大于动态门限 Eij(n) (这个是根据初始阈值、衰减系数或其他参数所决定的,由此来看初始阈值、衰减系数多么重要,因为它关系到像素是否点火), PCNN 产生时序脉冲系列 Yij(n)( 标记矩阵中的值为 1 ,有时无需记录标记矩阵 ) 。每遍扫描结束后,求得一次熵 Yij(n) ,全部扫描结束后,对应的输出为熵序列(其中熵为对 PCNN 优化的标准,熵的确定根据具体应用是不同的)。综上,如果对 PCNN 进行优化,应该从初始阈值、衰减系数和熵入手。
下面是基本 PCNN matlab 实现代码。
function H = Pcnn(I,N) 
%************************************************************ 
% demo 
%************************************************************ 
% I = imread('lena.bmp'); 
% H = Pcnn(I,30); 
%************************************************************ 
%  
%************************************************************ 
%------Pulse Coupled Neural Network-----------    

%------名称:脉冲耦合神经网络(PCNN)    

%------时间:2009年01月08日    
%************************************************************ 
% Initialize Function 初始化函数 
%************************************************************ 
[m,n] = size (I); 
X = im2double(I); 
%************************************************************ 
% Initialize PCNN Parameters 初始PCNN参数 
%************************************************************ 
% P :L E F VF VL VE beta 
% V: 1.0 1.0 0.1 0.5 0.2 20 0.1 
al = 1.0; ae = 1.0; af = 0.1; vf = 0.5; vl = 0.2; ve = 20; B = 0.1; 
W =[0.5 1 0.5 
        1 0 1    
        0.5 1 0.5]; 
M = W; Y = zeros(m,n); F = Y; L = Y; U = Y; E = Y; 
%************************************************************ 
% PCNN 点火过程 
%************************************************************ 
for i = 1:N 
        F = exp(-af) * F + vf * conv2(Y,M,'same') + X; 
        L = exp(-al) * L + vl * conv2(Y,W,'same'); 
        U = F.*(1 + B * L); 
        Y = double(U>E); 
        E = exp(-ae) * E + ve * Y; 
%************************************************************ 
% Get Entropy of Image Y 得到信息熵序列 
%************************************************************ 
p = imhist(Y(:)); 
% remove zero entries in p 
p(p == 0) = []; 
% normalize p so that sum(p) is one 
p = p./numel(Y); 
H(1/i) = -sum(p.*log2(p)); 

end



           本文转自 gaochaojs 51CTO博客,原文链接: http://blog.51cto.com/jncumter/260761 ,如需转载请自行联系原作者



http://chatgpt.dhexx.cn/article/tqXG71Qq.shtml

相关文章

【MATLAB图像融合】[18]双通道PCNN模型实现图像融合

引言 简单回顾一下以往的单通道PCNN模型,原理与实现步骤: 13、单通道PCNN原理 14、单通道PCNN融合代码实现 一、单通道PCNN 图1 单通道PCNN: 在单通道PCNN中,对于一个神经元的一次迭代过程正如图1描述: ①、F&#…

PCNN

Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks 1. 关键字 关系抽取,远程监督 2. 摘要 本文提出了PCNNs,用来解决远程监督关系抽取中的两个问题:一个是在对齐知识图谱时的错误标注问题&#xff0…

【NLP】基于神经网络PCNN(Piece-Wise-CNN)的关系抽取模型

背景 关系抽取是信息抽取的基本任务之一,对于知识库的构建以及文本的理解十分重要,在自然语言处理的一些任务,如问答,文本理解等得到了广泛的应用。 这里介绍的关系抽取主要指的是实体之间的关系抽取,实体是之前NER任…

PCNN 脉冲耦合神经网络整理

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

关系抽取之分段卷积神经网络(PCNN)

文章目录 远程监督PCNN关系抽取PCNN方法论向量表达卷积层分段最大池化层Softmax层多实例学习 Reference Tensorflow2.2实现,见github仓库。 远程监督 关系抽取训练集标注成本高,一般使用远程监督方法(半监督)自动标注数据。远程监…

脉冲耦合神经网络(PCNN)阅读笔记

摘要 本文采用高级视觉模型来描述灵长类视觉系统中的信息传递和连接。信息链接方案,如状态相关模块化和时间同步,被视为视觉系统使用期望组合信息的方法,以填充缺失信息和删除不需要的信息。研究了使用基于生理学理论模型的链接方法结合当前…

PCNN的知识抽取

PCNN是一个结构简单的CNN网络, 它最初被用于在已知实体对位置时, 辨别实体对关系的网络. 上图是论文里带的PCNN结构图. PCNN的输入由两部分构成, 一部分是词本身的词向量word, 另一部分是词相对于实体词的位置信息position. PCNN优秀的地方就在于加入了位置信息, 具体如下: 1.…

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

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 脉冲耦合神经网络(PCNN-Pulse Coupled Neural Network)与传统神经网络相比,有着根本的不同。PCNN有生物学的背景,它是依据猫、猴等动物的大脑皮层上…

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

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

【图像特征提取】基于matlab脉冲耦合神经网络(PCNN)图像特征提取【含Matlab源码 1868期】

⛄一、脉冲耦合神经网络(PCNN)图像特征提取简介 1 引言 随这生物神经学的迅速发展及其研究的进一步深入,国外对一种叫做第三代人工神经网络的模型——脉冲耦合神经网络模型——PCNN(Pulse Coupled Neural Network)模型…

脉冲耦合神经网络(PCNN)-pulse coupled neural network

摘要 本文采用高级视觉模型来描述灵长类视觉系统中的信息传递和连接。信息链接方案,如状态相关模块化和时间同步,被视为视觉系统使用期望组合信息的方法,以填充缺失信息和删除不需要的信息。研究了使用基于生理学理论模型的链接方法结合当前图…

NTFS 数据流隐写学习

NTFS 数据流隐写学习 —— 概念学习: NTFS文件系统中存在NTFS数据流文件也被称为 Alternate data streams(ADS), 是NTFS磁盘格式的一个特性之一每个文件都有主文件流和非主文件流,主文件流能够直接看到;…

CTF隐写知识

通用知识 通用软件 010或winhex或HxD或HexEditXP 一.在文件中加入字符 jpg文件头 FF D8 jpg 文件尾 FF D9 FF D9后面的都是增加的内容; 增加的可能是字符串,也可能是另一个文件(就是把多个文件的十六进制放在一起) 二.ZIP格式文件分离 十…

图片隐写术总结

0x00 前言 之前还没有见到drops上有关于隐写术的总结,我之前对于隐写术比较有兴趣,感觉隐写术比较的好玩。所以就打算总结总结一些隐写术方面的东西。写的时候,可能会有错误的地方,请不吝赐教,谢谢。 本篇章中用到的隐…

图像隐写分析——生成含密图像 Stego Image

文章目录 一 图像隐写分析的数据集二 含密图像展示三 结语 一 图像隐写分析的数据集 小编本科毕设的题目是《基于深度学习的图像隐写分析》,图像隐写分析问题本质上是一个二分类(binary classifier)问题,即判断一张图片中是否含有…

图片LSB信息隐写

LSB(全大写)有时也指Least Significant Byte,指多字节序列中最小权重的字节。指的是一个二进制数字中的第0位(即最低位) RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化…

F3隐写

F3隐写 文章目录 F3隐写1. 引言2. 实验环境3. 实现使用的现有外部库4. 实现思路> **预处理**> **DCT量化**>**秘密信息嵌入**> **Z字形序列化**>**Huffman编码**>**反Z字形序列化**>**提取秘密信息** 5.验证6. 总结 1. 引言 数字隐写技术是一种在数字媒体…

TTL隐写

#拿到一个长成这样的文件,里面是意义不明的数字 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 63 63 255 63 127 63 255 63转换为2进制,并设置为8位数的2进制,就会有很神奇的事情发生 with open(C:/Users/brighten…

深度学习之图像隐写去除(DDSP模型 Steganography Removal)

文章目录 一 前言二 论文内容2.1 Abstract2.2 Introduction2.3 Background2.3.1 Prior Work2.3.2 Super Resolution GAN 超分辨率GAN 2.4 Data2.5 Deep Digital Steganography Puricication (重头戏)2.5.1 Autoencoder Architecture2.5.1 GAN Training 2.6 Result 三 训练结果四…

SRNet隐写分析网络模型 (pytorch实现)

文章目录 一 SRNet隐写分析模型介绍二 SRNet网络概述三 训练结果展示 一 SRNet隐写分析模型介绍 SRNet模型是宾汉姆顿大学(Binghamton University)Jessica教授团队于2018年提出的图像隐写分析网络模型,应该说是当时SOTA(state-of-the-art)的隐写分析网络模型了&…