HOME

TheInfoList



OR:

In
mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, the Chambolle-Pock algorithm is an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
used to solve
convex optimization Convex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets (or, equivalently, maximizing concave functions over convex sets). Many classes of convex optimization problems ...
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 An image or picture is a visual representation. An image can be two-dimensional, such as a drawing, painting, or photograph, or three-dimensional, such as a carving or sculpture. Images may be displayed through other media, including a pr ...
,
computer vision Computer vision tasks include methods for image sensor, acquiring, Image processing, processing, Image analysis, analyzing, and understanding digital images, and extraction of high-dimensional data from the real world in order to produce numerical ...
, and
signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
. 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 ''Inverse Problems'' is a peer-reviewed, broad-based interdisciplinary journal for pure and applied mathematicians and physicists produced by IOP Publishing. It combines theoretical, experimental and mathematical papers on inverse problems wit ...
such as image reconstruction,
denoising Noise reduction is the process of removing noise from a signal. Noise reduction techniques exist for audio and images. Noise reduction algorithms may distort the signal to some degree. Noise rejection is the ability of a circuit to isolate an u ...
and
inpainting Inpainting is a conservation process where damaged, deteriorated, or missing parts of an artwork are filled in to present a complete image. This process is commonly used in image restoration. It can be applied to both physical and digital art m ...
. 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 In mathematics, the total variation identifies several slightly different concepts, related to the (local property, local or global) structure of the codomain of a Function (mathematics), function or a measure (mathematics), measure. For a real ...
, specific in imaging framework.


Problem statement

