Chambolle-Pock algorithm

Last updated
Inpainting large missing regions original vs damaged.png
Original test image and damaged one
Inpainting large missing regions reconstruction.png
Example of application of the Chambolle-Pock algorithm to image reconstruction.

In mathematics, the Chambolle-Pock algorithm is an algorithm used to solve convex optimization problems. It was introduced by Antonin Chambolle and Thomas Pock [1] in 2011 and has since become a widely used method in various fields, including image processing, [2] [3] [4] computer vision, [5] and signal processing. [6]

Contents

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. [1] This is a typical configuration that commonly arises in ill-posed imaging inverse problems such as image reconstruction, [2] denoising [3] and inpainting. [4]

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. [1]

Problem statement

Let be two real vector spaces equipped with an inner product and a norm . From up to now, a function is called simple if its proximal operator has a closed-form representation or can be accurately computed, for , [1] where is referred to

Consider the following constrained primal problem: [1]

where is a bounded linear operator, are convex, lower semicontinuous and simple. [1]

The minimization problem has its dual corresponding problem as [1]

where and are the dual map of and , respectively. [1]

Assume that the primal and the dual problems have at least a solution , that means they satisfies [7]

where and are the subgradient of the convex functions and , respectively. [7]

The Chambolle-Pock algorithm solves the so-called saddle-point problem [1]

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

Algorithm

The Chambolle-Pock algorithm primarily involves iteratively alternating between ascending in the dual variable and descending in the primal variable using a gradient-like approach, with step sizes and respectively, in order to simultaneously solve the primal and the dual problem. [2] Furthermore, an over-relaxation technique is employed for the primal variable with the parameter . [1]

Algorithm Chambolle-Pock algorithm Input:   and set ,stopping criterion.
do whilestopping criterionnot satisfiedend do

Chambolle and Pock proved [1] that the algorithm converges if and , sequentially and with as rate of convergence for the primal-dual gap. This has been improved by S. Banert et al. [8] to hold whenever and .

The semi-implicit Arrow-Hurwicz method [9] coincides with the particular choice of in the Chambolle-Pock algorithm. [1]

Acceleration

There are special cases in which the rate of convergence has a theoretical speed up. [1] In fact, if , respectively , is uniformly convex then , respectively , has a Lipschitz continuous gradient. Then, the rate of convergence can be improved to , providing a slightly changes in the Chambolle-Pock algorithm. It leads to an accelerated version of the method and it consists in choosing iteratively , and also , instead of fixing these values. [1]

In case of uniformly convex, with the uniform-convexity constant, the modified algorithm becomes [1]

Algorithm Accelerated Chambolle-Pock algorithm Input:   such that  and set ,stopping criterion.
do whilestopping criterionnot satisfiedend do

Moreover, the convergence of the algorithm slows down when , the norm of the operator , cannot be estimated easily or might be very large. Choosing proper preconditioners and , modifying the proximal operator with the introduction of the induced norm through the operators and , the convergence of the proposed preconditioned algorithm will be ensured. [10]

Application

Denoising example
Fishing boat original.jpg
Original test image
Fishing boat chambollepock 01.gif
Application of the Chambolle-Pock algorithm to the test image with noise.

A typical application of this algorithm is in the image denoising framework, based on total variation. [3] 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. [3] 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, [11] consider , where an element represents an image with the pixels values collocated in a Cartesian grid . [1]

Define the inner product on as [1]

that induces an norm on , denoted as . [1]

Hence, the gradient of is computed with the standard finite differences,

which is an element of the space , where [1]

On is defined an based norm as [1]

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

where is the unknown solution and the given noisy data, instead describes the trade-off between regularization and data fitting. [1]

The primal-dual formulation of the ROF problem is formulated as follow [1]

where the indicator function is defined as [1]

on the convex set which can be seen as unitary balls with respect to the defined norm on . [1]


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

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

Implementation

See also

Notes

  1. These codes were used to obtain the images in the article.

Related Research Articles

<span class="mw-page-title-main">Convolution</span> Integral expressing the amount of overlap of one function as it is shifted over another

