当前位置:网站首页>[image fusion] sparse regularization based on non convex penalty to realize image fusion with matlab code
[image fusion] sparse regularization based on non convex penalty to realize image fusion with matlab code
2022-06-23 05:45:00 【Matlab scientific research studio】
1 brief introduction
The L1 norm regularized least squares method is often used for finding sparse approximate solutions and is widely used in 1-D signal restoration. Basis pursuit denoising (BPD) performs noise reduction in this way. However, the shortcoming of using L1 norm regularization is the underestimation of the true solution. Recently, a class of non-convex penalties have been proposed to improve this situation. This kind of penalty function is non-convex itself, but preserves the convexity property of the whole cost function. This approach has been confirmed to offer good performance in 1-D signal denoising. This paper demonstrates the aforementioned method to 2-D signals (images) and applies it to multisensor image fusion. The problem is posed as an inverse one and a corresponding cost function is judiciously designed to include two data attachment terms. The whole cost function is proved to be convex upon suitably choosing the non-convex penalty, so that the cost function minimization can be tackled by convex optimization approaches, which comprise simple computations. The performance of the proposed method is benchmarked against a number of state-of-the-art image fusion techniques and superior performance is demonstrated both visually and in terms of various assessment measures.
2 Part of the code
%Code of image fusion with GMC regularization.getd = @(p)path(p,path);getd('Metrics/');addpath('./utilities');resultDir = '';seq = 'clocks';%original image dataz2colour = [];if strcmp(seq, 'clocks')z1 = im2double(imread('clock_A.bmp'));z2 = im2double(imread('clock_B.bmp'));elseif strcmp(seq,'Bild2')commondir = '/Users/eexna/Work/Ultrasound imaging/Fusion/data/bild/';z1 = im2double(imread([commondir,'Bild2_ir_wh.bmp']));z2 = im2double(imread([commondir,'Bild2_tv.bmp']));z2 = rgb2ycbcr(z2);z2colour = z2;elseif strcmp(seq, 'quad')commondir = '/Users/eexna/Work/Ultrasound imaging/Fusion/data/junction/';z1 = im2double(imread([commondir,'quad_TV_bw_user7_im3.jpg']));z2 = im2double(imread([commondir,'quad_IR_user4_im5.jpg']));elseif strcmp(seq, 'Octec')commondir = '/Users/eexna/Work/Ultrasound imaging/Fusion/data/Octec/';z1 = im2double(imread([commondir,'Octec_IR_22.jpg']));z2 = im2double(imread([commondir,'Octec_TV_22.jpg']));z2 = rgb2ycbcr(z2);z2colour = z2;elseif strcmp(seq, 'slika')z1 = im2double(imread('/Users/eexna/Downloads/TestingImageDataset/testna_slika2a.bmp'));z2 = im2double(imread('/Users/eexna/Downloads/TestingImageDataset/testna_slika2b.bmp'));z1 = imresize(z1, [256 256]*2);z2 = imresize(z2, [256 256]*2);endz2 = z2(:,:,1);z1 = z1(:,:,1);A = uint8(z1*255);B = uint8(z2*255);curreseultDir = [resultDir, seq,'/'];mkdir(curreseultDir);% z1 = imresize(z1, [512 512]);% z2 = imresize(z2, [512 512]);% z1 = im2double(imread('./original image data/ct.jpg'));% z1=[z1,zeros(159,1)];% z1=[z1;zeros(1,160)];% z2 = im2double(imread('./original image data/mri.jpg'));% z2=[z2,zeros(159,1)];% z2=[z2;zeros(1,160)];% z1 = imread('./original image data/011_CT_1.bmp');% z2 = imread('./original image data/011_T2.bmp');% z1= rgb2gray(z1);% z2= rgb2gray(z2);% z1=im2double(z1);% z2=im2double(z2);% z1 = im2double(imread('./original image data/1_1_f.tif'));% z1=z1(1:600,1:600);% z2 = imread('./original image data/1_1_o.tif');% z2= rgb2gray(z2);% z2=im2double(z2);% z2=z2(1:600,1:600);% Two sensor gain estimation methods% [recovbete1 recovbete2] = correctsensor(z1, z2);[recovbete1, recovbete2] = SensorGain(z1, z2);% Wavelet and inverse wavelet transformlevels = 4;[a,L] = wavedec2(z1,levels,'Haar');Wt = @(x) wavedec2(x,levels,'Haar');Wtt = @(x) waverec2(x,L,'Haar');%Parameter settingfor lam=0.005 % [ 0.001 0.01 0.05]tic;rho=1;gam=0.8;miu=1.9 / ( rho * max( 1, gam / (1-gam) ) );alp=lam*miu;thk=zeros(1,size(a,2));v=zeros(1,size(a,2));%main GMC regularization algorithmitrs=25;for j=1:itrsw=thk-miu*(Wt(recovbete2.*(recovbete2.*Wtt(thk)-z1))+Wt(recovbete1.*(recovbete1.*Wtt(thk)-z2))+gam*Wt(Wtt(v-thk)));u=v-miu*gam*Wt(Wtt(v-thk));thk=(max(abs(w)-alp,0)).*sign(w);% normalisextemp = Wtt(thk);xtemp = (xtemp-min(xtemp(:)))/range(xtemp(:));thk = Wt(xtemp);v=(max(abs(u)-alp,0)).*sign(u);endfinal=Wtt(thk);final = final/max(final(:));%*(0.5*(max(z1(:))+max(z2(:))));tocfinal_old = (final-min(final(:)))/range(final(:));peval = imqmet(cat(3, A, B), uint8(255*final_old));cvval = Cvejic_metric(cat(3, A, B),uint8(255*final_old));pvtrovic = petmetric(cat(3, A, B), uint8(255*final_old));disp(num2str([peval cvval pvtrovic]))peval = imqmet(cat(3, A, B), uint8(255*final));cvval = Cvejic_metric(cat(3, A, B),uint8(255*final));pvtrovic = petmetric(cat(3, A, B), uint8(255*final));disp(num2str([peval cvval pvtrovic]))if ~isempty(z2colour)final_old(:,:,2:3) = z2colour(:,:,2:3);final_old = ycbcr2rgb(final_old);endimwrite(final_old,[curreseultDir, seq, 'lam',num2str(lam),'.png']);final_old = final;endfiguresubplot(131)imshow(z1);title(' chart 1')subplot(132)imshow(z2);;title(' chart 2')subplot(133)imshow(final_old);;title(' Fusion map ')
3 Simulation results

