1 内容介绍
为了降低脉冲耦合神经网络(pulse coupled neural network,PCNN)参数设置的复杂度,提出了一种利用哈里斯鹰优化算法(Harris Hawk optimization algorithm,HHO)搜索PCNN参数的图像自动分割方法.一方面,在不影响分割效果的情况下,减少了PCNN的参数个数;另一方面,HHO算法具有收敛速度快,全局搜索能力强的特点,能够快速,准确地搜索到PCNN相应参数.引入图像熵作为适应度函数,选取脑部MRI图像进行实验,通过精度,召回率和dice,比较了HHO结合PCNN与几种不同搜索机制的优化算法结合PCNN的分割性能,仿真实验结果表明,提出的方法有较高的分割精度和较强的鲁棒性,具有较高的工程实用价值.
2 部分代码
clc
clear all
close all
% 功能:采用PCNN算法进行边缘检测
% 输入:X—输入的灰度图像
% 输出:Edge—检测到的 Numberofaera—表明了在各次迭代时激活的块区域
X=imread('rice.png');
figure(1);
imshow(X);
X=double(X);
% 设定权值
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;%为图像中第(i,j)个神经元与其邻域神经元的连接系数,也将神经元(i,j)称为中心神经元
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:b
% if(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;
% end
% end
% end
% figure(2);
% imshow(Out);
%%%%%%%%%%%%%%%%%%%
(i,j)个神经元的输出,公式2-11
else
T(i0-1,i1-1)=0;
Y(i0-1,i1-1)=0;%为图像中第(i,j)个神经元的输出,公式2-11
end
end
end
Threshold=exp(-Decay)*Threshold+V_T*Y;%公式2-10
%被激活过的像素不再参与迭代过程
if n==1
S=zeros(a+2,b+2);
else
S=Bianhuan(T);
end
n=n+1;
Firate=Firate+Y;
figure(3);
imshow(Y);
Tempu2=Bianhuan(Tempu1);
end
Firate(find(Firate<10))=0;
figure(4);
imshow(Firate,[]);
3 运行结果
4 参考文献
[1]贾鹤鸣, 康立飞, 孙康健,等. 哈里斯鹰算法优化脉冲耦合神经网络的图像自动分割[J]. 应用科技, 2019, 46(4):6.