44
Skript zur Vorlesung Digitale Bildverarbeitung Sommersemester 2014 (Version 3.3, 3.4.2014) Susanne Winter Institut für Neuroinformatik

Skript zur Vorlesung Digitale Bildverarbeitung ... · Diskret: von lat. discretus = unterschieden, getrennt Quantisiert: von lat. quantum = so gross wie; Unterteilung eines kontinuierlichen

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Skript zur Vorlesung Digitale Bildverarbeitung

Sommersemester 2014

(Version 3.3, 3.4.2014)

Susanne Winter Institut für Neuroinformatik

2

3

Inhalt Erläuterungen ............................................................................................................................. 5 1. Einführung .............................................................................................................................. 7 2. Was ist ein Digitales Bild? ..................................................................................................... 9 3. Farbbilder ............................................................................................................................. 11 4. Bildspeicherung und Bildformate ........................................................................................ 12 5. Histogramme ........................................................................................................................ 15 6. Punktoperatoren ................................................................................................................... 17 7. Bildstörungen ....................................................................................................................... 21 8. Filteroperationen – lineare Filter .......................................................................................... 23 9. Nicht lineare Filter ............................................................................................................... 27 10. Kantendetektion ................................................................................................................. 29 11. Kanten und Konturen ......................................................................................................... 32 12. Hough-Transformation ....................................................................................................... 34 13. Geometrische Bildoperationen ........................................................................................... 39 14. Interpolation ....................................................................................................................... 43 

4

5

Erläuterungen Der Inhalt dieses Skripts ist in Kapitel gegliedert, die den inhaltlichen Abschnitten der Vorlesung entsprechen. Das Skript stellt eine Zusammenfassung des gesamten Vorlesungsinhalts der Grundlagenkapitel dar. Speziellere Themen, die gegen Ende der Vorlesung behandelt werden, werden in einem separaten Skriptteil zur Verfügung gestellt. Die Folien werden nicht als Foliensatz zur Verfügung gestellt. Es finden sich aber alle Stichworte der Vorlesungsfolien in diesem Skript wieder (kleine Änderungen vorbehalten). Am Ende jedes Abschnitts unter der Überschrift ‚Quellen / Links’, finden Sie, neben weiterführenden Links, auch Verweise auf eine Sammlung von Bildern und Formeln zu jedem Abschnitt. Insbesondere finden Sie dort auch eine Liste der verwendeten Bilder und Formeln aus dem Buch ‚Digitale Bildverarbeitung’ von Burger und Burge. Falls Sie dieses Buch nicht zur Verfügung haben, können Sie sich auf der Internetseite: http://www.imagingbook.com/index.php?id=14, unter ‚Lehrmaterial’, die Abbildungen zu den jeweiligen Kapiteln herunterladen.

6

7

1. Einführung Digitale Bildverarbeitung Digital: von lat. digitus = Finger Im Gegensatz zu analog (entsprechend, gleichartig, kontinuierlich) Diskret: von lat. discretus = unterschieden, getrennt Quantisiert: von lat. quantum = so gross wie; Unterteilung eines kontinuierlichen Signals in eine endliche Anzahl diskreter Signale Digitale Bildverarbeitung und angrenzende „Gebiete“ Bildverarbeitung: Konzeption, Erstellung, Entwicklung von Software Bildbearbeitung: Manipulation von Bildern mit fertiger Software Computergrafik: Synthese von Bildern Mustererkennung: Texturerkennung, Zeichenerkennung Computervision: Erfassung von Gegenständen und Szenen Robotik

• Objekterkennung • Gestenerkennung • Hinderniserkennung • Der Roboter betrachtet sein Arbeitsfeld • Interaktion mit dem Benutzer • Interaktion mit Gegenständen

Fahrerassistenzsysteme

• Fußgängererkennung Sportanalyse Gesichtserkennung Medizin

• Computertomographie • Magnetresonanztomographie (MRT)

Quellen / Links: Fahrerassistenzsysteme und Sportanalyse: http://www.ini.ruhr-uni-bochum.de/research/groups/rtcv/index.html.en Medizinische Bildverarbeitung: http://www.mip-research.de/scientific-interests/ultrasound-registration.html Autonome Robotik: http://www.ini.ruhr-uni-bochum.de/research/groups/ar/index.html.en http://www.mip-research.de/fileadmin/Dokumente/Teaching/01-Bilder.pdf Abbildungen:

8

9

2. Was ist ein Digitales Bild? Digitale Bilder von ganz nah betrachtet

• Ein Feld mit drei Zahlen beschreibt einen Bildpunkt (Farbbilder) • Jedes Pixel wird durch drei Zahlenwerte (rot, grün, blau) dargestellt • Bei weißen, grauen und schwarzen Punkten sind die Werte für rot, grün und blau gleich • Bei Grauwertbildern wird ein Bildpunkt nur durch eine Zahl dargestellt • Der Grauwert beschreibt die Helligkeit eines Bildpunktes • Einfache Grafiken haben nur wenige verschiedene Grauwerte

Die drei Betrachtungsebenen

• Verständnisebene (Bild, Pixel, Zahlenfeld) • Formale Beschreibung (Formel) • Umsetzung in Programmiersprache (Programmcode)