4 reference
[1] Meijinjin . Research on image restoration and fusion based on regularization method [D]. University of electronic technology , 2017.
[2] Anantrasirichai N , Zheng R , Selesnick I , et al. Image Fusion via Sparse Regularization with Non-Convex Penalties[J]. 2019.
About bloggers : Good at intelligent optimization algorithms 、 Neural networks predict 、 signal processing 、 Cellular automata 、 The image processing 、 Path planning 、 UAV and other fields Matlab Simulation , relevant matlab Code problems can be exchanged by private letter .
Some theories cite network literature , If there is infringement, contact the blogger to delete .
边栏推荐
- Meteorological mapping software panoply tutorial (updated from time to time)
- Pkav simple blasting
- AI艺术的基因工程?使用 #Artbreeder 改变图像的任意形态
- Jvm: when a method is overloaded, the specific method to call is determined by the static type of the incoming parameter rather than the actual type of the parameter
- STC 32-bit 8051 MCU development example tutorial I development environment construction
- How to move the software downloaded from win11 app store to the desktop
- Heimdall Database Proxy横向扩展提高20倍
- MySQL面试真题(二十七)——RFM分析法对用户进行分类
- Win11如何开启移动热点?Win11开启移动热点的方法
- Real MySQL interview question (XXVIII) -- case - Analysis of indicators of communication operators
猜你喜欢

Fs2119a Synchronous Boost IC output 3.3V and fs2119b Synchronous Boost IC output 5V

MySQL面试真题(二十七)——RFM分析法对用户进行分类

visdom的使用
![[opencv450] inter frame difference method](/img/ad/c8a56e27d78cea581deb1874620613.png)
[opencv450] inter frame difference method

C prime plus notes d'apprentissage - 2, constantes et formatage io (I / o)

read 文件一个字节实际会发生多大的磁盘IO?

jvm: 方法重载时,具体调用哪个方法,是由传入参数的静态类型来决定的,而不是由参数的实际类型来决定

AI艺术的基因工程?使用 #Artbreeder 改变图像的任意形态

Arctime makes Chinese and English subtitle video

Leetcode 797: all possible paths
随机推荐
sprintf 格式代码使用不规范在不同平台下的表现
Implementation of MySQL custom sequence number
Cloud native architecture (04) -cncf
Win software - (net framework) processed the certificate chain but terminated in a root certificate that is not trusted by the trusted provider
2022年中国重卡智能化升级专题研究
The road of architects starts from "storage selection"
Yingjixin ip6806 wireless charging scheme 5W Qi certified peripheral simplified 14 devices
[opencv450] inter frame difference method
June 22, 2022: golang multiple choice question, what does the following golang code output? A:3; B:1; C:4; D: Compilation failed. package main import ( “fmt“ ) func mai
Arctime makes Chinese and English subtitle video
Meteorological mapping software panoply tutorial (updated from time to time)
How to move the software downloaded from win11 app store to the desktop
Go language - custom error
Raspberry pie assert preliminary exercise
英集芯推出4串锂电池100W移动电源升降压方案SoC芯片IP5389
When I was young, I thought my father was omnipotent
Today's sleep quality record 80 points
MySQL面试真题(二十八)——案例-通讯运营商指标分析
Real MySQL interview question (XXVIII) -- case - Analysis of indicators of communication operators
IP6809三线圈15W无线充电发射端方案ic英集芯