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

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

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代码问题可私信交流。

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


相关文章
|
1天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
1天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
1天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
1天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
1天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
1天前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
1天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
1天前
|
算法 调度 SoC
电动汽车充放电V2G模型(Matlab代码)
电动汽车充放电V2G模型(Matlab代码)

热门文章

最新文章