1 / 23 Dekonvolution von Omnikamerabildern Tobias Börtitz, Hermann Lorenz, Lutz Krätzer, Josef Söntgen Betreuer: Richard Schmidt HTW Dresden, Deutschland Abschluß Präsentation 15. Februar 2012
2 / 23 1 Einleitung 2 Ansatz 3 Ergebnisse 4 Ausblick
3 / 23 Einleitung: Aufgabenstellung Ansätze zur Verbesserung der durch die Omnikamera aufgenommen Bilder messen und bewerten der Verbesserung hinsichtlich der Verwendbarkeit zur Gesichtserkennung Evaluierung vorhandener Algorithmen zur Dekonvolution Framework zur objektiven Bewertung der Ergebnisse
4 / 23 Wiederholung: (De-)convolution 2D convolution g(y, x) = h(y, x) f(y, x) := Mh 1 r=0 Nh 1 c=0 h(r, c) f(y + y 0 r, x + x 0 c) convolution kernel h Abbildung: Beispiele
5 / 23 Wiederholung: (De-)convolution ff. g(y, x) = h(y, x) f + n(y, x) g aufgenommen (gestörte) Bild f perfektes Bild h Degradationsfunktion (auch PSF genannt) n unabhängige Störungsfunktion (z.b. Rauschen) convolution wird zur Multiplikation im Frequenzraum g = h f G = H F
6 / 23 Wiederholung: Point Spread Function Elemente sind nicht negative i.d.r. normalisiert Abbildung: Quelle Wikipedia
7 / 23 Ansatz Recherche (Papers, Literatur, Vorlesungsskripte,... ) Suche nach bereits vorhanden Implementierungen (imagestack [2], Matlab Code, OpenCV,... )
8 / 23 Ansatz: Standard Algorithmen Richardson-Lucy Wiener je Algorithmus verschiedene Varianten vorhanden Verschiedene Stärken und Schwächen [vgl. Ergebnisse]
9 / 23 Algorithmus: Richardson-Lucy Formel (1) x, y : f 0 (x, ( y) = c, c R + (2) f n+1 = f n h g h f n ), n > 0 normalisierter PSF wird vorausgesetzt erzeugt punkteförmige Artefakte Abbildung: perfekt, gestört, 20 Iter., 100 Iter., 200 Iter.
10 / 23 Algorithmus: Wiener (vereinfacht) Formel f = F 1 ( H 2 H 2 +k ) H F +N H iterative Variante Abbildung: perfekt, gestört, 0.01, 0.0001
11 / 23 Ansatz: PSF Abschätzung Kamera liefert PSF Errechenbar über Modell der Optik Erstellung aus dem Bild Non-parametric sub-pixel local point spread function estimation PSF estimation using Sharp Edge Prediction Fergus et. al (natural image statistics + bayesian propabilty) Abbildung: fergus
12 / 23 Ergebnisse: Allgemein Gefunden wurden verschiedene Algorithmen, fertige Implementierungen und Programme/Plugins Großteil sind in ihrer Art nicht verwendbar und/oder nicht nutzbringend Obwohl theoretisch große Auswahl vorhanden: effektiv Beschränkung auf sehr wenige Möglichkeiten
13 / 23 Ergebnisse: Algorithmen Wiener / van Critter/ Richardson-Lucy (non-blind) simpel, effektiv und schnell ist massiv abhängig von sinnvollem PSF ringing Effekt an scharfen Kanten ungewünschter Effekt für Gesichtserkennung Blind Deconvolution zu benutzender Kernel wird abgeschätzt Fehleranfällig wenn falsche Annahmen getroffen werden Implemenation ist nicht trivial
14 / 23 Ergebnisse: Algorithmen Vergleich Abbildung: Vergleich, ohne Rauschen
15 / 23 Ergebnisse: Algorithmen Vergleich ff Abbildung: Vergleich mit Rauschen
Inhalt Einleitung Ansatz Ergebnisse Ausblick Ergebnisse: Algorithmen High-quality Motion Deblurring recht neu, ausfürlich in Paper [1] beschrieben versucht durch Optimierung verschiedener Kriterien alter Algorithmen ein Optimum in Rechenzeit und Qualtität des Ergebnises zu erzielen liefert die bei Weitem besten Ergebnisse Abbildung: High-quality Motion Deblurring Beispiel 16 / 23
17 / 23 Ergebnisse: Implementationen OpenCV + FFTW verschiedene (angeblich) laufende Implementationen produzierten nur unbrauchbare Ergebnisse Clarity Implementation verschiedener Algorithmen keine zufriedenstellenden Ergebnisse produzierbar
18 / 23 Ergebnisse: Programme/Plugins MATLAB bestimmte Algorithmen vorhanden (u.a. Wiener) viele proof-of-concept Implementationen Problem: keine MATLAB-Version mit Image-Toolbox verfügbar nicht nutzbar ImageStack / ImageJ /... produzieren Ergebnisse, diese sind aber allesamt unbrauchbar
19 / 23 Ergebnisse: Programme/Plugins Gimp Filter sharpen und unsharp mask keine Dekonvolution im eigentlichen Sinne nur Schärfefilter arbeiten aber (subjektiv) annehmbar gut auf den Testdaten Abbildung: Testbild Original und geschärft (unsharp mask)
20 / 23 Ergebnisse: Programme/Plugins deblur.exe [High-quality Motion Deblurring] Beispielimplementierung des Algorithmus aus [1] produziert subjektiv sehr gute Ergebnisse kein Quelltext verfügbar keine anständige Laufzeitmessung möglich Abbildung: Testbild Original, errechneter Kernel, Ergebnis der Dekonvolution
21 / 23 Ergebnisse: Fazit Es exisitieren sehr viele, auch schon fertig implementierte Algorithmen Viele der gefundenen Algorithmen/Implementationen sind nicht nutzbar und/oder liefern keine verwertbaren Ergebnisse Ein Laufzeitvergleich der funktionierenden Implementationen schwierig bis unmöglich Keine Abschätzung hinsichtlich der Verwendbarkeit zur Gesichtserkennung möglich Das Ziel eines großen Vergleiches verschiedener Algorithmen konnte aufgrund verschiedener Schwierigkeiten leider nicht erreicht werden.
22 / 23 Ausblick: Empfehlung Kurzfristig: Empfehlung des Einsatzes der aus Gimp gewonnenen Implementationen (insbesondere die unsharp mask) aufgrund akzeptabel guter Ergebnisse bei kurzer Laufzeit Langfristig: Test einer Neuimplementation des High-quality Motion Debluring auf Grundlage des entsprechenden Papers um das subjektiv sehr gute Ergebnis daraus nutzen zu können
Quellen [1] High-quality Motion Debluring from a Single Image http://www.cse.cuhk.edu.hk/ leojia/projects/motion_deblurring/deblur_siggraph08.pdf [2] Non-parametric sub-pixel local point spread function estimation http://www.ipol.im/pub/algo/admm_non_blind_psf_estimation/ und noch viel mehr... 23 / 23