Bildmatrix

• Gitterpunkte • Pixel (engl. picture elements) • Voxel (engl. volume elements) • Bei der Darstellung von Bildern befindet sich der Nullpunkt in der Regel oben links

Datentypen

• Wertebereiche • Speicherbedarf

Quellen / Links: http://www.mip-research.de/fileadmin/Dokumente/Teaching/02-Bilder.pdf Abbildungen:

10

11

3. Farbbilder RGB-Farbschema

• Rot • Grün • Blau

Farbmischung

• Additive Mischung • Subtraktive Mischung

Anordnung der Farbkomponenten

• Komponentenanordnung • gepackte Anordnung • Indexbilder

Umwandlung von Farb- in Grauwertbilder Farbsysteme

• RGB ist die Grundlage für die Anzeige mit RGB-Anzeigegeräten (Computer, TV) • Farbeigenschaften sind mit RGB nicht gut erfassbar

– Farbton – Farbsättigung – Helligkeit

• HSV-Raum – Hue (Farbton) – Saturation (Farbsättigung) – Value (Helligkeit)

Quellen / Links: Abbildungen zu Farbanordnung und Farbsystemen: „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 12 (12.1, 12.2, 12.3, 12.4, 12.5) Umwandlung in Grauwertbilder: „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 12 (eqn 12.4, eqn 12.5, eqn 12.6, eqn 12.7)

12

4. Bildspeicherung und Bildformate Bildspeicherung

• Vektordaten / Vektorgrafiken – Z.B. PS / EPS / CorelDraw – Speicherung binär oder als Text (Text z.B. .cgm, .svg)

• Rasterbilder – Rohdaten – .tiff – .jpg / .jpeg – .gif – .bmp – .png – …

PBM-Format

• Einfaches Format – Portable Bit Map (.pbm) – Portable Gray Map (.pgm) – Portable Any Map (.pnm)

• Datei mit Bildinformationen – Header – Daten (Byte)

• Header (.pgm) – Format – Kommentar – Breite, Höhe – Max. Pixelwert

TIFF-Format

• Tagged Image File Format – Komprimiert / unkomprimiert – Grauwertbilder, Farbbilder, Indexbilder – Unterschiedliche Farbräume – Mehrere Bilder

Weitere Formate

• Häufig unkomprimiert – .bmp – .tiff – Dicom

Wenn die Bildgröße bekannt ist, können die Bilddaten einfach aus der Datei gelesen werden • Verlustfreie Kompression / einfache Kompression

– z.B. bei .bmp Bildern möglich – .gif (aber verlustbehaftete Farbquantisierung) – .png

Einfache Kompression – Lauflängencodierung

= run length encoding (RLE) • Aufeinanderfolgende Pixel haben oft den gleichen Wert • Codierung durch (Intensitätswert, Lauflänge) • Nachteil: Kann zu Dateivergrößerung führen!

13

Lauflängencodierung auf Bit-Ebene • Zerlegung der Bilder in ihre Bits; Beispiel bei 256 Grauwerten • 1. Bit: größer oder kleiner als 127 • 2. Bit: Grenzen bei 63, 127 und 191 • Sinnvoll ist eine hybride Form der Speicherung, da auf den unteren Bitebenen sich beinahe

jedes Pixel vom nächsten unterscheidet Quantisierung des Grauwertbereichs

• Eine Reduktion von 256 Grauwerten auf 128, 64 oder 32 Grauwerte wird kaum wahrgenommen

JPEG-Format

• Verlustbehaftete Kompression mit JPEG (.jpeg, .jpg) - Farbtransformation - Zerlegung in 8 x 8 Blöcke - Komprimierung der Information - Verlustfreie Kompression

Dateigrößen

• Datei mit Bildinformationen • Header • Datentypen (Byte, int) • Farbraum (binär: Schwarz-Weiss, Grauwerte, RGB, …) • Kompressionsverfahren • Anzahl der Bilder

Quellen / Links: Abbildungen aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 2 (2.7, 2.9, 2.10, eqn 2.2); http://www.mip-research.de/fileadmin/Dokumente/Teaching/04-Bilder.pdf

14

Abbildungen:

15

5. Histogramme Häufigkeitsverteilung der Intensitäts- oder Grauwerte h(g) = die Anzahl der Pixel eines Bildes I mit dem Intensitätswert g Verschiedene Eigenschaften von Bildern können anhand des Histogramms beurteilt werden z.B.:

• Kontrast (Bereich der Intensitätsstufen) • Dynamik (Anzahl verschiedener Pixelwerte) • Belichtung • Sättigung • Bildverarbeitung durch Kontrasterhöhung oder Kontrastreduktion • Kompression von Bilddaten • Interpolation nach Kompression • Das Histogramm enthält nur Information über die Grauwertverteilung, nicht über den Ort der

jeweiligen Grauwerte • Das Histogramm kann nicht zum Ausgangsbild rücktransformiert werden

Histogramme für Bilder mit mehr als 8 Bit

• Bilder mit großem Wertebereich oder mit Fließkommazahlen • Binning (engl. bin = Behälter)

