如何使用 MATLAB 解决全变分去噪/去模糊问题?

信息处理 图像处理 matlab 去噪 凸优化 全变
2021-12-29 17:05:12

总变差去噪问题由下式给出:

argminx12Axy22+λTV(x)

其中总变异范数TV()

如何使用 MATLAB 解决这个问题?

1个回答

我将为一维解决这个问题,但它可以很容易地推广到二维。

TV 范数的好处在于它可以由导数运算符的范数重新制定:L1

TV(x)=i=1N1|xi+1xi|=Dx1

其中是导数运算符的矩阵形式。 所以整个问题可以表述为:D

argminx12Axy22+λTV(x)=argminx12Axy22+λDx1

对于上述情况,有许多基于 ADMM 或近端梯度下降的求解器。
您甚至可以使用 Sub Gradient Method 来解决上述问题,因为 Sub Gradient 由下式给出:

AT(Axy)+DTsign(Dx)