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

article/2025/7/20 10:43:25

1 简介

脉冲耦合神经网络(PCNN——Pulse Coupled Neural Network),由于其非常接近人类大脑的生物神经网络的特性,现已广泛应用在图像处理中,是一种重要的信息处理工具,具有优良的自适应图像分割和自适应特征提取能力。尽管PCNN 输出脉冲序列具有旋转、尺度、平移、扭曲等畸变不变性,同时还包含了原始激励的边缘、纹理、区域等信息,但如果目标有细微差别,PCNN 往往不能很好识别。本文有机的运用了PCNN的自适应特征提取能力结合体视学的研究提出了一种计算中药材显微图像目标二相面积的方法,然后从Hu矩不变矩特征方面入手应用算法得出了中药材显微图像的七种不变矩特征。中药材显微图像特征提取对中药材的识别具有重要意义。

1990年,由Eckhorn等人提出并且发起的对猫等哺乳动物的视觉皮层神经元脉冲振荡(同步振荡)现象的研究[]促使了脉冲耦合神经网络(PCNN—Pulse Coupled Neural Network)的初步形成和迅速发展。Eckhorn发现刺激神经元输入会引起视觉皮层的不同区域出现此种现象,然而这些区域的这种局部特性却具有相似性。因此,他认为视觉系统中存在某种机制,能够将局部性质联系起来成为一种整体特性,即以相似性集群的特性。并进一步提出了一种展现脉冲发放现象的脉冲连接模型。而后Johson发表了论文,阐述了PCNN的一种周期波动现象和PCNN在图像处理中具有旋转、尺度、信号扭曲和信号强度不变性。并先后对Eckhorn提出的网络模型进行了改进,由此得到了如今被广泛应用的脉冲耦合神经网络(PCNN)模型。PCNN是由若干神经元互连而成的、以迭代运算为主的单层二维局部连接的反馈型的脉冲神经网络模型。与其它的人工神经网络相比有着显著的区别,PCNN可以进行无监督自学习,其参数不需要进行提前训练,属于第三代神经网络模型,具有优良的自学习图像分割和自学习图像特征提取。因此非常适合实时图像处理的环境下。图1为PCNN的神经元模型。

2 部分代码

<span style="color:#333333"><span style="background-color:rgba(0, 0, 0, 0.03)"><code>i=imread('蒲公英.png'); </code><code>%g=rgb2gray(i); </code><code>g = i(:,:,2);</code><code>subplot(221),imshow(g); </code><code>xlabel('原图像');</code><code>I = im2bw(g);</code><code>subplot(222),imshow(I); </code><code>xlabel('原图像二值化');</code><code>[m,n] = size (g); </code><code>X = im2double(g); </code><code>%<strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong> </code><code>% Initialize PCNN Parameters </code><code>%<strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong> </code><code>% P :L E F VF VL VE beta </code><code>% V: 1.0 1.0 0.1 0.5 0.2 20 0.1 </code><code>al = 1.0; ae = 1.0; af = 0.1; vf = 0.5; vl = 0.2; ve = 20; B = 0.1; </code><code>W =[0.5 1 0.5;... </code><code>        1 0 1;...    </code><code>        0.5 1 0.5]; </code><code>M = W; Y = zeros(m,n); F = Y; L = Y; U = Y; E = Y; </code><code>%<strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong> </code><code>% PCNN 点火过程 </code><code>%<strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong><strong>*****</strong> </code><code>for i = 1:30</code><code>    wk = conv2(Y,M,'same');</code><code>    F = exp(-af).* F + vf.* wk + X; </code><code>    L = exp(-al).* L + vl.* wk; </code><code>    U = F.*(1 + B.* L); </code><code>    Y = double(U>E); </code><code>    E = exp(-ae).* E + ve.* Y; </code><code>end</code><code>subplot(223),imshow(Y); </code><code>xlabel('PCNN图像');</code><code>​</code><code>im=imadjust(Y,[],[],1.5); </code><code>​</code><code>bw=im2bw(im); </code><code>subplot(224),imshow(bw); </code><code>xlabel('PCNN图像二值化');</code><code>​</code><code>​</code><code>bw1=bwmorph(bw,'remove');</code><code>bw1 = bwareaopen(bw1,4);</code><code>[L,num]=bwlabel(bw1,8)%计算测量面积内晶粒的个数n </code><code>​</code><code>se=strel('disk',3);%创建圆盘形strel对象 </code><code>bwc=imclose(~bw,se);%对取反后的二值图像进行闭运算 </code><code>bwco=imopen(bwc,se);%对闭运算后的图像进行开运算 </code><code>bwco1=~bwco; </code><code>a=bwarea(bwco)/(bwarea(bwco)+bwarea(bwco1)) %计算第二相所占面积百分比 </code><code>​</code></span></span>