– Mehrere Intensitätswerte werden zusammengefasst – Das Histogramm hat die Größe B – Beispiel: 14-Bit-Bild; B = 256

Quellen / Links: Abbildungen und Formeln zu Histogrammen aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 4 (4.2, 4.4, 4.6, 4.7, 4.8, 4.9, 4.10, 4.11, 4.12, 4.13, eqn 4.2, math S. 48) http://www.mip-research.de/fileadmin/Dokumente/Teaching/05-Bilder.pdf

16

Abbildungen:

17

6. Punktoperatoren Punktoperatoren

• Operationen betreffen nur einzelne Bildelemente • Der neue Grauwert in einem Bild ist nur abhängig vom ursprünglichen Grauwert

(Grauwerttransformation) Schwellwertverfahren

• Schwellwert (engl. threshold) • Die einfachste Punktoperation ist das Schwellwertverfahren (engl. thresholding) • Es werden binäre Bilder erzeugt

Grauwertskalierung

• Skalierung mit window w und level l Weitere Punktoperatoren

• Invertieren von Bildern • Kontrastanpassung, Skalierung! (Achtung: Wertebereich muss beachtet werden! (clamping

engl. = Aufspannen)) • Funktionen • Sigmoidfunktion • Gammakorrektur:

Verhältnis Menge des einfallenden Lichts / Schwärzung eines Films ist meist nicht linear Lookup Table

• Existiert eine eindeutige Zuordnung von Grauwerten zu neuen Grauwerten, so kann die Umwandlung besonders effizient mit einer look-up table umgesetzt werden

Kontraststreckung

• Kontraststreckung abhängig vom Bild / Grauwertverteilung Histogrammausgleich

• Häufig nutzen wenige Bildpunkte einen großen Bereich von Grauwerten und viele Bildpunkte einen kleinen Bereich von Grauwerten

• Ziel: eine gleichmäßige Verteilung der Grauwerte über alle Bereiche Histogrammanpassung

• Anpassung des Histogramms an eine beliebige Verteilungsfunktion Quellen / Links: Abbildungen und Formeln zu Punktoperatoren aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 4 (4.7) und Kapitel 5 (5.1, 5.2, 5.8, 5.9, 5.10, 5.11, 5.12, 5.13, 5.18) http://www.mip-research.de/fileadmin/Dokumente/Teaching/06-Bilder.pdf

18

Abbildungen:

19

20

21

7. Bildstörungen Bildrauschen

• Ursache für Bildrauschen: z.B. Quantenrauschen bei der Bildaufnahme (Quanten, die nicht geradlinig auf den Sensor treffen)

• Kann durch eine Wahrscheinlichkeit beschrieben werden • Ist in der Regel poissonverteilt • Kann durch Gaussverteilung angenähert werden

Erzeugung von Bildrauschen

• Erzeugung eines Bildes, welches nur aus einem Rauschanteil besteht • Addition des Rauschbildes zu einem gegebenen Bild • Additives Rauschen • Varianz des Rauschens • Beispiel: Gauss‘sches Rauschen

Signal-Rausch-Verhältnis

• Signal-to-Noise-Ratio (SNR) • Verhältnis zwischen Signal (= Bildinformation) und Rauschen • Grauwertbereich des Bildes / Stärke des Rauschens

Unterschiedliche Formen von Rauschen

• Salt & Pepper-Rauschen • Impulsrauschen • Weißes Rauschen: Rauschen ist völlig unkorreliert • Farbiges Rauschen: Rauschamplitude ist von der Frequenz abhängig (bestimmten

Rauschamplituden kommen bevorzugt in bestimmten Abständen vor) • Gauss‘sches Rauschen, normalverteiltes Rauschen • Gleichverteiltes Rauschen

Quellen / Links: “Grundlagen der Bildverarbeitung“ Klaus D. Tönnies, Pearson Studium (2005), Kapitel 3.3 http://www.mip-research.de/fileadmin/Dokumente/Teaching/07-Bilder.pdf

22

Abbildungen:

23

8. Filteroperationen – lineare Filter Bildfilterung

• Durch Bildfilterung können vor allem zwei Arten von Bildverbesserungen erreicht werden: – Rauschunterdrückung – Kantenverstärkung

• Ergebnisgrauwert wird aus einer Menge von Pixeln berechnet • Bilder erscheinen vor allem durch Unterschiede benachbarter Pixel scharf oder

verschwommen • Eine Bildglättung oder Verwaschung lässt sich durch eine Punktoperation nicht erreichen

Bildfilterung – Rauschunterdrückung

• Liegt eine Bildfolge mit derselben Abbildung vor, kann über eine Reihe von Bildern der Grauwert gemittelt werden. Dadurch wird der Rauschanteil eliminiert.

• Annahme: Rauschanteil hat den Erwartungswert 0

• Eine solche Rauschunterdrückung wird z.B. bei Aufnahme von Kernspintomographien angewandt

• In der Fotographie wird ein ähnlicher Effekt durch die Erhöhung der Belichtungszeit erreicht • In der Digitalen Bildverarbeitung liegen in der Regel keine Serien von Bildern vor, die in

dieser Weise zur Rauschentfernung verwendet werden könnten • Es können zur Mittelung nur benachbarte Bildpunkte herangezogen werden

