实例:Tikhonov 正则化模型用于图片去噪

对于真实图片 和带噪声的图片 (其中 是高斯白噪声)。 Tikhonov 正则化模型为:

其中 , 分别表示 在水平和竖直方向上的向前差分, 为正则化系数。 上述优化问题的目标函数中,第二项要求恢复的 有较好的光滑性,以达到去噪的目的。 注意到上述目标函数是可微的,我们利用结合BB步长和非精确搜索的 的梯度下降对其进行求解。

目录

图片和参数准备

设定随机种子。clear;

seed = 97006855;

ss = RandStream('mt19937ar','Seed',seed);

RandStream.setGlobalStream(ss);

载入未加噪的原图作为参考,记录为 u0 。u = load ('tower.mat');

u = u.B1;

u = double(u);

[m,n] = size(u);

u0 = u;

生成加噪的图片,噪声 的每个元素服从独立的高斯分布 ,并对每个像素进行归一化处理(将像素值转化到[0,1]区间内)。注意到 MATLAB 的 imshow 函数(当第二个参数设定为空矩阵时),能够自动将矩阵中最小的元素对应到黑色,将最大的元素对应为白色。u = u + 20*randn(m,n);

maxu = max(u(:)); minu = min(u(:));

u = (u - minu)/(maxu - minu);

参数设定,以一个结构体提供各参数,分别表示 ,梯度和函数值的停机标准,输出的详细程度,和最大迭代次数。opts = struct();

opts.xtol = 1e-8;

opts.gtol = 1e-6;

opts.ftol = 1e-16;

opts.record = 1;

opts.maxit = 200;

求解正则化优化问题

分别取正则化系数为 ,利用带BB 步长的梯度下降求解对应的优化问题,见 。lambda = 0.5;

fun = @(x) TV(x,u,lambda);

[x1,~,out1] = fminGBB(u,fun,opts);

lambda = 2;

fun = @(x) TV(x,u,lambda);

[x2,~,out2] = fminGBB(u,fun,opts);

结果可视化,将不同正则化系数的去噪结果以图片形式展示。subplot(2,2,1);

imshow(u0,[]);

title('原图')

subplot(2,2,2);

imshow(u,[]);

title('高斯噪声')

subplot(2,2,3);

imshow(x1,[]);

title('\lambda = 0.5')

subplot(2,2,4);

imshow(x2,[]);

title('\lambda = 2')

print(gcf,'-depsc','tv.eps')

Tikhonov 正则化模型的目标函数值和梯度计算

该无约束优化问题的目标函数为:

function [f,g] = TV(x,y,lambda)

% $y, \lambda$ 分别表示带噪声图片和正则化参数, |f| , |g| 表示在 |x| 点处的目标函数值和梯度。

%

% 第一项 $\frac{1}{2}\|x-y\|_F^2$ 用于控制去噪后的图片 $x$和带噪声的图片 $y$之间的距离。

f = .5*norm(x - y, 'fro')^2;

计算两个方向上的离散差分, , 。[m,n] = size(y);

dx = zeros(m,n); dy = zeros(m,n); d2x = zeros(m,n);

for i = 1:m

for j = 1:n

ip1 = min(i+1,m); jp1 = min(j+1,n);

im1 = max(i-1,1); jm1 = max(j-1,1);

dx(i,j) = x(ip1,j) - x(i,j);

dy(i,j) = x(i,jp1) - x(i,j);

离散的拉普拉斯算子 d2x : 。d2x(i,j) = x(ip1,j) + x(im1,j) + x(i,jp1) + x(i,jm1) - 4*x(i,j);

end

end

计算目标函数的第二项(Tikhonov 正则化)并与第一项合并得到当前点处的目标函数值。f = f + lambda * (norm(dx,'fro')^2 + norm(dy,'fro')^2);

目标函数的梯度可以解析地写出:

g = x - y - 2*lambda*d2x;

