【图像检测】基于深度差分和PCANet实现SAR图像变化检测附matlab代码

这篇博客介绍了DPPCANet,一种针对不平衡多时相合成孔径雷达图像变化检测的鲁棒深度学习模型。它包括生成差异图、并行FCM聚类获取伪标签和基于PCANet+SVM的过采样欠采样策略。通过Gabor特征提取、聚类和分类模型,实现图像变化的准确检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 简介

DPPCANet是一种鲁棒的深度学习方法,用于不平衡多时相合成孔径雷达图像的变化检测,主要包括1)生成差异图;2)并行FCM聚类,提供训练样本伪标签;3)基于采样PCANet+SVM模型构建过采样和欠采样像素分类。

2 部分代码

% notice:% The training samples are randomly generated, so the results are slightly different% clear;% clc;% close all;addpath('./utils');addpath('./liblinear');pool_size = 3;w = 7;b = 0.16;T_num = 11;% Import Dataim1   = imread('./pic/B1.tif');im2   = imread('./pic/B2.tif');im_gt = imread('./pic/BGT.tif');im1   = double(im1(:,:,1));  im2   = double(im2(:,:,1)); im_gt = double(im_gt(:,:,1));% Compute the deep difference imagefprintf('... ... compute the deep difference image ... ...\n');im1 = WP(im1,pool_size);im2 = WP(im2,pool_size);DI_or = di_gen(im1,im2);                      % Calculate log-ratio imageDDI = Normalized(CWP(DI_or,T_num));           % Calculate deep different image[DDIMAP1,DDIMAP2]=DDIMAP(DI_or,T_num,w,b);    % Computing mapped DDI% Gabor feature extractionfprintf('... ... Gabor feature extraction... ...\n');[f1_all,fea_1] = Gabor_fea(DDIMAP1);[f2_all,fea_2] = Gabor_fea(DDIMAP2);%Parallel FCM clusteringfprintf('... ... parallelclustering begin ... ...\n');im_lab = parallelclustering(fea_1,DDIMAP1,fea_2,DDIMAP2);% Clustering results are saved in im_lab% Changed pixels as 1% Unchanged pixels is marked as 0% Classification modelPatSize = 5;  % PatSize must be oddim_lab = 1-im_lab;% PCANet PCANet_SVM_train;PCANet_SVM_test;[Ylen, Xlen] = size(im_gt);% DenoisingPreRes = reshape(PreRes, Ylen, Xlen);[lab_pre,num] = bwlabel(~PreRes);for i = 1:num    idx = find(lab_pre==i);    if numel(idx) <= 20        lab_pre(idx)=0;    endend%Save resultslab_pre = lab_pre>0;res = uint8(lab_pre)*255;pic = res;[TP,TN,FP,FN,MC,MU,FPR,FNR,OER,PCC,Kappa] = PE(res,im_gt);list = [TP,TN,FP,FN,MC,MU,FPR,FNR,OER,PCC,Kappa];imwrite(pic, 'changemap.png');save('result.mat','list');figureim1   = imread('./pic/B1.tif');im2   = imread('./pic/B2.tif');subplot(131);imshow(im1);title('图1')subplot(132);imshow(im2);title('图2')subplot(133);imshow(pic);title('检测图')

3 仿真结果

4 参考文献

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值