Informatik (Fach) / computer vision (Lektion)

In dieser Lektion befinden sich 77 Karteikarten

a

Diese Lektion wurde von bibabu erstellt.

Lektion lernen

  • Multispektrale Bilder: verschiedene Spektralbereiche (neben Farbkanälen RGB auch Kanäle mit anderenWellenlängen)
  • Binärbilder (Zweipegelbilder): Ergebnis der Bildvorverarbeitung; z.B. Hintergrund / Text in Schrifterkennung
  • Kontrollierte Beleuchtung Auflicht: Beleuchtung auf derselben Seite des Objektes wie die Kamera
  • Kontrollierte Beleuchtung Durchlicht Objekt zwischen Lichtquelle und Kamera- Silhouetten-Projektion bei nichttransparenten Objekten Umriss sichtbar; leichte Trennung von Objekt und Hintergrund.- Durchleuchtung bei transparenten Objekten. Innere Struktur sichtbar, z.B. Detektion von Inhomogenitäten in Glas; Erkennung von Lufteinschlüssen in Aluminiumfelgen durch Röntgen-Durchstrahlung; unzählige weitere Beispiele in Biologie und Medizin.
  • Kontrollierte Beleuchtung Indirekte Beleuchtung: Nutzung physikalischer Eigenschaften von Licht„Laser light plane“ Beleuchtung„Frustrated total internal reflection“ Beleuchtung
  • Nachbarschaften 4-Punkt Nachbarschaft N4 ={(u,v)| |u-r| + |v-c| = 1 es gelten alle Bildpunkte als Nachbarn die neben oder Übereinander liegenVier direkte Nachbarn: gemeinsame Kante mit p (Mitte)
  • 8-Nachbarschaft auch über ecken verbundene Bildpunkte zählen als nachbarn. ist u,v nachbar von r,c?N8 = {(u,v) |max{|u-r|, |v-c|}=1} Vier indirekte Nachbarn: gemeinsame Ecke
  • Globale Charakterisierung: Profil: Grauwerte entlang einer (auch gekrümmten) Linie; ( man zieht eine linie durchs bild und guckt sich die pixelwerte auf der linie an )Aussagen über Untergrundbeschaffenheit, Kantensteilheit, usw.
  • Globale Charakterisierung: Histogramm: H(k) = |{(r,c)| f(r,c)=k}
  • Globale Charakterisierung: Mittlerer Grauwert: Auskunft über allgemeine Helligkeit (insgesamt zu hell/dunkel?)  ∑k=0255 h(k)*k
  • Globale Charakterisierung: Varianz: σ^2 Maß für Abweichungen der Grauwerte aller Pixel vom Mittelwert und beschreibt den Kontrast σ2 = Σk=0255h(k)*(k-f)2 f soll eigentlich mti strich drüber, das ist der mittlere grauwert
  • Globale Charakterisierung: Entropie Auskunft über minimale Anzahl von Bits, die zur Speicherung eines Pixelserforderlich sind, und darüber, ob mit Komprimierungstechniken eineReduktion des Speicherbedarfs erreicht werden kann Maß für mittleren Informationsgehalt:He= -Σk=0255 p(k) * log2p(k);p(k) = h(k), 0*log20 entspricht 0
  • Lineare Filterung Wann ist ein Operator linear Ein Operator Ω ist linear, wenn für zwei Funktionen f und g sowie Skalare a und b gilt: Ω(af + bg) = a · Ω(f) + b · Ω(g) Ω linearer Operator wenn für zwei Funktionen f, g und Skalar λ gilt:• Additivität: Ω (f+g) = Ω (f) + Ω(G) (ähnlich zu Distributivgesetz)• Multiplikativität: Ω (λ*f) = λ * Ω (f)
  • Lineare Filterung: Nachbarschaftsoperatoren Korrelation ziehen die Bildpunkte einer Nachbarschaft in Betracht: durchschnitt der anderen Bildpunkte ( 1/9 * 3X3 matrix gefüllt mit 1en ): BLUR matrix bei 4er nachbarschaft -1 einsetzen bei dem eigentlich punkt 5 : sharpening eigenschaften: kommutativ und assoziativ Hintereinanderreihung von linearen Filterungen kann durcheinen kombinierten Operator effizient realisiert werden g(r,c) = (f*h) (r,c) =Σu=-kkΣv=-kkh(u,v)*f(r+u,c+v)
  • Lineare Filterung: Randbehandlung bild würde schrumpfen wenn man randfelder auslässt -> gibt möglichkeiten mit randfeldern umzugehen:  •Randpixel unverändert lassen• Randpixel auf Konstante setzen• Faltungskern anpassen• reflektierte Indexierung• zyklische Indexierung
  • Lineare Filterung: Impulsfunktion Impulse (diskret): Funktion die an einem bestimmten Ort den Wert 1 annimmt Impulse (kontinuierlich): Idealisierte „sehr schmale und hohe Funktion welche eine Fläche von 1 hat Wenn wir einen Impuls durch ein unbekanntes System H „senden“ bekommen wir die Impulsantwort h(t) Ist die Black Box (unbekanntes System) linear kann H durch die Impulsantwort h(t) beschrieben werden. impulsantwort ist nachher gespiegelt
  • Lineare Filterung: Konvolution (Faltung): Konvolution mit Impuls erzeugt Impulsantwort welche die Lineare Filteroperation (Black Box) widerspiegelt die bildpunkte werden an die gegenüberliegende stelle gepackt g(r,c) = (f*h) (r,c) =Σu=-kkΣv=-kkh(u,v)*f(r-u,c-v)
  • Lineare Filterung: Eigenschaften von Faltung: Kommutativ: (f ⋆ ℎ1) ⋆ ℎ2 = (f ⋆ ℎ2) ⋆ ℎ1 assoziativ: (f ⋆ ℎ1) ⋆ ℎ2 = f ⋆ (ℎ2 ⋆ ℎ1) man kann deswegen die filterung in vertikalen und horizontalen 1dimensionalen vektor teilen, macht das ganze schneller
  • Lineare Filterung: 1D Gauß-Filter g(x) = 1/(√(2πσ))e-(x^2)/(2σ^2) Adäquate Wahl der Maskengröße 2k + 1: 2σ<= k <=3σ Gauß-Filter mit real-Zahlen: [g(k), g(k-1),...,g(1), g(0), g(1), ... g(k-1), g(k)] Beispiel: σ=1.2, k=2,5*σ = 3 G*(x,o) = [0.015, 0.083, 0.235, 0.332, 0.235,....] G(x,o) = 1/63 * [1,6,16,23,16,...]
  • Lineare Filterung: Gauß-Filter in 2D: G(x,y) = 1/(2πσ2)e-(x^2+y^2)/2σ^2 Adäquate Wahl der Maskengröße (2k + 1) x (2k + 1): 2σ<=k<=3σ
  • Bildverbesserung, Allgemeine Ziele:Spezielle Ziele: Allgemeine Ziele:• Verbesserung des subjektiv–visuellen Eindrucks• Vereinfachung nachfolgender Verarbeitungsschritte Spezielle Ziele:• Kontrastverstärkung bzw. -verminderung• Glättung (Reduzierung des Rauschanteils)• Hervorhebung von Konturen (Sharpening)• Hintergrundkompensation (Korrektur inhomogenen Hintergrunds)
  • Grauwerttransformation: homogener Punktoperator g(r, c) = Ω(f(r, c)) Ω hat Intervall [0,255] als Definitionsbereich und Wertebereich und ist häufig monoton.
  • Grauwerttransformation: Log-Transformation bewirkt:Dehnung der Grauwertdynamik im unteren Grauwertbereichgleichzeitige Stauchung im oberen Grauwertbereich Die nichtlineare Log-Transformation:Variante 1: g(r, c) = 255 · (log(1+f(r,c))/log 256)Variante 2: g(r, c) = 255 · (log(1+f(r,c)))/log(1+L) , L: max. Grauwert von f(r, c)
  • Grauwerttransformation: Exponentielle Transformation Die allgemeine Form:g(r, c) = 255· (f(r, c)/255)γ, γ > 0 Fall 1: γ < 1Kennlinie ist derjenigen der Log-Transformation ähnlich=⇒ erhöht Helligheit und ermöglicht insbesondere bessere Sichtbarkeit imdunklen Bildbereich. Fall 2: γ > 1Das Verhalten exakt umgekehrt im Vergleich zu γ < 1. Das transformierte Bild wirktdunkler. Der untere Grauwertbereich wird zusammengestaucht, was bei zu hellen Bilderneine bessere Betrachtung erm¨oglicht
  • Stückweise-lineare Transformation Anwendung: Dehnung der Grauwerte zur Kontrastverst¨arkung Vielf¨altige Grauwertver¨anderungen sind durch st¨uckweise-lineare Transformationen modellierbar. Im Vergleich zur Log- bzw. exponentiellen Transformation sind hierbei allerdings mehr Parameter zu spezifizieren. grenzen sind a,b g(r, c) = 0, falls f(r, c) < ag(r, c) = (f(r,c)−a)/(b−a) · 255, falls a ≤ f(r, c) ≤ bg(r, c) = 255, falls f(r, c) > b=> also werden die werte zwischen a und b auf 0-255 gestreckt und die außerhalbvon a und b werden auf 0 bzw 255 gelenkt
  • Stückweise-lineare Transformation Anwendung:Bin¨arisierung: Trennung von Hintergrund und Objekten (z.B. Text). Eine Reihe von Verfahren zur automatischen Bestimmung des Schwellwertes T bekannt Graylevel Slicing (Hervorhebung eines bestimmten Grauwertbereichs
  • Histogrammausgleich: Allgemeines Ziel, Anwendungen, Spezifisches Ziel • Allgemeines Ziel: Anpassungunterschiedliche Bilder auf eineannähernd übereinstimmendeIntensitätsverteilung • Anwendungen:Anpassung für DruckwerkVergleichbarkeit von Bildern • Spezifisches Ziel: Bild f durch homogene Punktoperation Ω so zuverändern, dass das Ergebnisbild g ein gleichförmig verteiltesHistogramm ℎg aufweist Kann Histogrammeinträge nur verschieben oder zusammenführenaber nicht trennen!
  • Histogrammausgleich: Idee und Ziel Idee:Streckung großer Anh¨aufungen im Histogramm hf(k) von f(r, c)Stauchung wenig genutzter Grauwertbereiche (Kompensation) Ziel: g(r, c) hat gleichverteiltes Histogramm hg(k) (Maximierung der Entropie)
  • Histogrammausgleich berechnung Ω(p) = (int)(255)/(M · N)·Σk=0 pHf (k) oder Ω(p) = (int)(255)* kommulatives relatives histogrammHf ist das Histogramm
  • Exakte Histogrammspezifikation Ziel: Eingabebild f(r, c) wird so transformiert, dass das Ergebnisbild g(r, c) ein vorgegebenes Zielhistogramm Hg(k) exakt annimmt Algorithmische Skizze:alle Pixel von f(r, c) nach ihren Grauwerten sortierendie ersten Hg(0) Pixel von f(r, c) bekommen neu den Grauwert 0die n¨achsten Hg(1) Pixel von f(r, c) bekommen den Grauwert 1· · · · · ·die letzten Hg(255) Pixel von f(r, c) bekommen den Grauwert 255
  • Bildglättung Ziel: Reduzierung von Bildstörungen Annahme:• Additives Störungsmodell:f(r,c) = f*(r,c)+n(r,c)• Erwartungswert des ungestörten Idealbildes f*(r, c) konstant• Störung n(r, c) hat Erwartungswert null Lösung: Schätzung des Erwartungswertes von fE{f(r,c)} = E{f*(r,c)} + E{n(r,c)} = E{f*(r,c)} = f*(r,c)
  • Bildglättung (box filter) durchschnittliche nachbar nehmen  nachteil: kantenverwischung g(r,c) = (1)/(2k+1)2 Σu=-kkΣv=-kk f(r+u, c+v)
  • Bildglättung: Gauss-Filter: gewichtete Mittelwertfilterung; Gauss-Funktion als Gewichte. Wirkungsbereich der Filterung durch Parameter σ kontrollierbar. gaußfunktion ist auf anderer karteikarte
  • Bildglättung: Median-Filter: Ergebnis g(r, c) = Median der Grauwerte im Bild f innerhalb eines (2k + 1) × (2k + 1) Fensters mit Mittelpunkt (r, c) Median: Das mittlere (zentrale) Element einer sortierten Liste • Gehört zur Klasse der Rangordnungsoperatoren (rank order filtering)• Höhere Rechenkomplexität als andere Operatoren (Sortieren)• Kein Verwischen von Kanten, aber Abrunden von Ecken• Bes. effektiv für salt-and-pepper Störungen; bis zu 50% Ausreißer
  • Korrektur von uneinheitlichem Hintergrund Korrekturvorgang:Modellierung des Hintergrunds; h¨aufig polynomiale Funktion:b(r, c) = a00 + a10r + a01c + a20r2 + a11rc + a02c2oder mit h¨ohrer OrdnungSubstraktion des Hintergrund vom Eingabebild Bestimmung der Parameter aij :Gen¨ugende Anzahl (≥ 6, i.d.R. mehr) von Hintergrundpunkten, manuell oder automatisch, bestimmen. Anschließend Funktionsapproximation
  • Gradientenverfahren Kantenstärke und -richtung: s(x,y) ≈ |fx(x,y) + fy(x,y)| d(x,y) = tan-1 (-fx/fy); 0°<= d(x,y) <360°
  • Gradientenverfahren nach prewitt/sobel prewitt 3X3 matrix, links/unten überall -1 rechts/oben überall 1 sobel 3X3 matrix wie prewitt nur in der mitte jeweils ne 2
  • Canny-Operator, Anforderungen Herleitung aus Optimierung von drei Kriterien:• Detektion− Minimierung der Wahrscheinlichkeit für das Übersehen von Kantenpunkten− Minimierung der Wahrscheinlichkeit für die fälschliche Markierung von Nicht-Kantenpunkten• Lokalisierung: Möglichst exakte Markierung von Kantenpunkten• Eindeutigkeit: einmalige Markierung einer Kante
  • canny operator verfahren: 1. Bildglättung mit Gauss-Filter:2. Berechnung der Kantenstärke und –richtung, z.B. mittels Sobel- Operator:3. Kantenverdünnung mittels Non-Maximum-Unterdrückung4. Hysterese-Schwellwertoperation
  • Kantenverdünnung: Non-Maximum-Unterdrückung, Idee Beobachtungen:• Eine reale Kante im Bild tritt nicht als ideale Stufenkante auf, sondern in Form eines näherungsweise rampenförmigen Grauwertanstiegs senkrecht zur Kantenrichtung. Die Nachbarn eines Kantenpunktes in dieser Richtung erhalten i.a. ebenfalls große Kantenstärke und lassen sich nicht mittels einer Schwellwertoperation eliminieren.• Bei Verwendung der ersten Ableitung soll lokales Maximum detektiert werden.
  • Kantenverdünnung: Non-Maximum-Unterdrückung Algorithmus: Betrachte für jeden Bildpunkt I(r, c) seine beiden Nachbarn p und q orthogonal zur Kantenrichtung D(r, c). Fallss(p) > s(r,c) oder s(q)>s(r,c)gilt, so wird die Kantenstärke s(r, c) auf null gesetzt. Berücksichtigung der Kantenrichtungen der beiden Nachbarn möglich.
  • Hysterese-Schwellwertoperation: Einfache Schwellwertoperation: K(r,c) = 1, falls s(r,c) >= TK(r,c) = 0, sonst
  • Hysterese-Schwellwertoperation: Zwei Schwellwerte Tl und Th, typischerweise 2Tl ≤ Th ≤ 4Tl.1. Initialisierung: K(r, c) = 0 für alle Punkte (r, c).2. Markierung K(r, c) = 1 für alle Punkte (r, c) mit s(r, c) ≥ Th.3. Markierung K(r, c) = 1 für alle Punkte (r, c) mit Tl ≤ S(r, c) < Th, welche mindestens einen Nachbarn (iʹ, jʹ) mit K(iʹ, jʹ) = 1 besitzen.4. Wiederholung des Schrittes 3 bis das Ergebnis stabil wird
  • Konturverfolgung Ziel: Verbindung einzelner Kantenpunkte zu Konturlinien. Linie ist eine Folge p1, p2, . . . , pn, so dass pk und pk+1 benachbart sind. Einfacher Algorithmus existiert für den Fall mit verdünnten Linien (Non-Maximum-Unterdrückung, evtl. ein weiteres Verdünnungsverfahren am binären Kantenbild): mit Ausnahme von Linienanfangs- und -endpunkten sowie Verzweigungen hat jeder Punkt zwei Nachbarn.
  • Kontursegmentierung Divide–and–conquer Algorithmus Input: Konturlinie als Folge (p1, p2, . . . , pn) von Punkten Output: Approximation der Konturlinie durch Geradenstücke (abhängig von Schwellwert T). Motivation: analytische, symbolische Beschreibung von Konturlinien. 1. Verbinde Anfangs- und Endpunkt durch Geradensegment S.2. Stelle Punkt p mit größter Entfernung von der Geraden S fest.3. (Entfernung von p zu S) ≤ T?− Ja: Stop− Nein: Spalte Geradensegment S am Punkt p in zwei Teile S1 und S2.Wende den Algorithmus rekursiv auf S1 und S2 an.
  • Kontursegmentierung Anwendung zur Slant-Detektion: • Approximation der (nicht horizontalen) konturen mit Geradenstücken.• Aufbau eines Winkelhistogramms hslant: Von jedem Geradenstück (lk, λk) mit Winkel λk und Länge lk wird die quadratische Länge (lk)2 im Winkelhistogramm hslant unter dem Winkel λk akkumuliert, d.h. hslant[ß] = Σk:λk = ßlk2Gewichtung (lk)2 der Einträge: lange (zuverlässigere) Strecken nehmen stärkeren Einfluss auf die Berechnung des Slants als kurze.• Da nicht-horizontale Strukturen und lange Strecken bevorzugt werden, kann angenommen werden, dass das Maximum des Winkelhistogramms ßslant=argmaxß(hslant[ß])der vorherrschenden Richtung des Schriftbildes entspricht.
  • Hough Transformation: Detektion von Geraden man wandelt die punkte um in die hesse'sche normalform:l=xcosp+ysinp; 0=< p <2π, l>0 man erzeugt H[p][l] = alle 0geht durch alle p und berechnet dafür l ( p unterschied muss man selbst definieren) dann inkrementiert man H[p][l] um 1es gibt dann häufungspunkte, also da wo H[p][l] hohe werte annimmt, diese häufungspunkte definieren eine gerade l=xcosp+ysinp
  • Hough Transformation für Kreise Jeder Punkt eines Kreises Ca,b im Bild führt zu einem Kreis im ab-Raum. Diese Kreise schneiden sich im Punkt (a, b). punkt (a,b) radius r im bild a=x-rcospb=y-rsinp             ;0=< p =< 2π Algorithmus:alle kantenpunkte gemäß der Formel umsortieren.für alle a und b H[a][b] = 0 setzenalle p durchgehen, a und b berechnen und H[a][b] an der stelle um 1 inkrementierenHäufungspunkte im a,b raum ist ein kreis im xy raum
  • Hough transformation: Detektion von Kreisen (mit unbekanntem Radius ro) Jeder Punkt (xi, yi) eines Kreises mit Zentrum (a, b) im Bild führt zu einem Kegel
  • 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 dieim Bildraumnicht zum gleichenModell gehören− Zu fein: Bins bekommen zu wenig Votes falls Kantenpunkte einer Linieim Bildraumnicht kollinear sind