• Die Rauschunterdrückung durch Mittelung der Grauwerte ist für Bereiche mit konstantem

Grauwert sehr gut • Im Bereich von Kanten treten allerdings Artefakte auf, das Bild wird unscharf • Kompromiss zwischen Rauschunterdrückung und Kantenschärfe

Lineare Filter

• Pixelwerte werden in linearer Form, durch gewichtete Summation gebildet • Größe, Form und Gewichte des Filters werden durch die Filtermatrix bestimmt • Filterregion muss nicht quadratisch sein • Filterregion muss nicht zusammenhängend sein • Filterregion muss das ursprüngliche Pixel nicht beinhalten

Box-Filter / Gauß-Filter

• Box-Filter: Umgebung gleich gewichtet • Nachteil von Boxfiltern: Es treten starke Effekte im Bereich von Kanten auf • Lösung: Die benachbarten Pixel, über die gemittelt wird, werden unterschiedlich gewichtet • Es werden Glättungsfilter verwendet, die eine Gaußverteilung annähern • Gauß-Filter: gewichtete Mittelung, nähere Umgebung ist stärker gewichtet • Zweidimensionale Gauss-Funktion • Eine Näherung der Gauss-Funktion erhält man z.B. durch große Binomialfilter • Tiefpassfilter: niedrige Frequenzanteile im Bild bleiben erhalten

Binomialfilter

• Filtermaske wird durch Binomialkoeffizienten bestimmt • 1D-Masken • 2D-Masken

Normalisierte Filter

24

• Summe der Koeffizienten ist 1, die Matrix ist normalisiert, dadurch ändert sich der Wertebereich des Bildes durch die Filterung (fast) nicht

• Meist ist es recheneffizienter die Filteroperation mit ganzzahligen Werten zu rechnen Formale Eigenschaften

• Bildfilterung entspricht einer linearen Faltung (hier: Faltung zweier diskreter zweidimensionaler Funktionen)

• Unterschiede : • Wertebereich für i und j ist größer: Filterkoeffizienten außerhalb der Matrix werden

als null angenommen • Umgekehrtes Vorzeichen der Koordinaten in I (u – i , v – j )

• Lineare Faltung entspricht einer lineare Korrelation, mit gespiegelter Filtermatrix • Kommutativität • Assoziativität • Linearität

Separierbarkeit

• Aus der Assoziativität ergibt sich die Separierbarkeit von Filtern • Ein 2D-Filter kann durch zwei 1D-Filter ersetzt werden • Ein großer Filter kann durch zwei kleine Filter ersetzt werden und umgekehrt • Eine mehrfache Glättung mit einem kleinen Binomialfilter entspricht einer Glättung mit einem

größeren Binomialfilter Binomialfilter

• Filtermaske wird durch Binomialkoeffizienten bestimmt • Einfachste Maske: [1 1] • Durch mehrfache Faltung erhalten wir verschiedene 1D-Masken • Durch Kombination von 1D-Masken erhalten wir 2D-Masken

Implementierung - Filterung

• Speicherbereich für das Ergebnisbild anlegen • Geschachtelte Schleife über das Bild (u, v) • Geschachtelte Schleife über die Maske (i, j)

vier geschachtelte Schleifen Bei zwei aufeinander folgenden Filterungen mit 1D-Masken wird im Gegensatz zur Filterung mit einer 2D-Maske Rechenzeit gespart. 2D-Filterung: (3·3) · (M·N) Rechenoperationen 2 mal 1D-Filterung: (3+3) · (M·N) Rechenoperationen Implementierung – Binomialfilter

• Statt Filterung mit einer großen 2D-Filtermaske können eine Reihe von Filterungen mit kleinen 1D-Masken durchgeführt werden

• Filterung mit einer 17 x 17 Maske: 289 Multiplikationen und 289 Additionen je Bildpunkt

• Zwei Filterungen mit 1D Masken der Breite 17: 2 * 17 = 34 Multiplikationen und 34 Additionen je Bildpunkt

• Zerlegung der Filterung in Filterungen mit der Maske [1 1]: 2 * 16 = 32 Additionen und eine Multiplikation je Bildpunkt

Randbehandlung

• Randpunkte nicht behandeln • Bild nach außen erweitern (mit Nullenauffüllen oder die Randpixel spiegeln) • Bild periodisch fortsetzen

25

• Maske am Rand anpassen

• Randpunkte nicht behandeln • Vorteil: Besonders einfach umzusetzen • Nachteile:

– Treten v.A. auf, wenn das Bild weiter verarbeitet werden soll – Bildbereich wird kleiner – Es entsteht eine scharfe Kante im Bild

• Bild vor der Verarbeitung nach außen erweitern

• Vorteil: kann gut implementiert werden • Nachteil: Es entsteht unter Umständen eine scharfe Kante, die zu unerwünschten

Ergebnissen führt

• Maske am Rand anpassen • Vorteil: Keine Störungen durch unerwartete Kanten am Bildrand • Nachteil: ist umständlich zu implementieren