In mathematics, convolution is a mathematical operation on two functions that produces a third function that expresses how the shape of one is modified by the other. The term convolution refers to both the result function and to the process of computing it. It is defined as the integral of the product of the two functions after one is reflected about the y-axis and shifted. The choice of which function is reflected and shifted before the integral does not change the integral result. The integral is evaluated for all values of shift, producing the convolution function.

<span class="mw-page-title-main">Normed vector space</span> Vector space on which a distance is defined

In mathematics, a normed vector space or normed space is a vector space over the real or complex numbers on which a norm is defined. A norm is a generalization of the intuitive notion of "length" in the physical world. If is a vector space over , where is a field equal to or to , then a norm on is a map , typically denoted by , satisfying the following four axioms:

  1. Non-negativity: for every ,.
  2. Positive definiteness: for every , if and only if is the zero vector.
  3. Absolute homogeneity: for every and ,
  4. Triangle inequality: for every and ,

The Feynman–Kac formula, named after Richard Feynman and Mark Kac, establishes a link between parabolic partial differential equations (PDEs) and stochastic processes. In 1947, when Kac and Feynman were both Cornell faculty, Kac attended a presentation of Feynman's and remarked that the two of them were working on the same thing from different directions. The Feynman–Kac formula resulted, which proves rigorously the real case of Feynman's path integrals. The complex case, which occurs when a particle's spin is included, is still an open question.

<span class="mw-page-title-main">Cross-correlation</span> Covariance and correlation

In signal processing, cross-correlation is a measure of similarity of two series as a function of the displacement of one relative to the other. This is also known as a sliding dot product or sliding inner-product. It is commonly used for searching a long signal for a shorter, known feature. It has applications in pattern recognition, single particle analysis, electron tomography, averaging, cryptanalysis, and neurophysiology. The cross-correlation is similar in nature to the convolution of two functions. In an autocorrelation, which is the cross-correlation of a signal with itself, there will always be a peak at a lag of zero, and its size will be the signal energy.

In functional analysis and related areas of mathematics a polar topology, topology of -convergence or topology of uniform convergence on the sets of is a method to define locally convex topologies on the vector spaces of a pairing.

In general topology and related areas of mathematics, the final topology on a set with respect to a family of functions from topological spaces into is the finest topology on that makes all those functions continuous.

The simply typed lambda calculus, a form of type theory, is a typed interpretation of the lambda calculus with only one type constructor that builds function types. It is the canonical and simplest example of a typed lambda calculus. The simply typed lambda calculus was originally introduced by Alonzo Church in 1940 as an attempt to avoid paradoxical use of the untyped lambda calculus.

<span class="mw-page-title-main">Lattice Boltzmann methods</span> Class of computational fluid dynamics methods

The lattice Boltzmann methods (LBM), originated from the lattice gas automata (LGA) method (Hardy-Pomeau-Pazzis and Frisch-Hasslacher-Pomeau models), is a class of computational fluid dynamics (CFD) methods for fluid simulation. Instead of solving the Navier–Stokes equations directly, a fluid density on a lattice is simulated with streaming and collision (relaxation) processes. The method is versatile as the model fluid can straightforwardly be made to mimic common fluid behaviour like vapour/liquid coexistence, and so fluid systems such as liquid droplets can be simulated. Also, fluids in complex environments such as porous media can be straightforwardly simulated, whereas with complex boundaries other CFD methods can be hard to work with.

In mathematics, the theory of optimal stopping or early stopping is concerned with the problem of choosing a time to take a particular action, in order to maximise an expected reward or minimise an expected cost. Optimal stopping problems can be found in areas of statistics, economics, and mathematical finance. A key example of an optimal stopping problem is the secretary problem. Optimal stopping problems can often be written in the form of a Bellman equation, and are therefore often solved using dynamic programming.

Stress majorization is an optimization strategy used in multidimensional scaling (MDS) where, for a set of -dimensional data items, a configuration of points in -dimensional space is sought that minimizes the so-called stress function . Usually is or , i.e. the matrix lists points in or dimensional Euclidean space so that the result may be visualised. The function is a cost or loss function that measures the squared differences between ideal distances and actual distances in r-dimensional space. It is defined as:

