13.07.2015 Aufrufe

Bildverarbeitung 7 – Mustererkennung - IGP - ETH Zürich

Bildverarbeitung 7 – Mustererkennung - IGP - ETH Zürich

Bildverarbeitung 7 – Mustererkennung - IGP - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Bildverarbeitung</strong>7 <strong>–</strong> <strong>Mustererkennung</strong>Frühjahrssemester 2013 | <strong>ETH</strong> <strong>Zürich</strong>Jan Dirk Wegner, Stefan Walk, Michal Havlena und Konrad Schindler<strong>ETH</strong> <strong>Zürich</strong>, Institut für Geodäsie und Photogrammetrie(mit Material von Franz Rottensteiner, Uwe Sörgel und Bildmaterial aus [Burger 2005, Tönnies 2006,Gonzalez und Woods, 2008] und dem Internet)


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>2


Textur: Musterung der OberflächeTextur ist eine Eigenschaft einer Gruppe von Pixeln und skalenabhängigQualitative Beschreibung: Fein, grob, glatt, rau, zufällig, regelmäßig,unregelmäßig, isotrop, anisotrop etc. Formulierung mathematisch möglich?<strong>Mustererkennung</strong>3


TexturanalyseVerschiedene Ansätze der Beschreibung möglich:Statistische TexturmodelleGeeignet für Oberflächen natürlicher MaterialienStrukturelle TexturmodelleGünstig bei künstlichen Objekten, die hoheRegelmäßigkeit aufweisen.Spektrale TexturmodelleÜberlagerung verschiedener Spektralanteile Bestimmung im Frequenzraum<strong>Mustererkennung</strong>4


Charakterisierung von Texturen: Statistik 1. OrdnungBeschreibung mit Histogrammen und deren Maßzahlen,z.B. Mittelwert, Varianz, Schiefe,…h(g)10 g0 255h(g)10 g0 255Mittelwert: 123.66Varianz: 606.94Schiefe: -14834.70 > 0<strong>Mustererkennung</strong>5


Charakterisierung von Texturen: Statistik 1. OrdnungBeschreibung mit Histogrammen und deren Maßzahlen,z.B. Mittelwert, Varianz, Schiefe,…h(g)10 g0 255Mittelwert: 123.66Varianz: 606.94Schiefe: -14834.70 > 0Keine Information über Struktur (Nachbarschaftsbeziehungen)Verschiedene Texturen können das gleiche Histogramm aufweisen<strong>Mustererkennung</strong>6


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>7


Co-Occurrence-MatrizenMethode zur statistischen Charakterisierung von Texturen1. Berechnung der Co-Occurence Matrizen erfolgt pro Pixel aus den Grauwerten einerlokalen Nachbarschaft, ähnlich dem Vorgehen bei der Filterung.2. Bestimmung der Häufigkeit von Grauwertkombinationen in bestimmten Abständen d undRichtungen 3. Ableitung von Merkmalen aus Co-Occurence Matrizen Zusammenfassung inMerkmalsvektor pro Element, der die Textur charakterisiert<strong>Mustererkennung</strong>8


Co-Occurrence-Matrizen: BeispielGrauwertmenge ={0,1,2,3}Bild:Co-Occurrence-Matrix fürd=1, = 270°(unterer Nachbar)0 0 1 0 0 30 0 0 1 2 11 1 1 2 3 01 1 1 2 3 00 2 2 3 2 30 2 2 3 2 3Nachbarschaft 0,0j4i<strong>Mustererkennung</strong>9


Co-Occurrence-Matrizen: BeispielGrauwertmenge ={0,1,2,3}Bild:Co-Occurrence-Matrix fürd=1, = 270°(unterer Nachbar)0 0 1 0 0 30 0 0 1 2 11 1 1 2 3 01 1 1 2 3 00 2 2 3 2 30 2 2 3 2 3Nachbarschaft 0,0Nachbarschaft 0,144ij<strong>Mustererkennung</strong>10


