Bootstrap

浅谈图象的全变分和去噪

全变分(Total variation),也称为全变差,是图象复原中常用的一个名词。本文简要介绍全变分的概念以及在图象去噪中的应用。

一维信号的全变分和去噪

一维连续函数的全变分

一维连续实函数 f ( x ) f(x) f(x)在区间 [ a , b ] ⊂ R [a, b] \subset R [a,b]R上的全变分定义为参数曲线 x → f ( x ) , x ∈ [ a , b ] x \rightarrow f(x), x \in [a,b] xf(x),x[a,b]的弧长。其表达式为

V a b ( f ) = ∫ a b ∣ f ′ ( x ) ∣ d x V_a^b(f) = \int_a^b |f'(x)|dx Vab(f)=abf(x)dx

说白了,所谓的“变分”就是 ∣ f ( x + Δ x ) − f ( x ) ∣ |f(x+\Delta x) - f(x)| f(x+Δx)f(x),对于连续函数 Δ x → 0 \Delta x \rightarrow 0 Δx0。而全变分是对函数定义的区间而言的,就是将“变分”在区间上累加起来。

一维离散信号的全变分

从上面连续实函数的全变分,我们可以很容易想到它的离散形式。给出信号序列 { y i } , i = 1 , . . , n \{y_i\},i=1,..,n {yi},i=1,..,n,它的全变分定义为

V ( y ) = ∑ i = 1 n ∣ y i + 1 − y i ∣ V(y) = \sum_{i=1}^{n} |y_{i+1} - y_i | V(y)=i=1nyi+1yi

用一句话来概括,全变分是前后项之差的绝对值之和。

一维信号去噪

当我们得到观察信号 x i x_i xi,希望 x i x_i xi变得平滑,也就是对 x i x_i xi去噪。一种很直观的想法就是让信号的全变分变小。全变分对应的物理意义就是输入信号的平滑度。设得到的恢复信号为 y i y_i yi,它应该满足两个条件:

  • y i y_i yi与观察信号 x i x_i xi的差距不大。这个差距的常用数学表达式就是

E ( x , y ) = 1 2 ∑ i ( x i − y i ) 2 E(x,y) = \frac{1}{2} \sum_i (x_i - y_i)^2 E(x,y)=21i(xiyi)2

  • y i y_i yi的全变分不大。

将物理约束转化为数学模型,求解 y y y等价于求解下面这个优化问题:

min ⁡ y E ( x , y ) + λ V ( y ) \min_{y} E(x,y) + \lambda V(y) yminE(x,y)+λV(y)

其中参数 λ \lambda λ是正常数,用于调节两个约束的作用大小。注意到 E ( x , y ) E(x,y) E(x,y) V ( y ) V(y) V(y)都是凸函数,这是一个无约束凸优化问题,有很多经典方法可以求解。

二维离散信号(图象)的全变分和去噪

图象是典型的二维离散信号,Rudin在1992年将其全变分定义为

V ( y ) = ∑ i , j ∣ y i + 1 , j − y i , j ∣ 2 + ∣ y i , j + 1 − y i , j ∣ 2 V(y) = \sum_{i,j} \sqrt{ |y_{i+1,j}-y_{i,j} |^2 + |y_{i,j+1} - y_{i,j}|^2 } V(y)=i,jyi+1,jyi,j2+yi,j+1yi,j2

这个函数是各项同性的,但是不可微。这个形式的全变分求解比较困难,因此二维全变分有另一种常用定义
V ( y ) = ∑ i , j ∣ y i + 1 , j − y i , j ∣ 2 + ∣ y i , j + 1 − y i , j ∣ 2 = ∑ i , j ∣ y i + 1 , j − y i , j ∣ + ∣ y i , j + 1 − y i , j ∣ \begin{aligned} V(y)& = \sum_{i,j} \sqrt{ |y_{i+1,j} - y_{i,j}|^2} + \sqrt{ |y_{i,j+1} - y_{i,j} |^2} \\ &= \sum_{i,j} |y_{i+1,j} - y_{i,j}| + |y_{i,j+1} - y_{i,j} | \end{aligned} V(y)=i,jyi+1,jyi,j2 +yi,j+1yi,j2 =i,jyi+1,jyi,j+yi,j+1yi,j

这个函数容易在最小化问题中求解了。

仿照一维信号的去噪,基于全变分的图象去噪可以看成求解优化问题

min ⁡ y E ( x , y ) + λ V ( y ) \min_y E(x,y) + \lambda V(y) yminE(x,y)+λV(y)

其中 E ( x , y ) E(x,y) E(x,y)作为数据误差项定义为

E ( x , y ) = 1 2 ∑ i , j ( x i , j − y i , j ) 2 E(x,y) = \frac{1}{2}\sum_{i,j} (x_{i,j} - y_{i,j})^2 E(x,y)=21i,j(xi,jyi,j)2

V V V有凸函数形式时,问题变为无约束凸优化问题,从而容易求解。

;