Zusammenfassung Digitale Bildverarbeitung By Fabian Flohrmann VL01 Stufen der Bildverarbeitung Bildgewinnung => Bildbearbeitung => Bilderkennung Bildgewinnung: Bildaufnahme Bilddiskretisierung Bildbearbeitung: Bildrestauration Bildverbesserung Segmentierung Bilderkennung: Merkmalsextraktion a.) Klassifikation oder b.) Bildverstehen Unterschiede & Gemeinsamkeiten: Menschliches & Maschinelles Sehen Gemeinsamkeiten: - Beide nehmen ein Rasterbild wahr Unterschiede: Maschinelles Sehen: - Präzise den Farb-Wert eines Pixels - Vermessung von Werkstücken durch Pixelanzahl - Robust, aber eng definiert, bei Veränderungen neue Einstellung Menschliches Sehen: - Komplettbild, kein einzelnen Pixel - Flexibel, robust, aber ungenau - Bilderkennung und Abgleich durch Erfahrung VL02 Systemstruktur eines Technischen Multimedialsystems - Umwandeln des Bildes in Pixel. - Kamera Frame-Grabber Treiber Applikation Interpretation - Reflexion des angestrahlten Werkstückes gelangen durch das Objektiv auf den CCD- Chip der Kamera. - CCD-Chip wandelt Licht in Ladungen um - Ladungen in Videosignal - Frame-Grabber macht aus dem Videosignal ein Digitals Signal / Bild VL03 Punktoperationen - der neue Farb/Grauwert eines Bildes hängt von dem alten Wert ab, nicht von irgendwelchen Nachbarn. Grauwerthistogramme - Ein Grauwerthistogramm gibt für jeden Grauwert eines Bildes die Häufigkeit seines Auftretens an. - Die Grauwerte liegen im Bereich von 0-250 Kontrastverstärkung - Interpolation von Grauwerten (50-100 0 250) - Dies kann durch eine Funktion dargestellt werden, die mit verschiedenen Stützen arbeitet. Fabian Flohrmann Seite 1 06.02.04
VL04 Lokale Operatoren - Hervorhebung oder Unterdrücken von Grauwerten durch die Grauwerte ihrer Nachbarn Faltung - Eine Operatormaske (meist ungerade AxA-Matrix) : Auch Fenster genannt - Mit dieser Operatormaske wird dann Zeilenweise über das Bild gegangen, und die Grauwerte der Maske mit den darunter liegenden Multipliziert, und am Markierten Element wieder zurück ins Bild geschrieben. Grauwertglättung - Boxfilter o Summierung und teilen durch Anzahl o Kanten werden Unscharf o Rauschen Reduzierung - Medianfilter o Sortierung der Werte in eine Liste o Mitte der Liste als neuen Grauwert - Gaußscher Tiefpass o Gewichtetes Mittel o Summe der Multiplikatoren und teilen durch sie - Min-Operator o Dunkle Regionen werden gesäubert o Helle zerstört - Max-Operator o Helle Regionen werden gesäubert o Dunkle zerstört - K-nearest Neighbour-Filter o Einbeziehen der Pixel unter der Maske die einen ähnlichen Grauwert wie das Aktuelle Pixel haben. Verstärkung von Grauwertsprüngen 0 1 0 - Laplace-Operator 1 4 1 0 1 0 1 1 1 - Prewitt-Operator 0 0 0 1 1 1 - Min-Max-Operator o Erzeugung von Min-Operator-Bild und Max-operatorbild, dann verknüpfen - Closest-Min-Max-Operator o Erzeugung von Min-Operator-Bild und Max-operatorbild o Je nachdem welcher Wert des aktuellen Pixels näher am Max oder Min Bild liegt wird genommen Fabian Flohrmann Seite 2 06.02.04
VL05 Vorwärtstransformation - Eine Transformation von einem Bildpunkt (Weltkooridinaten) in den des Ergebnisbildes - Problem: Es können zwei unterschiedliche Pixel im Originalbild ein einzelnes Pixel im Ergebnisbild sein Rückwärtstransformation - Eine Transformation vom Ergebnisbild zurück in das Originalbild - Problem: Es können Pixel im Ergebnisbild geben, die es im Originalbild nicht gab. Affine Transformationen auf Bilder - Siehe GDV VL06 Rekonstruktion - Bei den Vorwärts/Rückwärtstransformationen können ungerade Zahlenwerte als Pixel auftreten - Dann muss eine neue Abtastung erfolgen VL06 HSI-Farbmodell (Farbe, Sättigung, Helligkeit) - Zuordnung der Farben zu einem Wertebereich [0; 360] - Sättigung (Reinheit der Farbe / Weißton) [0;1] - Helligkeit [0;1] - Dargestellt als Doppelkegel - Farbe: Winkel zum Referenzwert: Rot - Sättigung: ist der Abstand zur Intensitätsachse Farbbildverarbeitung - siehe Bilder und Diagramme auf Extra-Farbblättern VL07 Struktur und Sinn der DFT - Fourier-Synthese o Aufsummieren von (Co)sinus-Funktionen: Periodendauer Frequenz Amplitude Phase(nverschiebung) - Fourier-Analye o Darstellung von Betrag und Phase - Fourier-Transformation o Berechnung von Betrag und Phase zu f0 - Nach DFT kommt eine Kartesische Darstellung heraus (diese ist für die Maschinelle Verarbeitung sinnvoll) - (Für die Menschliche Interpretation jedoch) Muss diese dann in Polar umgewandelt werden, damit man die Phasen und Betrags Werte hat. Fabian Flohrmann Seite 3 06.02.04
- Interpretation der Betragswerte Mittelwert f0 2f0 3f0 4f0-3f0-2f0 -f0 - Die Summe der Frequenzen ergibt die Amplitude. - Der Wert in der jeweiligen Frequenz gibt den Frequenzgrundwert an. (z.b. 3f0 bedeutet 3-fache Grundfrequenz - Interpretation der Phase - Zeigt die Phasenverschiebung an. - Es gelten nur die Phasen, bei denen der Betrag 0 ist! Bsp: Mittelwert f0 2f0 3f0 4f0-3f0-2f0 -f0 Betrag: 0 0 0 0,5 0 0,5 0 0 Phase: 0 1 π -π/2 0 π/2 1 1 Die 0,5 im Betrag steht bei 3f0, welches Bedeutet, dass es die 3-fache Grundfrequenz hat. Bei den Phasen gelten nur die Werte, wo der Betrag 0 ist. Also nur die -π/2 und π/2. Diese -π/2 ist die Phasenverschiebung. Die Summe der Werte im Betrag ergibt die Amplitude: hier 1 = (0,5+0,5) Damit ergibt sich die Formel: 1 cos(3f0 2π -π/2) Zentrierte Darstellung, Frequenzspektrum - Normalerweise sind in dem Amplitudenspektrumsbild die wichtigen Stellen in den Ecken - Eine Zentrierte Darstellung ermöglicht eine sinnvollere (und für den Menschen besser erkennbare) Form des Frequenzspektrums VL08 Eigenschaften der DFT - Linearität o Addition o Skalare Multiplikation - Separierbarkeit o Die Formel lässt sich in Teile separieren o Eine zweidimensionale DFT kann auch in zwei Schritten abgehandelt werden, somit muss man nur zwei eindimensionale DFTs machen. - Faltung o Es kann eine Operatormaske definiert werden, die mit dem Bild multipliziert werden kann. Globale Operatoren - Es müssen alle Pixel des Eingabebildes vorhanden sein, um ein Pixel des Ausgabebildes zu berechnen. - Manipulation des Frequenzspektrums verändert potentiell alle Bildpunkte Fabian Flohrmann Seite 4 06.02.04
VL09 Binärmorphologie - Binärbilder haben zu jedem Pixel nur die Werte 0 und 1 zur Verfügung - Erosion: Liegt die Operatormaske mit allen Feldern auf einer 1, so wird im Ergebnisbild eine 1 eingetragen Wegschrumpfen von Randflächen - Dilation: Liegt die (gespiegelte) Operatormaske mit einem Feld auf einer 1 so wird im Ergebnisbild eine 1 eingetragen Aufplustern der Randflächen. - Opening: Erosion dann Dilation - Closing: Dilation dann Erosion Grauwertmorphologie - Grauwertbilder haben eine art (3D)-Gebriges. - Erosion trägt die oberste Schickt des Gebirges ab - Dilation füllt die Täler auf. - Das Gebirge wird von unten nach oben mit dem Strukturelement abgetastet (siehe Tetris-Bild) VL10 Bereichssegmentierung - Aus dem Ursprungsbild macht man eine Histogrammanalyse, die teilt das Bild damit in Hintergrund und Objekte - Daraus entsteht dann ein Labelbild (als Binärbild) - Danach macht man eine Zusammenhangsanalyse um ein Markenbild zu bekommen - Dann kommt die Merkmalsextration, die zu einer Klassifizierung der Objekte benötigt wird BLOB-Coloring-Verfahren - Wird benutzt um aus einem Lable-Bild ein Markenbild zu machen - Es wird eine Maske an dem Lable-Bild gelegt, und geguckt, ob der linke oder der obere teil der Maske eine gleiche Zahl aufweist. - Zu beachten ist die Äquivalenzliste, die bei Äquivalenzen entsprechende Verlinkungen dokumentieren muss. - Siehe Zeichnung Skript (Folie 32 & 36) VL11 Ziel & Sinn der Äquivalenzlist & Aufbereitung - Die Äquivalenzliste wird im BLOB-Coloring-Verfahren eingesetzt. - Sie verwaltet die Äquivalenzen, also ob bestimme Strukturen, die zuerst für zwei verschiedene gehalten wurden zu einer Struktur gehören. - Sie wird meist als Feld angelegt. - Dort wo Index und Marke übereinstimmen, da gibt es keine Äquivalenzen gängige Merkmale der Bereichssegmentierung - Flächeninhalt - Umfang - Kompaktheit Fabian Flohrmann Seite 5 06.02.04
VL12 o Unabhängig von Lage, Skalierung und Orientierung - Schwerpunkt o Abhängig von der Lage - Polare Abstand o Strecken zwischen Schwerpunkt und Rand Beispielhafter Ablauf vom Originalbild zur Approximation durch Strecken Originalbild Grad Horizontale Grauwertdifferenz, Vertikale Grauwertdifferenz cart_in_polar Gradientenbetrag und Gradientenrichtung +π/2 Verdünnung Ein Pixel breiter Gradientenbetrag, und eine Gradientenrichtung+π/2 Verkettung von Betrag und Richtung Konturpunkteketten Approximation durch Strecken Konturpunktdedektion - Am Übergang von Objekt zu Hintergrund treten die größten Grauwertdifferenzen auf - Hervorhebung der Grauwertdifferenzen - Gradientenoperation mit einer Maske (1x2 od. 2x1 mit je 1 und 1) - Hervorheben der Übergänge, doch die Gradientenrichtung schwankt - Störungsanfällig - Größere Operatormasken (3x3 od. 5x5) f - Die erste Ableitung ist der Gradient -- f ( x, y) = f x y ² f ² f - Die zweite Ableitung der Laplace-Operator -- ² f ( x, y) = + x² y² Fabian Flohrmann Seite 6 06.02.04
Konturverbesserung - Verdünnung, so dass nur eine 1 Pixel breite Kontur übrig bleib - Eine Non-Maxima-Unterdrückung sollte nicht nur auf den Gradientenbeträgen, sondern auch deren Richtungen beruhen, somit können Störungen leichter beseitigt werden. 4-/8-Nachbarschaft - 4er Nachbarschaft guckt nur ob rechts links oben oder unten ein Randpixel vorhanden ist - Daraus kann es passieren, dass es zwei Pixel-Ränder gibt, die aufgrund ihrer diagonalen Nachbarschaft nicht entdeckt wurden. - Bei der 8-Nachbarschaft werden alle umliegenden Pixel betrachtet. - Damit ist gewährleistet, dass einen genau einen Pixel breiten Rand gibt. VL13 Konturpunktverkettung - Ablauf: Beginnend mit dem östlichen Nachbarn sucht der Algorithmus (entgegen dem Uhrzeigersinn) nach dem nächsten Konturpunkt - Der zuerst getroffene ist der Aktuelle Konturpunkt - Der alte wird dann in die Konturliste eingetragen und gelöscht - Vorteil: Schnell, Einfach - Nachteil: Kette kann in mehrere Teile zerfallen - Muss nicht Gradientenrichtungstreu sein - Zur Vermeidung dieser Nachteile muss die Gradientenrichtung in den Algorithmus mit eingebaut werden. - Zuerst muss die Kette bis zum ende durchsucht werden, bevor der Algorithmus startet, so vermeidet man die Zerlegung in mehrere Ketten. Konturapproximation - Kontursegmentierung liefert strukturelle Merkmal, wie Parallelität von Strecken - Approximation beginnt mit einer Strecke - Ist der Abstand zwischen einem Konturpunkt und dieser Strecke größer als der erlaubte Fehler, so wir die Strecke geteilt. - Dieser Vorgang wird dann so lange wiederholt, bis es keinen Konturpunkt mehr gibt der über dem Maximalen Fehler liegt. Hough-Transformation (inkl. Beispielhafter Ablauf) - Problem: Durch Bildstörungen kann die Konturkette unterbrochen sein - Die Gerade wird als Punkt abgebildet (mit Winkel zu x-achse und dem Abstand zum Nullpunkt) - Es können jetzt Punktballungen entstehen, die durch unsaubere Konturen entstanden sind - Diese können dann als eine Gerade zusammen gefasst werden - Beispielhafter Ablauf Ursprungsbild Gradient/Verdünnung Betrag und Richtung Hough-Transformation Akkumulator Analyse Geraden Tracking Segmente Fabian Flohrmann Seite 7 06.02.04