Quellen / Links: Abbildungen und Formeln zu Filteroperationen – lineare Filter aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 6 (6.1, 6.2, 6.3, 6.4, 6.7, 6.8, eqn. 6.1-6.10, eqn. 6.12, eqn. 6.14-6.22), http://www.mip-research.de/fileadmin/Dokumente/Teaching/08-Bilder.pdf Abbildungen:

26

27

9. Nicht lineare Filter Nicht lineare Filter

• Rauschunterdrückung bei Salt&Pepper-Rauschen • Ergebnis wird an einer Bildposition (u, v) aus einer entsprechenden Region R berechnet • Medianfilter • Minimumfilter • Maximumfilter

Medianfilter

• Kanten bleiben erhalten • An Ecken treten Störungen auf

Weitere nicht lineare Filter

• Minimumfilter • Maximumfilter

Gewichteter Medianfilter

• Gewichtsmatrix • Aus der Folge Q wird durch Sortieren der Median bestimmt

Implementierung - Medianfilter

• Bilddurchlauf • Detektion der Region unter der Maske • Sortierung der Elemente • Je nach Maskengröße ist es sinnvoll die Implementierung effizienter umzusetzen • Z.B. beim Verschieben der Maske nur die Elemente der ersten Spalte entfernen und die

Elemente der neuen Spalte hinzunehmen. Quellen / Links: Abbildungen und Formeln aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 6 (6.15, 6.16, 6.17, 6.18, 6.19, eqn. 6.30-6.34, math. S. 110) http://www.mip-research.de/fileadmin/Dokumente/Teaching/09-Bilder.pdf

28

Abbildungen:

29

10. Kantendetektion Was ist eine Kante?

• Beim menschlichen Sehen spielen Kanten und Konturen eine große Rolle • Kanten entstehen durch lokale Änderungen von Intensität oder Farbe

Kantenverstärkung beim menschlichen Sehen

• Das menschliche Sehsystem verstärkt Intensitätsunterschiede • Übergänge zwischen hell und dunkel werden vom menschlichen Sehsystem verstärkt

Gradient

• Gradient einer diskreten Funktion • Die Steigung der Tangente an der Stelle u wird mithilfe der benachbarten Werte geschätzt

Gradientenfilter

• Filter zur Ermittlung des Gradienten in x-Richtung • Filter zur Ermittlung des Gradienten in y-Richtung • Zur Bestimmung des Gesamtgradienten wird der Gradient in x- und y-Richtung ermittelt. Aus

den beiden Komponenten kann die Gradientenstärke und die Orientierung des Gradienten berechnet werden.

Weitere Filter zur Kantendetektion

• Prewitt-Operator Kombination des Gradientenfilters mit einer (Box-)Glättung

etwas weniger rauschanfällig als der Gradientenfilter • Sobel-Operator

Im Prinzip wie Prewitt-Operator nur mit etwas anderer Glättung • Roberts-Operator

Nicht sehr richtungsselektiv • Kompass-Operator

– Prewitt-Operator – Kirsch-Operator – Kantenstärke: Maximum der Filterantworten – Orientierung ist bestimmt durch das am stärksten ansprechende Filter

Hervorheben von Kanten

• Das Bild soll erhalten bleiben, die Kanten sollen aber stärker hervortreten • Kantenschärfung

– Verwendung der 2. Ableitung – Unscharfe Maskierung

Kantenschärfung

• Verwendung der 2. Ableitung • Laplace-Operator

Kombination der 2. Ableitung in horizontaler und vertikaler Richtung • Kombination von [1 -2 1] und [1 -2 1]’ • Einige gebräuchliche Varianten • Zur Kantenschärfung wird das Ergebnis der Filterung vom Ausgangsbild abgezogen

Unscharfe Maskierung (USM)

• engl. unsharp masking • Stammt aus der analogen Filmtechnik

30

• Eine geglättete Version des Bildes wird vom Bild abgezogen • Das Ergebnis wird nachfolgend zum Originalbild addiert • Auch Rauscheffekte werden verstärkt • Erweiterung:

Zusätzlich wird ein Schwellwert für den lokalen Kontrast definiert; nur wenn dieser erreicht ist, wird die Schärfung durchgeführt (in PhotoShop implementiert)

Quellen / Links: Abbildungen und Formeln aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 7 „Grundlagen der Bildverarbeitung“ von Klaus D. Tönnies (2005), Kapitel 7.2.2 http://www.mip-research.de/fileadmin/Dokumente/Teaching/10-Bilder.pdf Abbildungen:

31

32

11. Kanten und Konturen Konturen

• Kantenfilter liefern eine Verstärkung der Kanten im Bild • Interessant wären aber Objektgrenzen bzw. die Konturen von Objekten • Konturverfolgung: Von einem Kantenpunkt ausgehend wird eine Kontur in beide Richtungen

verfolgt, bis die beiden Enden zusammen stoßen. • Problem: Kanten enden oder verzweigen sich. Daher ist eine Konturverfolgung bei realen

Bildern nicht besonders erfolgreich. • Weitere Möglichkeit: Schwellwertbildung auf den Bildern mit Kantenverstärkung

Konturdetektion

• Einfache Schwellwertbildung auf Gradientenbildern

Etwas modifiziert:

• Erster Schwellwert für Konturpunkte • Zweiter Schwellwert für Kandidatenpunkte:

– Für alle Kandidatenpunkte wird geprüft, ob sich ein Konturpunkt in unmittelbarer Nachbarschaft befindet.

– Wenn ja, dann wird der Kandidatenpunkt zum Konturpunkt. – Achtung: Ergebnis ist abhängig von der Bearbeitungsrichtung!

• Beispiel: – Konturpunkte bei 50% der max. Gradientenstärke – Kandidatenpunkte bei 20% der max. Gradientenstärke

Edge Linking Eigenschaften von Kanten:

• Ein hoher Gradient spricht für eine Kante (ein niedriger Gradient kann auch durch Rauschen bedingt sein)

• Aus der Gradientenrichtung kann auf die Richtung einer Kante geschlossen werden (orthogonal dazu)

• Kantenzüge sollten kontinuierlich sein Durchführung:

• Schwellwert für Kantenpixel • Suche nach weiteren Kantenpixeln orthogonal zur Gradientenrichtung (ähnliche Kantenstärke

und Richtung) Interaktive Kantenverfolgung

• Startpunkte werden vom Benutzer markiert • Auswahl der gesuchten Konturen

Kantenverfolgung

• Probleme (v.A. durch Rauschen) – Es entstehen häufig Lücken / Unterbrechungen – Wenn mehrere Kanten aneinanderstoßen, ist die Richtung nicht eindeutig bestimmbar

Verbindung von 2 Pixeln

• Der Benutzer setzt ein Anfangs- und ein Endpixel • Das Bild wird als Graph mit M x N Knoten aufgefasst • Kostenfunktion c(k) wird definiert – z.B. als Abweichung der Gradientenstärke von einer

Modellgradientenstärke (ermittelt aus Start- und Zielpunkt)

33

• Suche nach dem Pfad mit den geringsten Kosten (z.B. Dijkstra-Algorithmus)

Canny-Operator • Ziele des Canny-Operators:

– Fehlerfreie Unterscheidung von Kanten und Hintergrund (niedrige Fehldetektionsrate) – Genaue Lokalisation von Kanten – Für jede Kante genau eine Detektorantwort (keine breiten Kanten)

• Mehrstufiger Algorithmus – Kantenverstärkung (Gaußglättung + Gradient) – Bestimmung von Startpunkten (lokales Maximum + Kantenstärke höher als ein

Schwellwert T1) – In Kantenrichtung wird nach den Pixeln mit der größten Kantenstärke gesucht

(Unterbrechung, wenn Schwellwert T2 unterschritten wird) • Verhalten hängt von Parametern ab:

– Breite der Glättung (Standardabweichung des Gauss-Filters); bei hoher Breite größere Robustheit gegenüber Rauschen, aber Unterdrückung kleiner, schwacher Kanten

– Schwelle T1 (Startpunkte); hohe Werte verhindern die Erkennung schwacher Kanten – Schwelle T2; hohe Werte führen zu häufigen Unterbrechungen

• Beispiele mit Variation des Glättungsparameters Suche nach Nulldurchgängen

• Bestimmung der 2. Ableitung • Nulldurchgänge sind die Stellen, in denen der Gradient Maximalwerte annimmt • Suche nach den „Null-Pixeln“ • Anwendung des Laplace-Operators • Pixel ist dann Nulldurchgang wenn g (m,n) = 0 oder g (m,n) ein anderes Vorzeichen hat als ein

benachbartes Pixel • Mehrfachbetrachtungen ausschließen: Nur die Hälfte der Nachbarn betrachten

Quellen / Links: Abbildungen und Formeln aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 7 „Grundlagen der Bildverarbeitung“ von Klaus D. Tönnies (2005), Kapitel 8.4, 9.1.2, 9.1.3 http://www.mip-research.de/fileadmin/Dokumente/Teaching/11-Bilder.pdf Abbildungen:

34

12. Hough-Transformation Hough-Transformation

• Detektion parametrisierbarer Formen, z.B.: – Geraden – Kreise – Ellipsen

Geraden

• Ziel: die Parameter k und d finden, die die Gerade beschreiben, auf der möglichst viele Kantenpunkte liegen.

• Durch einen einzelnen Punkt verläuft eine ganze Geradenschar Akkumulator-Array

• Parameterraum k,d (y-Achsenabschnitt und Steigung) Hessesche Normalform

• Problem der Geradenrepräsentation mittels k und d: senkrechte Geraden können nicht dargestellt werden

Implementierung

• Akkumulatorarray anlegen (Parameterraum) • Bild durchlaufen • Für jeden Bildpunkt der Intensität 1:

– Akkumulatorarray in den entsprechenden Zellen (entlang einer Geraden oder einer Sinuskurve) um 1 erhöhen

Auswertung des Akkumulator-Arrays

• Kurven schneiden sich nicht exakt in einzelnen Punkten (Rundungsfehler durch Diskretisierung)

• Variante A: – Schwellwertoperation (z.B. Regionen-Schwerpunkt bestimmen)

• Variante B: – Non-Maximum Suppression (z.B. mit Schwellwert)

Erweiterungen

• Kurze Geraden werden schlechter gefunden als lange – Einträge relativ zur maximal möglichen Anzahl der Einträge auswerten

