Bildverarbeitung: Kontinuierliche Energieminimierung D. Schlesinger BV: () Kontinuierliche Energieminimierung 1 / 9
Idee Statt zu sagen, wie die Lösung geändert werden muss (explizite Algorithmus, Diffusion), werden die erwünschten Eigenschaften der Lösung explizit formuliert. Die Ausprägungen eines Objektes werden durch Abbildungen repräsentiert. Beispiele: Menge der Pixel Menge der Farben (alles diskret). Menge der Pixel Kontinuierlicher Grauwertbereich. Eigenschaften des Modells werden mittels Energie dargestellt Funktion, die ungünstige Abbildungen bestraft. Die Aufgebe wird zu einem Optimierungsproblem suche nach der günstigsten Abbildung. Fälle: Definitionsbereich: kontinuierlich 2 diskret Menge der Pixel Wertebereich: kontinuierlich diskret z.b. [0... 255] Heute: Wertebereich kontinuierlich, Beispiel Entrauschen (denoising). D. Schlesinger BV: () Kontinuierliche Energieminimierung 2 / 9
Diskreter Definitionsbereich Z 2 die Pixelmenge, E 2 die Nachbarschaftstruktur (z.b. 4-Nachbarschaft) x : Z das Ausgangsbild, y : die gesuchte Abbildung (das restaurierte Bild). Energie E : besteht (normalerweise) aus zwei Teilen: 1) Der Daten-Term: E d (y) = (x r y r ) 2 r (entspricht Gausschem auschen). 2) Der Modell-Term: E m(y) = (y r y r ) 2 rr E Annahme: der rekonstruierte Grauwertverlauf (die Abbildung y) soll glatt sein Die Optimierungsaufgabe: [ ] y = arg min Ed (y) + αe m(y) y D. Schlesinger BV: () Kontinuierliche Energieminimierung 3 / 9
Diskreter Definitionsbereich Lösungsweg Ableitungen Nullsetzen: [ ] (x r y r ) 2 + α (y r y r ) 2 = y r r rr E y r x r + α (y r y r ) = 0 r :r r E (1 + 4α)y ij αy ij 1 αy ij+1 αy i 1j αy i+1j = x ij i, j System linearer Gleichungen mir n = Variablen und n Gleichungen: A y = x mit y = (y 1, y 2,..., y n) n die Lösung, x = (x 1, x 2,..., x n) Z n das Ausgangsbild, a k = 1 + 4α, a kl = α wenn die entsprechenden Pixel benachbart sind, sonst 0. Das System kann bezüglich y mithilfe Standardmethoden (Gaussche Eliminierung, LU-Dekomposition, A invertieren usw.) gelöst werden das ist aber leider sehr Zeitaufwendig (nur im 1D-Fall effizient). (Merke: online/offline Varianten). D. Schlesinger BV: () Kontinuierliche Energieminimierung 4 / 9
Diskreter Definitionsbereich Die Matrix A ist schwach besetzt iterative Methoden. Jacobi Methode: Man zerlege A = D + M mit einer diagonalen Matrix M: Ay = x (D + M)y = x Dy = x My y = D 1 (x My) y (k+1) = D 1 (x My (k) ) Vorteile: extrem einfach, parallelisierbar Nachteile: immer noch zu langsam, konvergiert nur bei k, konvergiert nur wenn die Matrix streng diagonal dominant ist, d.h. a ii > j i a ij, was glücklicherweise für das Beispiel gerade der Fall ist. Andere Algorithmen: Gauss-Seidel, Successive Over-relaxation (schneller), Konjugierte Gradienten (bessere Konvergenz), Multigrid Methoden (viel schneller aber komplizierter) etc. Das obige Beispiel ist sehr einfach quadratische Energie lineare Gleichungssystem. Probleme wenn nicht differenzierbar, nicht konvex etc. D. Schlesinger BV: () Kontinuierliche Energieminimierung 5 / 9
Kontinuierlicher Definitionsbereich Definitionsbereich wird zu 2, die Abbildung y : 2 ist somit eine Funktion, Die Energie wird zum Energiefunktional E :. Calculus of Variations, Variationelle Ansätze. Beispiel das Entrauschen: E(y) = [ (y(r) x(r) ) 2 + α y(r) 2] dr min y Gâteaux Ableitungen entlang ichtungen h : 2 (ichtungsableitungen im Funktionsraum): E h (y) y E(y + εh) E(y) = lim = ε 0 ε de(y + εh) dε Euler-Lagrange Gleichungen: im Optimum sind alle Gâteaux Ableitungen (d.h. für alle h) Null. ε=0 D. Schlesinger BV: () Kontinuierliche Energieminimierung 6 / 9
Kontinuierlicher Definitionsbereich ] d [(y + εh x) 2 + α (y + εh) 2 dε // koordinatenweise in 2 d dε 2 2 dr ε=0 [ (y + εh x) 2 + α ( r 1 (y + εh) ) 2 + α ( [ (y + εh x)h + α ( = ) ] 2 (y + εh) dr = r 2 ε=0 (y + εh) h ) ( + α (y + εh) h ) ] dr r 1 r 1 r 2 r 2 [ (y x)h + α ( y r 1 h r 1 ) + α ( y r 2 h r 2 ) ] dr = // partielle Integration [ ( 2 y 2 (y x)h α r 2 1 2 ) ( 2 y )] h α r2 2 h dr +... (Grenzeffekte) = (y x α y)h dr +... (Grenzeffekte) = 0 h ε=0 = D. Schlesinger BV: () Kontinuierliche Energieminimierung 7 / 9
Kontinuierlicher Definitionsbereich y x α y = 0 r, und für die Grenzen n, y = 0 elation zum Fall diskretes Definitionsbereiches: Diskretisiert man die Bedingungen und schreibt sie für alle Pixel (i, j) auf, d.h. ( ) y i,j x i,j α (y i 1,j 2y i,j + y i+1,j ) + (y i,j 1 2y i,j + y i,j+1 ) = 0 so entsteht dasselbe lineare Gleichungssystem wie beim diskreten Definitionsbereich: y i,j (1 + 4α) αy i 1,j αy i+1,j αy i,j 1 αy i,j+1 = x i,j (i, j). elation zur Diffusion: (Anti)Gradient Verfahren zur Minimierung der Energie E(y): y (t+1) = y (t) E(y) y Vergleiche mit der linearen isotropischen Diffusion: = y (t) + α y + (x y) u (t+1) = u (t) + u t = u(t) + c u D. Schlesinger BV: () Kontinuierliche Energieminimierung 8 / 9
Kontinuierlicher Definitionsbereich Erweiterungen (kompakte Schreibweise): [ ] E(y) = (y x) 2 + αψ( y 2 ) dr min y mit einem egularisator Ψ: Ψ(s 2 ) = s 2 Ψ(s 2 ) = s 2 Ψ(s 2 ) = 1 λ 2 exp( s2 λ 2 ) { 0 wenn s Ψ(s 2 ) = 2 = 0 1 else Tikhonov Total Variation Perona-Malik Potts-Modell Euler-Lagrange Gleichungen: div ( Ψ ( y 2 ) y ) y x α = 0 D. Schlesinger BV: () Kontinuierliche Energieminimierung 9 / 9