Kamerabasierte Sensordatenverarbeitung Optimierung der Kameraparameter-Einstellung in farbkodierter Umgebung Adaptive Objektverfolgung Benjamin Rank 24. Januar 2005 Übersicht Optimierung der KameraparameterEinstellungen in farbkodierten Umgebungen – – – – 2 Farbkodierte Umgebungen und ihre Probleme Was sind die Voraussetzungen für die Optimierung? Vorstellung eines genetischen Algorithmus Ergebnisse in der Praxis des Robocup 24.01.2004 Kamerabasierte Sensordatenverarbeitung Übersicht Anwendung einer Kamera zur Adaptiven Objektverfolgung mit einem menschenähnlichen Roboterkopf – – – – 3 Aufbau des Roboterkopfes Beschreibung des verwendeten demokratischen Integratiossystems Auge-Hals-Motor-Koordination Anwendung in Versuchen 24.01.2004 Kamerabasierte Sensordatenverarbeitung Wo sind wir? 4 Optimierung der KameraparameterEinstellungen in farbkodierten Umgebungen Anwendung einer Kamera zur Adaptiven Objektverfolgung mit einem menschenähnlichen Roboterkopf 24.01.2004 Kamerabasierte Sensordatenverarbeitung Farbkodierte Umgebungen Spezielle Menge von Farben vorgegeben Semantik eines Objekts durch seine Farbe bestimmt Probleme – – – – 5 Meist nur Name der Farbe Lichtverhältnisse Betriebsdauer Kameraparameter 24.01.2004 Kamerabasierte Sensordatenverarbeitung Kameraparameter Veränderbare Parameter für im Folgenden verwendete Kamera [mögliche Werte] – – – – – – – 6 Exposure: Belichtung und Empfindlichkeit [0, ..., 498] Iris: Belendeneinstellung [0, ..., 4] Gain: Verstärkung (Signal) im CCD-Chip [0, ..., 255] Saturation: Sättigung [0, ..., 255] White Balance (red–blue): Weißausgleich [0,...,255] Brightness: Helligkeit [0, ..., 511] Gamma: Gammakorrektur [0, 1] Teilmenge des IEEE1394 IIDC Standard 24.01.2004 Kamerabasierte Sensordatenverarbeitung Warum ein besonderer Algorithmus? 7 Manuelle Einstellung sehr zeitaufwendig Ergebnis hängt stark von Einstellungen der Parameter ab Automatische Einstellungen der Kamerahersteller oft nicht für Anwendung geeignet (zu generell) 24.01.2004 Kamerabasierte Sensordatenverarbeitung Was muss der Algorithmus leisten? 8 Ziel: Parameter der Kamera so wählen, dass dargestellte Farben möglichst nahe bei ihrem Farb-Prototyp liegen Prototypen sind z.B. Ecken des RGBWürfels (im Robo-Cup) 24.01.2004 Kamerabasierte Sensordatenverarbeitung Eingaben für den Algorithmus Manuelle Markierung von Gebieten jeder Farbe Bewertung einer Einstellung – – 9 Abstand von durchschnittlichem Farbwert eines Gebietes zu Prototyp für alle Farben parallel zu berechnen 24.01.2004 Kamerabasierte Sensordatenverarbeitung Wie lässt sich das Problem lösen? Genetischer Algorithmus, da – – – 10 Bewertungsfunktion ist weder linear noch kontinuierlich Kein analytisches Modell für Abhängigkeiten der Variablen vorhanden Großer Suchraum Goldberg‘s Simple Genetic Algorithm 24.01.2004 Kamerabasierte Sensordatenverarbeitung Goldbergs Simple Genetic Algorithm (1) Erzeugung zufälliger Population (2) Bewertung aller Individuen und Weiterverwendung der besten (Berechnung der Fitness) (3) Erzeugung neuer Individuen durch Anwendung der Operatoren Crossover und Mutation (mit bestimmten Wahrscheinlichkeiten) (4) Weiter bei (2) bis Abbruchkriterium erreicht (z.B. maximale Anzahl von Generationen) 11 Monotoner Any-Time-Algorithmus 24.01.2004 Kamerabasierte Sensordatenverarbeitung Entwicklung einer Population 12 24.01.2004 Kamerabasierte Sensordatenverarbeitung Beispielbilder 13 RGB-Bild mit StandardEinstellung Klassifiziertes Bild mit StandardEinstellung RGB-Bild nach Anwendung des Algorithmus Klassifiziertes Bild mit verbesserter Einstellung 24.01.2004 Kamerabasierte Sensordatenverarbeitung Zusammenfassung 14 Kamera-Parametereinstellungen sehr wichtig Manuell nicht sinnvoll möglich Kamerainterne Algorithmen nicht brauchbar Genetischer Algorithmus liefert gute Ergebnisse 24.01.2004 Kamerabasierte Sensordatenverarbeitung Wo sind wir? 15 Optimierung der KameraparameterEinstellungen in farbkodierten Umgebungen Anwendung einer Kamera zur Adaptiven Objektverfolgung mit einem menschenähnlichen Roboterkopf 24.01.2004 Kamerabasierte Sensordatenverarbeitung Roboterkopf 16 Simuliert menschliches Hals-Augen-System 9 Freiheitsgrade (DoF) Zur Objektverfolgung nur 6 DoF verwendet Servomotoren 24.01.2004 Kamerabasierte Sensordatenverarbeitung Ziele der Arbeit Langfristig – Kurzfristig – – – – 17 Verständnis des biologischen Sehlernvorgangs Komplett autonomes Lernen und Verfolgen von unbekannten Objekten Schnelle Bewegungen über weite Strecken Echtzeitverarbeitung (mit 30 Hz Bildeingabe) Möglichst nah an biologischen Vorgaben 24.01.2004 Kamerabasierte Sensordatenverarbeitung Demokratisches Integrationssystem 18 Extraktion verschiedener Hinweise (Cues) aus Bild Autonomes Zusammenführen von mehreren Hinweisen zu einem Resultat Ständige Anpassung der Zuverlässigkeit jedes Hinweises Ständige Anpassung des Modells jedes Hinweises 24.01.2004 Kamerabasierte Sensordatenverarbeitung Von Hinweisen zum Blickpunkt Interessantester Punkt im Bild 19 I(x,t) – Bild der Kamera CueN – Hinweise pN – Modelle zu Hinweisen 24.01.2004 AN(x,t) – Auffälligkeitsmatrix R(x,t) – resultierende Matrix rN – Zuverlässigkeit zu Hinweisen Kamerabasierte Sensordatenverarbeitung Berechnung der Qualität Zuverlässigkeit orientiert sich an Qualität des Hinweises (für jeden Hinweis getrennt) Qualitätsmaß orientiert sich an durchschnittlicher Auffälligkeit Ai (t ) Qualitätsmaß q~i (für Hinweis i) q~ max 0, A ( xˆ, t ) A (t ) i 20 i i ~ zu q Normierung von q i i 24.01.2004 Kamerabasierte Sensordatenverarbeitung Anpassen der Zuverlässigkeit und des Modells eines Hinweises Zuverlässigkeit (Anpassungskonstante αrel) ri (t ) rel qi (t ) (1 rel ) qi (t 1) Jeder Hinweis bildet sich ein Modell an Hand dessen die Auffälligkeitsmatrix berechnet wird Anpassung an aus Bild extrahierte Features fi(t) (Anpassungskonstante αcue) pi (t ) cue f i (t ) (1 cue ) pi (t 1) 21 24.01.2004 Kamerabasierte Sensordatenverarbeitung Initialisierung 22 Bevorzugung einiger visueller Reize vor anderen bei Neugeborenen Möglichkeit Modelle vorzugeben, die System dann anpasst (sonst beliebiger Wert) Hinweise ohne Modellvorgabe werden automatisch integriert 24.01.2004 Kamerabasierte Sensordatenverarbeitung Auge-Hals-Motor Steuerung 23 Verfolgtes Ziel aus Bildmittelpunkt Korrektur des visuellen Fehlers Augen folgen schnellen Bewegungen, da klein und leicht Bewegung des gesamten Kopfes durch Gelenke im Hals als Ausgleich Augen sollen möglichst wieder in zentrale Position gelangen 24.01.2004 Kamerabasierte Sensordatenverarbeitung Sicht des Roboters 24 24.01.2004 Kamerabasierte Sensordatenverarbeitung Auge-Hals-Motor Regelung Zwei PD-Regler in Reihe geschaltet (Regelung der Abweichung auf Null) Erster PD-Regler erhält y (t ) als Abweichung des interessantesten Punktes x̂ vom Bildmittelpunkt Neue Stellung Auge xˆeye (t ) xˆeye (t 1) meye (t ) Steuerung Auge meye (t ) K P ,eye y (t ) K D ,eye y (t ) Zweiter Regler arbeitet nach gleichem Prinzip mneck (t ) K P ,neck xˆeye (t ) K D ,neck meye (t ) 25 24.01.2004 Kamerabasierte Sensordatenverarbeitung Anwendung 26 Verfolgung eines Gesichtes Hautfarbe als Ausgangsmodell vorgegeben 24.01.2004 Kamerabasierte Sensordatenverarbeitung Anwendung 27 24.01.2004 Kamerabasierte Sensordatenverarbeitung Referenzen 28 Erio Grillo, Matteo Matteucci, Domenico G. Sorrenti: Getting the most from your color camera in a color-coded world, 2004 Hyundo Kim, Boris Lau, Jochen Triesch: Adaptive Object Tracking with an Anthropomorphic Robot Head, 2004 24.01.2004 Kamerabasierte Sensordatenverarbeitung