In mathematics – specifically, in stochastic analysis – an Itô diffusion is a solution to a specific type of stochastic differential equation. That equation is similar to the Langevin equation used in physics to describe the Brownian motion of a particle subjected to a potential in a viscous fluid. Itô diffusions are named after the Japanese mathematician Kiyosi Itô.

The Cauchy momentum equation is a vector partial differential equation put forth by Cauchy that describes the non-relativistic momentum transport in any continuum.

In statistical mechanics, the Griffiths inequality, sometimes also called Griffiths–Kelly–Sherman inequality or GKS inequality, named after Robert B. Griffiths, is a correlation inequality for ferromagnetic spin systems. Informally, it says that in ferromagnetic spin systems, if the 'a-priori distribution' of the spin is invariant under spin flipping, the correlation of any monomial of the spins is non-negative; and the two point correlation of two monomial of the spins is non-negative.

The Landweber iteration or Landweber algorithm is an algorithm to solve ill-posed linear inverse problems, and it has been extended to solve non-linear problems that involve constraints. The method was first proposed in the 1950s by Louis Landweber, and it can be now viewed as a special case of many other more general methods.

Proximal gradientmethods for learning is an area of research in optimization and statistical learning theory which studies algorithms for a general class of convex regularization problems where the regularization penalty may not be differentiable. One such example is regularization of the form

The concept of angles between lines, between two planes or between a line and a plane can be generalized to arbitrary dimensions. This generalization was first discussed by Camille Jordan. For any pair of flats in a Euclidean space of arbitrary dimension one can define a set of mutual angles which are invariant under isometric transformation of the Euclidean space. If the flats do not intersect, their shortest distance is one more invariant. These angles are called canonical or principal. The concept of angles can be generalized to pairs of flats in a finite-dimensional inner product space over the complex numbers.

Whitehead's algorithm is a mathematical algorithm in group theory for solving the automorphic equivalence problem in the finite rank free group Fn. The algorithm is based on a classic 1936 paper of J. H. C. Whitehead. It is still unknown if Whitehead's algorithm has polynomial time complexity.

The streamline upwind Petrov–Galerkin pressure-stabilizing Petrov–Galerkin formulation for incompressible Navier–Stokes equations can be used for finite element computations of high Reynolds number incompressible flow using equal order of finite element space by introducing additional stabilization terms in the Navier–Stokes Galerkin formulation.

In mathematics, the injective tensor product of two topological vector spaces (TVSs) was introduced by Alexander Grothendieck and was used by him to define nuclear spaces. An injective tensor product is in general not necessarily complete, so its completion is called the completed injective tensor products. Injective tensor products have applications outside of nuclear spaces. In particular, as described below, up to TVS-isomorphism, many TVSs that are defined for real or complex valued functions, for instance, the Schwartz space or the space of continuously differentiable functions, can be immediately extended to functions valued in a Hausdorff locally convex TVS without any need to extend definitions from real/complex-valued functions to -valued functions.

In mathematics, a dual system, dual pair, or duality over a field is a triple consisting of two vector spaces and over and a non-degenerate bilinear map .