Co-Occurrence-Matrizen: BeispielGrauwertmenge ={0,1,2,3}Bild:Co-Occurrence-Matrix fürd=1, = 270°(unterer Nachbar)0 0 1 0 0 30 0 0 1 2 11 1 1 2 3 01 1 1 2 3 00 2 2 3 2 30 2 2 3 2 3Nachbarschaft 0,0Nachbarschaft 0,1Nachbarschaft 0,2Nachbarschaft 0,34411ij<strong>Mustererkennung</strong>11


Co-Occurrence-Matrizen: BeispielGrauwertmenge ={0,1,2,3}Bild:Co-Occurrence-Matrix fürd=1, = 270°(unterer Nachbar)0 0 1 0 0 30 0 0 1 2 11 1 1 2 3 01 1 1 2 3 00 2 2 3 2 30 2 2 3 2 3Nachbarschaft 0,0Nachbarschaft 0,1Nachbarschaft 0,2Nachbarschaft 0,3Nachbarschaft 1,0 etc.j4 3 0 04 3 0 11 1 4 11 0 4 3Nachbarschaft 3,3iNachbarschaft2,2<strong>Mustererkennung</strong>12


Co-Occurrence-Matrizen: BeispielGrauwertmenge ={0,1,2,3}Bild:Co-Occurrence-Matrix fürd=1, = 270°(unterer Nachbar)0 0 1 0 0 30 0 0 1 2 11 1 1 2 3 01 1 1 2 3 00 2 2 3 2 30 2 2 3 2 3Nachbarschaft 0,0Nachbarschaft 0,1Nachbarschaft 0,2Nachbarschaft 0,3Nachbarschaft 1,0 etc.j4 3 0 04 3 0 11 1 4 11 0 4 3Nachbarschaft 3,3iNachbarschaft2,2Um charakteristische Texturmerkmale zu erhalten, muss man einen ganzenSatz von Distanzen d mit verschiedenen Winkeln betrachten.Optimale Distanz und optimaler Winkel sind abhängig von dervorliegenden Textur.<strong>Mustererkennung</strong>13


Co-Occurrence-Matrizen: AnalyseAuswertung der Matrizenelemente P durch Überführung in aussagekräftigeParameter (Haralick-Parameter, Auswahl):Energieverteilung = P 2 ijEntropie = Pij logP ijijKontrast =i - j k På × P ijHomogenität = ij1 i ijBemerkung: Ein Merkmal gilt nur für eine Matrix mit einem d und α!Beispiel:ijijj<strong>Mustererkennung</strong>14


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>15


Texturanalyse mit Textur-Filterbanken1) Falte Bild mit einer Reihe von unterschiedlichen digitalen Filtern, dieverschiedene Texturmerkmale beschreiben2) Berechne in jedem so entstandenen (gefilterten) Bild die EnergieAlternative: direkte Verwendung der Filterantwort3) Stelle die pro Bild (Kanal) berechnete Energie zu einem Merkmalsvektorzusammen und verwende diesen zur Texturklassifikation<strong>Mustererkennung</strong>16


Texturanalyse mit Textur-Filterbanken1) Falte Bild mit einer Reihe von unterschiedlichen digitalen Filtern, dieverschiedene Texturmerkmale beschreiben2) Berechne in jedem so entstandenen (gefilterten) Bild die EnergieAlternative: direkte Verwendung der Filterantwort3) Stelle die pro Bild (Kanal) berechnete Energie zu einem Merkmalsvektorzusammen und verwende diesen zur TexturklassifikationAnsatz: Filterbanken verwenden! Viele Filterbanken mit unterschiedlichenFilterdesigns existieren, z.B.:Haar (16) Walsh (36) Laws (25) Root (38) Leung & Malik (48)<strong>Mustererkennung</strong>17


Texturanalyse: Laws-FilterFilterkomponenten der Größe 5:Level L5 = [ 1 4 6 4 1 ]Edge E5 = [ -1 -2 0 2 1 ]Shape S5 = [ -1 0 2 0 -1 ]Wave W5 = [ -1 2 0 -2 1 ]Ripple R5 = [ 1 -4 6 -4 1 ]VektorkombinationenL5E5S5W5zu 25 5x5 Matrizenper Faltung:ll, ee, ss, ww, rr, le, ls,lw, lr, el, es, ew, ...R5<strong>Mustererkennung</strong>18