Let be \mathcal, \mathcal two real
vector spaces In mathematics and physics, a vector space (also called a linear space) is a set whose elements, often called ''vectors'', can be added together and multiplied ("scaled") by numbers called ''scalars''. The operations of vector addition and sc ...
equipped with an
inner product In mathematics, an inner product space (or, rarely, a Hausdorff pre-Hilbert space) is a real vector space or a complex vector space with an operation called an inner product. The inner product of two vectors in the space is a scalar, ofte ...
\langle \cdot, \cdot \rangle and a
norm Norm, the Norm or NORM may refer to: In academic disciplines * Normativity, phenomenon of designating things as good or bad * Norm (geology), an estimate of the idealised mineral content of a rock * Norm (philosophy), a standard in normative e ...
\lVert \,\cdot \,\rVert = \langle \cdot, \cdot \rangle^ . From up to now, a function F is called ''simple'' if its proximal operator \text_ has a closed-form representation or can be accurately computed, for \tau >0, where \text_ is referred to : x = \text_(\tilde) = \text \min_\left\ Consider the following constrained primal problem: : \min_ F(Kx) + G(x) where K:\mathcal \rightarrow \mathcal is a
bounded linear operator In functional analysis and operator theory, a bounded linear operator is a linear transformation L : X \to Y between topological vector spaces (TVSs) X and Y that maps bounded subsets of X to bounded subsets of Y. If X and Y are normed vector ...
, F:\mathcal \rightarrow
convex Convex or convexity may refer to: Science and technology * Convex lens, in optics Mathematics * Convex set, containing the whole line segment that joins points ** Convex polygon, a polygon which encloses a convex set of points ** Convex polytop ...
,
lower semicontinuous In mathematical analysis, semicontinuity (or semi-continuity) is a property of extended real-valued functions that is weaker than continuity. An extended real-valued function f is upper (respectively, lower) semicontinuous at a point x_0 if, r ...
and simple. The minimization problem has its dual corresponding problem as : \max_ -\left(G^*(-K^*y) + F^*(y)\right) where F^*, G^* and K^* are the dual map of F, G and K , respectively. Assume that the primal and the dual problems have at least a solution (\hat, \hat) \in \mathcal\times \mathcal , that means they satisfies \begin K\hat &\in \partial F^*(\hat)\\ -(K^*\hat) &\in \partial G(\hat) \end where \partial F^* and \partial G are the subgradient In mathematics, the subderivative (or subgradient) generalizes the derivative to convex functions which are not necessarily differentiable. The set of subderivatives at a point is called the subdifferential at that point. Subderivatives arise in c ...
of the convex functions F^* and G , respectively. The Chambolle-Pock algorithm solves the so-called saddle-point problem : \min_ \max_ \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 and descending in the primal variable x using a gradient In vector calculus, the gradient of a scalar-valued differentiable function f of several variables is the vector field (or vector-valued function) \nabla f whose value at a point p gives the direction and the rate of fastest increase. The g ...
-like approach, with step sizes \sigma and \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 \theta. ''stopping criterion''. end do Chambolle and Pock proved that the algorithm converges if \theta = 1 and \tau \sigma \lVert K \rVert^2 \leq 1, sequentially and with \mathcal(1/N) as rate of convergence for the primal-dual gap. This has been extended by S. Banert et al. to hold whenever \theta>1/2 and \tau \sigma \lVert K \rVert^2 < 4 / (1+2\theta). The semi-implicit Arrow-Hurwicz method coincides with the particular choice of \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 , respectively F^* , is Convex function#Uniformly convex functions">uniformly convex then G^* , respectively F , has a
Lipschitz continuous In mathematical analysis, Lipschitz continuity, named after Germany, German mathematician Rudolf Lipschitz, is a strong form of uniform continuity for function (mathematics), functions. Intuitively, a Lipschitz continuous function is limited in h ...
gradient. Then, the rate of convergence can be improved to \mathcal(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 \tau_n, \sigma_n, and also \theta_n, instead of fixing these values. In case of G uniformly convex, with \gamma>0 the uniform-convexity constant, the modified algorithm becomes ''stopping criterion''. end do Moreover, the convergence of the algorithm slows down when L, the norm of the operator K, cannot be estimated easily or might be very large. Choosing proper preconditioners T and \Sigma, modifying the proximal operator with the introduction of the induced norm through the operators T and \Sigma, the convergence of the proposed preconditioned algorithm will be ensured.


Application

A typical application of this algorithm is in the image
denoising Noise reduction is the process of removing noise from a signal. Noise reduction techniques exist for audio and images. Noise reduction algorithms may distort the signal to some degree. Noise rejection is the ability of a circuit to isolate an u ...
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 \mathcal = \mathbb^, where an element u\in\mathcal represents an image with the pixels values collocated in a Cartesian grid N\times M. Define the inner product on \mathcal as : \langle u, v\rangle_ = \sum_ u_v_,\quad u,v \in \mathcal that induces an L^2 norm on \mathcal , denoted as \lVert \, \cdot \, \rVert_2 . Hence, the gradient of u is computed with the standard
finite differences A finite difference is a mathematical expression of the form . Finite differences (or the associated difference quotients) are often used as approximations of derivatives, such as in numerical differentiation. The difference operator, commonly d ...
, :\left(\nabla u \right)_ = \left( \begin \left(\nabla u \right)^1_\\ \left(\nabla u \right)^2_ \end \right) which is an element of the space \mathcal=\mathcal\times \mathcal , where :\begin & \left( \nabla u \right)_^1 = \left\{ \begin{aligned} &\frac{u_{i+1,j}-u_{i,j{h} &\text{ if } i On \mathcal{Y} is defined an L^1- based norm as : \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\in \mathcal{X \lVert \nabla u \rVert_1 + \frac{\lambda}{2} \lVert u-g\rVert^2_2 where u \in \mathcal{X} is the unknown solution and g \in \mathcal{X} the given noisy data, instead \lambda describes the trade-off between regularization and data fitting. The primal-dual formulation of the ROF problem is formulated as follow : \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 : \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 = \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^\infty unitary balls with respect to the defined norm on \mathcal{Y}. Observe that the functions involved in the stated primal-dual formulation are simple, since their proximal operator can be easily computed \begin{align} 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{align} 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é Gabriel Peyré (born 1979) is a French mathematician. Most of his work lies in the field of transportation theory. He is a CNRS senior researcher and a Professor in the mathematics and applications department of the École normale supérieure ...
implements the algorithm in
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
, Julia, R and Python * In the Operator Discretization Library (ODL), a Python library for inverse problems, implements the method.


See also

* Alternating direction method of multipliers *
Convex optimization Convex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets (or, equivalently, maximizing concave functions over convex sets). Many classes of convex optimization problems ...
* Proximal operator *
Total variation denoising In signal processing, particularly image processing, total variation denoising, also known as total variation regularization or total variation filtering, is a noise removal process ( filter). It is based on the principle that signals with excess ...


Notes


References


Further reading

* * *


External links


EE364b
a Stanford course homepage. {{Optimization algorithms, convex Optimization algorithms and methods