VORLÄUFIGE Ausarbeitung zum

Werbung
Human-Robot Joint Attention
Computer Vision (Sehseminar) SS09, Universität Ulm
Paul Schell∗
Zusammenfassung
Gemeinsame Aufmerksamkeit auf das selbe Objekt. Ein Mensch
lernt dies in seinen ersten 3 Lebesjahre und wendet das Erlernte sein
Leben lang unbewusst an. Wie dieser Lernprozess bei einem Menschen funktioniert, kann man bis jetzt noch nicht genau sagen. Man
kann aber mit Hilfe von verschiedenen Modellen, mit denen man an
Robotern experimentiert, grob sagen, wie es bei einem Menschen
sein könnte. Dieses Thema hilf also raus zu finden, wie ein Mensch
so etwas erlernt, und gleichzeitig hat man einem Roboter beigebracht, die Interaktion zwischen Roboter und Menschen natürlicher
zu gestalten.
Keywords: joint attention, visual attention
1
Abbildung 2.1: Roboter Aufbau und Steuerung der Kamera, [Yukie Nagai 2003].
Einleitung
Übersetzt heißt ”Human-Robot Joint Attention” soviel wie ”Gemeinsame Aufmerksamkeit zwischen Roboter und Menschen”. Die
Aufmerksamkeit richtet sich hier auf ein Objekt. Es könnte ein Objekt von mehreren sein der gefunden werden muss. Grob gesagt
heißt es, der Roboter soll das selbe Objekt anschauen, welches auch
sein Interaktionspartner, hier der Mensch, gerade ansieht.
Wie auch bei vielen anderen Themen, so auch hier, kommt man auf
dieses Thema durch die Natur. In diesem Fall ist es der Mensch,
der in den ersten 3 Lebensjahren dieses erlernt und unbewusst sein
Leben lang anwendet.
Wozu braucht man das überhaupt? Die Antwort ist einfach. Man
möchte die Interaktion zwischen einem Roboter und einem Menschen so natürlich wie möglich machen, und dazu muss der Roboter die ”Gemeinsame Aufmerksamkeit” beherrschen, was bei einem
Menschen selbstverständlich ist.
2
Roboter und die Kamera-Steuerung
Aus was so ein Roboter besteht kann man grob der Abbildung 2.1
entnehmen. Um die Kamera des Roboters zu Steuern braucht man
zwei Motoren wobei ein Motor die Kamera hoch und runter bewegt
mit einem bestimmten Winkel ∆θtilt , und der andere Motor die Kamera um ihre Achse dreht mit dem Winkel ∆θ pan .
Der Roboter berechnet ein Vektor mit zwei Werten für die Motorsteuerung ∆θ = [∆θ pan , ∆θtilt ] die von den Bildern I und der aktuellen Motordrehung θ = [θ pan , θtilt ] abhängen.
3
Modell der Joint Attention
Man versuchte das Problem mit vielen verschiedenen Modellen zu
lösen. Ein von denen wurde von Yukie Nagai vogeschlagen. Der
Aufbau dieses Modells kann man an der Abbildung 3.1 sehen.
∗ e-mail:
[email protected]
Abbildung 3.1: Übersicht über den Aufbau des Modells von Joint Attention und LernModul mit Selbst-Evaluierung, [Yukie Nagai 2003].
Dieses Modell besitzt einen Lern-Mechanismus mit SelbstEvaluierung. Dies bedeutet, dass das Modell selber erkennt, ob nach
einer Interaktion das richtige Objekt angesehen wurde und somit
automatisch mit jeder Interaktion immer mehr dazu lernt und danach genauer arbeitet.
Das Modell besteht aus Modulen die weiter unten genauer erläutert
werden.
3.1
Visual Attention
Visual Attention“ extrahiert auffällige Objekte aus Bild”
Informationen. Die Bild-Informationen kommen von der Kamera
des Roboters.
Dieses Modul besteht aus ”salient feature detector” und einem ”visual feedback controller”.
3.1.1
Salient feature detector
Salient feature detector“ sucht im Bild nach auffälligen Merkma”
len und ordnet diese Objekten zu.
Die Suche wird mit Hilfe von verschiedenen Detektoren ausgeführt.
1. color1 : Suche von ähnlichen Farben im Bild
Wert: Die Größe der Flächen von ähnlichen Farben.
2. edge2 : Suchen nach Kanten im Bild
Wert: Die Komplexität der Kanten.
3. motion3 : Suche nach Bewegungsinformation in Bildern
Wert: Die Bewegungsstärke.
4. face4 : Suchen nach dem Gesicht der Interaktionsperson
3.2.1
Internal evaluator
Internal evaluator“ berechnet die Entfernung des Camerabildmit”
telpunktes zum gesuchten Objekt und bestimmt mit Hilfe eines
Schwellwertes dth ob das Objekt durch den vom Learning module“
”
berechneten Motorbefehl richtig erfasst wurde:
p
(xi − cx)2 + (yi − cy)2 < dth
Internal Evaluator“ sagt aus ob ein Objekt gefunden und angese”
hen wurde, also ob Visual attention“ 5 erfolgreich verlaufen ist.
”
Den Erfolg von Joint Attention“ 6 , also ob dieses Objekt auch
”
von der Interaktionsperson angesehen wird, kann mit diesem Modul nicht bestimmt werden.
Wert: Keins
Diese Detektoren liefern jeweils eine gefundene Anzahl an Objekten (i = 1, ..., n) und deren Werte.
3.2.2
Danach wird das interessanteste Objekt itrg bestimmt, indem die
Summe der Werte aller Detektoren für jedes Objekt vergleicht und
das Objekt mit dem höchsten Wert ausgewählt wird:
Learning module“ besteht aus einem Neuronalen Netz mit drei
”
Schichten (Abbildung 3.2). Es bekommt als Eingabe ein Bild vom
Gesicht der Interaktionsperson und die aktuellen Winkel der Motoren der Kamera θ .
edg
itrg = argmaxi (αc ficol + αe fi
+ αm fimot )
Die Alphas sind Konstanten, welche für die Gewichtung der verschiedenen Detektoren dienen. Die fi sind die verschiedenen Werte
der einzelnen Detektoren für alle Objekte.
Gleichzeitig sucht der ”face”-Detektor nach Gesichtern im Bild und
vergleicht diese mit gespeicherten Mustern anhand deren die grobe
Richtung des Blickes bestimmt wird welche später für einen Zusammenhang zwischen Blickrichtung und Drehrichtung der Kamera steht.
Diese extrahierten Informationen werden an den ”visual feedback
controller” und an das ”learning module” weiter geschickt.
3.1.2
Learning module
Die Ausgabe ist ein Motorbefehl LM ∆θ der zum Gate“ weiter ge”
geben wird.
Der Lernprozess wird durch den Internal evaluator“ gesteuert. Das
”
Lernen erfolg mit Hilfe von Backpropagation7 .
Da der Internal evaluator“ nur den Erfolg von Visual attention“
”
”
bestimmt, aber nicht den Erfolg von Joint Attention“, liefert er
”
auch bei nicht erfolgreicher Joint Attention“ ein JA“ zurück. Das
”
”
bedeutet, dass der Lernprozess auch falsche Daten speichern wird.
Dies kann man verhindern, indem man den Zusammenhang zwischen dem Blick der Interaktionsperson und dem gefundenen Objekt überprüft. Bei erfolgreicher Joint Attention“ existiert ein Zu”
sammenhang, so erfolgt das Lernen. Bei nicht erfolgreicher Joint
”
Attention“ existiert kein Zusammenhang, so wird der Lernprozess
nicht ausgeführt.
Visual feedback controller
Dieses Modul bekommt die Merkmale des ausgewählten Objekts
itrg und generiert den Befehl für die Motorsteuerung.
Zuerst wird die Position des Objekts im Bild bestimmt (xi , yi ) und
danach der Befehl für die Motorsteuerung V F ∆θ berechnet:
VF
∆θ pan
V F ∆θ =
= g xyii −cx
V F ∆θ
−cy
tilt
Hier ist g ein Skalar für die Verstärkung der Motorbefehle und
(cx, cy) ist das Zentrum des Kamerabildes.
Der berechnete Befehl für die Motorsteuerung V F ∆θ wird an das
Gate“ Modul geschickt.
”
3.2
Learning with self-evaluation
Learning with self-evaluation“ ist für das automatische Lernen der
”
Joint Attention“ zuständig.
”
Dieses Modul besteht aus Learning module“ und Internal evalua”
”
tor“.
1 Farb-Detektor
2 Kanten-Detektor
3 Bewegungs-Detektor
4 Gesichts-Detektor
Abbildung 3.2: Lern Modul - Lernt mit Hilfe von Backpropagation, [Yukie Nagai
2003].
3.2.3
Gate
Das Gate“ Modul wählt einen Motorbefehl von V F ∆θ und LM ∆θ
”
aus der dann ausgeführt wird.
5 Visuelle
Aufmerksamkeit
Aufmerksamkeit
7 Das Lernen wird ausgeführt, indem das Ist-Ergebnis mit einem SollErgebnis verglichen und der Fehler bestimmt wird. Dieser Fehler wird
zurück durch das Neuronale Netz geschickt und somit werden die zugehörigen Gewichte im Netz angepasst. Danach sollte bei gleicher Eingabe der
Fehler kleiner sein. [Wik a]
6 Gemeinsame
Die Auswahl erfolgt mit Hilfe einer Funktion, in diesem Fall ist es
die Sigmoid“ 8 Funktion.
”
Am Anfang ist die Wahrscheinlichkeit höher, dass der Motorbefehl von Visual feedback controller“ V F ∆θ ausgewählt wird als der
”
von Learning module“ LM ∆θ . Mit immer mehr Inteaktionen ändert
”
sich diese Wahrscheinlichkeit, bis es soweit ist, dass zum größten
Teil nur die Motorbefehle von Learning module“ ausgewählt wer”
den.
Dies macht man deshalb so, da am Anfang der Learning module“
”
noch nicht richtig ausgereift ist, und somit die Motorbefehle von
Visual feedback controller“ genauer sind als die von Learning
”
”
module“. Da aber die Genauigkeit vom Learning module“ mit der
”
Anzahl an Interaktionen steigt, wird dessen Motorbefehl auch immer öfter ausgewählt.
3.2.4
Vorgang einer Interaktion
Wie läuft eine Interaktion ab wird hier in kürze erklärt:
1. Der Roboter schaut auf die Interaktionsperson welche ein Objekt ansieht. Die Eingangsdaten hier sind I und θ .
2. Wenn ein auffälliger Objekt sich in I befindet. Wird dieser
durch den Salient feature detector“ gefunden und ein Motor”
befehl V F ∆θ berechnet um die Kamera zum Objekt zu drehen.
3. Zur gleichen Zeit wird ein anderer Motorbefehl LM ∆θ von
dem Learning module“ bestimmt.
”
4. Gate“ wählt jetzt anhand von der Auswahlrate zwischen
”F
V
∆θ und LM ∆θ . Ein Motorbefehl wird bestimmt ∆θ =V F
∆θ oderLM ∆θ
Abbildung 4.1: Erweiterung des Modells, [Nagai 2005].
• Image feature detector“
”
• Learning module“
”
• Coordinator“
”
4.1
Image feature detector
Image feature detector“ extrahiert Merkmale aus den Bildern.
”
Um die Motorsteuerung aus dem statischen Bild zu bestimmten, benutzt man hier die Kantendetektion, was eine Änderung zum oberen Modell ist. Die gefundenen Kanten edge image“ E (Abbildung
”
4.2) werden an den Learning module“ geschickt und dort in Mo”
torbefehl umgewandelt.
5. Nachdem sich die Kamera gedreht hat, wird bestimmt ob ein
Objekt in der Mitte des Kamerabildes sich befinden, und mit
Hilfe von Internal evaluator“ wird der Learning module“ be”
”
arbeitet.
6. Der Roboter lernt jetzt die Koordination im Learning modu”
le“ mit Hilfe von Backpropagation anhand von dem Motorbefehl ∆θ . Dies geschieht aber nur, wenn ein Objekt in der Mitte
des Kamerabildes ist.
7. Wiederhole die oberen Schritte
4
Erweiterung des Modells
Eine Erweiterung des oben beschriebenen Modells ist diese mit Bewegungsinformation des Gesichtes der Interaktionsperson auszustatten.
Im oberen Modell hat man zwar die Bewegungsinformation mit
dem motion-Detektor“ genutzt, diese galt aber nur für die Suche
”
nach Objekten. Jetzt nutzt man die Bewegungsinformation des Gesichtes der Interaktionsperson um sofort entscheiden zu können wie
sich die Kamera drehen soll und in die selbe Richtung zu schauen
in die auch die Interaktionsperson sich gedreht hat. Diese Erweiterung beschleunigt das Lernen in der Anfangsphase und verbessert
die Genauigkeit des Learning modules“.
”
Die Erweiterung betrifft nur das Learning module“ des oberen Mo”
dells (Abbildung 4.1)
Diese Erweiterung besteht aus zwei Modulen:
8 P(t) =
1
1−e−t
[Wik b]
Abbildung 4.2: Kantenbild, die Farben entsprechen hier den verschiedenen Richtungen der Kantendetektion. Hier wurden vier Richtungen gewählt, [Nagai 2005].
Die Erweiterung hier ist die Auswertung der Bewegungsinformation (Abbildung 4.3) des Gesichtes. Die Bewegungsinformation wird
ähnlich dem MPEG Verfahren ermittelt. Man teilt das Bild in kleine
Blöcke, und vergleicht die Blöcke zwischen aufeinander folgenden
Bildern. So wird für jeden Block bestimmt, in welche Richtung und
wie weit sich dieser Block bewegt hat optical flow“ F, indem man
”
jeden Block im nächsten Bild sucht. In diesem Paper [Nagai 2005]
benutzt man jedes 10 Bild für diese Berechnung.
Abbildung 4.3: Bewegungsinformationen, die Farben entsprechen hier den verschiedenen Richtungen der Bewegung. Hier hat man 8 Bewegungsrichtungen, [Nagai 2005].
4.2
Learning module
Learning module“ bekommt die im Image feature detector“ be”
”
rechneten Daten und berechnet aus diesen Motorbefehle.
Für statisches Bild sowie für die Bewegungsinformation werden jeweils eigene Motorbefehle E ∆θ und F ∆θ berechnet welche dann
an den Coordinator“ geschickt werden.
”
Der Teil für die statischen Bilder besteht aus einem drei schichtigem
neuronalem Netz. (Abbildung 4.4)
abläuft, kann ich jetzt nicht sagen, aber es wird daran weiter geforscht, und mit den heutigen Prozessoren kann man es sich leisten
die Modelle mit weiteren Bildverarbeitungs Verfahren auszustatten
um die Genauigkeit der Joint Attention“ zu erhöhen.
”
Literatur
NAGAI , Y. 2005. The Role of Motion Information in Learnung
Human-Robot Joint Attention. National Institute of Information
and Communications Technology.
Backpropagation
http: // de. wikipedia. org/ wiki/
Backpropagation . Wikipedia.
Sigmoidfunktion
http: // de. wikipedia. org/ wiki/
Sigmoidfunktion . Wikipedia.
Y UKIE NAGAI , KOH H OSODA , A. M. M. A. 2003. A constructive
model for the development of joint attention. A K Peters, Ltd.
Abbildung 4.4: Verarbeitung des Kantenbildes, [Nagai 2005].
Bewegungsinformationen werden von einem zwei schichtigem
neuronalem Netz verarbeitet. (Abbildung 4.5)
Abbildung 4.5: Verarbeitung der Bewegungsinformationen, [Nagai 2005].
Diese beiden neuronale Netze sind unabhängig von einander.
4.3
Coordinator
Der Coordinator“ berechnet hier den Motorbefehl ∆θ indem er den
”
Mittelwert der Motorbefehle von E ∆θ und F ∆θ bildet.
5
Fazit
Wie man hier erkennen kann, ist es möglich mit einfachen Mitteln
der Bildverarbeitung den Roboter dazu zu bringen dem Menschlichen Blick zu folgen und ein entsprechendes Objekt zu finden.
Getestet wurden diese Verfahren in einer konstruierten Umgebung
und mit nur einer Interaktionsperson. In dieser Umgebung funktionierte dieses Modell gut. Wie dies aber in einer realen Umgebung
Herunterladen