Texturanalyse: Texturenergie (hier für Laws-Filter)Energie:Enx,y1K Lk K 12K 12L12L1lBn2'xk,ylK,L: Filtergröße B‘: gefiltertes Bild n: Index für die Filternummer (1..N) N: Filteranzahl<strong>Mustererkennung</strong>19


Texturanalyse: Texturenergie (hier für Laws-Filter)Energie:Enx,y1K Lk K 12K 12L12L1lBn2'xk,ylK,L: Filtergröße B‘: gefiltertes Bild n: Index für die Filternummer (1..N) N: FilteranzahlFenstergröße für Energie i.d.R. größer als für Filter, z.B. Laws 5x5 und Energie 15x15Vorteil: kleine Filter (relativ) kurze RechenzeitenNachteile: Filterauswahl ad-hoc verschiedene Filterbanken unterschiedlich gut geeignetfür verschiedene TexturenDeshalb: Forschung in <strong>ETH</strong> Photogrammetrie & Fernerkundung um eine einzige Filterbankzu designen, die alle möglichen Texturen in kurzer Rechenzeit erfasst! (Piotr Tokarczyk)<strong>Mustererkennung</strong>20


Strukturelle Merkmale: HOGBeschreibung charakteristischer Strukturen im Bild mittels Analyse der lokalenVerteilung der Gradientenrichtungen HOG: Histogram of oriented gradientsWichtig: Für Rotationsinvarianz Gradientenrichtungen auf Hauptrichtung bezogenVerschiedene Definitionen, hier: gewichtetes Histogramm der Gradientenrichtungen<strong>Mustererkennung</strong>21


Strukturelle Merkmale: HOGBeschreibung charakteristischer Strukturen im Bild mittels Analyse der lokalenVerteilung der Gradientenrichtungen HOG: Histogram of oriented gradientsWichtig: Für Rotationsinvarianz Gradientenrichtungen auf Hauptrichtung bezogenVerschiedene Definitionen, hier: gewichtetes Histogramm der GradientenrichtungenGrauwertgradient: Norm (Betrag): Richtung:g g g x g x 2 2x, ygx, y g gyy x g y arctanggyx <strong>Mustererkennung</strong>22


Strukturelle Merkmale: HOGBeschreibung charakteristischer Strukturen im Bild mittels Analyse der lokalenVerteilung der Gradientenrichtungen HOG: Histogram of oriented gradientsWichtig: Für Rotationsinvarianz Gradientenrichtungen auf Hauptrichtung bezogenVerschiedene Definitionen, hier: gewichtetes Histogramm der GradientenrichtungenGrauwertgradient: Norm (Betrag): Richtung:g g g x g x 2 2x, ygx, y g gyy x g y arctanggyx Einteilung von 360°in Klassen (histogram bins) mit Mittelpunkteniund Breite Gewichtetes Histogramm: für jede Klasse (Richtungsintervall) werden die Beträge 1 1 aller Gradienten mit Hi ,i addiert ( H: Hauptrichtung). 2 2 <strong>Mustererkennung</strong>23


Strukturelle Merkmale: HOGStraßeHistogramm der orientierten Gradienten kanndirekt als Merkmalsvektor genutzt werdenOder abgeleitete Merkmale z.B.:Siedlung- Anzahl der (signifikanten) relativenMaxima / Minima,- Betrag des absoluten Maximums / Minimums,- Differenz oder Verhältnis zwischen größtemund zweitgrößtem Maximum bzw. kleinstemund zweitkleinstem Minimum z.B. um rechteWinkel zu findenWiese<strong>Mustererkennung</strong>24


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>25


Anwendungen für Interest Points: BeispieleVerknüpfungspunktdetektion fürBildzuordnung[©Agarwal et al.]<strong>Mustererkennung</strong>26