end----------- fminBB -----------

Iter tau f(X) nrmG XDiff FDiff ls-Iter

1 1.00e-03 2.629222e+03 1.45e+02 5.95e-03 8.00e-03 1

2 1.51e-01 9.175358e+02 4.11e+01 8.91e-01 6.51e-01 1

3 1.64e-01 7.462106e+02 1.84e+01 2.75e-01 1.87e-01 1

4 1.72e-01 7.065740e+02 1.01e+01 1.29e-01 5.30e-02 1

5 2.69e-01 6.907343e+02 6.47e+00 1.11e-01 2.24e-02 1

6 2.07e-01 6.873219e+02 4.80e+00 5.47e-02 4.93e-03 1

7 1.71e-01 6.855923e+02 2.75e+00 3.34e-02 2.51e-03 1

8 1.22e-01 6.849654e+02 1.56e+00 1.37e-02 9.13e-04 1

9 1.90e-01 6.845722e+02 1.11e+00 1.21e-02 5.73e-04 1

10 5.10e-01 6.841900e+02 4.77e-01 2.31e-02 5.57e-04 1

11 6.50e-01 6.843040e+02 1.69e+00 1.27e-02 1.66e-04 1

12 1.24e-01 6.841453e+02 1.81e-01 8.52e-03 2.32e-04 1

13 1.13e-01 6.841432e+02 5.07e-02 8.32e-04 2.93e-06 1

14 1.14e-01 6.841430e+02 4.34e-02 2.35e-04 3.96e-07 1

15 7.89e-01 6.841422e+02 1.17e-02 1.40e-03 1.13e-06 1

16 7.62e-01 6.841422e+02 1.12e-02 3.65e-04 1.64e-08 1

17 4.27e-01 6.841422e+02 4.78e-03 1.94e-04 3.00e-08 1

18 3.20e-01 6.841422e+02 7.08e-03 6.24e-05 1.23e-09 1

19 1.43e-01 6.841422e+02 1.85e-03 4.14e-05 3.98e-09 1

20 1.15e-01 6.841422e+02 2.94e-04 8.64e-06 2.88e-10 1

21 1.16e-01 6.841422e+02 2.48e-04 1.39e-06 1.33e-11 1

22 3.12e-01 6.841422e+02 1.63e-04 3.16e-06 2.30e-11 1

23 8.69e-01 6.841422e+02 4.40e-05 5.76e-06 1.80e-11 1

24 8.68e-01 6.841422e+02 2.26e-04 1.56e-06 4.33e-12 1

25 1.57e-01 6.841422e+02 7.42e-05 1.45e-06 4.21e-12 1

26 1.21e-01 6.841422e+02 1.10e-05 3.65e-07 4.72e-13 1

27 1.18e-01 6.841422e+02 5.44e-06 5.26e-08 1.44e-14 1

28 1.58e-01 6.841422e+02 2.77e-06 3.51e-08 4.98e-15 1

29 3.05e-01 6.841422e+02 9.32e-07 3.45e-08 1.99e-15 1

----------- fminBB -----------

Iter tau f(X) nrmG XDiff FDiff ls-Iter

1 1.00e-03 1.026495e+04 5.71e+02 2.38e-02 3.18e-02 1

2 4.19e-02 2.703994e+03 1.83e+02 9.77e-01 7.37e-01 1

3 4.69e-02 1.686197e+03 9.35e+01 3.51e-01 3.76e-01 1

4 4.92e-02 1.377296e+03 5.89e+01 1.88e-01 1.83e-01 1

5 8.74e-02 1.192642e+03 4.67e+01 2.10e-01 1.34e-01 1

6 5.73e-02 1.140369e+03 3.76e+01 1.09e-01 4.38e-02 1

7 4.92e-02 1.106747e+03 2.57e+01 7.54e-02 2.95e-02 1

