Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit SoSem 2014 | Basisinformationstechnologie II - 06: Algorithmen der Bildverarbeitung II: Computervision - Vorverarbeitung
1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Jan G. Wieners // jan.wieners@uni-koeln.de
Basisinformationstechnologie II
Sommersemester 2014
04. Juni 2014 – Algorithmen der Bildverarbeitung II: Computervision – Vorverarbeitung
20. „Alles […], was ich bisher am ehesten für wahr
angenommen, habe ich von den Sinnen oder durch
Vermittelung der Sinne empfangen. Nun aber bin
ich dahinter gekommen, daß diese uns bisweilen
täuschen, und es ist ein Gebot der Klugheit, niemals
denen ganz zu trauen, die auch nur einmal uns
getäuscht haben.“
(Descartes, René: Meditationen über die Grundlagen der Philosophie mit den sämtlichen Einwänden und
Erwiderungen. Hamburg: meiner, 1994. S. 12)
28. Von der Rastergrafik zur Merkmalsextraktion –
Algorithmen & Co.
Vorbereitung bzw. Vorverarbeitung
Punkt-Operationen
Histogramm
Filter
Geometrische Operationen
Drehung, Streckung, Verschiebung des Bildes
Merkmalsextraktion
Clustering
Maschinelles Sehen
29. Betrachtung / Veränderung eines Pixels unabhängig
von seinen Nachbarpixeln
Vorverarbeitung I: Punkt-Operationen
30. Gonzalez und Woods, 2008: „We can summarize by saying that RGB is ideal
for image color generation (as in image capture by a color camera or image
display in a monitor screen), but its use for color description is much more
limited.”
Zu viel Information: Umwandlung in Graustufenbild
31. Das IHS-Farbsystem (auch HSI, HSV Farbsystem):
Leuchtstärke (Intensity): Maßeinheit der Helligkeit,
resultiert aus dem Durchschnitt der Farbwerte
Sättigung (Saturation): Beschreibt die Farbreinheit
Farbton (Hue): Proportional zur durchschnittlichen
Wellenlänge der Farbe; basiert auf Abbildung der
Farben in einem Polarkoordinatensystem:
Zu viel Information: Umwandlung in Graustufenbild
32. Relevant für Umwandlung in Graustufenbild:
Leuchtstärke (Intensity)
Algorithmus:
Betrachte jedes Pixel P der Rastergrafik
Weise jedem Farbkanal des betrachteten Pixels P die Summe
der Werte der einzelnen Farbkanäle R, G und B zu und
dividiere anschließend durch die Anzahl der drei:
𝑃 = 𝑟𝑔𝑏(
𝑃𝑅 + 𝑃𝐺 + 𝑃𝐵
3
,
𝑃𝑅 + 𝑃𝐺 + 𝑃𝐵
3
,
𝑃𝑅 + 𝑃𝐺 + 𝑃𝐵
3
)
Zu viel Information: Umwandlung in Graustufenbild
34. Histogramm
Das Histogramm eines Bildes dokumentiert über eine Liste von 256
Elementen (bei einem 8-Bit Graustufenbild) die Anzahl (y-Achse) der
Pixel des Bildes, die mit dem entsprechenden Graustufenwert belegt
sind.
35. Histogramm
Das Histogramm eines Bildes dokumentiert über eine Liste von 256
Elementen (8-Bit Graustufenbild) die Anzahl der Pixel des Bildes, die
mit dem entsprechenden Farb- bzw. Graustufenwert belegt sind.
?
36. Algorithmus:
Betrachte jedes Pixel P der Rastergrafik
Speichere den Graustufenwert des Pixels in einem
assoziierten Array:
// Initialisiere jede Speicherstelle des Arrays mit 0
array histogram[0-255] = 0;
// Iteriere über jedes Pixel des Bildes
array histogram[ PR ] += 1;
Histogrammerstellung – so funktioniert‘s
37. Histogrammausgleich (automatisch)
Z.B.: Lisani, Petro, Sbert 2012: Color and
Contrast Enhancement by Controlled
Piecewise Affine Histogram Equalization
Vgl. http://www.ipol.im/pub/art/2012/lps-pae/
38. Wie lässt sich (algorithmisch) eine Aufhellung des
Graustufenbildes vornehmen?
Übung: Bildaufhellung?
39. Wie lässt sich (algorithmisch) eine Aufhellung des
Graustufenbildes vornehmen?
Übung: Bildaufhellung?
40. Algorithmus:
Betrachte jedes Pixel des Bildes
Für jedes dunkle Pixel: Vermindere den Grauwert
Für jedes helle Pixel: Erhöhe den Grauwert
Kontrastverstärkung
41. Zu viel Information II: Binarisierung
Grundfrage dieses (und der vergangenen Verfahren): Wie lässt sich
Bildinformation verwerfen, ohne die Bildcharakteristika (i.e. die Form
des Elephanten) zu zerstören?
42. Zu viel Information II: Binarisierung
Grundfrage dieses (und der vergangenen Verfahren): Wie lässt sich
Bildinformation verwerfen, ohne die Bildcharakteristika (i.e. die Form
des Elephanten) zu zerstören?
43. Binarisierung mit konstantem Schwellenwert – so funktioniert‘s
Zwei Pixelklassen:
Algorithmus:
Betrachte jedes Pixel P der Rastergrafik
Vergleiche den Farb-/Grauwert jedes Pixels mit dem
Schwellenwert T.
Ist der Wert kleiner als der Schwellenwert, so wird es
schwarz eingefärbt (a).
Ist der Wert größer oder gleich dem Schwellenwert, so wird
es weiß eingefärbt (b).
47. Filter: Betrachtung / Veränderung eines Pixels in
Abhängigkeit seiner Nachbarpixel
Achtung: Weil Originalpixel für das Ergebnis der
Filterung relevant (und unabdingbar) ist: Nutzung eines
Zwischenbildes als Ausgabe- oder Eingabepuffer.
Filter
48. Lineare Filter (LSI-Filter, linear shift-invariant
filters): Jedes Pixel im Verarbeitungsfenster wird
mit einem vordefinierten Wert aus einer Faltungs-
bzw. Filtermatrix multipliziert.
Nichtlineare Filter: U.a. heuristische Ansätze
Heuristik (vgl. Prechtl / Burkard): „Lehre bzw. Theorie der Verfahren zum Finden von Neuem und Problemlösen.“
Filter
49. Berechnet einfachen arithmetischen Mittelwert der
Pixelwerte in der Nachbarschaft unter der
Filtermaske
Faltungsmatrix 𝑀 =
1
9
1 1 1
1 1 1
1 1 1
Pro / Contra:
Rauschen reduziert
Glättung / „Blurring“
Kanten verwischen
Einfacher Mittelwertfilter
Quelle: Handels 2009: Medizinische Bildverarbeitung.
54. Algorithmus Medianfilter (Rangordnungsfilter):
Rangordnungsfilter betrachten die Nachbarschaftspixel
jedes Pixels, speichern die gefundenen Farb- bzw.
Graustufenwerte und sortieren die so gewonnenen Werte
in aufsteigender Reihenfolge.
Aus einer 3x3 Pixelmatrix resultiert eine Liste, bestehend
aus insgesamt neun Werten. Relevant für das
Medianfilter ist das Element, das sich in der Mitte der
sortierten Liste der Pixelwerte befindet.
Das Medianfilter selektiert den Pixelwert des fünften
Listenelements und weist dem Pixel in der Mitte der
Matrix den Median, d.h. den fünften Wert der Liste zu.
Beispiel Nichtlinearer Filter: Medianfilter
66. “Same Same But Different – Comparing Rendering Environments for Interactive
Digital Objects” (Guttenbrunner, Rauber, Thaller, Wieners): http://www.euromed2010.eu/e-
proceedings/content/full/140.pdf
Auflösungsvermögen
Das menschliche Auge besitzt ca. 6 Mio. Zapfenzellen und 120 Mio. Stabzellen; das Sensor-Array einer typischen CCD-Kamera 440.000 Bildpunkte (Video) bzw. 5-16 MegaPixel (Photo)
Eine analoge 35mm Kleinbildkamera erreicht eine Auflösung von ca. 20 Megapixel (!)
Verarbeitungsleistung
Trotz relativ langsamer „Schaltzeiten“ im Millisekundenbereich garantiert parallele Verarbeitung eine extrem hohe Verarbeitungsleistung des menschl. visuellen Systems
Farbensehen
Das menschliche Auge kann ca. 100 Grauwerte und 7 Mio. Farben unterscheiden; digitale Graustufenbilder enthalten bis zu 256 Graustufen und bis zu 16,7 Mio Farben.
Struktur / form?
Kaffeehaustäuschung
Auflösungsvermögen
Das menschliche Auge besitzt ca. 6 Mio. Zapfenzellen und 120 Mio. Stabzellen; das Sensor-Array einer typischen CCD-Kamera 440.000 Bildpunkte (Video) bzw. 5-16 MegaPixel (Photo)
Eine analoge 35mm Kleinbildkamera erreicht eine Auflösung von ca. 20 Megapixel (!)
Verarbeitungsleistung
Trotz relativ langsamer „Schaltzeiten“ im Millisekundenbereich garantiert parallele Verarbeitung eine extrem hohe Verarbeitungsleistung des menschl. visuellen Systems
Farbensehen
Das menschliche Auge kann ca. 100 Grauwerte und 7 Mio. Farben unterscheiden; digitale Graustufenbilder enthalten bis zu 256 Graustufen und bis zu 16,7 Mio Farben.
Bedeutung?
Woher wissen Suchmaschinen, was in einer Rastergrafik dargestellt ist?
Annotation: Metainformationen, ausgefülltes alt-Attribut des <img> Tags
Bildanalyse
Woher wissen Algorithmen, dass sich auf der Platine eine kalte Lötstelle befindet?
Alle Pixelwerte um einen Wert n erhöhen
Punktoperation
Der Mittelwert-Filter ersetzt jedes Pixel durch den Mittelwert seiner Umgebungspixel. Dabei wird jedes Umgebungspixel gleich gewichtet. Dies hat zur Folge, dass der Mittelwert-Filter nicht nur Rauschen glättet, sondern auch Kanten im Bild verwischt.
Er berechnet als neuen Pixelwert das arithmetische Mittel der Umgebungspixel.