Anwendungen für Interest Points: BeispieleVerknüpfungspunktdetektion fürBildzuordnung[©mdpi][©Agarwal et al.]Kamerakalibrierung<strong>Mustererkennung</strong>27


Anwendungen für Interest Points: BeispieleVerknüpfungspunktdetektion fürBildzuordnung[©mdpi][©Agarwal et al.]Merkmale für KamerakalibrierungObjektidentifizierung<strong>Mustererkennung</strong>28


Anwendungen für Interest Points: BeispieleVerknüpfungspunktdetektion fürBildzuordnung[©mdpi][©Agarwal et al.]Merkmale für KamerakalibrierungObjektidentifizierung[©CNES, ©ESA]Dockingmanöver in Robotik: Automatisches Andock-Manöver des ATV-3 an die ISS<strong>Mustererkennung</strong>29


Extraktion markanter Punkte: Eigenschaften und AnforderungenWichtig für automatische Verfahrensind sogenannte Interest Points:(Eck-)Punkte im Bild mit präzisedefinierter Position, die eindeutigidentifizierbar sind und möglichstgut/leicht von anderen Punkten zuunterscheiden sind.<strong>Mustererkennung</strong>30


Extraktion markanter Punkte: Eigenschaften und AnforderungenWichtig für automatische Verfahrensind sogenannte Interest Points:nicht präzise(Eck-)Punkte im Bild mit präzisedefinierter Position, die eindeutigidentifizierbar sind und möglichstpräzisegut/leicht von anderen Punkten zuunterscheiden sind.<strong>Mustererkennung</strong>31


Extraktion markanter Punkte: Eigenschaften und AnforderungenWichtig für automatische Verfahrensind sogenannte Interest Points:nicht präzise(Eck-)Punkte im Bild mit präzisedefinierter Position, die eindeutigidentifizierbar sind und möglichstpräzisegut/leicht von anderen Punkten zuunterscheiden sind.Anforderungen an automatische Verfahren:Vollautomatisch, hohe geometrische Genauigkeit, Identifizierbarkeit, kurze Rechenzeit,(Einzigartigkeit, Invarianz gegenüber geometrischen und radiometrischen Verzerrungen)<strong>Mustererkennung</strong>32


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>33


Punktdetektion: Template matchingEinfache und relativ schnell zuberechnende Möglichkeit:1. Definition einer Punkt-/Eckenmaske2. Matching der Maske (template) mit dem Bild<strong>Mustererkennung</strong>34


Punktdetektion: Template matchingEinfache und relativ schnell zuberechnende Möglichkeit:1. Definition einer Punkt-/Eckenmaske2. Matching der Maske (template) mit dem BildNachteil:Beschränkte Anzahl und Typen von Masken beeinträchtigt FlexibilitätVariant gegenüber Änderungen der Skala, Radiometrie, ....Nur für sehr spezifische Extraktionsaufgaben geeignet Allgemeinerer Ansatz erforderlich<strong>Mustererkennung</strong>35


Punktdetektion: AutokorrelationsmatrixAnalyse der Grauwerte g(x,y) in einem Fenster um jedes PixelQuadratsumme der Grauwertdifferenzen bei Verschiebung des Fensters W um (dx, dy) :SSD(dx, dy) = S p(x,y) [g(x+dx, y+dy) <strong>–</strong> g(x,y)] 2x,y Wmit p(x,y) … Gewichtsfunktion (z.B. Glättung)<strong>Mustererkennung</strong>36


Punktdetektion: AutokorrelationsmatrixAnalyse der Grauwerte g(x,y) in einem Fenster um jedes PixelQuadratsumme der Grauwertdifferenzen bei Verschiebung des Fensters W um (dx, dy) :SSD(dx, dy) = S p(x,y) [g(x+dx, y+dy) <strong>–</strong> g(x,y)] 2x,y Wmit p(x,y) … Gewichtsfunktion (z.B. Glättung)Approximation durch Taylor-Entwicklung: SSD(dx, dy) ≈ (dx dy) · M ·dxdymitM =g x2g x g yg y g x g y2, M ij : Geglättete Quadrate / gemischte Produkte d. 1. Ableitungen<strong>Mustererkennung</strong>37