8 3.31e-02 1.090588e+03 1.73e+01 3.47e-02 1.46e-02 1

9 6.35e-02 1.073568e+03 1.40e+01 4.48e-02 1.56e-02 1

10 1.99e-01 1.046828e+03 9.63e+00 1.13e-01 2.49e-02 1

11 3.21e-01 1.100469e+03 6.46e+01 1.26e-01 5.12e-02 1

12 3.26e-02 1.036404e+03 4.77e+00 8.59e-02 5.82e-02 1

13 3.08e-02 1.035957e+03 2.45e+00 5.99e-03 4.31e-04 1

14 3.13e-02 1.035775e+03 2.30e+00 3.13e-03 1.75e-04 1

15 5.25e-01 1.034289e+03 1.39e+00 4.94e-02 1.43e-03 1

16 3.98e-01 1.034501e+03 2.67e+00 2.26e-02 2.05e-04 1

17 1.56e-01 1.034173e+03 2.23e+00 1.70e-02 3.17e-04 1

18 8.73e-02 1.034226e+03 3.13e+00 7.95e-03 5.09e-05 1

19 3.89e-02 1.034060e+03 5.86e-01 4.96e-03 1.60e-04 1

20 3.39e-02 1.034054e+03 2.25e-01 8.11e-04 6.05e-06 1

21 3.67e-02 1.034052e+03 2.01e-01 3.37e-04 1.66e-06 1

22 5.22e-02 1.034050e+03 1.83e-01 4.27e-04 1.93e-06 1

23 5.19e-01 1.034040e+03 1.89e-01 3.86e-03 1.02e-05 1

24 2.48e-01 1.034053e+03 9.94e-01 1.91e-03 1.30e-05 1

25 4.91e-02 1.034043e+03 6.13e-01 1.99e-03 9.47e-06 1

26 3.05e-02 1.034038e+03 6.78e-02 7.62e-04 5.60e-06 1

27 3.08e-02 1.034038e+03 5.74e-02 8.52e-05 1.26e-07 1

28 1.24e-01 1.034037e+03 3.79e-02 2.91e-04 2.93e-07 1

29 2.39e-01 1.034037e+03 2.80e-02 3.69e-04 2.82e-07 1

30 4.92e-01 1.034037e+03 3.50e-02 5.62e-04 2.21e-07 1

31 6.05e-01 1.034039e+03 3.63e-01 8.63e-04 2.69e-06 1

32 4.59e-02 1.034037e+03 1.54e-01 6.79e-04 2.29e-06 1

33 3.77e-02 1.034037e+03 4.97e-02 2.36e-04 4.17e-07 1

34 3.33e-02 1.034037e+03 2.53e-02 6.76e-05 5.49e-08 1

35 5.37e-02 1.034037e+03 1.11e-02 5.55e-05 2.33e-08 1

36 8.19e-02 1.034037e+03 5.12e-03 3.71e-05 5.67e-09 1

37 9.77e-02 1.034037e+03 8.37e-03 2.04e-05 2.64e-10 1

38 3.33e-02 1.034037e+03 2.60e-03 1.14e-05 1.13e-09 1

39 3.34e-02 1.034037e+03 2.39e-03 3.55e-06 2.04e-10 1

40 4.07e-02 1.034037e+03 2.27e-03 3.96e-06 2.18e-10 1

41 8.42e-01 1.034037e+03 1.01e-03 7.81e-05 2.19e-09 1

42 7.26e-01 1.034037e+03 1.70e-02 2.98e-05 4.70e-09 1

43 4.77e-02 1.034037e+03 9.71e-03 3.31e-05 3.19e-09 1

44 3.06e-02 1.034037e+03 1.46e-03 1.21e-05 1.42e-09 1

45 3.13e-02 1.034037e+03 1.08e-03 1.87e-06 5.61e-11 1

46 1.10e-01 1.034037e+03 2.20e-04 4.85e-06 6.90e-11 1

