L0 Smoothing 笔记(一)

来源:互联网 发布:linux创建组和用户 编辑:程序博客网 时间:2024/06/08 16:09

          本文是Image Smoothing via L0 Gradient Minimization的学习笔记,大部分来自笔者对原文的翻译。笔者计算数学系小白一枚,初次接触图像处理,这是阅读的第一篇相关论文,如果笔记有所偏差,还望读者批评指正。微笑

     所谓图像平滑,就是将图像中无关紧要的细节去除,而只保留显著的边缘部分。L0范数可以理解为向量中非零元素的个数。而L0 Smoothing通过控制非零图像梯度的数目来增强图像显著边缘部分,以此达到图像的全局优化。

(一)原理

 1)一维平滑

    g来表示原始输入的离散信号,用f来表示信号平滑处理后的结果。此方法直接计数幅度的变化,其数学表达式为:

                                                               (1)

     其中,pp+1和分别表示相邻采样信号或者像素值,|fp-fp+1|示相邻信号间的梯度,信号之间采用向前差分的形式求解梯度。#{}表示一个统计操作,用来统计满足|fp-fp+1|不等于零的信号p的数目,即图像梯度的L0范数。c(f)不依赖于梯度本身,因此如果只改变其边缘对比度,它的值不会受到影响。这个离散计数函数是此法的核心。

    但是仅仅有这一项是毫无意义的。在我该方法中,它与一般的约束项结合,即,结果f应该在结构上类似于输入信号g。具体的目标函数是:

                                                      (2)

    c(f)k表示结果中存在k个非零梯度。k越大,近似越精细。实际上,k的取值可能从几十到几千不等,尤其是在具有不同分辨率的二维图像中。为了控制k的取值,采用一般方程的形式在平滑项和保真项之间寻求一种平衡,并将其写为:

                                                         (3)

    其中,lambda是控制着平滑项的权重参数,其数值越大,信号平滑的就越严重。通过下图可以看出该法的优点:

                

2)二维规划

    在二维图像表示中,用I表示输入图像,用S表示计算结果。Sp的梯度是用来计算对于每一个像素点p,在x(水平)和y(垂直)方向上,它们与相邻像素间的颜色差异。此法的梯度测量(图像梯度的L0范数的测量)可表示为:

                                                      (4)

    根据这个定义,S可以通过求解下式来估计:

                                                       (5)

(二)求解

    引入辅助变量hpvp,分别与S在x和y方向上的梯度相对应(即是两梯度的近似),将目标函数改写为:

                                  (6)

    其中,C(h,v)表示使得|hp|+|vp|不等于零的p的数目。beta是自适应参数,它控制着(h,v)和它们相应的梯度之间的相似度。当足够大时,方程(6)与方程(5)相近。方程(6)可以通过交替最小化求解(h,v)和S来解决。在每一次迭代过程中,每组变量的值都是由上一次迭代中得到的值来确定的。

子问题1:求解S

    估计S的子问题对应于省略公式(6)中不涉及S的项后的公式(公式(7))的最小化:

                                             (7)

    该函数是二次函数,故可以通过梯度下降法获得全局最小值。此外,利用快速傅里叶变换(FFT)对微分算子进行处理,以加快计算速度。则获得的解为:

                                         (8)

    其中,F是FFT算子,F()*表示共轭复数。F(1)是δ函数的傅里叶变换。加号、乘法和除法都是分量运算符。相比与在图像空间中直接求解含有大型矩阵逆运算的方程(7),运用傅里叶变换,通过简单的分量除法进行计算更加快捷。

子问题2:求解(h,v)

    关于(h,v)的目标函数是:

                                              (9)

    (9)可以分解为:

                                        (10)

    其中,H(|hp|+|vp|)是一个二元函数,当|hp|+|vp|=0时其函数值为1,否则其函数值为0。在公式(10)中每一个像素p对应的项为:

                                          (11)

    在下列条件下达到最小值Ep*:

                                           (12)

    证明如下:

                       

                        

                   

       根据上述推导过程,在这一步中,我们计算每个像素p的最小能量Ep*,将所得数值加起来,可得到式(10)的全局最优解。

       交替最小化算法展示如下:

                           

       

在阅读论文的过程中,看到一些不错的笔记,链接与大家共享:

(1)原文及matlab代码链接:

http://www.cse.cuhk.edu.hk/leojia/projects/L0smoothing/index.html

(2)http://blog.csdn.net/dayenglish/article/details/42834723

(3)http://blog.csdn.net/k81805757/article/details/47011401

(4)http://blog.csdn.net/bluecol/article/details/48750561

          

           

       

阅读全文
0 0
原创粉丝点击