Punktdetektion: AutokorrelationsmatrixAnalyse der Grauwerte g(x,y) in einem Fenster um jedes PixelQuadratsumme der Grauwertdifferenzen bei Verschiebung des Fensters W um (dx, dy) :SSD(dx, dy) = S p(x,y) [g(x+dx, y+dy) <strong>–</strong> g(x,y)] 2x,y Wmit p(x,y) … Gewichtsfunktion (z.B. Glättung)Approximation durch Taylor-Entwicklung: SSD(dx, dy) ≈ (dx dy) · M ·dxdymitM =g x2g x g yg y g x g y2, M ij : Geglättete Quadrate / gemischte Produkte d. 1. AbleitungenM heißt Matrix der 2. Momente (2nd moment matrix) oder Autokorrelationsmatrix Grundlage für Punktdetektoren Moravec, Harris, Förstner<strong>Mustererkennung</strong>38


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>39


Moravec-OperatorBestimmt für jedes Pixel den Wert der Autokorrelationsfunktion in vier Richtungen(horizontal, vertikal und beide Diagonalen) innerhalb eines Fensters der Grösse (2k+1;2k+1)Gut geeignet fürRobotikanwendungen/Trackingda sehr schnell zu berechnen.<strong>Mustererkennung</strong>40


Moravec-OperatorBestimmt für jedes Pixel den Wert der Autokorrelationsfunktion in vier Richtungen(horizontal, vertikal und beide Diagonalen) innerhalb eines Fensters der Grösse (2k+1;2k+1)kk ikjkx i 1,y jgx i y jV g,1kk ikjkx i,y j 1 gx i y jV g,2kk ikjkx i 1,y j 1 gx i y jV g,3kk ikjkx i 1,y j 1 gx i y jV g,4Gut geeignet fürRobotikanwendungen/Trackingda sehr schnell zu berechnen.<strong>Mustererkennung</strong>41


Moravec-OperatorBestimmt für jedes Pixel den Wert der Autokorrelationsfunktion in vier Richtungen(horizontal, vertikal und beide Diagonalen) innerhalb eines Fensters der Grösse (2k+1;2k+1)kk ikjkx i 1,y jgx i y jV g,1kk ikjkx i,y j 1 gx i y jV g,2kk ikjkx i 1,y j 1 gx i y jV g,3kk ikjkx i 1,y j 1 gx i y jV g,4Gut geeignet fürRobotikanwendungen/Trackingda sehr schnell zu berechnen.Nachteile: RauschempfindlichFalls Summeikjk E( x,y) min V Vi kjk1, V 2, V 3,grösser als Schwellwert Interest Point bzw. Ecke [Moravec, 1979]4der Minima über das Fenster<strong>Mustererkennung</strong>42


Harris-OperatorBei Punkten müssen beide Eigenwerte l 1 , l 2 von M groß sein, Cornerness r :r = l 1 · l 2 <strong>–</strong> k · (l 1 + l 2 ) 2 = det(M) <strong>–</strong> k · spur(M) 2mit M =g x2g x g yg y g x g y2und k = 0.04Punkt-Regionen findet man durchSchwellwertbildung von r Punkte: relative Maxima derCornerness z.B. in 5 x 5 Fenster[Harris & Stephens, 1988]<strong>Mustererkennung</strong>43


Förstner - OperatorBasiert ebenfalls auf Analyse der Autokorrelationsmatrix M Auch hier: Berechnung der Elemente von M mit Glättung• Glätten der Gradienten mit Ableitungs-Skala s :g x = G(x,y,s ) / x * gg y = G(x,y,s ) / y * g<strong>Mustererkennung</strong>44


