Informatik (Fach) / computer vision (Lektion)

In dieser Lektion befinden sich 77 Karteikarten

a

Diese Lektion wurde von bibabu erstellt.

Lektion lernen

  • Hough Transformation, Umgang mit noise Wähle geeignete Diskretisierung (Bins)(beispielsweise p, worüber man iteriert) im Akkumulator− Zu grob: Einzelne Bins erhalten zu viele Votes von Kantenpunkten die im Bildraumnicht zum gleichenModell gehören− Zu fein: Bins bekommen zu wenig Votes falls Kantenpunkte einer Linie im Bildraumnicht kollinear sind Kantenrichtung und Kantenstärke mit einbeziehen
  • Hough transformation Detektion von Ellipsen [(x-x0)cosΘ+(y-y0sinΘ)]2/a2+[(x-x0)sinΘ-(y-y0)cosΘ]2/b2=1 Speicherbedarf und Rechenaufwand wegen des 5D Problemraums enorm hoch. Lösung: Aufteilung der fünf Parameter, z.B. zuerst das Zentrum (x0, y0) bestimmen und in einer zweiten Phase die restlichen drei Parameter (Radii a,b und Ellipsenrotation θ) bestimmen.
  • Hough Transformation beliebige parametrische Kurven Ziel: Detektion einer beliebigen Kurve g(x, y, A) = 0 mit Parametervektor A = (a1, a2, . . . , am) algorithmus: seite 207  Zeitkomplexität: O(#Kantenpunkte · Nm−1) falls |Ak| = N; Reduktion auf O(#Kantenpunkte · Nm−2) bei Verwendung von Richtungsinformation
  • Probabilistic Hough Transform • Verwende nur S ≪ U zufällig ausgewählte Kantenpunkte (S ~ 15%bis 25%)• Intuition: Zufällig ausgewählte Kantenpunkte enthalten i.A. weniger Noise und weniger Modelle die nur duch wenige Kantepunkte repräsentiert sind.
  • Randomized Hough Tranform Annahme: Die Kontur lässt sich durch n Punkte eindeutig festlegen. Algorithmus:• Verschiedene n-Tupel von Kantenpunkten auf Zufallsbasis auswählen. Jedes n-Tupel legt ein Objekt der gesuchten Form eindeutig fest. Die entsprechende einzige Zelle im Akkumulatorinkrementieren.• Kombination mit Probabilistic Hough Transform möglich.
  • Konturdetektion mit dynamischer Programmierung Gesamtlösung: Die optimale Kontur von 1. zur letzten Zeile hat die Gütec=0,1,...,N-1max CM-1,cWir müssen nur eine Gütematrix C, Größe MxN, vollständig aufbauen. algorithmus:die erste zeile auf ihre kantenstärke s(r,c) setzendurch die zeilen und spalten gehen, iterieren{C[r][c]=max(j=-1,0,1) {C[r-1][c+j]+s(r,c)} // das höchste aus der letzten zeile links und rechts benachbart, + die kantenstärkej*=arg max{j=-1,0,1) {C[r-1][c+j]+s(r,c)}zeiger[r][c] = (r-1,c+j); der zeiger von rc zeigt von der aktuellen reihe und spalte auf den benachbarten wert in der letzten zeile mit dem höchsten cwertdann maximum in der letzten zeile suchen und den zeiger zurückverfolgen
  • Konturdetektion mit dynamischer Programmierung:Detektion geschlossener Konturen Input: grauwertbild oder bild der kantenstärke f(x,y) und Punkt (x0,y0) innerhalb der Kontur 1. Polar transformationfür p und l jeweils mit for durchiterieren:x=x0+ l cospy=y0+l sinpP[p][l]=f(x,y)2. Dynamische Programmierung in P mit der optimalen Kontur im Polarraum als ergebnis3. inverse Polar-transformation der optimalen Kontur vom polarraum zurück ins bild
  • Konturdetektion mit dynamischer Programmierung 21 Erweiterung: geschlossene Konturen mit Initialisierung• Annahme: Initiale Positionierung der Kontur vorhanden• Vorgehen: um die initiale Kontur herum einen Suchbereich konstruieren und die DP darauf beschränken• Anwendung bei beliebigen (nicht nur star-shaped) Konturen
  • Seam carving Seam: Optimaler Pfad durch ein Bild mit 8er Nachbarschaft (von oben nach unten oder von links nach rechts)Seam carving Energiefunktion definiert die Wichtigkeit einzelner Pixel, e.g. quasi dynamische programmierung nur dass man die kleinsten nicht die größten sucht
  • Least Squares, Vorgehen: 1. Definiere geeignete Fehlerfuntkion 2. Berechne Ableitung dieser Funktion in Richtung der unbekannten Parameter3. Setze Ableitung gleich 0 und löse das Gleichungssystem für die unbekannten Parameter
  • Least Squares: Bestimmung von Geradengleichungen Matrixgleichung aufm Zettel.
  • Bildentstehung, Begriffe, field of view berechnung f = focal length (Brennweite)c = center of the cameravirutal image = Projektion des Bildes vor das Optische Zentrum;Sensorgröße d = die höhe des brennschirms?Brennweite (focal length) f = die weite von brennschirm zu linseField of view: φ = tan-1((d/2)/f) Da d konstant:→ Lange (große) Brennweite f => kleines Field of view φ→ Kurze (kleine) Brennweite f => großes Field of view φ
  • Linsenbedingte Artefakte bei Bildprojektion Brechung des Lichtes mittels (nicht perfekten) Linsen kann zu fehlerhaften Artefakten führen:• Radiale Verzerrung          • Parallele Linien sind nicht mehr parallel • Chromatische Aberration         • Lichtwellen verschiedener Länge (Farbe) fokussieren auf verschiedenen Ebenen (unterschiedlicheBrechung) • Vignettierung       • Durch Ungenauigkeiten bei Linsen (-arrays) kommt nicht alles reflektierte Licht eines 3D Weltpunktes auf dem Sensor an (insb. bei Pixeln am Rand des Sensors) • Mögliche Lösungen:   •  Benutze mehrere Linsen     • Verwende algorithmische Lösungen
  • Bildentstehung Objektive mit vielen Linsen • Da die “Realität nicht perfekt” simulieren Objektive mit mehreren Linsen das Pinhole Kamera Modell• Daher können wir im Folgenden die Mathematik für Pinhole Kameras annehmen• Daher:• Keine Artefakte• Kein “out of focus”
  • Modellierung der Kameraprojektion: Das Kamerakoordinatensystem Pinhole Kamera Modell als Approximation• Center Of Projection (COP) (linse) ist im Zentrum(origin) der Projektionsebene (brennebene)(PP)• Wir verwenden das Standard-(x,y)-Koordinatensystem(right handed)• Positioniere PP vor COP (vereinfacht das Modell)• Kamera “schaut” in negative z Richtung• Weltpunkt (x,y,z) schneidet PPin (x’,y’,-d) mit d=Brennweite• Berechne Projektion auf (Schnitt mit) PP von (x,y,z) zu COP:(x, y, z) → (−d(x/z),-d (y/z), -d) Projektion auf PP• Verwerfe z-Komponente(x, y) → (−d(x/z),-d (y/z)) • Ist dies eine lineare Transformation?• Nein! Division durch ein nichtkonstantes z ist nicht linear!• z verändert sich mit jedem Punkt!
  • Homogene Koordinaten transformation zu (x',y') ist nicht lineartrick: füge eine dimension hinzu(x,y) -> [x, y, 1] <- senkrechtund (x,y,z) -> [x,y,z,1] < senkrecht Rücktransformation (2D): [x,y,w] <senkrecht -> ((x/w), y/w))
  • Perspektivische Projektion • In Homogenen Koordinaten ist die perspektivische Projektion eine lineare Transformation! 1 0 0   1   * x                                                      = x0 1 0   0   *  y                                                     =y               -> (f(x/z),f(y/z))-> u,v0 0 1/f 0   *  z                                                     = z/f                   1 <wichtig die gehört zum vektor
  • Perspektivische Projektion, projektionsmatrix i.d.r wird benutzt 1 0 0 0; 01 0 0 ; 0 0 1/f 0 * x y z 1 = x y z/f => punkt -> x/z y/z falls matrix unbekannt, matrix mit variablen aufstellen, die gleichungen aufstellen für alle punkte nach bildpunkten, gleichungssystem auflösen
  • Geometrische Kamerakalibrierung, matrix erstellen: siehe folie 518
  • Geometrische Bildtransformationen: Rotation: folie 562
  • Geometrische Bildtransformationen:Translation: folie 563
  • Geometrische Bildtransformationen: Scherung folie 564
  • Geometrische Transformation Matritzen auf 578
  • Two-view stereo vision: Achsenparallele Stereosysteme: Distance p (tiefenwert )von mitte der kamera zu weltpunkt in der realität, f: ( die höhe der Bildpunkte ) (entfernung von bild zu kamera z achse) B :die entfernung der beiden Bildpunkte u1, u2: die entfernung von bild zur kamer auf x achse distance p = f * B/(u1-u2) disparity = u1-u2
  • Homographie: man hat n punkt paar, ein Punkt in Bild 1 ein Punkt in Bild 2. w*p' = H*p oder seite 632
  • Gray-level co-occurrence matrix, siehe folie 930
  • Gray-level co-occurrence matrix, energy, entropy, contrast, homogeneity siehe folie 934