Artikel: Chambolle-Pock algorithm GudangMovies21 Rebahinxxi

  • Source: Chambolle-Pock algorithm
  • In mathematics, the Chambolle-Pock algorithm is an algorithm used to solve convex optimization problems. It was introduced by Antonin Chambolle and Thomas Pock in 2011 and has since become a widely used method in various fields, including image processing, computer vision, and signal processing.
    The Chambolle-Pock algorithm is specifically designed to efficiently solve convex optimization problems that involve the minimization of a non-smooth cost function composed of a data fidelity term and a regularization term. This is a typical configuration that commonly arises in ill-posed imaging inverse problems such as image reconstruction, denoising and inpainting.
    The algorithm is based on a primal-dual formulation, which allows for simultaneous updates of primal and dual variables. By employing the proximal operator, the Chambolle-Pock algorithm efficiently handles non-smooth and non-convex regularization terms, such as the total variation, specific in imaging framework.


    Problem statement


    Let be





    X


    ,


    Y




    {\displaystyle {\mathcal {X}},{\mathcal {Y}}}

    two real vector spaces equipped with an inner product





    ,




    {\displaystyle \langle \cdot ,\cdot \rangle }

    and a norm








    =


    ,





    1
    2





    {\displaystyle \lVert \,\cdot \,\rVert =\langle \cdot ,\cdot \rangle ^{\frac {1}{2}}}

    . From up to now, a function



    F


    {\displaystyle F}

    is called simple if its proximal operator





    prox


    τ
    F




    {\displaystyle {\text{prox}}_{\tau F}}

    has a closed-form representation or can be accurately computed, for



    τ
    >
    0


    {\displaystyle \tau >0}

    , where





    prox


    τ
    F




    {\displaystyle {\text{prox}}_{\tau F}}

    is referred to




    x
    =


    prox


    τ
    F


    (



    x
    ~



    )
    =

    arg


    min


    x





    X





    {






    x






    x
    ~






    2




    2
    τ



    +
    F
    (

    x


    )

    }



    {\displaystyle x={\text{prox}}_{\tau F}({\tilde {x}})={\text{arg }}\min _{x'\in {\mathcal {X}}}\left\{{\frac {\lVert x'-{\tilde {x}}\rVert ^{2}}{2\tau }}+F(x')\right\}}


    Consider the following constrained primal problem:





    min

    x



    X




    F
    (
    K
    x
    )
    +
    G
    (
    x
    )


    {\displaystyle \min _{x\in {\mathcal {X}}}F(Kx)+G(x)}


    where



    K
    :


    X





    Y




    {\displaystyle K:{\mathcal {X}}\rightarrow {\mathcal {Y}}}

    is a bounded linear operator,



    F
    :


    Y



    [
    0
    ,
    +

    )
    ,
    G
    :


    X



    [
    0
    ,
    +

    )


    {\displaystyle F:{\mathcal {Y}}\rightarrow [0,+\infty ),G:{\mathcal {X}}\rightarrow [0,+\infty )}

    are convex, lower semicontinuous and simple.
    The minimization problem has its dual corresponding problem as





    max

    y



    Y






    (


    G




    (


    K




    y
    )
    +

    F




    (
    y
    )

    )



    {\displaystyle \max _{y\in {\mathcal {Y}}}-\left(G^{*}(-K^{*}y)+F^{*}(y)\right)}


    where




    F




    ,

    G






    {\displaystyle F^{*},G^{*}}

    and




    K






    {\displaystyle K^{*}}

    are the dual map of



    F
    ,
    G


    {\displaystyle F,G}

    and



    K


    {\displaystyle K}

    , respectively.
    Assume that the primal and the dual problems have at least a solution



    (



    x
    ^



    ,



    y
    ^



    )



    X


    ×


    Y




    {\displaystyle ({\hat {x}},{\hat {y}})\in {\mathcal {X}}\times {\mathcal {Y}}}

    , that means they satisfies








    K



    x
    ^









    F




    (



    y
    ^



    )





    (

    K







    y
    ^



    )





    G
    (



    x
    ^



    )






    {\displaystyle {\begin{aligned}K{\hat {x}}&\in \partial F^{*}({\hat {y}})\\-(K^{*}{\hat {y}})&\in \partial G({\hat {x}})\end{aligned}}}


    where





    F






    {\displaystyle \partial F^{*}}

    and




    G


    {\displaystyle \partial G}

    are the subgradient of the convex functions




    F






    {\displaystyle F^{*}}

    and



    G


    {\displaystyle G}

    , respectively.
    The Chambolle-Pock algorithm solves the so-called saddle-point problem





    min

    x



    X





    max

    y



    Y





    K
    x
    ,
    y

    +
    G
    (
    x
    )


    F




    (
    y
    )


    {\displaystyle \min _{x\in {\mathcal {X}}}\max _{y\in {\mathcal {Y}}}\langle Kx,y\rangle +G(x)-F^{*}(y)}


    which is a primal-dual formulation of the nonlinear primal and dual problems stated before.


    Algorithm


    The Chambolle-Pock algorithm primarily involves iteratively alternating between ascending in the dual variable



    y


    {\displaystyle y}

    and descending in the primal variable



    x


    {\displaystyle x}

    using a gradient-like approach, with step sizes



    σ


    {\displaystyle \sigma }

    and



    τ


    {\displaystyle \tau }

    respectively, in order to simultaneously solve the primal and the dual problem. Furthermore, an over-relaxation technique is employed for the primal variable with the parameter



    θ


    {\displaystyle \theta }

    .
    Chambolle and Pock proved that the algorithm converges if



    θ
    =
    1


    {\displaystyle \theta =1}

    and



    τ
    σ

    K



    2



    1


    {\displaystyle \tau \sigma \lVert K\rVert ^{2}\leq 1}

    , sequentially and with





    O


    (
    1

    /

    N
    )


    {\displaystyle {\mathcal {O}}(1/N)}

    as rate of convergence for the primal-dual gap. This has been extended by S. Banert et al. to hold whenever



    θ
    >
    1

    /

    2


    {\displaystyle \theta >1/2}

    and



    τ
    σ

    K



    2


    <
    4

    /

    (
    1
    +
    2
    θ
    )


    {\displaystyle \tau \sigma \lVert K\rVert ^{2}<4/(1+2\theta )}

    .
    The semi-implicit Arrow-Hurwicz method coincides with the particular choice of



    θ
    =
    0


    {\displaystyle \theta =0}

    in the Chambolle-Pock algorithm.


    Acceleration


    There are special cases in which the rate of convergence has a theoretical speed up. In fact, if



    G


    {\displaystyle G}

    , respectively




    F






    {\displaystyle F^{*}}

    , is uniformly convex then




    G






    {\displaystyle G^{*}}

    , respectively



    F


    {\displaystyle F}

    , has a Lipschitz continuous gradient. Then, the rate of convergence can be improved to





    O


    (
    1

    /


    N

    2


    )


    {\displaystyle {\mathcal {O}}(1/N^{2})}

    , providing a slightly changes in the Chambolle-Pock algorithm. It leads to an accelerated version of the method and it consists in choosing iteratively




    τ

    n


    ,

    σ

    n




    {\displaystyle \tau _{n},\sigma _{n}}

    , and also




    θ

    n




    {\displaystyle \theta _{n}}

    , instead of fixing these values.
    In case of



    G


    {\displaystyle G}

    uniformly convex, with



    γ
    >
    0


    {\displaystyle \gamma >0}

    the uniform-convexity constant, the modified algorithm becomes

    Moreover, the convergence of the algorithm slows down when



    L


    {\displaystyle L}

    , the norm of the operator



    K


    {\displaystyle K}

    , cannot be estimated easily or might be very large. Choosing proper preconditioners



    T


    {\displaystyle T}

    and



    Σ


    {\displaystyle \Sigma }

    , modifying the proximal operator with the introduction of the induced norm through the operators



    T


    {\displaystyle T}

    and



    Σ


    {\displaystyle \Sigma }

    , the convergence of the proposed preconditioned algorithm will be ensured.


    Application



    A typical application of this algorithm is in the image denoising framework, based on total variation. It operates on the concept that signals containing excessive and potentially erroneous details exhibit a high total variation, which represents the integral of the absolute value gradient of the image. By adhering to this principle, the process aims to decrease the total variation of the signal while maintaining its similarity to the original signal, effectively eliminating unwanted details while preserving crucial features like edges. In the classical bi-dimensional discrete setting, consider





    X


    =


    R


    N
    M




    {\displaystyle {\mathcal {X}}=\mathbb {R} ^{NM}}

    , where an element



    u



    X




    {\displaystyle u\in {\mathcal {X}}}

    represents an image with the pixels values collocated in a Cartesian grid



    N
    ×
    M


    {\displaystyle N\times M}

    .
    Define the inner product on





    X




    {\displaystyle {\mathcal {X}}}

    as





    u
    ,
    v




    X



    =



    i
    ,
    j



    u

    i
    ,
    j



    v

    i
    ,
    j


    ,

    u
    ,
    v



    X




    {\displaystyle \langle u,v\rangle _{\mathcal {X}}=\sum _{i,j}u_{i,j}v_{i,j},\quad u,v\in {\mathcal {X}}}


    that induces an




    L

    2




    {\displaystyle L^{2}}

    norm on





    X




    {\displaystyle {\mathcal {X}}}

    , denoted as










    2




    {\displaystyle \lVert \,\cdot \,\rVert _{2}}

    .
    Hence, the gradient of



    u


    {\displaystyle u}

    is computed with the standard finite differences,






    (


    u

    )


    i
    ,
    j


    =

    (






    (


    u

    )


    i
    ,
    j


    1








    (


    u

    )


    i
    ,
    j


    2






    )



    {\displaystyle \left(\nabla u\right)_{i,j}=\left({\begin{aligned}\left(\nabla u\right)_{i,j}^{1}\\\left(\nabla u\right)_{i,j}^{2}\end{aligned}}\right)}


    which is an element of the space





    Y


    =


    X


    ×


    X




    {\displaystyle {\mathcal {Y}}={\mathcal {X}}\times {\mathcal {X}}}

    , where











    (


    u

    )


    i
    ,
    j


    1


    =

    {









    u

    i
    +
    1
    ,
    j




    u

    i
    ,
    j



    h





    if

    i
    <
    M





    0



    if

    i
    =
    M






    ,







    (


    u

    )


    i
    ,
    j


    2


    =

    {









    u

    i
    ,
    j
    +
    1




    u

    i
    ,
    j



    h





    if

    j
    <
    N





    0



    if

    j
    =
    N












    {\displaystyle {\begin{aligned}&\left(\nabla u\right)_{i,j}^{1}=\left\{{\begin{aligned}&{\frac {u_{i+1,j}-u_{i,j}}{h}}&{\text{ if }}i

    On





    Y




    {\displaystyle {\mathcal {Y}}}

    is defined an




    L

    1





    {\displaystyle L^{1}-}

    based norm as





    p



    1


    =



    i
    ,
    j






    (

    p

    i
    ,
    j


    1


    )


    2


    +


    (

    p

    i
    ,
    j


    2


    )


    2




    ,

    p



    Y


    .


    {\displaystyle \lVert p\rVert _{1}=\sum _{i,j}{\sqrt {\left(p_{i,j}^{1}\right)^{2}+\left(p_{i,j}^{2}\right)^{2}}},\quad p\in {\mathcal {Y}}.}


    Then, the primal problem of the ROF model, proposed by Rudin, Osher, and Fatemi, is given by





    h

    2



    min

    u



    X






    u



    1


    +


    λ
    2



    u

    g



    2


    2




    {\displaystyle h^{2}\min _{u\in {\mathcal {X}}}\lVert \nabla u\rVert _{1}+{\frac {\lambda }{2}}\lVert u-g\rVert _{2}^{2}}


    where



    u



    X




    {\displaystyle u\in {\mathcal {X}}}

    is the unknown solution and



    g



    X




    {\displaystyle g\in {\mathcal {X}}}

    the given noisy data, instead



    λ


    {\displaystyle \lambda }

    describes the trade-off between regularization and data fitting.
    The primal-dual formulation of the ROF problem is formulated as follow





    min

    u



    X





    max

    p



    Y






    u
    ,

    div


    p




    X



    +


    λ
    2



    u

    g



    2


    2




    δ

    P


    (
    p
    )


    {\displaystyle \min _{u\in {\mathcal {X}}}\max _{p\in {\mathcal {Y}}}-\langle u,{\text{div}}\,p\rangle _{\mathcal {X}}+{\frac {\lambda }{2}}\lVert u-g\rVert _{2}^{2}-\delta _{P}(p)}


    where the indicator function is defined as





    δ

    P


    (
    p
    )
    =

    {





    0
    ,



    if

    p

    P






    +

    ,



    if

    p

    P








    {\displaystyle \delta _{P}(p)=\left\{{\begin{aligned}&0,&{\text{if }}p\in P\\&+\infty ,&{\text{if }}p\notin P\end{aligned}}\right.}


    on the convex set



    P
    =

    {

    p



    Y



    :


    max

    i
    ,
    j






    (

    p

    i
    ,
    j


    1


    )


    2


    +


    (

    p

    i
    ,
    j


    2


    )


    2





    1

    }

    ,


    {\displaystyle P=\left\{p\in {\mathcal {Y}}\,:\,\max _{i,j}{\sqrt {\left(p_{i,j}^{1}\right)^{2}+\left(p_{i,j}^{2}\right)^{2}}}\leq 1\right\},}

    which can be seen as




    L






    {\displaystyle L^{\infty }}

    unitary balls with respect to the defined norm on





    Y




    {\displaystyle {\mathcal {Y}}}

    .

    Observe that the functions involved in the stated primal-dual formulation are simple, since their proximal operator can be easily computed







    p



    =


    prox


    σ

    F






    (



    p
    ~



    )






    p

    i
    ,
    j





    =






    p
    ~




    i
    ,
    j



    max
    {
    1
    ,

    |





    p
    ~




    i
    ,
    j



    |

    }







    u



    =


    prox


    τ
    G


    (



    u
    ~



    )






    u

    i
    ,
    j





    =







    u
    ~




    i
    ,
    j


    +
    τ
    λ

    g

    i
    ,
    j




    1
    +
    τ
    λ









    {\displaystyle {\begin{aligned}p&={\text{prox}}_{\sigma F^{*}}({\tilde {p}})&\iff p_{i,j}&={\frac {{\tilde {p}}_{i,j}}{\max\{1,|{\tilde {p}}_{i,j}|\}}}\\u&={\text{prox}}_{\tau G}({\tilde {u}})&\iff u_{i,j}&={\frac {{\tilde {u}}_{i,j}+\tau \lambda g_{i,j}}{1+\tau \lambda }}\end{aligned}}}

    The image total-variation denoising problem can be also treated with other algorithms such as the alternating direction method of multipliers (ADMM), projected (sub)-gradient or fast iterative shrinkage thresholding.


    Implementation


    The Manopt.jl package implements the algorithm in Julia
    Gabriel Peyré implements the algorithm in MATLAB, Julia, R and Python
    In the Operator Discretization Library (ODL), a Python library for inverse problems, chambolle_pock_solver implements the method.


    See also


    Alternating direction method of multipliers
    Convex optimization
    Proximal operator
    Total variation denoising


    Notes




    References




    Further reading


    Boyd, Stephen; Vandenberghe, Lieven (2004). Convex Optimization (PDF). Cambridge University Press.
    Wright, Stephen (1997). Primal-Dual Interior-Point Methods. Philadelphia, PA: SIAM. ISBN 978-0-89871-382-4.
    Nocedal, Jorge; Stephen Wright (1999). Numerical Optimization. New York, NY: Springer. ISBN 978-0-387-98793-4.


    External links


    EE364b, a Stanford course homepage.

Kata Kunci Pencarian:

chambolle pock algorithm