Förstner - OperatorBasiert ebenfalls auf Analyse der Autokorrelationsmatrix M Auch hier: Berechnung der Elemente von M mit Glättung• Glätten der Gradienten mit Ableitungs-Skala s :g x = G(x,y,s ) / x * gg y = G(x,y,s ) / y * g• Glättung der Quadrate und der gemischten Produktemit Gauß-Filter G(x,y,s I ) mit Integrations-Skala s I :G(x,y,s I ) * g2x G(x,y,s I ) * g x · g yM = = M(x,y,sG(x,y,s I ) * g x · g y G(x,y,s I ) * g2 , s I )y<strong>Mustererkennung</strong>45


Förstner-Operator: Wahl der Integrationsskala s Istarke Glättung mit s I = 6.0geringe Glättung mit s I = 3.0<strong>Mustererkennung</strong>46


Förstner - OperatorInterpretation von M als Normalgleichungsmatrix für Ausgleichung nach kleinstenQuadraten (Least Squares Adjustement) Interpretation von M -1 zur Fehleranalyse[Förstner & Gülch, 1987]<strong>Mustererkennung</strong>47


Förstner - OperatorInterpretation von M als Normalgleichungsmatrix für Ausgleichung nach kleinstenQuadraten (Least Squares Adjustement) Interpretation von M -1 zur FehleranalyseAnforderungen an Fehlerellipsen für markante Punkte:• Klein (kurze Hauptachsen)Summe der Eigenwerte l 1 , l 2 klein und daher Spur von M -1 min Gewichtung w :w = 1/Spur(M -1 ) = det(M)/Spur(M)[Förstner & Gülch, 1987]<strong>Mustererkennung</strong>48


Förstner - OperatorInterpretation von M als Normalgleichungsmatrix für Ausgleichung nach kleinstenQuadraten (Least Squares Adjustement) Interpretation von M -1 zur FehleranalyseAnforderungen an Fehlerellipsen für markante Punkte:• Klein (kurze Hauptachsen)Summe der Eigenwerte l 1 , l 2 klein und daher Spur von M -1 min Gewichtung w :w = 1/Spur(M -1 ) = det(M)/Spur(M)• Kreisförmigkeit:Verhältnis der Eigenwerte l 1 , l 2 von M -1 soll nahe 1 sein Isotropie q der Textur:[Förstner & Gülch, 1987]2l 1 - l 2q = 1 - = 4 ·l 1 + l 2det(M)[Spur(M)] 2<strong>Mustererkennung</strong>49


Förstner- Operator: Beispiel Punkte: lokale Maxima von gewichteter Ellipsengrösse (Interestwert) wund Kreisförmigkeit q z.B. in 5 x 5 FensterWahl des Punktmodels (kreisförmiger Punkt oder Eckpunkt) je nach AnwendungOriginalbildG(x,y,s) * g2xG(x,y,s) * g G(x,y,s) * g2x · g y y50<strong>Mustererkennung</strong>


Förstner- Operator: Beispiel Punkte: lokale Maxima von gewichteter Ellipsengrösse (Interestwert) wund Kreisförmigkeit q z.B. in 5 x 5 FensterWahl des Punktmodels (kreisförmiger Punkt oder Eckpunkt) je nach AnwendungOriginalbildG(x,y,s) * g x2G(x,y,s) * g y2G(x,y,s) * g x · g y51Gewicht ωRundheit qExtrahiertemarkantePunkte(interestpoints)<strong>Mustererkennung</strong>


Punkt-Extraktion: Probleme1) Bilder können eine stark unterschiedlichegeometrische Auflösung haben Skaleninvariante Detektoren<strong>Mustererkennung</strong>52


Punkt-Extraktion: Probleme1) Bilder können eine stark unterschiedlichegeometrische Auflösung haben Skaleninvariante Detektoren2) Bildregionen können stark unterschiedlichverzerrt sein Affin-invariante Detektoren In Vorlesung PhotogrammetrischeComputer Vision bei Konrad Schindler<strong>Mustererkennung</strong>53


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>54


Warum Kanten- und Liniendetektion?[©Ferrari et al.]Automatische Objektdetektion: Erlernen der äußeren Form von ObjektenFilterung 55