47 1.24e-01 1.034037e+03 9.48e-05 1.11e-06 2.73e-12 1

48 1.01e-01 1.034037e+03 6.96e-05 3.89e-07 2.97e-13 1

49 7.62e-02 1.034037e+03 8.56e-05 2.16e-07 3.25e-14 1

50 3.34e-02 1.034037e+03 2.35e-05 1.17e-07 1.16e-13 1

51 3.26e-02 1.034037e+03 2.10e-05 3.13e-08 1.58e-14 1

52 3.88e-02 1.034037e+03 1.99e-05 3.32e-08 1.63e-14 1

53 7.31e-01 1.034037e+03 1.41e-05 5.94e-07 1.53e-13 1

54 5.04e-01 1.034037e+03 7.10e-05 2.90e-07 9.95e-14 1

55 1.24e-01 1.034037e+03 1.97e-04 3.60e-07 4.57e-13 1

56 3.18e-02 1.034037e+03 1.43e-05 2.56e-07 5.71e-13 1

57 3.05e-02 1.034037e+03 6.92e-06 1.78e-08 4.17e-15 1

58 3.75e-02 1.034037e+03 4.43e-06 1.06e-08 1.32e-15 1

59 9.71e-02 1.034037e+03 2.37e-06 1.76e-08 1.32e-15 1

60 9.63e-02 1.034037e+03 1.60e-06 9.32e-09 2.20e-16 1

61 1.92e-01 1.034037e+03 1.36e-06 1.25e-08 6.59e-16 1

62 1.28e-01 1.034037e+03 1.53e-06 7.12e-09 0.00e+00 1

结果分析

首先针对图片去噪的效果进行分析。我们发现利用 Tikhonov 正则化模型可以有效地去除图片中的噪声。 当正则化系数 增大时,去噪的效果逐渐增强,但是图片中的物体边界也逐渐模糊。

同时我们也对带BB 步长的梯度下降法在其中的表现进行分析:在这两个问题中 BB 步长的梯度下降法都以非常迅速地速度收敛到了最优值。当最终收敛时,我们看到梯度的范数 nrmG 已经很小,这表明算法有较好的收敛性。同时注意到,虽然我们采用了回退法的线搜索方法, 但是在上面的应用中 BB 步长总是自然地满足了线搜索准则的要求,因此没有进行额外的步长衰减 (每一步的步长试探次数 ls-Iter 均为1)。

参考页面

在此页面中我们利用梯度法求解模型,算法详见 带BB步长线搜索的梯度法 。

版权声明

此页面为《最优化:建模、算法与理论》、《最优化计算方法》配套代码。 代码作者:文再文、刘浩洋、户将,代码整理与页面制作:杨昊桐。

著作权所有 (C) 2020 文再文、刘浩洋、户将

