Robotvision: Unterschied zwischen den Versionen
Sonne (Diskussion | Beiträge) (→Einteilung der Verfahren: Bild eingefügt) |
Sonne (Diskussion | Beiträge) |
||
Zeile 563: | Zeile 563: | ||
== Visuelle Selbstlokalisation == | == Visuelle Selbstlokalisation == | ||
+ | '''Notwendigkeit:''' | ||
* Kenntnis der Position oder der Pose des Roboters ist für eine Planung von Handlungen notwendig | * Kenntnis der Position oder der Pose des Roboters ist für eine Planung von Handlungen notwendig | ||
* Aufgaben der Lokalisation | * Aufgaben der Lokalisation | ||
*# Position/Pose Tracking | *# Position/Pose Tracking | ||
*#* Anfangsposition und Pose sind bekannt und müssen aktualisiert werden | *#* Anfangsposition und Pose sind bekannt und müssen aktualisiert werden | ||
− | *# Global | + | *# Global Localization |
*#* Anfangsposition und Pose unbekannt, globale Pose muss anhand der Umgebung ermittelt werden | *#* Anfangsposition und Pose unbekannt, globale Pose muss anhand der Umgebung ermittelt werden | ||
*# Kidnapped Robot | *# Kidnapped Robot | ||
− | *#* Roboter denkt er sei | + | *#* Roboter denkt er sei woanders, muss erkennen das er sich irrt und seine neue Position ermitteln |
* Typische Verfahren zur Selbstlokalisation | * Typische Verfahren zur Selbstlokalisation | ||
Zeile 577: | Zeile 578: | ||
*# [[Kognitive Robotik#Odometrie und lokale sowie globale Sensorinformationen|Odometrie und lokale sowie globale Sensorinformationen (KogRob)]] | *# [[Kognitive Robotik#Odometrie und lokale sowie globale Sensorinformationen|Odometrie und lokale sowie globale Sensorinformationen (KogRob)]] | ||
− | * Roboter nutzt zur | + | === Ansichtsbasierte Selbstlokalisation === |
− | * Regelmäßige Gangstrukturen können sich mit einer Kamera besser unterscheiden lassen | + | * Roboter nutzt zur visuellen Wahrnehmung seiner Umwelt eine omnidirektionale Kamera → 360° Ansicht |
− | * Verwendung aller Bilddaten würde zu viel Rechenaufwand bedeuten → Merkmalsextraktion | + | * Regelmäßige Gangstrukturen können sich mit einer Kamera besser unterscheiden lassen (durchz Farb- und Texturunterschiede) |
− | * Karte der Umgebung enthält Referenzmerkmale | + | * 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 [[Kognitive Robotik#Probabilistische Lokalisation|probabilistisches Verfahren (KogRob)]] eingesetzt | ||
=== Visuelles SLAM === | === Visuelles SLAM === |
Version vom 22. Juli 2009, 20:13 Uhr
<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
[...]
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
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