Warum Kanten- und Liniendetektion?[©Ferrari et al.]Automatische Objektdetektion: Erlernen der äußeren Form von ObjektenAutomatische Strassenextraktion in SAR- oder optischen Bildern[©Tupin et al.]Filterung 56


Kantendetektion: (Wiederholung) HochpassfilterKante = starke geradlinigeÄnderung des Grauwerts g(x)Gradientenoperator:1. Ableitung g‘(x) Suche nach Maximaz.B. mit Prewitt, SobelLaplace-Operator:2. Ableitung g‘‘(x) Suche nach Nulldurchgang(Wendepunkt)Filterung 57


Kante vs. LinieKante: geradlinige Änderung des Grauwerts z.B. an Grenze zwischen zwei RegionenLinie: zwei parallele Kanten z.B. bei Straßen in LuftbildernFilterung 58


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>59


Ablauf einer Kanten-/Liniendetektion1. Extraktion von Kantenregionen mit HochpassfilternUnterdrückung des Gleichanteils, feine Bilddetails werden hervorgehoben undGrauwertübergange werden extrahiert<strong>Mustererkennung</strong>60


Ablauf einer Kanten-/Liniendetektion1. Extraktion von Kantenregionen mit HochpassfilternUnterdrückung des Gleichanteils, feine Bilddetails werden hervorgehoben undGrauwertübergange werden extrahiert2. Extraktion von Kantenpixelna. Reduktion von Kantenregionen zur Mittellinie hin Ausdünnung/Skelettierungoder Non-maximum Suppression orthogonal zur Kanteb. Subpixel-Abschätzung der Kantenposition<strong>Mustererkennung</strong>61


Ablauf einer Kanten-/Liniendetektion1. Extraktion von Kantenregionen mit HochpassfilternUnterdrückung des Gleichanteils, feine Bilddetails werden hervorgehoben undGrauwertübergange werden extrahiert2. Extraktion von Kantenpixelna. Reduktion von Kantenregionen zur Mittellinie hin Ausdünnung/Skelettierungoder Non-maximum Suppression orthogonal zur Kanteb. Subpixel-Abschätzung der Kantenposition3. Verbinden von kurzen Kantenstücken zu Kantenpixel-Ketten (edge linking)<strong>Mustererkennung</strong>62


Ablauf einer Kanten-/Liniendetektion1. Extraktion von Kantenregionen mit HochpassfilternUnterdrückung des Gleichanteils, feine Bilddetails werden hervorgehoben undGrauwertübergange werden extrahiert2. Extraktion von Kantenpixelna. Reduktion von Kantenregionen zur Mittellinie hin Ausdünnung/Skelettierungoder Non-maximum Suppression orthogonal zur Kanteb. Subpixel-Abschätzung der Kantenposition3. Verbinden von kurzen Kantenstücken zu Kantenpixel-Ketten (edge linking)4. Extraktion von Kanten bzw. Linien Überführung vektoriell z.B. Strassen inein GIS<strong>Mustererkennung</strong>63


Non-maximum SuppressionZiel: Reduktion der Kantenregionen nach Hochpassfilterung auf 1-Pixel breite Linien, dieorthogonal zum maximalen Gradienten verlaufen (also entlang der Mittellinie derextrahierten Kantenregionen)Original Gradientenbetrag Non-maximum Suppression<strong>Mustererkennung</strong>64


Subpixel-Position von KantenpixelnGrauwertkantenprofil im Bild Schätzung von Polynom 2.Ordnung (z.B. mittelsAusgleichung) in 1. Ableitung(Gradient) und Bestimmungdes MaximumsSchätzung von Polynom 3.Ordnung (z.B. mittelsAusgleichung) in 2. Ableitungund Bestimmung desWendepunkts<strong>Mustererkennung</strong>65


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>66


Canny-KantendetektorVerfahren nach CannyCanny, J., A Computational Approach To Edge Detection,IEEE Trans. Pattern Analysis and Machine Intelligence, 1986.Schritte:1. Gradienten bestimmen2. Bestimmung von Gradientbetrag und -richtung3. Non-maxima Unterdrückung4. (Positionsverbesserung)5. Kantenpixel auffädeln (edge linking)<strong>Mustererkennung</strong>67


Canny-Kantendetektor1) Gradienten bestimmen• Faltung mit Gradientoperator in Zeilen- und Spaltenrichtung• Beispiel<strong>Mustererkennung</strong>68


Canny-Kantendetektor2) Betrag und Richtung• Glättung zur Stabilisierung der Richtung• quadratische Gradienten erleichtern gleitende Mittelung• Bestimmung von (quadratischem) Betrag und Richtung<strong>Mustererkennung</strong>69


Canny-Kantendetektor3) Non-maxima Unterdrückung:• orthogonal zur Kantenrichtung,• oft näherungsweise mit auf 45°gerundeten Winkeln4) (Positionsverbesserung)• quadratische Approximation der Kantenstärke• orthogonal zur exakten Kantenrichtungverbesserte Kantegenäherte Kante<strong>Mustererkennung</strong>70


Canny-Kantendetektor5) Kantenpixel auffädeln (edge linking)• Nachbarschaftsanalyse in binäremKantenbild (4er oder 8er Nachbarschaft)• Suche nach Startpunkten mithohem Schwellwert• Suche entlang der Kante mitniedrigerem Schwellwert• Nachbarschaftsbeziehungen geltenauch für verbesserte Kantenpunktemit subpixel Genauigkeit<strong>Mustererkennung</strong>71


Canny-Kantendetektor: Beispiel<strong>Mustererkennung</strong>72


Themen heute• Texturo Co-occurrenceo Texturfilter, Histogram of oriented gradients• Extraktion markanter Punkte (Interest Points)o Templates, 2 nd moment matrixo Moravec, Harris, Förstner• Kantendetektiono Non-maximum suppression, sub-pixel Positionierungo Canny-Kantendetektoro Hough-Transformation<strong>Mustererkennung</strong>73


Hough-TransformationEs wird nach bestimmten gegebenen Formen gesucht Transformation in den Parameterraum der zu suchenden Form Definition eines Akkumulators im ParameterraumBeispiel: Suche nach Gerade, d.h. kollinearen Punkten• Geradengleichung: x · cos(q) + y · sin(q) <strong>–</strong> r = 0• Für ein gegebenes (Kanten-) Pixel (x,y) kann das als Funktion imParameterraum (q,r) aufgefasst werdenyqpP(x,y)Geradenbüschel durch (x,y)xBildraumpParameterraumr<strong>Mustererkennung</strong>74


Hough-Transformation• Für jedes Kantenpixel wird entlang der Kurve im Parameterraumder Wert im Akkumulator um 1 erhöht• Maxima im Akkumulator entsprechen gesuchten Objekten z.B.mehrere Punkte auf einer Geraden mit (q 0 ,r 0 ):yqpq 0r 0r 0P 2 (x 2 ,y 2 )P 1 (x 1 ,y 1 )aus P 1aus P 2q 075xP 3 (x 3 ,y 3 )Bildraumpaus P 3rParameterraum: Hough-Transformierte, Akkumulator<strong>Mustererkennung</strong>


Hough-Transformation: Beispiel GeradenOriginalbildParameterraum/Houghraum (Hough space)GradientenbetragrSchwelle aufGradientenbetragq<strong>Mustererkennung</strong>76


Hough-Transformation: Beispiel GeradenGradientenbetragrParameterraum/HoughraumqBreite Kanten führen zu flacheren und ausgedehnteren Maxima im Hough-Raum<strong>Mustererkennung</strong>77


Hough-Transformation: Zusammenfassung• Beschreibung der Objektform im Parameterbereich• Bestimmung der Maxima: Suche nach Ballungen (Clustern)• Relativ aufwendiges Verfahren gute Vorverarbeitung wichtig!• Überbrückung von Lücken möglich• Liefert oft auch bei rauschbehaftetenDaten brauchbare Resultate• Man erhält i.d.R. zu lange Geraden Nachverarbeitung erforderlich oderLokale Hough-Transformation aufBildausschnitten<strong>Mustererkennung</strong>78

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!