• Berücksichtigung der Kantenstärke E (u,v) • Berücksichtigung der Orientierung

– Einschränkung der möglichen Winkel – Das Akkumulator-Array wird über einen kleineren Bereich der Winkel gefüllt

• Alternativ: Es wird jeweils die Orientierung über einen kleinen Bildbereich miteinbezogen – In das Akkumulatorarray wird nur noch ein Punkt eingetragen

Anwendung – Liniendetektion auf dem Fußballfeld

• Fluchtpunktschätzung bei sich schwenkender Kamera – Ziel: Projektion des Spielablaufs in eine Ebene

• Detektion der Spieler – Farbsegmentierung für grün und blau – Jeweils zwei Schwellwerte zur Bestimmung der Farbe und ein Schwellwert für die

Sättigung – Blaue Pixel im „grünen“ Bereich werden als Spieler erkannt

35

– Die Regionen müssen zusätzlich eine bestimmte Größe erreichen, um als Spieler erkannt zu werden

Hough-Transformation für Kreise

• Parameter eines Kreises: Kreismittelpunkt, Radius • Akkumulator-Array muss dreidimensional sein (x-, y-Positon und Radius) • Suche nach Kreismittelpunkten • Jeder Punkt kann auf einer Menge verschiedener Kreise liegen • Es werden die möglichen Mittelpunkte all dieser Kreise in das Akkumulator-Array

eingetragen • Die Anzahl der Kreispunkte ist abhängig vom Radius • Auswertung der Maxima relativ zur Anzahl der möglichen Kreispunkte • Schwellwert sollte z.B. in Prozent der möglichen Kreispunkte angegeben werden

Implementierung

• Anzahl und Größe der Radien festlegen (als Parameter übergeben) • Kreise sollten z.B. als Indexmenge vorbereitet werden • Berücksichtigen: Wie dick soll ein Kreis sein?

Anwendung – Verkehrszeichendetektion

• Nachteile: – Relativ hoher Rechenaufwand (Abtastung des ganzen Bildes; Kreiszeichnung für

verschiedene Radien; Maximumbestimmung) – Für Echtzeitbildverarbeitung nicht gut geeignet (dort liegen die Anforderungen bei etwa

25 frames/s, das bedeutet für die Verarbeitung eines Bildes stehen 40 ms zur Verfügung!) – Nur geeignet um auf kleinen Bildausschnitten Hypothesen zu bestätigen

• Anwendung auf Einzelbilder oder Anwendung ohne Echtzeitanforderungen ist unproblematisch

Anwendung – Kalibrierung eines 3D-Ultraschallsystems

• Ultraschallbilddaten sind zweidimensional • Position des Ultraschallkopfes im Raum kann mit einem Navigationssystem verfolgt werden • Ziel der Kalibrierung ist es, die Position des 2D-Ultraschallbildes relativ zum Ultraschallkopf

zu ermitteln • Zur Kalibrierung werden Phantome verwendet, die es erlauben bestimmte Punkte aus

verschiedenen Richtungen abzubilden • Kalibrierphantom für den 3D-Ultraschall: Tischtennisball • Der Ball kann aus verschiedenen Richtungen abgebildet werden • In jedem Bild werden mittels Hough-Transformation Mittelpunkt und Radius bestimmt • Der Mittelpunkt der Kugel ist fix • Aus den Mittelpunkten und Radien wird die Lage der 2D-Bilder relativ zum Schallkopf

bestimmt Hough-Transformation für Ellipsen

• Kreisförmige Dinge werden z.B. auf Fotographien elliptisch abgebildet • Das Akkumulator-Array ist 5-dimensional – sehr hoher Speicherbedarf: • Bei einer Speichergröße von 128 x 128 x 128 x 128 x 128 Werten vom Typ Integer (4 Byte):

128 Gigabyte Quellen / Links: Abbildungen und Formeln aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 9

36

Abbildungen:

37

38

39

13. Geometrische Bildoperationen 2D-Koordinatentransformation

• Verschiebung • Skalierung • Scherung • Rotation

• Rigide Abbildungen • Affine Abbildungen • Projektive Abbildungen

Ein Bildpunkt x wird auf x‘ mit der Transformation T abgebildet Verschiebung

• Die einfachste geometrische Transformation • Der gesamte Bildinhalt wird in der Bildebene verschoben • Die Verschiebung wird durch zwei Parameter dx und dy bestimmt • dx bezeichnet die Verschiebung in x-Richtung • dy bezeichnet die Verschiebung in y-Richtung

Skalierung

• Streckung oder Stauchung • Zwei Parameter (sx, sy) bestimmen das Ausmaß der Streckung oder Stauchung, jeweils für die

x- oder die y-Richtung • Wenn sx = sy , dann wird das gesamte Bild vergrößert oder verkleinert

Scherung

• Bei einer Scherung nur in einer Richtung ist der andere Faktor Null Rotation

• Drehung des Bildes / Bildinhaltes • Drehmittelpunkt / Rotationszentrum liegt im Koordinatenursprung

Homogene Koordinaten

• Verknüpfung verschiedener Transformationen soll durch Matrixmultiplikation beschreibbar sein

• Lösung: Erweiterung auf homogene Koordinaten

