Robotvision
<hiddenlogin linktext="Login">nistudws0809:WS0809N!</hiddenlogin>
Neuronaler Instruktionssatz
- Basisoperationen bzw. Verarbeitungsprinzipien mit denen sich biologisch inspirierte Systeme:
- mathematisch Beschreiben lassen
- algorithmisch umsetzen lassen
- technisch nachbilden lassen
- umfasst folgende wesentliche Operationen und Prinzipien:
- Funktionelle Abbildungen
- Topographische Abbildungen
- Ortsvariante Info-verarbeitung
- Auflösungspyramiden
- Topologisch kodierte neuronale Felder im
- Neuronale Felddynamiken
- Geschichtete 2D-Repräsentationen
Funktionelle Abbildungen
- Beschreibung der Abbildung der n-dimensionalen Sensor/Merkmalskarten auf 2-dimensionale Karten
- beschreiben lineare und nicht lineare, ortszeitliche Faltungsprozesse
- Typische Vertreter:
- Filteroperationen
- lokal operierende Klassifikatoren (Gesichtserkennung)
- beliebige lokale Abbildungen (Funktionsapproximation mit z.B. neuronalen Netzen)
Orts-& Zeitvariante, nichtlineare Abbildung
Orts-& Zeitinvariante, lineare Abbildung
Beispiele:
- Boxoperator (Mittelwertoperator)
- Gaußtiefpass
- Laplace-Operator
- Soebel-Operator
- Kirsch-Operator (Kantendetektion)
Der DoG Operator
- Zwei mögliche Realisierungen:
- erregendem Zentrum und hemmendem Saum (on-center)
- hemmendem Zentrum und erregendem Saum (off-center)
- Inspiriert durch die Retina und dem visuellem Cortex
- Wird gebildet durch die Differenz zweier Rotationssymetrischer 2D- Gaußverteilungen
- Das Integral über den DoG sollte 0 sein (inhibitorischer Anteil = exzitatorischer Anteil) -> Faltungsoperator ist dann mittelwertfrei
ortsvarianter DoG Operator:
- im Zentrum kleine DoG-RF (rezeptive Felder) zur Extraktion visueller Details
- zum Rand hin immer größer werdend zur Erhöhung der Empfindlichkeit bei Verringerung der Auflösung
- Polarkoordinaten mit Abhängigkeit vom Radius:
Gabor-Wavelet-Funktionen
- Faltungskerne zur Detektion von orientierten Kanten, Linien bzw. Grauwertverläufen
- spezifisch angepasst auf bestimmte Orientierungen und Ortsfrequenzen
- enstehen durch multiplikative Überlagerung
- einer Gaußfunktion -> Lokalisierung im Ort
- einer komplexwertigen Exponentialfunktion (Sin-Cos Kombination) -> Frequenz- und Orientierungsspezifik
- dienen der Ermittlung von lokalen Änderungen (Grauwert, Farbe) im Inputbild mit bestimmter Vorzugsrichtung, -frequenz
- wichtig für Bewegungs- und Szenenanalyse
- haben richtungsselektiven Bandpasscharakter
- kleine Varianz im FB
- bestmögliche Beschränkung im ZB
- Unschärferelation der Signaltheorie beachten!
mathematische Beschreibung:
- 1D:
- 2D:
Analyse im FB:
- statt Faltung im ZB Verarbeitung im FB
- d.h. Multiplikation des transformierten Inputs mit Gaußfiltern im FB, die sich in Vorzugsrichtung und Frequenz unterscheiden
- Vortel: deutlich verringerte Berechnungskomplexität
Jets:
- Filterung des Bilders mit klar definiertem Satz von Gaborfiltern unterschiedlicher Vorzugsrichtung und Frequenz
- Ziel: gleichmäßige Abdeckung des gesamten Frequenz- und Orientierungsbereichs
- alle Filterergebnisse an einem Bildpunkt werden als Jet bezeichnet
Topographische Abbildungen
Wesen:
- lokal nachbarschaftserhaltende Abbildung
- lokale Nachbarschaften bleiben, können aber verzerrt sein
Zweck:
- Datentransfer
- um für nachfolgende Operationen geeignete Repräsentationen zu erzeugen und Invarianzleistungen zu erzielen
Retino-cortikale Projektion
- kommt aus der biologischen Verarbeitung von Bildern im Gehirn
- nachgewiesen durch Tierversuche mit radioaktiver Glukose
Charakteristika:
- topographische Abbildung
- Topologieerhaltung
- Punkt-zu-Punkt Projektion (Bereiche in der Mitte des Sehfeldes werden größer abgebildet als periphere Bereiche)
Mathematische Modellierung:
- komplexe Exponentialfunktion:
- von Rechteck in z-Ebene (Cortex) → Kreisring in w-Ebene (Retina)
- ,
- horizontale Linien → Radialstrahlen
- vertikale Linien → Kreise
- Kreisring im Ursprung nicht definiert
- komplexe Logarithmusfunktion:
- von Kreisring in w-Ebene → Rechteck in z-Ebene
- ,
Abbildungseigenschaften:
- Skalierung
- Multiplikation aller Pixel mir reeler Konstante
- Translation in x-Richtung
- Erhalt der geometrischen Ähnlichkeit → Pseudoinvarianz
- Roation über Ursprung
- Multiplikation aller Pixel mit komplexer Zahl
- Translation in y-Richtung
- Erhalt der geometrischen Ähnlichkeit → Pseudoinvarianz
- Translation
- keine Formerhaltung
- aktive Sehsysteme erforderlich
Ortsvariante Informationsverarbeitung
- Realisierung ortsabhängiger funktioneller Abbildungen
- zur Reduktion des Datenstromes
- zur Organisation unterschiedlicher Repräsentationen (Menschliches Sehsystem hat hohe Auflösung im Zentrum und geringe am Rand)
Auflösungspyramiden
- erlaubt kleinere Operatoren auf großen Bildern
- Auflösungspyramiden erhöhen die Ortsfrequenzen in Bildern
- erzeugen verschiedene Skalierungsstufen durch Unterabtastung des Originalbildes
- damit können, mit einem Fenster konstanter Größe, große Gesichter im verkleinerten Bild und kleine Gesichter im Originalbild gefunden werden
- Jedes Bild muss vor der Skalierung mit einem Tiefpass gefiltert werden, da sonst das Nyquistkriterium verletzt wird
- Realisierung TP-Filter: Gauß, Mittelwert, optische TP-Filter
Vorteile:
- Effizienzerhöhung der Filteroperation
- Verwendbarkeit eines Operators auf allen Ebenen
Nachteile:
- hoher Berechnungsaufwand
- starres Ebenenraster
Topologisch kodierte neuronale Felder im
- einheitliches Datenformat zur Kodierung und Kommunikation über Karten
- in Anlehnung an Fuzzy-Logic
- räumliche Kodierung durch Blobs (Gaußähnliche Verteilung von Werten auf der Karte)
- die Position eines Blobs kodiert die Bedeutung
- die Breite des Blobs kodiert die Sicherheit
- die Höhe des Blobs kodiert sein Gewicht/Stärke
- erlaubt einfache Verhaltenskoordination durch additive oder multiplikative Überlagerung verschiedener Karten
Neuronale Felddynamiken
- Selektion von sensorischen/motorischen Alternativen innerhalb einer m-dimensionalen Karte
- Verwendung nichtlinearer rückgekoppelter neuronaler Felder
- verschiedene Spielarten:
- AMARI-Dynamik → Regionsbasierter Ansatz (am stärksten aktivierte Region gewinnt)
- KOHONEN-Dynamik → Punktbasierter Ansatz (das am stärksten aktivierte Neuron gewinnt)
AMARI-Dynamik
- beschrieben durch eine DGL:
- Der Faltungskern w bestimmt die Selektionseigenschaften
- Gauß → mehr zentrale Bereiche
- DoG → "auffällige" hochfrequente Bereiche
Eigenschaften:
- Bedingte Maximum-Selektion
- Selektion eines Gewinnerblob wenn
- Inputaktivität überschreitet
- eine Mindestamplitude
- räumliche Ausdehnung
- Zeitdauer des Anliegens
- Zeitliche Vorgeschichte (Hystereseverhalten)
- Inputaktivität überschreitet
- Selektion eines Gewinnerblob wenn
- Hystereseverhalten
- keine sofortige Verlagerung auf neue Region
- Winnerblob für bestimmte Zeit auf ursprünglicher Region gehalten
- Gewinnerblobs werden auch räumlich verfolgt → effizientes Objekt-Tracking möglich
- Siehe auch Konsultation
Implementierung
- die AMARI-Dynamik ist relativ unempfindlich gegenüber numerischen Lösungverfahren
- typischerweise wird die Einschrittapproximation nach EULER eingesetzt
- aus der DGL wird so eine iterativ lösbare Gleichung
Geschichtete 2D-Repräsentation
- Verrechnung von 2D - Daten im → Form der Sensorfusion
- Multi-Cue Ansatz zur Verrechnung der Merkmalskarten bei gleichzeitiger Bewahrung ihrer Spezifität
- Operationen zwischen den Karten:
- Mittelwertbildung
- Fuzzy-Operatoren
- Fuzzy-Und, Fuzzy-Oder
- Min-Max-Operator
- Gamma-Operator (kompensatorisches Und)
- 3D-Amari-Dynamiken
- benötigt für den Aufbau von Multi-Cue Ansätzen (z.B. Detektion von Gesichtern anhand von Farbe, Textur und Kopfsiluette)
Techniken zur Behandlung der Randprobleme
Randbehandlung der Operatoren:
- auffüllen fehlender Werte
- mit Nullen, zufällige Werte
- Mittelwert
- Spiegelung
- Extrapolation
- Wrap-around-Technik
- Weglassen der Ränder (Ergebnis wird kleiner)
- Anpassen der Operatoren an den Rändern
Farbverarbeitung
Farbumstimmung
- nur Strahlungsverteilung des mittleren Tageslichts führt zu einer vollen Ausnutzung der spektralen Empfindlichkeitskurven aller drei Zapentypen und somit auch zur vollen Ausnutzung der Farbempfindung des physiologischen Farbraumes
- für alle anderen Beleuchtungsverhältnisse (vor allem dynamische) muss eine Farbumstimmung erfolgen
Weißringkorrektur:
- weißer Referenzring an Omnikamera zur Messung des Umgebungslichts
- Bestimmung der Farbigkeit des Umgebungslichts
- damit Korrektur von U,V
White Patch:
- Farbe des hellsten Pixels = Farbe des einstrahlenden Lichtes
- Korrektur auf Bild oder in Kamera möglich (kanalweise)
- Problem: hellstes Pixel in Sättigung
Grey World:
- Annahme: durchschnittliches Bild ist Grau
- Korrektur so, das Annahme erfüllt ist
- Problem bei sehr einfarbigen Szenen
Histogrammausgleich:
- zur Kontrastverbesserung
- häufige GW auseinandergezogen, weniger häufige zusammengeschoben
- Problem: Bilder zum Teil unnatürlich verfälscht, dienen deshalb nicht zur Weiterverarbeitung
- liefert beste Ergebnisse für Positionswiedererkennung
Retinex:
- bildet Vorgänge im biologischen visuellen System nach
- inhibitorische Verschaltung des Reizes mit Umgebungsreizen
- stärkere Einbeziehung naher Umgebungspixel
- implizite GW-Mittelung des Bildes
- Probleme: nur lokale Verbesserung
Automatic Color Equalization:
- ähnlich Retinex
- Umgebungspixel wirken hemmend
- nahe Pixel stärker berücksichtigt
Der physiologische Elementarfarbraum
- entsteht aus allen möglichen RG-, BY-, WS-Aktivierungen
- bilden die 3 Achsen die Farbraum aufspannen
- werden durch eine lineare Transformation aus den RGB-Werten gewonnen
- besitzt eine quantitativ gleichabständige Ordnung (aber nicht empfindungsgemäß)
- umfasst alle möglichen Farbempfindungen des Menschen
- Vorteil: Dekorrelation von Farbe und Helligkeit
Elementarfarbraumverfahren
- durchschnittliche Tagesbeleuchtung einer farblich ausgewogenen Szene führt zu einer Pixelwolke die senkrecht im Farbraum steht (entlang der WS-Achse)
- bei anderen Lichtverhältnissen wird Pixelwolke ausgelenkt (gekippt, verformt etc.)
Korrektur:
- für jede ausgelenkte Pixelwolke ist die Bestimmung einer Achse möglich die in WS-Achse überführt werden kann
- Bestimmung der Hauptachse der Pixelwolke (wenn diese gekippt)
- durch Bestimmung des größten Eigenvektors (bzw. im einfachsten Fall des Schwerpunktes)
- anschließend Verschiebung auf WS-Achse (durch lineare Scherung) und Skalierung auf volle Länge der WS-Achse
- zuletzt Sättigungskorrektur
- Bestimmung der Hauptmannigfaltigkeit der Pixelwolke (wenn diese verformt)
- durch Approximation einer 1D-topologieerhaltenden Abbildung
- anschließend nichtlineare Verschiebung auf WS-Achse und Skalierung auf volle Länge der WS-Achse
- zuletzt Sättigungskorrektur
Voraussetzungen für Bildtransformation:
- übersteuerungsfreie Aufnahme
- kein Weißabgleich
- keine Gammakorrektur
Weitere Farbräume
YUV-Farbraum
- Farbinformation: Luminanz Y (Lichtsstärke) und Crominanz U,V (Farbdifferenz)
- Referenzbasierte Farbumstimmung
- empfindungsmäßig nicht gleichabständig
- Einsatz in Kameras
- Regelung von U&V dirket in Kamera
- Regelung von Y über Blende
RGB-Farbraum
- Farbe und Helligkeit stark korreliert
- empfindungsmäßig nicht gleichabständig
- Einsatz in Anzeigegeräten (Scanner, Monitor etc.)
- zur Objekterkennung bei konstanter Beleuchtung
- Farbe als Merkmal zur Unterscheidung von Positionen in der Umgebung
- Positionen durch Erscheinung beschrieben -> appearance-basierte Merkmale
HSV-Farbraum
- Trennung von Farbe und Helligkeit
- entspricht mehr dem menschlichen Empfinden
- Hue (Farbwinkel: 0° = Rot, 360° = Cyan), Saturation (Sättigung: 0% = keine, 100% = reine Farbe), Value (Dunkelstufen: 0% = keine, 100% = volle Helligkeit)
- zur Hindernisvermeidung
- Farbe zur Segmentierung (Referenztrapez vor Roboter als Freiraumbesipiel)
rg-Farbraum
- helligkeitsnormiert und zweidimensional
- für Trackingaufgaben mit dynamischer Beleuchtung
- Tracking über objektspezifische rg-Werte (z.B. Hautfarbe) ist helligkeitsinvariant
- Transformation nach RGB nicht mehr möglich
Vergleichsmetriken
- zur Bestimmung der Ähnlichkeit
Sum of Absolute Differences
- einfach, schnell, geringer Rechenaufwand
Sum of Square Differences
- Ausreißer stärker gewichtet
- langsamer als SAD da höherer Rechenaufwand
Histogramm-Intersection
- Berechnung im HSV-Raum
- direkter Vergleich zweier Hue-Histogramme
- einfach, sehr schnell
-Statistik
- direkter Vergleich zweier Hue-Histogramme
- Ausreißer stärker gewichtet
- langsamer als Histrogrammschnitt, da höherer Rechenaufwand
Basisoperationen für die Visuelle Wahrnehmung der Umgebung
Bewegungsanalyse
- Ziel: Erfassen von Bewegungsgrößen innerhalb einer Szene durch Auswertung zeitlicher Änderungen in einer Bildsequenz
- Interpretation der gefundenen Änderungen als
- Bewegung des Objektes
- Eigenbewegung des Sehsystems
Grundidee:
- suchen der Bewegung in einem 3D-Raum durch stapeln der einzelnen Aufnahmen
Typischer Ablauf:
- Extraktion bestimmter Bildmerkmale (Textur, Ecken, Konturlinien, Grauwert- oder Farbwertverläufe)
- Matching der verwendeten Bildmerkmale in den anderen Bildern der Bildsequenz
- aus dem Matching Bewegungsschätzungen ableiten
- Die Bildmerkmale sind vielfältigen Störungen unterworfen:
- bildspezifische Störungen (Verdeckung, Beläuchtungsänderung, Bewegungsänderung durch Eigenbewegung)
- statistische Rauscheinflüsse (Pixelrauschen, Umweltschwankungen,...)
- Reduktion der Bildinformation (Quantisierung bei der Umwandlung)
Optischer Fluss
- Der optische Fluss ist die Scheinbewegung, die aus der zeitlichen Änderung von Helligkeitsmustern in Bildsequenzen entsteht
- Verschiebung der Bildkoordinaten ist von der Entfernung abhängig → implizite Tiefeninformation
- Vorteile: Farb-, Textur-, Helligkeitsinvariant
- Das Bewegungsfeld in einem Bild entsteht durch reale Bewegungen der Objekte welche auf die Bildebene projiziert werden
- Beschreibung erfolgt durch ein Vektorfeld
- Die Schätzung des optischen Flusses basiert auf dem Korrespondenzproblem
Das Korrespondenzproblem
- Problem: Auffinden von Bildpunkten in aufeinanderfolgenden Bildern, die in der realen Umwelt den gleichen Ursprung haben
- Aus der Notwendigkeit zur Lösung ergeben sich weitere Probleme:
- das Apertur- (Blenden) Problem
- Spielarten des Korrespondenzproblems
Das Apertur- (Blenden) Problem:
- Intensitätsänderungen können bei der Bildanalyse nicht eindeutig detektiert werden wenn zu kleine Bildauschnitte verwendet werden
- die Verschiebung von geraden linien kann nicht exakt bestimmt werden wenn die Eckpunkte nicht bekannt sind
Spielarten des Korrespondenzproblems:
- bei deformierbaren Körpern kann man nicht auf die innere Bewegung schließen, da keine eindeutigen Merkmale vorhanden sind
- bei periodische Texturen kann ein lokaler Operator nicht unterscheiden ob es sich um eine einfache oder vielfache Bewegung, um die Periode, handelt (Verwechslungsgefahr)
- viele ähnliche Objekte können nur durch Hochgeschwindigkeitsaufnahmen unterschieden werden, bei denen sich die Objekte langsamer bewegen als der mittlere Abstand zwischen diesen ist (Auch hier gilt: Verwechslungsgefahr)
- weitere Erkennungsprobleme:
- Homogene unstrukturierte Bereiche
- Perspektivische Ansichtsänderung
- Lokale Helligkeitschwankungen
- Bildrauschen
- Kameraverzeichnung
- weitere Interpretationsprobleme bei:
- unbekannter Eigenbewegung
- dynamischer Umwelt
- rotatorischer Bewegung des Sehsystems
Verfahren zur Bestimmung des OF
Verschiedene Spielarten für Schätzung der Bewegung möglich:
- merkmalsbasiert
- Sift
- Surf
- helligkeitsbasiert
- korrelationsbasiert
- differentiell
- phasenbasiert
Korrelationsbasierte Schätzverfahren:
- Suche nach Bildregionen im Folgebild
- Ähnlichkeitsmaß ist die 2D-Kreuzkorrelation der Grauwertgebirge
- wird für alle möglichen Verschiebungen berechnet
- sehr rechenaufwendig
- mögliche Verschiebungen müssen auf sinnvolle Bewegungen begrenzt werden
- sinnvolle Definiton der Größe der Bildausschnitte
Alternativen zur Kreuzkorrelation:
- Kovarianz:
- Summe der absoluten Differenzen:
- Summe der quadratischen Differenzen:
- Normierte Kreuzkorrelation:
- Summe der absoluten Streuungsdifferenzen:
Ablauf für realwelttaugliche OF-Berechnung:
- Vorselektion mit Hilfe eines Interest Operators um die geeignete Bildregionen zu finden (z.B. besonderst starke Grauwertänderungen)
- Berechnung der Flussvektoren an den vorselektierten Stellen (z.B. mit Korrelationsverfahren(SAD))
- Bewertung der berechneten Flussvektoren auf ihre Eignung für die nachfolgenden Berechnungsschritte
- Es werden nur Vektoren ausgewählt für die die Korrelation über einer Schwelle liegt und der zweitbeste Wert einen bestimmten Sicherheitsabstand vom besten gefundenen Wert hat
Tiefenwahrnehmung
- Für Bewegungskoordination wichtig
- Gewinnung von Tiefeninformationen aus:
- okulomotorsichen Informationen
- berechneter Tiefenkarte aus 2D-Daten
Informationsquellen für räumliche Tiefe:
- Okulomotorische Tiefeninformation
- Akkomodation der Augen, um scharf zu sehen → Nahbereich 0,2m - 3 m
- Konvergenzbewegung der Augen, um ein Objekt zu fokusieren → Nahbereich bis max. 6 m
- relative Höhe im Blickfeld (Auslenkung der Augen aus der Horizontallinie, um ein Objekt zu Fokusieren)
- Monokulare Tiefeninformation
- Verdeckung von Objekten
- relative Höhe/Größe im Gesichtsfeld
- "Gewohnte" Größe
- Lineare Perspektive
- Schattierung
- Texturgradient
- Atmosphärische Perspektive
- Bewegungsinduzierte Tiefeninformation
- Relativbewegung von beobachteten Objekten (nahe Objekte erzeugen größere Verschiebungsvektoren als weiter entfernte Objekte)
- Binokulare, stereoskopische Tiefeninformation
- Tiefeninformation ist in den leicht unterschiedlichen Bildern der selben Szene auf Netzhäuten beider Augen enthalten (retinale Disparität)
- Polyokulare Tiefeninformation
- Wie Binokulare Systeme nur das eine höhere Genauigkeit möglich ist, da mehrere Bilder verwendet werden können
Binokulares Stereosehen
Grundbegriffe
- Basisabstand: Abstand zwischen den Augen/Kameras
- Binokulares visuelles Feld: Region in der sich die Sichtbereiche beider Augen/Kameras überlappen
- Retinale Disparität: horizontale Verschiebung eines Objektes zwischen der Position auf der Bildebene im linken und rechten Auge
- Horopter: Imaginärere 3D Kurve im Raum auf der alle Punkte eine Disparität von Null haben
- Gekreuzte Querdisparität: Punkte die vor dem Horopter liegen (Bei der Projektion ins linke Auge werden die Punkte rechts von der Fixationsline abgebildet)
- Ungekreuzute Querdisparität: Punkte die hinter dem Horopter liegen (Bei der Projektion ins linke Auge werden die Punkte links von der Fixationslinie abgebildet)
- Panums-Area: Der Bereich um den Horopter , in dem eine fusion der Stereobilder möglich ist
Kameraanordnungen
- kleiner Basisabstand -> Korrespondenzen leicht zu finden -> geringe Tiefenauflösung
- großer Basisabstand -> Korrespondenzen schwer zu finden -> hohe Tiefenauflösung
Parallelangeordnete Kameras:
- Fixationspunkt liegt im Unendlichen → immer gekreuzte Disparität
- jeder Punkt der Szene wird immer auf unterschiedlichrn Punkten der gemeinsamen Bildebene abgebildet
- die Linie, die die beiden abgebildeten Punkte verbindet, heißt Epipolarlinie und sie verläuft immer parallel zur Basislinie
- Vorteil: Damit müssen Korrespondenzen nur auf dieser Linie gesucht werden
- Nachteil der Anordnung: nur sehr kleines binokulares visuelles Feld
- Berechnung der Tiefe erfolgt mit Triangulation
Kameras mit Fixationspunkt:
- Fixiertes Objekt hat stets die Disparität Null (liegt in Bildmitte)
- Rückschluss von den Bildkoordinaten ist recht aufwendig da die Orientierung der Kameras mit erfasst werden muss
- benötigt Active-Vision-System zur Kameranachführung
- Objekte werden auf der linken und rechten Bildebene unterschiedlich abgebildet → Korrespondenzproblem
Notwendigkeit der Kamerakalibrierung
- verwendete Kameras müssen kalibriert werden um Unterschiede (zwischen CCD-Chips, Kissenverzeichnungen, Basisabstand ungenau, Ausrichtung der Kameraachsen) ausgleichen zu können
- eine geeignete Kalibrierung kann die Korrespondenzanalyse stark vereinfachen (Testmuster; Raumkoordinaten ausmessen, zugehörige Bildkoordinaten ermitteln & Gleichungssystem lösen)
Schritte zur Berechnung einer 2D-Tiefenkarte
- Bildvorverarbeitung
- Korrespondenzanalyse (erstellen eines Disparitätswürfels)
- Aggregation (innerhalb des Disparitätswürfels)
- Disparitätsauswahl
- Tiefenberechnung
Bildvorverarbeitung
- Rauschminderung (TP-Filter)
- Kamerakalibrierung
- Ausgleich von Beleuchtungsunterschieden
Methoden zur Korrespondenzanalyse
- Intensitätsbasiert
- 2D-Korrelation zwischen Ausschnitt aus einem Bild und sukzessiv verschobenem Ausschnitt aus anderem Bild
- Genauigkeit hängt von der Größe des Korrelationsfensters ab
- Merkmalsbasiert
- berechnen von charakteristischen Merkmalen aus den Intensitätsverteilung
- Merkmale sollten robust gegenüber Störungen sein
- unter Umständen werden nur wenige Merkmale gefunden → spärliche Tiefeninformation
- Ein Merkmal kann mit jedem anderen Merkmal korrespondieren → sehr spezifische Merkmale nötig um Verwechslungen auszuschließen
- Phasenbasiert
- Bestimmung der Phasenlage in lokalen Bildregionen (z.B. mit Gaborfilter)
- Phasenverschiebung entspricht der Disparität
- Probleme sind die selben wie beim optischen Fluss -> selbe Verfahren anwendbar
- spezielle Probleme: Sensorrauschen, unterschiedliche Transferfunktionen zwischen Kameras, Verdeckung, Verzerrung/Verkürzung, Reflexionen
- alle möglichen Korrespondenzen werden im Disparitätswürfel gespeichert
Heuristiken für eine robuste Suche:
- Epipolar Constraint (bei parallelen Kameras müssen die Korrespondenzen auf einer Linie liegen)
- Compatibility Constraint (hohe Korrelation gefordert; ähnliche Merkmale müssen ausgewählt werden)
- Uniqueness Constraint (ein Punkt kann nur einmal matchen)
- Ordering Constraint (Reihenfolge der Primitiven muss gleich der Reihenfolge auf der Bildzeile sein, bei parallelen Kameras)
- Continuity Constrain (Disparität darf sich nicht sprunghaft ändern)
- Disparity Gradient Limit (Gradient darf eine bestimmte Schwelle nicht überschreiten)
- Geometric Similarity Constraint (Liniensegmente müssen in beiden Bildern ähnliche Orientierungen und Längen haben, d.h. kleiner Basisabstand)
- Coarse-to-fine multiresolution matching scheme (arbeiten auf Auflösungspyramiden und mit der gröbsten Ebene wird angefangen)
Aggregation des Disparitätswürfels
- Ziel ist die Nachbearbeitung der gestörten Einzelergebnisse der Korrespondenzanalyse
- wird erreicht durch:
- Berücksichtigung der Heuristiken
- Glättung des Würfels
- Aggregationsarten
- Glättungsfilter 2D / 3D
- 2D-Aggregation mittels Membran-Diffusion
- iteratives Verfahren
- nur eine Ebene im Disparitätswürfel → Fehler bei schrägen Flächen
- berücksichtigt das Koninuitätskriterium
- Faltungskern ist einem Tiefpassfilter ähnlich
- 2D-Aggregation mittels Support Region
Disparitätsauswahl
- Ziel ist die Auswahl der richtigen Disparität für jede x-y-Position aus dem Disparitätswürfel
- Arten
- Max- Auswahl (nimmt einfach den besten Match -> berücksichtigt Heuristiken nicht und hat Probleme bei Mehrdeutigkeiten)
- WTA-Auswahl (Verrechnung von lokalen Hypothese aus der Nachbarschaft)
- Dynamische Programmierung (suche den Weg mit den geringsten Kosten durch den Disparitätswürfel)
Tiefenberechnung
- Berechnung des Teifenwertes aus der Disparität
- Representation meist in Grauwertbildern → Tiefenbilder
- Berechnung erfolgt mittels Triangulation bei parallelen Kameras
-
- ... Abstand zu Basislinie
- b ... Basisabstand
- d ... Disparität
Nutzung von Tiefeninformationen
- Hindernisvermeidung
- Aufbau von Umweltmodellen
- Objelttracking
Visuelle Hindernisvermeidung
- Robuste Hindernisvermeidung ist Voraussetzung für Roboter im Praxiseinsatz
- Sonar- und Laser erfassen nur einen kleinen Teil des Raums
- durch visuelle Systeme mehr Informationen aus Umwelt erlangbar
Einteilung der Verfahren
Monokulare Verfahren
- kein Kalibrierungsaufwand für eine zweite Kamera
- nur geringer Platzbedarf am Roboter
- geringeres Datenaufkommen
- günstiger
ALVINN
- Basiert auf Expertenkloning mit einem neuronalen Netzwerk
- Realisierung einer komplexen Funktionsapproximation von Bilddaten auf den Lenkwinkel
Ablaufphasen:
- Vorführphase
- Experte steuert Fahrzeug
- Lenkwinkel und Expertensicht wird Synchron aufgezeichnet
- Daten enthalten implizit die gewünschte Fahrstrategie und auch die Fahrzeugeigenschaften
- Trainingsphase
- Lernen der Abbildingsfunktion mittels Supervised Lerning
- Trainingsdaten werden Generalisiert und sind auch auf unbekannte Situatuionen anwendbar
- Reproduktionsphase
- Das trainierte Netzwerk wird eingesetzt um das Fahrzeug zu steuern
Netzwerkstruktur:
- 32x32 Kamera Neuronen + 8x32 Laserscanner Neuronen
- 29 Neuronen in einer Hiddenschicht
- 45 Ausgabeneuronen für den Lenkwinkel
- Lenkwinkel wird in der Teachingphase Fuzzyfiziert
- Erhöht Lerngeschwindigkeit durch vergrößerte Kodierungskapazität
- Erhöht Robustheit durch Nachbarschaftserhaltung
- In der Kannphase muss der Lenkwinkel dann entsprechend defuzzyfiziert werden
- wird durch "intelligente" Schwerpunktbildung realisiert
- Neuronen fungieren als Detektoren für ganze Straßenverläufe oder Straßenränder
- Ein einzelnes Neuron kann den Wagen nicht steuern, erst die Gesamtheit schafft das
- Funktioniert im Indoor- und Outdoorbereich sehr gut
- Probleme bei wechselnder Texturierung der Hindernisse und des Untergrundes
Flussbasierte Hindernisvermeidung
- weit entfernte Objekte erzeugen einen kleinen Flussvektor
- nahe Objekte erzeugen einen großen Flussvektor
- Freiraum erzeugt nahezu keine Flussvektoren
- mittig befahrene Gänge erzeugen symmetrische Flussvektoren
- Durch Symetrierung der Flussvektoren zwischen der linken und rechten Bildhälfte kann eine einfache Navigationsstrategie erreicht werden
Untergrund-Referenzfluss zur Hindernisvermeidung
- Kamera schräg auf den Boden gerichtet
- Optischer Fluss, der durch Hindernisse verursacht wird unterscheidet sich deutlich von dem des Untergrundes
- Durch Klassifikation des Flusses ist so eine einfache Hindernisvermeidung möglich
- Analyse des Flusses erfolgt nur über eine Bildzeile
- Entfernung die die Zeile sieht bleibt immer konstant
- Zur Klassifikation des Flusses muss der Referenzfluss für den Untergrund bestimmt werden (Annahme der Roboter sieht am Anfang nur Freiraum)
- Mit Hilfe von Korrelation kann nun der Fluss ermittelt werden → bei Abweichungen zum Referenzfluss wird ein Hindernis detektiert
- um Fehldetektionen zu verhindern muss die Abweichung über mehrere Bilder bestehen bleiben
- Einfache Regeln zum Umfahren der Hindernisse (hier eignen sich Fuzzy-Regeln → guter Querverweis)
- robust gegenüber Texturveränderungen, da diese den Fluss kaum beeinflussen
- ungeeignet bei unstrukturiertem Boden (Mindeststrukturierung notwendig)
- einfach zu berechnen
Untergrund Farbreferenz
- Detektion der Hindernisse aufgrund ihrer Farbe (im HSL/HSI Farbraum)
- Untergrundsegmentierung durch angelerntes Untergrund-Farbhistogramm
- pixelweiser Vergleich erzeugt Hindernis/Untergrund-Karte
- diese kann dann zur Bewegungssteuerung genutzt werden
Annahmen:
- flacher Untergrund
- Hindernisse unterscheiden sich farblich vom Untergrund
- alle Hindernisse stehen auf dem Boden
- beim Start sind keine Hindernisse vor dem Roboter
Ablauf:
- Gaußfilter zur Rauschminderung
- Transformation in HSI bzw. HSL Farbraum
- Referenzhistogramme für Untergrund berechnen
- pixelweise Klassifikation des Bildes mit Referenzhistogramm
Probleme:
- Reflexionen führen zu Scheinhindernissen
- Können aber entfernt werden, da sich Reflexionen immer vor dem Roboter her bewegen und nicht auf ihn zukommen
- Plötzlicher Wechsel des Untergrundes
- nur durch Kombination mit anderen farb- und texturunabhängigen Techniken lösbar (z.B. optischer Fluss)
- Referenzregion ist nicht frei von Hindernissen
- bei starker Helligkeit werden Schatten zu Hindernissen
- nur durch Kombination mit anderen farb- und texturunabhängigen Techniken lösbar
- Hindernisse und Untergrund farblich ehr ähnlich
- nur durch Kombination mit anderen farb- und texturunabhängigen Techniken lösbar
Mögliche Erweiterungen:
- Erweiterung der Histogramme um zurückliegende Komponenten -> da Roboter diese schon überfahren hat sind sie frei von Hindernissen
- Auswertung der Histogramme zur Untergrunderkennung
- Histogramme des Untergrundes können zur Lokalisierung verwendet werden
- Kartenaufbau anhand der Hindernissegmentierung möglich
Binokulare Verfahren
Typische Verarbeitungsschritte:
- berechnen der Disparitäts- und Tiefenkarte aus binokularen Kameradaten (Siehe Binokulares Stereosehen)
- bei Bedarf: Transformation der Kamera- in Roboterkoordinaten
- unterscheiden sich durch Rotation und Translation
- Grundfläche muss entfernt werden
- durch implizites Schätzen (Suche einer Ebene in der Punktwolke, welche die meisten Datenpunkte enthält (Annahme: die meisten Punkte sind Grundfläche))
- durch explizite Berechnung unter Berücksichtigung der Kamerageometrie
- Berechnung einer 3D Hinderniskarte ohne die Grundfläche
- Distanz des Punktes zur Grundfläche
- Schwellwertoperationen
- Projektion der 3D-Daten in eine 2D-Draufsicht
- 3.Dimension wird einfach entfernt
- Übernehmen der 2D-Hinderniskarte in eine Belegtheitskarte
- für jede Zelle eines Gittermodells wird die Belegtheitswahrscheinlichkeit ermittelt
- Occupancy Map (mit Bayes-Update Regel)
- Cerainty Map (einfaches Addieren der Werte)
- Siehe auch Umgebungsmodelle in KogRob
- Belegtheitskarte wird dann zur Hindernisvermeidung eingesetzt
Vektorfeldhistogramm
Siehe KogRob Vektorfeldhistogramm
Visuelle Selbstlokalisation
Notwendigkeit:
- Kenntnis der Position oder der Pose des Roboters ist für eine Planung von Handlungen notwendig
- Aufgaben der Lokalisation
- Position/Pose Tracking
- Anfangsposition und Pose sind bekannt und müssen aktualisiert werden
- Global Localization
- Anfangsposition und Pose unbekannt, globale Pose muss anhand der Umgebung ermittelt werden
- Kidnapped Robot
- Roboter denkt er sei woanders, muss erkennen das er sich irrt und seine neue Position ermitteln
- Position/Pose Tracking
- Typische Verfahren zur Selbstlokalisation
Ansichtsbasierte Selbstlokalisation
- Roboter nutzt zur visuellen Wahrnehmung seiner Umwelt eine omnidirektionale Kamera → 360° Ansicht
- Regelmäßige Gangstrukturen können sich mit einer Kamera besser unterscheiden lassen (durchz Farb- und Texturunterschiede)
- Verwendung aller Bilddaten würde zu viel Rechenaufwand bedeuten → Segmentation → Merkmalsextraktion
- Karte der Umgebung enthält Referenzmerkmale (z.B. Helligkeit, Farbwert, Histogramm, Frequenz)
- diese Merkmale werden nicht kontinuierlich in der Karte abgelegt sonder lediglich markante Stellen werden gespeichert
- um dann eine Lokalisierung des Roboters durchzuführen kann ein deterministisches Verfahren zum Einsatz kommen, meist wird aber ein probabilistisches Verfahren (KogRob) eingesetzt
Monte-Carlo Lokalisation
siehe Monte Carlo Localization (KogRob)
Visuelles SLAM
- Gleichzeitiger Kartenaufbau und Lokalisation
- Roboter bewegt sich in einer unbekannten Umgebung, ohne Positionsinformationen
- Aufgabe ist das gleichzeitige Schätzen der Pose und der Karte der Umgebung aus den Beobachtungen
- geschlossene Lösung nicht möglich
- Lösung nur durch Separierung des Problems in
- Posenschätzung
- Kartenaufbau
- Verwendung von Kalman-, und Partikelfiltern
Rao-Blackwellized Particele Filters
- Partikel modellieren eine mögliche Position
- jeder Partikel baut seine eigene Karte anhand seiner Position und seinem Weg
- dafür hat jedes Partikel eine Globale Karte und eine lokale Karte
- Das Gewicht jedes Partikels ergibt sich aus der Übereinstimmung der Lokalen mit der globalen Karte
- Die Lokale Karte wird Zeitverzögert in die globale Karte übernommen
- Jedes Partikel wird bei der Bewegung des Roboters mit bewegt und ein wenig Rauschen wird noch hinzugefügt unter Berücksichtigung des Bewegungsmodells
- Map-Match mit Graphen funktioniert ähnlich nur das Graphen aufgebaut werden und keine Gridkarten (andere Abstraktionsebene der Umgebung)
Konsultation
- Bewertung von optischen Flußvektoren
- Suche nach Minimum (Summer der Absoluten Differenzen (SAD))
- Mehrere Lösungen möglich ... durch Aggergation wird eine Lösung ausgewählt
- Minimas ersteinmal finden
- Sicherheitsspanne zwischen den Lösungen
- Amari-Dynamik
- Pixel eines Videodatenstroms werden Neuroknoten zugeordnet
- Jeder Input hat x,y und t als Inputparameter
- Jedes Inputneuron projeziert auf sein Korrespondierendes Neuron in der Amari schicht
- Jedes Neuron wird druch seine Nachbarn möglicherweise unterstützt (Gaus) ... durchsetzen der Mitte (Bei Rechteck im Input)
- Jedes Neuron wird durch seine Nachbarn unterstützt aber auch gehemmt (DoG) .. durchsetzen der Ecken (Bei Rechteck im Input)
- Wächterneuron
- Geht eigentlich auch ohne
- hämmd das ganze Feld um die "Grundlast" um Hintergrund zu unterdrücken
- Zeitlich versetzt
- Gleichung für jedes Neuron(Folie 2c-6)
- -z(r,t) ... Abklingterm (Neuron als leaky Integrator), RC-Glied als Analogie
- I(r,t) ... Input (1:1 vom Videobild)
- -h(t) ... Wächterneuron
- Integral (Nachbarschaft)
- w(r-r') ... Die Funktion der Nachbarschaft (zum simulieren des DOG wird die Gaußfunktion manchmal um H0 nach unten verschoben)
- z(r',t) ... Aktivierung des Neuron r' (Nachbar)
- S[] ... Sättigung zum Begrenzen der Aktivität
- Durch Nachbarschaft werden Peaks unterdrückt
- Aktivität muss sich erst aufbauen
- Gleichung Folie (2c-12)
- "Lösung" der DGL von 2c-6
- Gute Selektionseingenschaften ... besser als Maximumssuche
- Hystherese ist in der Amari Dynamik eingebaut
- Disparitätsauswahl
- WTA ... Winner takes all
- Durch die Nachbarn wieder unterstützt und der beste setzt sich durch
- Vektrofeldhistogram
- Hindernisse die weiter weg sind als D_max werden nicht berücksichtigt
- Particelfilter = Montecarlolocalisation
- Localisation
- Nur bei Karte begrenzt (kann mich halt nur auf der Karte befinden)
- Kalmanfilter
- Nur eine Gaußapproximation pro Filter möglich