最近新开了一个课题
采用的是全变分思想,进行图像的去噪和去模糊
简单记录一下学习过程
一、一维变分法
1、从最短路径到变分求解
变分:函数自身发生的微小变化,跟自变量x没有关系
2、泛函关系
接上文
3、欧拉--拉格朗日方程
4、求解最短路径
5、最速下降法
二、二维变分
1、二维泛函
2、高维函数的欧拉-拉格朗日方程
当函数的自变量为高维的时候,欧拉-拉格朗日方程
三、全变分
1、总变差
1.1 数学解释
总变差为一函数其数值变化的总和。可表示为其微分后取绝对值再积分的结果。
2、一维和二维总变差去噪
3、图像解释
总变差(Total Variation, TV)是一种用于描述图像、信号或其他数据的变化程度的概念
总变差的计算基于数据的梯度。
- 对于一维信号,总变差定义为信号的相邻元素之间的差值的绝对值之和。
- 对于二维图像,总变差定义为图像的梯度的绝对值之和
四、全变分去噪和去模糊的比较
1、去噪
2、去模糊
具体见图像去模糊
一种变形方法
基于变分极端通道先验盲去模糊
五、全变分去噪具体算法和代码
1、全变分去噪
全变分损失(Total Variation Loss)源自于图像处理中的全变分去噪(Total Variation Denoising),全变分去噪的优点是既能去除噪声,又能保留图像中的边界等信息。
而其他简单的去噪方法,如线性平滑或中值滤波,在去噪的同时会平滑图像中的边界等信息,损害图像所表达的信息。
2、基本思想
全变分去噪的基本思想是,如果图像的细节有很多高频信息(如尖刺、噪点等),那么整幅图像的梯度幅值之和(全变分)是比较大的,如果能够使整幅图像的梯度积分之和降低,就达到了去噪的目的。
与之前的高斯、均值滤波等各向同性模型不同,全变分模型是一个依靠梯度下降法对图像进行平滑的各向异性的模型,希望在图像内部尽可能对图像进行平滑(相邻像素的差值较小),而在图像边缘(图像轮廓)尽可能不去平滑
与以往的去噪/滤波算法不同,TV算法是一种图像复原算法,它是将干净的图像从噪声图像中复原出来,通过建立噪声模型,采用最优化算法求解模块,并通过不断迭代的过程,使得复原出的图像无限逼近理想去噪后的图像。与深度学习十分类似,噪声模型类比于损失函数,通过不断训练,使得两者的差距越来越接近,同样需要梯度下降法快速得到最优解
3、 简单理解
3.1 目标函数定义
全变分去噪的目标是最小化图像的全变分,同时使得去噪后的图像尽可能接近原始图像
3.2 求解方法
通常使用迭代算法
常用的方法包括:梯度下降法、共轭梯度法
步骤如下:
- 计算图像的梯度
- 更新图像的梯度方向
- 初始化去噪图像 u 为原始图像 f
- 迭代更新 u 知道收敛,更新规则为
4、TV全变分去噪分类
4.1 ROF模型
4.1.1 模型描述
4.2 LCA模型
4.3 Aubert-Aujol模型
六、TV去模糊
1、Total Variation Blind Deconvolution
TV算法的形式,u是模糊图像,k是PSF,即点扩散函数,point spread function
2、正则化方法
2.1 L1正则化
2.2 L1/L2正则化
2.3 超拉普拉斯正则项
Fast Image Deconvolution using Hyper-Laplacian Priors
超拉普拉斯先验非盲去模糊
超拉普拉斯先验非盲去模糊--Fast Image Deconvolution using Hyper-Laplacian Priors_超拉普拉斯分布-CSDN博客
R(u) —— 图像先验
R(k) —— 模糊核先验
用TV norm 代替H^1 norm 来对image 和 PSF 进行regularize,最后得到下面的形式:
其中α1和α2都是正参数,
参数α1 跟噪声的大小有关,噪声越大,α1 越大。
参数α2用于控制PSF的扩散程度,α2越大,对于k的TV regularization 就要越小,
2.4 正则化方法
低秩和全变分
L1范数和施密特-1/2范数
符号定义
||X|| :向量和矩阵的二范数或者Frobenius范数
||X||_1:向量和矩阵的一范数
||X||_1 = ∑∑|| X_i,j ||
L1/2范数:
||X||的Schatten ⁃ 1/2 范范数定位为
其中 表示矩阵的第i个最大的特征值
复数矩阵X,X* 表示X的共轭装置矩阵
3、全变分正则化
自然图像是分片光滑的
相邻的像素值相减得到的矩阵是近似稀疏的
全变分正则化就是考虑 D(X)稀疏意义下的极小化,全变分正则化模型为
4、混合正则化模型
5、流程
详见基础数学中的变分法讲解
- 将问题转换成求极值问题
- 通过Euler-Lagrange equation:欧拉-拉格朗日方程 求解