• Ein Koordinatenpaar wird auf einen dreidimensionalen Koordinatenvektor abgebildet. • Für h != 0 erhalten wir y = y’ / h und x = x’ / h • Jeder 2D-Punkt lässt sich durch eine Reihe von homogenen Koordinatenvektoren darstellen

Rigide Transformationen

• = starre Transformation • 3 Freiheitsgrade • Verschiebung + Rotation

Affine Abbildung

• 6 Freiheitsgrade • Geraden werden auf Geraden abgebildet • Dreiecke werden auf Dreiecke abgebildet • Rechtecke werden in Parallelogramme überführt • Abstandsverhältnisse zwischen auf einer Geraden liegenden Punkten bleiben erhalten

40

• Translation • Skalierung, Scherung, Rotation

Affine Abbildung – Dreipunkt-Abbildung

• Bestimmung der Transformation durch 3 Punktepaare • Wenn die 3 Bildpunkte linear unabhängig sind (nicht auf einer Geraden liegen), lässt sich das

Gleichungssystem lösen Projektive Abbildung

• 8 Freiheitsgrade • Nichtlineare Transformation in kartesischen Koordinaten (in homogenen Koordinaten ist sie

linear) • Geraden bleiben erhalten • Parallele Geraden werden nicht auf parallele Geraden abgebildet • Abstandsverhältnisse zwischen Punkten auf einer Geraden bleiben nicht erhalten

Projektive Abbildung – Vierpunkt-Abbildung

• Bestimmung der Transformation durch 4 Punktepaare Inversion einer Abbildung

• Umkehrung: x’ = A * x x = A-1 * x’ • Inversion der Transformationsmatrix • Voraussetzung: A ist regulär Det(A) != 0

Affine Abbildung – Inversion Projektive Abbildung – Inversion

• Wenig Vereinfachung durch a33 = 1 • Bei homogenen Koordinaten wird durch Multiplikation eines Skalars mit einem Vektor ein

äquivalenter Vektor erzeugt. D.h. auf das Einbeziehen der Determinante kann zunächst verzichtet werden. Der resultierende Vektor wird später homogenisiert.

Projektive Abbildung über das Einheitsquadrat Weitere nichtlineare Bildverzerrungen

• Bilineare Abbildung • Twirl-Transformation • Ripple-Transformation • Sphärische Verzerrung

Bilineare Abbildung

• 8 Freiheitsgrade • Geraden gehen in quadratische Kurven über • Kreise werden nicht auf Ellipsen abgebildet • Auch in homogenen Koordinaten nichtlinear

Twirl-Transformation

• Rotation um ein Zentrum xc = (xc, yc) • Drehwinkel ändert sich proportional zum Zentrum • Parameter: Grenzradius rmax und Drehwinkel α

Ripple-Transformation

• Lokale wellenförmige Verschiebung

41

• Parameter: Periodenlängen τx und τy sowie die Amplituden ax und ay Sphärische Verzerrung

• Effekt einer Glaslinse • Parameter: Zentrum der Linse, Radius rmax und Brechungsindex ρ

Lokale Transformation Im Gegensatz zur globalen Transformation Quellen / Links: Abbildungen und Formeln aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 16 (…) http://www.mip-research.de/fileadmin/Dokumente/Teaching/15-Bilder.pdf Abbildungen:

42

43

14. Interpolation Source-to-target Mapping

• Für jedes Pixel (u,v) im Ausgangsbild I wird die neue Position im Ergebnisbild berechnet • Probleme:

– Es werden evtl. nicht alle Pixel im Ergebnisbild getroffen (z.B. bei Vergrößerung) – Ein Bildelement im Ergebnisbild wird von mehreren Quellpixeln getroffen (z.B. bei

Verkleinerung) Target-to-source Mapping

• Für jeden Ergebnispunkt (u’,v’) wird die zugehörige Position im Ausgangsbild berechnet • Vorteil:

– Alle Pixel im Ergebnisbild werden genau einmal berechnet • Inverse geometrische Abbildung wird berechnet

Interpolation

• Schätzung der Intensitätswerte für beliebige Positionen I (x,y), insbesondere zwischen bekannten diskreten Bildpunkten I (u,v).

Nearest-Neighbor-Interpolation

• Nächster Nachbar • Schnelles Verfahren, da keine Berechnungen erfolgen • Allerdings treten Bildfehler auf • Eindimensionales Beispiel

Lineare Interpolation

• Die benachbarten Funktionswerte werden abhängig von ihrem Abstand gewichtet • Einfaches Verfahren • Wird häufig verwendet • Eindimensionales Beispiel

Bilineare Interpolation

• Im Zweidimensionalen Trilineare Interpolation

• Im Dreidimensionalen Quellen / Links: Abbildungen und Formeln aus „Digitale Bildverarbeitung“ von Burger und Burge, Kapitel 16 (16.1 – 16.8, eqn. 16.1 – 16.13, eqn. 16.16 – 16.24, eqn. 16.26 – 16.30, eqn. 16.33 – 16.36, math p.363, math p.370, math p. 374, math p. 376) http://www.mip-research.de/fileadmin/Dokumente/Teaching/16-Bilder.pdf

44

Abbildungen: