|
| 1 | +--- |
| 2 | +title: Split Bregman |
| 3 | +tags: [iamge processing, math] |
| 4 | +style: fill |
| 5 | +color: danger |
| 6 | +description: The marvelous Split Bregman tool |
| 7 | +--- |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +# Introduction |
| 12 | + |
| 13 | +Alguna vez te has topado con un funcional que no sabes por donde cogerlo? COn alguna "mixtura" der normas y términos de fidelidad y regularización que no sabes manejar "de una", todos a la vez? A veces echas en falta un buen decoupling de las variables No? Pues cuando te pase, que sepas que existe una técnica llamada Split Bregamn que puede serte muy útil. |
| 14 | + |
| 15 | +Echemnos un vistazo más aplio al asunto. En procesamiento de imagen una clase muy importante de problemas osn los convex programs involving classical regularization terms like l1, l2 or TV. Las soluciones de estos problemas suelen ser costosos (lentos) de computar, pero **Bregman iteration** techniques y sus variantes, como **linearized Bregman**, **split Bregman** and **Bregman operator splitting**. have been shown to yield simple, fast and effective algorithms for these types of problems. Todos estos algoritmos tienen interesantes conexiones con técnicas clásicas basadas en the **Lagrangian**, como **method of multipliers**, the **alternating direction method of multipliers** (ADMM) , and the **alternating minimization algorithm** (AMA), for the general problem of minimizing sums of convex functionals subject to linear equality constraints. These algorithms can be especially effective when the convex functionals are based on the l1 norm and the l2 norm squared [4]. |
| 16 | + |
| 17 | +Si nuestro problema es conxevo, tenemos la certeza de que podemos usar nuestra navaja suiza de Split Bregan para acelerar su cómputo; además se suele prestar a análisis de convergencia estándar. |
| 18 | + |
| 19 | +> [!NOTE] Remmark |
| 20 | +> Compressed sensing se refiere a un paradigma que permite reconstruir señales o imaǵenes (e.g. en MRI) a partir de cantidades "muy escasas" datos. Los l1-regularized optimization problems han recibido mucha atención en este sentido. Y los métodos basados en iteraciones de Bregman surgieron para lidiar con las complicaciones en la resolución de estos problemas con la norma l1 y otros demasiado domain-specific. |
| 21 | +
|
| 22 | +## Bregman iteration |
| 23 | + |
| 24 | +Bregman iteration [8] is a technique for solving constrained convex minimization problems of the form: |
| 25 | + |
| 26 | +argmin_u J(u) s.t. (subject to) H(u) = 0, |
| 27 | + |
| 28 | +where J and H are (possibly non-differentiable, asTV or the L1 norm) convex functionals defined que toman como argumento elementos de un espacio de Hilbert y devuelven valores reales. La idea principal de todo esto es la distancia de Bregman, deifnida como: |
| 29 | + |
| 30 | +D^p_J (u, v) := J(u) - J(v) - <p, u - v>, p \in parc_J(v), |
| 31 | + |
| 32 | +donde <p, u - v> es el producto interno entre p (que pertenece al subdiferncial [derivada en un sentido débil] de Jen el punto v) y el vecotr u-v. Actúa como el plano tangente a la función en v. |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | +D^p_J (u, v) compara el valor J(u) con el plano tangente (que en 1D es una línea) J(v) + <p, u-v>. Escogiendo una H diferenciable, el subdiferencial se convierte en el gradiente nabla_H. Esta no es estrictamente una distancia, pues no es necesariamente simétrica, pero mantiene muchas propiedades de distancia (ver [8]). En vez de medir distancia directa entre dos puntos, la mide como diferencias entr elos valores d ela función, comparando el valor J(u) con una aproximación lineal de J basada en supunto tangente J(v). En otras paralbras, mide la diferencia entre el valor de la función en u, que es J(u), u la mejor aproximación lineal de J(u) desde v. |
| 37 | + |
| 38 | +De la figura se nota que se requiere convexidad para una aproximación lineal efectiva. La distancia tiene a cero cuando v tiende al óptimo \hat{u}. Así que, dado un puntoinicial u⁰ y un parámetro gamma>0, el algoritmo de iteración de Bregman es formalmente: |
| 39 | + |
| 40 | +uk+1 = argmin_u D^p^k_J (u, uk) + gamma*H(u), p^k parc_J(u^k) |
| 41 | + |
| 42 | +La condición de optimalidad se convierte en la Bregman iteration: |
| 43 | +``` |
| 44 | +p⁰ ºin parc_J(u⁰) |
| 45 | +for k=0,1,... do |
| 46 | + u^k+1 = argmin D^p^k_J (u, uk) + gamma*H(u) |
| 47 | + p^k+1 = p^k - gamma * nabla_H(u^k+1) |
| 48 | +``` |
| 49 | + |
| 50 | +## Split Bregman |
| 51 | + |
| 52 | +La frecuentemente llamada "Split Bregman Iteration" para resolver problemas convexos consiste esencialmente en formular el unconstrained minization problem as a constrained problem and then apply Bregman iteration to solve it [2]. Esta transformación del problema nos da la ventaja de luego poder usar (variable) splitting para separarlo en subproblemas más fáciles de resolver. Además, usualmente es posible emplear la FFT para resolver algún subproblema, lo que lo dota de especial eficiencia. So, this splitting of Bregman iterations forms the Split Bregman mehtod, first introduced to this field in [12]. |
| 53 | + |
| 54 | +Así, si hay una frase que pueda definir al método, esta es _"descomponer problemas complicados en varios subproblemás más sencillos"_. DEfinitivamente, la idea de split bregman es aplicar **operator splitting** y **Bregman iteration** oara resolver problemas de minimzación restringida. |
| 55 | + |
| 56 | +# Implementation example |
| 57 | + |
| 58 | +Para tener un poco de bagaje y que podamos implementar nosotros mismos el algoritmo, garabatearemos un ejemplo. |
| 59 | + |
| 60 | +UN caso importante es cuando la imagen u \in R^n con restricciones linear equality. Sea A una atriz y H(u)=1/2||Au-f||_2², cuando A=I estamos ante el infame modelo ROF: |
| 61 | + |
| 62 | +min_u integral_Omega |grad u|_L2 d\mathbf{x} + lambda/2 integral_Omega u(\mathbf{x} - f(\mathbf{x})^2 d\mathbf{x}), |
| 63 | + |
| 64 | +y la iteración de Bregman se simplifica a: |
| 65 | + |
| 66 | +``` |
| 67 | +u \in R^n, b⁰ =0 |
| 68 | +for k=0,1,... do |
| 69 | + u^k+1 = argmin J(u) + gamma/2 * ||Au-f+b^k||_2² |
| 70 | + b^k+1 = b^k + A * u^k+1 - f, |
| 71 | +``` |
| 72 | + |
| 73 | +donde b^k es una vriable auxiliar añadida en le penalización cuadrática, que representa al subdiferencial p^k. Cuando las resitrcciones son lineales, esto es equivalente al método de AugmentedLagrangian (i.e. método de los multiplicadores) y está demostrado que converge a la solución tanto para el caso de TB isotrópico como anisotrópico [13]. |
| 74 | + |
| 75 | +Retomando esto con más detenimiento: Applying the operator splitting technique, convirtámoslo es un problema de optimizacion restringido: |
| 76 | + |
| 77 | +min_d,u sum_i,j|d_i,j| + lambda/2 sum_i,j(f_i,j - u_i,j)² s.t. d_i,j = grad u_i,j |
| 78 | + |
| 79 | +Por el hecho de integrar la variable d_i,j en lugar del gradiente de u conseguimos que los dos términos del funcional realmente no interactúen. AAsí, podemos resolverlo de manrea iterativa donde en cada iteración ,mantenemos una de las variables fijas y optimizamos el funcional con respecto a la otra. Pero primero debemos reconvertirlo de vuelta en un problema uncontrained... |
| 80 | + |
| 81 | +Introduciendo un parámetros de penalizacíon gamma > 0 y una variable auxiliar bi,j (relacionada con la Bregamn iteration) que compensa el error para forzar que se cumpla la restricción impuesta: |
| 82 | + |
| 83 | +min_d,u sum_i,j|d_i,j| + lambda/2 sum_i,j(f_i,j - u_i,j)² + gamma/2 sum_i,j |d_i,j - grad u_i,j - b_i,j|² |
| 84 | + |
| 85 | +En [12] se propuso to solve the above-mentioned problem by an alternating direction approach: |
| 86 | + |
| 87 | +1. Compute the Euler-Lagrange equation of the **u-subproblem** with d fixed and solve it (may be solved for u in the frequecny domain (DFT or DCT with periodic boundary condition) or by the iterative matrix techniques such as the Gauss-Seidel or Jacobi iterative methods, as Goldstein & Osher proposed [12]). |
| 88 | + |
| 89 | +2. compute the solution of the **d-subproblem** with u fixed by means of a projection or shrinkage/soft-threasholding, que impone sparsity controlando (en la dirección de gra u_i,j + b_ij) la magnitud de d_ij (i.e. que muchos ele,mentos de la solución tiendan ser cero o pequeños, regularizando para reducir el ruido co caracteŕisicas no esenciales). Este problema se desacopla sobre el espacio, lo que significa que se puede resolver independientemente para cada píxel.. |
| 90 | + |
| 91 | +3. The auxiliary variable b is initialized to zero and updated as bk+1 = bk + uk+1 dk+1. A good choice of is one for which both d and u subproblems converge quickly and are numerically well-conditioned. In d subproblem, the shrinking effect is more dramatic when issmall. In u subproblem, the effect of and increase when gets larger. It is also ill-conditioned in the limit gamma -> infinite. Therefore, should be neither extremely large nor small for good convergence [11]. |
| 92 | + |
| 93 | +Un sencillo pseudocódigo un flujo típicao de resolución de un problema convexo mediante S-B es: |
| 94 | + |
| 95 | +``` |
| 96 | +initialize u = f, d = b = \mathbf{0} |
| 97 | +while ||ucurrent - uprevious||_2² / ||ucurrent||_2² > relative_tolerance do |
| 98 | + solve the u-subproblem |
| 99 | + solve the d-subproblem |
| 100 | + b <- b^k + grad_u - d |
| 101 | +``` |
| 102 | + |
| 103 | +# Aplicaciones |
| 104 | + |
| 105 | +## TV inpainting |
| 106 | + |
| 107 | +En [1] se implementa un inpainting basado en TV mediante S-B. La gran ventaja es que la formulación para inpainting es igual que para la de denoising (y casi igual para deblurring) salvo por the stially-varying lambda in the u subproblem. |
| 108 | + |
| 109 | +## TV-TV² inpainting |
| 110 | + |
| 111 | +EN [2] se implementa un inpainting basado en TV-TV^2 mediante S-B. |
| 112 | + |
| 113 | +# Deconvolution |
| 114 | + |
| 115 | +En [14] usan el enfoque explicado para deconvolutión y no mantienen gamma fijo, sino que lo incrementan en cada iteración. |
| 116 | + |
| 117 | +[1] Pascal Getreuer Total Variation Inpainting using Split Bregman http://www.ipol.im/pub/art/2012/g-tvi/ |
| 118 | +[2] Konstantinos Papafitsoros, Carola Bibiane Schoenlieb, Bati Sengul Combined First and Second Order Total Variation Inpainting using Split Bregman http://www.ipol.im/pub/art/2013/40/ |
| 119 | +[3] Yin, W., Osher, S., Goldfarb, D., Darbon, J., Bregman Iterative Algorithms for l1-Minimization with Applications to Compressed Sensing, UCLA CAM Report [07-37], 2007 |
| 120 | +[4] Applications of Lagrangian-Based Alternating Direction Methods and Connections to Split Bregman Ernie Esser March 2009 |
| 121 | +[5] An edge-weighted second order variational model for image decomposition Jinming Duan et al. 2015 |
| 122 | +[6] Handbook of Mathematical Methods in Imaging Otmar Scherzer Second Edition 2015 ISBN 978-1-4939-0789-2 DOI 10.1007/978-1-4939-0790-8 |
| 123 | +[7] Image denoising feedback framework using split Bregman approach Jeong Heon Ki et al 2017 |
| 124 | +[8] RudinOsherFatemi Total Variation Denoising using Split Bregman Pascal Getreuer 2012 |
| 125 | +[9] A regularization model with adaptive diffusivity for variational image denoising Po-Wen Hsiehet al 2017 |
| 126 | +[10] Variational Models and Numerical Methods for Image Processing Jia-Wei Liao 2020 |
| 127 | +[11] Variational Models and Numerical Methods for Image Processing Suh-Yuh Yang 2020 |
| 128 | +[12] THE SPLIT BREGMAN METHOD FOR L1 REGULARIZED PROBLEMS TOM GOLDSTEIN, STANLEY OSHER 2009 |
| 129 | +[13] E. Esser, Applications of Lagrangian-Based Alternating Direction Methods and Connections to Split Bregman, UCLA CAMReport09-21, 2009. ftp://ftp.math.ucla.edu/pub/camreport/ cam09-31.pdf |
| 130 | +[14] Total variation blind deconvolution employing split Bregman iteration Weihong Li et al 2012 |
0 commit comments