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} ,12 where prox τ F {\displaystyle {\text{prox}}_{\tau F}} is referred to
Consider the following constrained primal problem:13
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.14
The minimization problem has its dual corresponding problem as15
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.16
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 satisfies17
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.18
The Chambolle-Pock algorithm solves the so-called saddle-point problem19
which is a primal-dual formulation of the nonlinear primal and dual problems stated before.20
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.21 Furthermore, an over-relaxation technique is employed for the primal variable with the parameter θ {\displaystyle \theta } .22
Chambolle and Pock proved23 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.24 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 method25 coincides with the particular choice of θ = 0 {\displaystyle \theta =0} in the Chambolle-Pock algorithm.26
There are special cases in which the rate of convergence has a theoretical speed up.27 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.28
In case of G {\displaystyle G} uniformly convex, with γ > 0 {\displaystyle \gamma >0} the uniform-convexity constant, the modified algorithm becomes29
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.30
A typical application of this algorithm is in the image denoising framework, based on total variation.31 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.32 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,33 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} .34
Define the inner product on X {\displaystyle {\mathcal {X}}} as35
that induces an L 2 {\displaystyle L^{2}} norm on X {\displaystyle {\mathcal {X}}} , denoted as ‖ ⋅ ‖ 2 {\displaystyle \lVert \,\cdot \,\rVert _{2}} .36
Hence, the gradient of u {\displaystyle u} is computed with the standard finite differences,
which is an element of the space Y = X × X {\displaystyle {\mathcal {Y}}={\mathcal {X}}\times {\mathcal {X}}} , where37
On Y {\displaystyle {\mathcal {Y}}} is defined an L 1 − {\displaystyle L^{1}-} based norm as38
Then, the primal problem of the ROF model, proposed by Rudin, Osher, and Fatemi,39 is given by40
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.41
The primal-dual formulation of the ROF problem is formulated as follow42
where the indicator function is defined as43
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}}} .44
Observe that the functions involved in the stated primal-dual formulation are simple, since their proximal operator can be easily computed45 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 algorithms46 such as the alternating direction method of multipliers (ADMM),47 projected (sub)-gradient48 or fast iterative shrinkage thresholding.49
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. Bibcode:2011JMIV...40..120C. doi:10.1007/s10851-010-0251-1. ISSN 1573-7683. S2CID 207175707. https://doi.org/10.1007/s10851-010-0251-1 ↩
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. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3370658 ↩
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. http://epubs.siam.org/doi/10.1137/130919696 ↩
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. https://doi.org/10.1134/S1061830919070027 ↩
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. 978-1-4244-4420-5 ↩
"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. https://ieeexplore.ieee.org/document/6810809 ↩
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. 978-0-89871-450-0 ↩
Banert, Sebastian; Upadhyaya, Manu; Giselsson, Pontus (2023). "The Chambolle-Pock method converges weakly with θ > 1 / 2 {\displaystyle \theta >1/2} and τ σ ‖ L ‖ 2 < 4 / ( 1 + 2 θ ) {\displaystyle \tau \sigma \lVert L\rVert ^{2}<4/(1+2\theta )} ". arXiv:2309.03998 [math.OC]. /wiki/ArXiv_(identifier) ↩
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. https://archive.org/details/studiesinlinearn0000arro ↩
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. 978-1-4577-1102-2 ↩
Chambolle, Antonin (2004-01-01). "An Algorithm for Total Variation Minimization and Applications". Journal of Mathematical Imaging and Vision. 20 (1): 89–97. Bibcode:2004JMIV...20...89C. doi:10.1023/B:JMIV.0000011325.36760.1e. ISSN 1573-7683. S2CID 207622122. https://doi.org/10.1023/B:JMIV.0000011325.36760.1e ↩
Getreuer, Pascal (2012). "Rudin–Osher–Fatemi Total Variation Denoising using Split Bregman" (PDF). https://www.ipol.im/pub/art/2012/g-tvd/article_lr.pdf ↩
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. http://epubs.siam.org/doi/10.1137/09076934X ↩
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. https://www.jstor.org/stable/2156649 ↩
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. http://epubs.siam.org/doi/10.1137/080716542 ↩
Nestorov, Yu.E. "A method of solving a convex programming problem with convergence rate O ( 1 k 2 ) {\displaystyle O{\bigl (}{\frac {1}{k^{2}}}{\bigr )}} ". Dokl. Akad. Nauk SSSR. 269 (3): 543–547. https://www.mathnet.ru/eng/dan46009 ↩
"Chambolle-Pock · Manopt.jl". docs.juliahub.com. Retrieved 2023-07-07. https://docs.juliahub.com/Manopt/h1Pdc/0.3.8/solvers/ChambollePock.html ↩
These codes were used to obtain the images in the article. ↩
"Numerical Tours - A Numerical Tour of Data Science". www.numerical-tours.com. Retrieved 2023-07-07. http://www.numerical-tours.com/ ↩
"Chambolle-Pock solver — odl 0.6.1.dev0 documentation". odl.readthedocs.io. Retrieved 2023-07-07. https://odl.readthedocs.io/guide/chambolle_pock_guide.html#chambolle-pock-guide ↩