• 【Tikhonov】基于Tikhonov正则化的图像超分辨率重建


    1.软件版本

    matlab2013b

    2.系统原理

           对于图像超分辨率重建的问题,常常涉及到大规模的方程组求解,且方程的维数往往很大。所以正则化方法的求解算法中常用到迭代算法。这里主要说明一下以迭代Tikhonov正则化方法为例,该方法是利用正则参数的某些先验性质,同时对精确解施加光滑性的条件,按照后验选择策略从而改进收敛速度并决定正则参数。

    首先进行收敛性分析。直接得到复原结果

     但是由于逆矩阵的求解十分复杂,本文采用迭代下降算法求解复原图像,迭代过程满足

     对式(2)两边取范数得

     根据矩阵谱范数的定义, 式(3)可写成

     式(4)中, 表示矩阵最大特征值。根据三角形不等式得

     将式(5)代入式(4)式得

     因此,α满足条件α<1时算法收敛,才能实现对全局最优解的搜索。

    综上所述,α应满足关系式0<α<1才能保证复原结果为全局最优解。

    论文研究过程中采用空间域迭代的方法进行计算,则图像复原的正则化泛函的迭代格式为:

    3.部分源码

    1. function [object,yy,err,Iter_Max]=func_Tikhonov(I1);
    2. Images = I1;
    3. Fact_cos_sin = func_cos_sin(Images);
    4. H = func_fuzzy_gauss(I1,1);
    5. %参数初始化
    6. Iter_Max = 30;
    7. [Rs,Cs,Ks] = size(Images);
    8. fft_operator = fft2([0,-1,0;-1,4,-1;0,-1,0],Rs,Cs);
    9. fft_images = fft2(Images,Rs,Cs);
    10. fft_nimages = fft2(I1,Rs,Cs);
    11. FFT_H = fft2(H,Rs,Cs);
    12. FFT_H = FFT_H.*Fact_cos_sin;
    13. CONJ_FFT_H = conj(FFT_H);
    14. det_FFT_H = abs(FFT_H);
    15. det_FFT_p = abs(fft_operator);
    16. I2 = I1;
    17. Y = I1;
    18. mark = 0;
    19. %迭代过程
    20. for k=1:Iter_Max
    21. % 求正则化参数 AL
    22. A = H;
    23. B = imfilter(Y,[0,-1,0;-1,4,-1;0,-1,0],'replicate');
    24. N = imfilter(I2,A,'replicate');
    25. a1 = norm((double(Y)-double(N)),2).^2;
    26. a2 = norm(double(Y),2).^2;
    27. AL = log(a1/a2/1e2+1);
    28. FFT_X1 = fft2(I2,Rs,Cs);
    29. FFT_X1_t = CONJ_FFT_H.*FFT_X1;
    30. FFT_object = FFT_X1_t+CONJ_FFT_H.*fft_images-FFT_X1_t.*(det_FFT_H.^2+AL*det_FFT_p.^2);
    31. object = abs(ifft2(FFT_object));
    32. object_max = max(max(object)); %标定
    33. object_min = min(min(object));
    34. object =(object-object_min)*255/(object_max-object_min);
    35. object = uint8(object);
    36. I3 = object;
    37. t = I2;
    38. I2 = I3;
    39. diff =(norm(double(I3)-double(t),2).^2)/((norm(double(t),2)).^2);
    40. yy(k) = AL;
    41. err(k) = diff;
    42. end

    4.仿真结论

    这个部分的仿真效果如下所示:

     A05-19

  • 相关阅读:
    数据库慢查询介绍并优化
    XMLHttpRequest-原生Ajax写法
    软考 - 数据结构与算法
    Python平板电脑数据分析-课程大作业-部分源码
    MySQL进阶篇4——锁+InnoDB引擎+MySQL管理
    关于实时更新的热点数据,高QPS场景的缓存建议(Redis)
    基于蝴蝶优化的BP神经网络(分类应用) - 附代码
    LabVIEW步进电机的串口控制方法与实现
    庖丁解牛:NIO核心概念与机制详解 05 _ 文件锁定
    ActiveMQ如何处理重复消息?如何保证消息的有序性?如何处理消息堆积?
  • 原文地址:https://blog.csdn.net/ccsss22/article/details/125547917