Robotvision

Aus II-Wiki
Wechseln zu: Navigation, Suche

<hiddenlogin linktext="Login">nistudws0809:WS0809N!</hiddenlogin>

Inhaltsverzeichnis

Basisoperationen für die vision-basierte Roboternavigation

Neuronaler Instruktionssatz

  • Basisoperationen bzw. Verarbeitungsprinzipien mit denen sich biologisch inspirierte Systeme:
    1. mathematisch Beschreiben lassen
    2. algorithmisch umsetzen lassen
    3. technisch nachbilden lassen
  • umfasst folgende wesentliche Operationen und Prinzipien:
    1. Funktionelle Abbildungen
    2. Topographische Abbildungen
    3. Ortsvariante Info-verarbeitung
    4. Auflösungspyramiden
    5. Topologisch kodierte neuronale Felder im
    6. Neuronale Felddynamiken
    7. 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:

  1. Bedingte Maximum-Selektion
    • Selektion eines Gewinnerblob wenn
      1. Inputaktivität überschreitet
        • eine Mindestamplitude
        • räumliche Ausdehnung
        • Zeitdauer des Anliegens
      2. Zeitliche Vorgeschichte (Hystereseverhalten)
  2. Hystereseverhalten
    • keine sofortige Verlagerung auf neue Region
    • Winnerblob für bestimmte Zeit auf ursprünglicher Region gehalten
  3. Gewinnerblobs werden auch räumlich verfolgt → effizientes Objekt-Tracking möglich

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:

  1. auffüllen fehlender Werte
    • mit Nullen, zufällige Werte
    • Mittelwert
    • Spiegelung
    • Extrapolation
    • Wrap-around-Technik
  2. Weglassen der Ränder (Ergebnis wird kleiner)
  3. 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

RV-physiologischerFarbraum.jpg

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
  1. 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
  2. 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
    1. Bewegung des Objektes
    2. Eigenbewegung des Sehsystems

Grundidee:

  • suchen der Bewegung in einem 3D-Raum durch stapeln der einzelnen Aufnahmen

Typischer Ablauf:

  1. Extraktion bestimmter Bildmerkmale (Textur, Ecken, Konturlinien, Grauwert- oder Farbwertverläufe)
  2. Matching der verwendeten Bildmerkmale in den anderen Bildern der Bildsequenz
  3. 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:
    1. das Apertur- (Blenden) Problem
    2. 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:

  1. bei deformierbaren Körpern kann man nicht auf die innere Bewegung schließen, da keine eindeutigen Merkmale vorhanden sind
  2. bei periodische Texturen kann ein lokaler Operator nicht unterscheiden ob es sich um eine einfache oder vielfache Bewegung, um die Periode, handelt (Verwechslungsgefahr)
  3. 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)
  4. weitere Erkennungsprobleme:
    • Homogene unstrukturierte Bereiche
    • Perspektivische Ansichtsänderung
    • Lokale Helligkeitschwankungen
    • Bildrauschen
    • Kameraverzeichnung
  5. 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:

  1. Vorselektion mit Hilfe eines Interest Operators um die geeignete Bildregionen zu finden (z.B. besonderst starke Grauwertänderungen)
  2. Berechnung der Flussvektoren an den vorselektierten Stellen (z.B. mit Korrelationsverfahren(SAD))
  3. 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:

  1. 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)
  2. Monokulare Tiefeninformation
    • Verdeckung von Objekten
    • relative Höhe/Größe im Gesichtsfeld
    • "Gewohnte" Größe
    • Lineare Perspektive
    • Schattierung
    • Texturgradient
    • Atmosphärische Perspektive
  3. Bewegungsinduzierte Tiefeninformation
    • Relativbewegung von beobachteten Objekten (nahe Objekte erzeugen größere Verschiebungsvektoren als weiter entfernte Objekte)
  4. Binokulare, stereoskopische Tiefeninformation
    • Tiefeninformation ist in den leicht unterschiedlichen Bildern der selben Szene auf Netzhäuten beider Augen enthalten (retinale Disparität)
  5. 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

  1. Bildvorverarbeitung
  2. Korrespondenzanalyse (erstellen eines Disparitätswürfels)
  3. Aggregation (innerhalb des Disparitätswürfels)
  4. Disparitätsauswahl
  5. 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:

  1. Epipolar Constraint (bei parallelen Kameras müssen die Korrespondenzen auf einer Linie liegen)
  2. Compatibility Constraint (hohe Korrelation gefordert; ähnliche Merkmale müssen ausgewählt werden)
  3. Uniqueness Constraint (ein Punkt kann nur einmal matchen)
  4. Ordering Constraint (Reihenfolge der Primitiven muss gleich der Reihenfolge auf der Bildzeile sein, bei parallelen Kameras)
  5. Continuity Constrain (Disparität darf sich nicht sprunghaft ändern)
  6. Disparity Gradient Limit (Gradient darf eine bestimmte Schwelle nicht überschreiten)
  7. Geometric Similarity Constraint (Liniensegmente müssen in beiden Bildern ähnliche Orientierungen und Längen haben, d.h. kleiner Basisabstand)
  8. 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

Vision-basierte Roboternavigation

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

RV-VerfahrenVisuelleHindernisvermeidung.jpg

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:

  1. Vorführphase
    • Experte steuert Fahrzeug
    • Lenkwinkel und Expertensicht wird Synchron aufgezeichnet
    • Daten enthalten implizit die gewünschte Fahrstrategie und auch die Fahrzeugeigenschaften
  2. Trainingsphase
    • Lernen der Abbildingsfunktion mittels Supervised Lerning
    • Trainingsdaten werden Generalisiert und sind auch auf unbekannte Situatuionen anwendbar
  3. 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:

  1. Gaußfilter zur Rauschminderung
  2. Transformation in HSI bzw. HSL Farbraum
  3. Referenzhistogramme für Untergrund berechnen
  4. 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:

  1. berechnen der Disparitäts- und Tiefenkarte aus binokularen Kameradaten (Siehe Binokulares Stereosehen)
  2. bei Bedarf: Transformation der Kamera- in Roboterkoordinaten
    • unterscheiden sich durch Rotation und Translation
  3. 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
  4. Berechnung einer 3D Hinderniskarte ohne die Grundfläche
    • Distanz des Punktes zur Grundfläche
    • Schwellwertoperationen
  5. Projektion der 3D-Daten in eine 2D-Draufsicht
    • 3.Dimension wird einfach entfernt
  6. Ü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
    1. Position/Pose Tracking
      • Anfangsposition und Pose sind bekannt und müssen aktualisiert werden
    2. Global Localization
      • Anfangsposition und Pose unbekannt, globale Pose muss anhand der Umgebung ermittelt werden
    3. Kidnapped Robot
      • Roboter denkt er sei woanders, muss erkennen das er sich irrt und seine neue Position ermitteln

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