References

  1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chambolle, Antonin; Pock, Thomas (2011-05-01). "A First-Order Primal-Dual Algorithm for Convex Problems with Applications to Imaging". Journal of Mathematical Imaging and Vision. 40 (1): 120–145. doi:10.1007/s10851-010-0251-1. ISSN   1573-7683. S2CID   207175707.
  2. 1 2 3 Sidky, Emil Y; Jørgensen, Jakob H; Pan, Xiaochuan (2012-05-21). "Convex optimization problem prototyping for image reconstruction in computed tomography with the Chambolle–Pock algorithm". Physics in Medicine and Biology. 57 (10): 3065–3091. arXiv: 1111.5632 . Bibcode:2012PMB....57.3065S. doi:10.1088/0031-9155/57/10/3065. ISSN   0031-9155. PMC   3370658 . PMID   22538474.
  3. 1 2 3 4 Fang, Faming; Li, Fang; Zeng, Tieyong (2014-03-13). "Single Image Dehazing and Denoising: A Fast Variational Approach". SIAM Journal on Imaging Sciences. 7 (2): 969–996. doi:10.1137/130919696. ISSN   1936-4954.
  4. 1 2 Allag, A.; Benammar, A.; Drai, R.; Boutkedjirt, T. (2019-07-01). "Tomographic Image Reconstruction in the Case of Limited Number of X-Ray Projections Using Sinogram Inpainting". Russian Journal of Nondestructive Testing. 55 (7): 542–548. doi:10.1134/S1061830919070027. ISSN   1608-3385. S2CID   203437503.
  5. Pock, Thomas; Cremers, Daniel; Bischof, Horst; Chambolle, Antonin (2009). "An algorithm for minimizing the Mumford-Shah functional". 2009 IEEE 12th International Conference on Computer Vision. pp. 1133–1140. doi:10.1109/ICCV.2009.5459348. ISBN   978-1-4244-4420-5. S2CID   15991312.
  6. "A Generic Proximal Algorithm for Convex Optimization—Application to Total Variation Minimization". IEEE Signal Processing Letters. 21 (8): 985–989. 2014. Bibcode:2014ISPL...21..985.. doi:10.1109/LSP.2014.2322123. ISSN   1070-9908. S2CID   8976837.
  7. 1 2 Ekeland, Ivar; Témam, Roger (1999). Convex Analysis and Variational Problems. Society for Industrial and Applied Mathematics. p. 61. doi:10.1137/1.9781611971088. ISBN   978-0-89871-450-0.
  8. Banert, Sebastian; Upadhyaya, Manu; Giselsson, Pontus (2023). "The Chambolle-Pock method converges weakly with and " (PDF).
  9. Uzawa, H. (1958). "Iterative methods for concave programming". In Arrow, K. J.; Hurwicz, L.; Uzawa, H. (eds.). Studies in linear and nonlinear programming . Stanford University Press.
  10. Pock, Thomas; Chambolle, Antonin (2011-11-06). "Diagonal preconditioning for first order primal-dual algorithms in convex optimization". 2011 International Conference on Computer Vision. pp. 1762–1769. doi:10.1109/ICCV.2011.6126441. ISBN   978-1-4577-1102-2. S2CID   17485166.
  11. Chambolle, Antonin (2004-01-01). "An Algorithm for Total Variation Minimization and Applications". Journal of Mathematical Imaging and Vision. 20 (1): 89–97. doi:10.1023/B:JMIV.0000011325.36760.1e. ISSN   1573-7683. S2CID   207622122.
  12. Getreuer, Pascal (2012). "Rudin–Osher–Fatemi Total Variation Denoising using Split Bregman" (PDF).
  13. Esser, Ernie; Zhang, Xiaoqun; Chan, Tony F. (2010). "A General Framework for a Class of First Order Primal-Dual Algorithms for Convex Optimization in Imaging Science". SIAM Journal on Imaging Sciences. 3 (4): 1015–1046. doi:10.1137/09076934X. ISSN   1936-4954.
  14. Lions, P. L.; Mercier, B. (1979). "Splitting Algorithms for the Sum of Two Nonlinear Operators". SIAM Journal on Numerical Analysis. 16 (6): 964–979. Bibcode:1979SJNA...16..964L. doi:10.1137/0716071. ISSN   0036-1429. JSTOR   2156649.
  15. Beck, Amir; Teboulle, Marc (2009). "A Fast Iterative Shrinkage-Thresholding Algorithm for Linear Inverse Problems". SIAM Journal on Imaging Sciences. 2 (1): 183–202. doi:10.1137/080716542. ISSN   1936-4954. S2CID   3072879.
  16. Nestorov, Yu.E. "A method of solving a convex programming problem with convergence rate ". Dokl. Akad. Nauk SSSR. 269 (3): 543–547.
  17. "Chambolle-Pock · Manopt.jl". docs.juliahub.com. Retrieved 2023-07-07.
  18. "Numerical Tours - A Numerical Tour of Data Science". www.numerical-tours.com. Retrieved 2023-07-07.
  19. "Chambolle-Pock solver — odl 0.6.1.dev0 documentation". odl.readthedocs.io. Retrieved 2023-07-07.

Further reading