3 仿真结果

4 参考文献

[1]刘勍, 许录平, 马义德, & 王勇. (2010). 基于脉冲耦合神经网络的图像nmi特征提取及检索方法. 自动化学报(7), 8.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


http://chatgpt.dhexx.cn/article/4qPVjtVg.shtml

相关文章

CRCNN PCNN

目录 论文阅读前期准备前期知识储备学习目标 论文导读论文研究背景、成果及意义论文泛读论文结构摘要 论文精读CRCNN模型PCNN模型论文总结 论文阅读前期准备 前期知识储备 学习目标 论文导读 论文研究背景、成果及意义 回顾 Bootstrapping 远程监督 多示例学习 分类损失…

传统PCNN算法python实现

传统耦合神经网络&#xff08;pcnn&#xff09;算法的实现&#xff08;python&#xff09;&#xff1a; 参数的设定没有具体参考&#xff0c;这是一篇文献中的解释&#xff1a; # coding:utf-8 # from PIL import Image from pylab import * from scipy import signal as sg…

关系抽取远程监督PCNN:Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks

Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks 0 前言1 多示例学习2 数据集3 模型架构3.1 向量表示3.2 卷积、分段最大池化与分类3.3 样本选择与损失 5 结语6 参考资料 0 前言 远程监督&#xff08;distant supervision&#xff…

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

前言 看了很多人用matlab写的网络,竟然没有python代码。作为正在研究PCNN模型的一名学生,必须安排。 数学模型 打公式太麻烦,直接从截图啦,全连接模型,如下图1。 python代码 """ Created on Sun Jun 6 16:48:38 2021PCNN全连接 """ impor…

pytorch关系抽取框架OpenNRE源码解读与实践:PCNN ATT

pytorch关系抽取框架OpenNRE源码解读与实践&#xff1a;PCNN ATT 0 前言1 OpenNRE整体架构2 PCNNATT 模型架构2.1 PCNN Encoder2.2 Bag Attention 结语参考资料 0 前言 OpenNRE是清华大学推出的开源关系抽取框架&#xff0c;针对命名实体识别&#xff0c;句子级别的关系抽取&a…

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

本代码转自厦门大学屈小波教授15年的DEMO代码。 % Demo for PCNN in image processing % --------- % Author: Qu Xiao-Bo <qxb_xmu [at] yahoo.com.cn> Aug.28,2008 % Postal address: % Rom 509, Scientific Research Building # 2,Haiyun Campus, Xi…

PCNN探究实验

1.常规PCNN&#xff0c;采用kin的连接权矩阵&#xff0c;并固定参数beta 0.2 alph 0.22 Ve 50 周期为15 初次迭代&#xff0c;图像信息熵最大&#xff0c;但效果不是最好的&#xff0c;在周期临界位置的不同迭代次数有不同的分割效果&#xff0c;第11次迭代效果最好。 因此…

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

基本脉冲耦合神经网络的matlab实现 Gray 首先发现了猫的初生视觉皮层有神经激发相关振荡现象&#xff0c;并将其研究结果发在了 Nature 杂志上。与此同时&#xff0c; Eckhom 也根据猫的大猫皮层的同步脉冲发放现象&#xff0c;提出了脉冲发现的连接模式&#xff0c;将开拓性地…

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

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

PCNN

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

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

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

PCNN 脉冲耦合神经网络整理

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

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

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

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

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

PCNN的知识抽取

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

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

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

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

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

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

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

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

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

NTFS 数据流隐写学习

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