当前位置:网站首页>[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 .
边栏推荐
- Win11不能录制音频怎么办?Win11无法录入声音的解决方法
- 英文字母pc是什么意思,互联网的pc指的是什么
- STC 32位8051单片机开发实例教程 一 开发环境搭建
- What if win11 cannot record audio? Solution of win11 unable to input sound
- Is there a real part-time job online? How do college students find part-time jobs in summer?
- Visdom draws multiple dynamic loss curves
- fastjson中的@JSONField注解
- opencv显示图像
- Mobile power fast charging qc3.0 scheme chip ip5318 fast charging scheme
- SIFT feature point extraction
猜你喜欢

Wechat applet: wechat can also send flash photos to create wechat applet source code download and customize flash time

FS2119A同步升压IC输出3.3V和FS2119B同步升压IC输出5V

Cloud native architecture (04) -cncf

数字藏品火热背后需要强大的技术团队支持 北方技术团队

技术开发团队视角看到的数字藏品机遇与挑战

STM32 clock tree misconfiguration causes boot to enter hard interrupt

Wechat applet: a new interesting test

Alibaba cloud object storage oss+picgo+typera implements the construction map

Differences between fs4059a and fs5080e charging chips

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
随机推荐
Go language - custom error
What does the English letter PC mean? What does the Internet PC mean
Today's sleep quality record 80 points
Win11如何开启移动热点?Win11开启移动热点的方法
Mobile power fast charging qc3.0 scheme chip ip5318 fast charging scheme
MySQL面试真题(二十六)——滴滴2020年笔试题
数字藏品——新的投资机遇
手机无线充电双线圈15W方案SOC英集芯IP6809
A bit of knowledge - folding forging and Damascus steel
Low cost 5W wireless charger scheme fs68001b simple charging chip
Win11不能录制音频怎么办?Win11无法录入声音的解决方法
STC 32比特8051單片機開發實例教程 一 開發環境搭建
高等数学(第七版)同济大学 习题1-9 个人解答
Wechat applet: Star Trek spaceship ticket production and generation
Three implementation methods: left fixed and right adaptive (Flex, float + BFC, float margin left)
SIFT feature point extraction
C primer plus learning notes - 2. Constant and formatted IO (input / output)
Fs2119a Synchronous Boost IC output 3.3V and fs2119b Synchronous Boost IC output 5V
Wechat applet: future wife query generator
About replay attack and defense