tv正则化的泊松去噪模型matlab,实例:Tikhonov 正则化模型用于图片去噪相关推荐

  1. Tikhonov 正则化模型用于图片去噪_matlab

    Tikhonov 正则化模型用于图片去噪 非精确线搜索(Zhang & Hager)的 BB 步长梯度下降法 考虑无约束优化问题: 初始化和迭代准备 非精确线搜索(Zhang & Ha ...

  2. TensorFlow Lite 开发手册(5)——TensorFlow Lite模型使用实例(分类模型)

    TensorFlow Lite 开发手册(5)--TensorFlow Lite模型使用实例(分类模型) (一)新建CLion工程 (二)编写Cmakelist (三)编写main.cpp (四)下载 ...

  3. SIR传染模型Matlab代码,sir传染病模型 MATLAB代码运行不了,

    问题描述: sir传染病模型 MATLAB代码运行不了, function y=ill(t,x) a=1;b=0.3; y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'; ts ...

  4. 基于matlab的语音信号去噪毕业论文,MATLAB的FIR数字滤波器语音信号的去噪研究和仿真...

    摘要:语音信号作为人类语言交流的重要手段,语音处理的质量直接影响人们的正常通信.本文基于MATLAB对语音信号及加噪信号进行时域和频域分析,设计了FIR数字滤波器,完成对加噪信号滤波的处理.结果表明设 ...

  5. 通信原理 | 信道模型 | matlab中瑞利衰落信道模型中的函数:raylrnd、raylpdf、raylcdf、raylinv、raylstat、raylfit

    matlab中瑞利衰落信道模型中的函数 1 matlab中的raylrnd(瑞利随机数) 2 matlab中的raylpdf(瑞利概率密度函数) 3 matlab中的raylcdf(瑞利累积分布函数) ...

  6. 建立一元线性回归模型|Matlab实例分析

    1.收集到港澳台近15年的数据(表格1),数据来源具体来源:http://data.stats.gov.cn/easyquery.htm?cn=E0110 表格 1 时间 香港 澳门 2000年 66 ...

  7. 食饵-捕食者模型matlab,食饵-捕食者模型解读.ppt

    * 7.5 食饵-捕食者模型(种群的弱肉强食) 种群甲靠丰富的天然资源生存,种群乙靠 捕食甲为生,形成食饵-捕食者系统,如 食用鱼和鲨鱼,美洲兔和山猫,害虫和益虫. 模型的历史背景--一次世界大战期间 ...

  8. 面板门限模型Matlab,空间面板门槛模型操作及应用

    原标题:空间面板门槛模型操作及应用 一.空间面板门槛模型简介 二.空间面板门槛操作应用 来源:https://spatial-panels.com/software/ 空间面板门槛模型的Matlab操 ...

  9. 三折线弹塑性滞回模型matlab,动力弹塑性滞回模型-迈达斯汇总.doc

    9-1 概要 非线性抗震分析方法可分为非线性静力分析方法和非线性动力分析方法.其中非线性静力分析方法(静力弹塑性分析)因其理论概念易于理解.计算效率高.整理结果较为容易等原因为设计人员所广泛使用.但是 ...

最新文章

  1. ELK不香了?企业级日志平台后起之秀 Graylog
  2. 应用程序进程(二):启动线程池
  3. CentOS 7.4下Redis及集群的安装及配置
  4. 管理组、路由组、用户邮箱,数据库他们之间的关系和区别
  5. Linux server配置安装Java,Tomcat服务器
  6. 2017计算机软件,2017年计算机防病毒软件排名全面保护PC安全!
  7. 简单分析@Configuration
  8. Aptana Studio 3 如何汉化,实现简体中文版
  9. idea生成类注释和方法注释的方法
  10. python︱写markdown一样写网页,代码快速生成web工具:streamlit 缓存(五)
  11. 6月29 Electron的第一课
  12. 7,Matlab实现末端轨迹跟踪
  13. Python中main函数
  14. APT 攻击溯源方法
  15. uWSGI和Gunicorn
  16. Spring 定时器时间设置规则
  17. 三菱FX3Uplc控制的三轴程序通用编程,程序带有注解,有原点回归,机器手加减速设置
  18. UOS怎么改hyper-v虚拟机分辨率
  19. UEFI 基础教程 (一) - 基于QEMU搭建UEFI开发环境(win/linux)
  20. PicPick滚屏截图

热门文章

  1. 英文版mysql导入导出_mysql命令行导出,导入数据库
  2. js 复制文字和图片到剪贴板
  3. 当你购买NFT时是否购买了原始内容的版权
  4. NFS介绍及服务器搭建
  5. 电容检测在液位探测技术中的应用
  6. 在模具制造领域的25个常见问题解答
  7. MyBatis原理及搭建教程
  8. (项目实战)基于QT嵌入式ARM数据采集卡上位机(二)——页面布局
  9. 中国移动应微笑着亮剑3G时代
  10. 程序猿笑话,放松一下