Bestimmung der Kopf-Orientierung und Blickrichtung
Transcription
Bestimmung der Kopf-Orientierung und Blickrichtung
Bestimmung der Kopf-Orientierung und Blickrichtung Roland Bader Seminar Perzeption und Interaktive Technologien WS 2006/2007 Universit¨at Ulm [email protected] Zusammenfassung Die Blickrichtung eines Menschen kann f¨ ur die MenschMaschine-Interaktion mit verschiedenen Methoden automatisch bestimmt werden. Computer Vision basierte Methoden verwenden dazu einzelne Bilder oder Bilderfolgen. Aus einzelnen Bilder k¨ onnen, nach der groben Bestimmung von Kopf- und Augenpositionen, die Orientierung des Kopfes und Ausrichtung der Augen errechnet werden. Durch Kombination der Ergebnisse erh¨ alt man eine gute Sch¨ atzung der Blickrichtung. Bei Algorithmen auf Bilderfolgen wird die ¨ Anderung der Blickrichtung in Bezug zu vorangegangenen Bildern ermittelt. 1 Einleitung Die Feststellung der Blickrichtung kann in der MenschMaschine Interaktion eine wichtige Rolle spielen. Der Blick kann dabei, ¨ ahnlich wie eine Maus, als Zeiger auf bestimmte Punkte eines Bildschirms genutzt werden. Eine Aussage u ¨ber die aktuelle Blickrichtung einer Person kann z.B. zu einer Vergr¨ oßerung von betrachteten Objekten f¨ uhren, was bei Menschen mit Sehschw¨ ache von Nutzen sein k¨ onnte. Insgesamt ist es aber auch m¨ oglich, die Benutzung von Computern intuitiver zu machen und es Menschen mit motorischen Einschr¨ ankung zu erm¨ oglichen, den Computer zu bedienen. noch ein Verfahren vorgestellt, das aus Bilderfolgen die Blick-Region auf dem Bildschirm bestimmt. 3.1 Augen- und Kopfposition Vor der Bestimmung der Blickrichtung, m¨ ussen Kopf- und Augenpositionen in einem Bild grob ermittelt werden. Bei Theis und Hustadt [3] findet man dazu eine Methode, die durch Bildung von Clustern und anschießender Ermittlung von Ecken in dem Cluster des Kopfes, wichtige Komponenten des Gesichtes ermittelt. Bilder werden als Nahaufnahmen von einer Kamera geliefert. F¨ ur das anschließende Verfahren zur Bestimmung der Kopf-Orientierung ist es am besten, Bilder in schwachperspektivischen Projektionen aufzunehmen. Diese Projektion garantiert die Beibehaltung von Verh¨ altnissen verschiedener Abst¨ ande im Gesicht. Abbildung 1: Ermittelte Ecken (Bild aus [3]) 2 Motivation f¨ ur Computer Vision basierte Methoden Computer Vision basierte Methoden k¨ onnen die Bestimmung der Blickrichtung erleichtern. Bisherige Methoden sind meist invasiv, d.h. sie greifen in die Umgebung der Person ein. Dies kann, wie z.B. bei Head-Mounted-Kameras, unangenehm f¨ ur den Benutzer sein. Diese Methoden versuchen m¨ oglichst wenig in das Umfeld der Personen einzugreifen. Sie liefern durch eine automatische Auswertung von Bildern oder Bilderfolgen eine Sch¨ atzung der Blickrichtung oder die Position eines Punktes, der gerade betrachtet wird. 3 Computer Vision basierte Methoden Im wesentlichen unterscheiden sich die Methoden in der Verarbeitung der Bilder. Es k¨ onnen dabei einzelne Bilder oder Bilderfolgen zur Berechnung der Blickrichtung verwenden werden. Dabei kommt es auch darauf an, welche Komponenten des Kopfes mit in die Berechnung fließen. Das k¨ onnen z.B. Augen, Nase oder Mund sein. Es werden zun¨ achst zwei Verfahren auf Einzelbildern zur Detektion der Kopf-Orientierung und zur Bestimmung der Position der Iris vorgestellt. Eine Vereinigung der beiden Verfahren f¨ uhrt dann zur Blickrichtung. Im Anschluss wird Bei der Bildung von Farbclustern kann bei einer Nahaufnahme davon ausgegangen werden, dass es sich beim gr¨ oßten Cluster um den Kopf handelt. In diesem Cluster findet man die Augen, den Mund und die Nase mit Hilfe eines Verfahrens, das Ecken detektiert (z.B. das StrukturtensorVerfahren), da diese Komponenten in der eher homogenen Fl¨ ache des Gesichtes am kontrastreichsten sind und die meisten Ecken aufweisen. Das Ergebnis der Eckendetektion ist ein Schwarz-Weiß-Bild, mit weißen Punkten an den erkannten Ecken (Abb. 1). Dabei findet man die Augen als den gr¨ oßten weißen Bereich. Beim Mund werden die zwei Mundwinkel ermittelt und die Nase kann aus zwei nahegelegenen kleinen Bereichen, die die Nasenl¨ ocher darstellen, ermittelt werden. 3.2 Kopf-Orientierung Um die Blickrichtung richtig zu berechnen sind zwei Komponenten von entscheidender Bedeutung: Zum einen wird die relative Position des Augapfels zu den Augenkonturen ben¨ otigt und zum anderen die Orientierung des Kopfes. Der erste Ansatz liefert eine gute Approximation f¨ ur die Blickrichtung, macht jedoch Fehler, wenn die Person nicht gerade in die Kamera blickt. Zur Korrektur solcher Fehler kann man zus¨ atzlich die Orientierung des Kopfes bestimmen. Ein grundlegendes und sehr einfaches Verfahren dazu wurde von Gee und Cipolla [1] vorgestellt. Die Autoren leiten aus den Ecken der Augen, des Mundes und der Nase eine Normale ab, die aus dem Gesicht heraus zeigt. 3.2.1 Modell des Gesichtes F¨ ur die Berechnungen wird zun¨ achst eine geeignete Beschreibung des Gesichtes ben¨ otigt. Dazu wird ein Modell erstellt, dass Merkmale beinhaltet, die zum einen immer sichtbar und zum anderen f¨ ur verschiedenen Personen invariant sind. Ungeeignet sind hierf¨ ur Merkmale wie z.B. Kinn oder Ohren. Gee und Cipolla verwenden die zwei ¨ außeren Ecken des Mundes, die jeweils ¨ außeren Ecken der beiden Augen und die Nasenspitze. Das Modell f¨ ur das Gesicht ergibt sich aus den L¨ angen durch Verbindung der Ecken, wie in Abb. 2 zu sehen ist. Le ist der Abstand der Augenecken, Lf der Abstand von Mund und Augen, Lm von Nase und Mund und Ln ist die L¨ ange der Nase. Große L stehen f¨ ur absolute und kleine l f¨ ur projizierte L¨ angen. Abbildung 2: Modell des Gesichtes (Bilder aus [1]) Die Ebene durch die Eckpunkte von Augen und Mund stellt die Ebene des Gesichtes dar. Die Normale der Ebene, und somit auch f¨ ur das Gesicht, ist parallel zu Ln und zeigt aus dem Kopf heraus. Zu beachten ist bei diesem Modell, dass die Bilder die Ecken enthalten m¨ ussen. 3.2.2 Sch¨ atzung der Normalen der Ebene des Gesichtes Zur Berechnung der Normalen der Ebene des Gesichtes bieten die Autoren zwei Methoden an. Die eine betrachtet den Kopf als Kugel und berechnet mit Kugelkoordinaten die Normale. Die andere versucht aus der projizierten Ebene des Gesichtes die Normale zu bestimmen. Abbildung 3: (a) 3D-Methode (b) Planare Methode (Bilder aus [1]) 3D Methode F¨ ur die 3D-Methode werden die Komponenten aus Abb. 3 (a) betrachtet. Alle Maße sind relativ zu dem Koordinatensystem der Bildebene. Winkel τ ist zwischen der x-Achse und der Normalen und Winkel θ zwischen der Projizierten von Lf und der Normalen. Zus¨ atzlich muss ein dritter Winkel σ abgeleitet werden. Zur Berechnung von σ betrachtet man ein Koordinatensystem, das relativ zur Ebene des Gesichtes ist. Winkel σ liegt da zwischen der Normalen der Ebene des Gesichtes und der Normalen der Bildebene. Wenn man die Normale der Bildebene als d = [dx , dy , dz ] auffasst, kann σ aus cos(σ) = dz gewonnen werden. Zur Bestimmung der Koordinaten von d im Koordinatensystem der Ebene des Gesichtes, helfen der Winkel θ und das Verh¨ altnis ln : lf . Beides kann direkt im Bild gemessen werden. Die Normale der Ebene des Gesichtes erh¨ alt man dann durch die Kugelkoordinaten: n = [sin(σ)cos(τ ), sin(σ)sin(τ ), −cos(σ)] Planare Methode Die zweite Methode zur Berechnung der Normalen verwendet die Komponenten aus Abb. 3 (b). Da ist zum einen die Projektion des Vektors a, der entlang der Symmetrieachse des Modells l¨ auft, und des Vektors b, der entlang der Augenlinie verl¨ auft und zum anderen das Verh¨ altnis Re = le : lf . Beide Vektoren liegen in der Ebene des Gesichtes und m¨ ussen deshalb in die Ebene des Bildes transformiert werden. Dies kann mit einer affinen Transformation gemacht werden. F¨ ur die Formel v 0 = M ∗v +T f¨ ur affine Transforma0 21 Re tionen haben wir eine Matrix M = [ ] f¨ ur lineare −1 0 Abbildungen und eine Matrix [ a b ] f¨ ur eine simultane Transformation beider Vektoren a und b. Die Translation T wird nicht ben¨ otigt. Das Ergebnis der Transformation ist eine 2 × 2 Matrix U : U =[ 0 −1 1 R 2 e 0 ][ a b ]−1 Mit Hilfe dieser Matrix k¨ onnen σ und τ berechnet werden. Anschließend kann wieder mit den Kugelkoordinaten aus der 3D Methode die Normale bestimmt werden. Da f¨ ur τ zwei Winkel rechts und links von der Symmetrieachse berechnet werden, kann man mit einer groben Absch¨ atzung der Nasenspitze, den auf der richtigen Seite bestimmen. 3.2.3 Resultate Die verwendeten L¨ angenverh¨ altnisse variieren bei unterschiedlichen Gesichtern. Deshalb ist f¨ ur jedes Gesicht eine eigene Kalibrierung notwendig. Getestet wurden beide Methoden mit verschiedenen Gesichtsdrehungen im Bereich 0◦ −+90◦ horizontal und −90◦ − +90◦ vertikal. Das Ergebnis der 3D Methode in der Frontalansicht war zufriedenstellend. In Profilansicht kam es jedoch zu gr¨ oßeren Fehlern. Relativ genau in der Profilansicht war hingegen die planare Methode. Auf Grund der Ergebnisse wurde ein hybride Methode ge¨ testet, die beim Ubergang der Ansichten die Methode wechselt. Dies f¨ uhrte zu einem guten Endresultat. 3.3 Position der Iris relativ zu den Augenkonturen Neben der Kopf-Orientierung, ist die Ausrichtung der Augen f¨ ur die Bestimmung der Blickrichtung von entscheidender Bedeutung. Um die relative Position des Augapfels zu den Augenlidern zu ermitteln, gibt es unterschiedliche Herangehensweisen. Pupillen-basierte Ans¨ atze setzen die Positionen der Pupille und der Reflektion der Hornhaut in Beziehung. Dabei werden z.B. IR-Beleuchtungen zur Detektion von Reflektion und Pupille verwendet. Iris-basierte Methoden versuchen die Position der kreisf¨ ormigen Iris zu detektieren. Probleme ¨ ergeben sich dabei durch die Uberlagerung der Iris durch die Augenlider. Theis und Hustadt stellen in [3] eine Iris-basierte Methode vor, die nach der Detektion der Irispositionen und der Augenkonturen eine Blickrichtung ableitet, indem die Stellung der Iris innerhalb der Augenkonturen ermittelt wird. 3.3.1 Bestimmung der Position der Iris Anhand der groben Positionen der Augen, die zuvor mit einem Eckendetektor bestimmt wurden, l¨ asst sich die Position der Iris absch¨ atzen. Davon nimmt man den dunkelsten Pixel und baut mit Hilfe eines “region growing“-Verfahrens einen Cluster darum auf. Da es sich bei der Iris um die dunkelsten Pixel handelt, stellt dieser Cluster n¨ aherungsweise die Iris dar. Fehler macht dieser Ansatz vor allem mit Schattenpixeln der Augenlider. Ein “template matching“-Verfahren beseitigt diese Pixel, indem es einen Kreis mit variablem Radius u ¨ber das Cluster legt und alles abschneidet was nicht zum Kreis geh¨ ort. Das Ergebnis ist die eine Hypothese f¨ ur die Position der Iris. F¨ ur eine weitere Hypothese wird zun¨ achst ein CannyOperator verwendet um Kontrast¨ uberg¨ ange in den Augenre¨ gionen zu finden. Anhand dieser Uberg¨ ange kann man, mit der erweiterten Hough-Transformation f¨ ur parametrisierte Kurven, die Position der Iris bestimmen. Als n¨ achstes m¨ ussen beide Hypothesen zusammenlegt ¨ werden um die beste Ubereinstimmung von Hypothesen und Iris Positionen zu erhalten. Daf¨ ur leiten die Autoren eine Energiefunktion ab, die auf drei Annahmen bez¨ uglich der Iris der beiden Augen beruht: • Sie liegen n¨ aherungsweise auf der gleichen horizontalen Linie im Bild. • Ihre Bilder haben ¨ ahnliche Texturen, was mit der Differenz der Pixel gemessen werden kann. • Ihre Mittelpunkte haben minimalen Abstand zu den Punkten der Augen, die man aus der groben Sch¨ atzung der Augenpositionen mit dem Eckendetektor erh¨ alt. Das erste Kriterium setzt voraus, dass die Person gerade in die Kamera blickt. Durch Maximierung der Energiefunktion ¨ erh¨ alt man die beste Ubereinstimmung f¨ ur die Position der Iris. 3.3.2 Absch¨ atzung der Augenkonturen Im n¨ achsten Schritt muss die Position der Iris in Bezug zu den Augenkonturen gesetzt werden, um damit die Blickrichtung zu bestimmen. Um die Konturen zu finden wird ein Modell des Auges erstellt und auf das Auge gelegt. In Abb. 4 sieht man das Modell des Auges, das aus zwei Segmenten einer Cosinus-Funktion besteht und dadurch leicht f¨ ur eine Deformierung parametrisiert werden kann. ¨ Um eine Ahnlichkeit zwischen Modell und Augenkonturen ¨ festzustellen, wird eine Ubereinstimmungswahrscheinlichkeit mit Hilfe einer Entropy-Maximierung festgelegt und daraus eine Energiefunktion abgeleitet. In die Energiefunktion fließen die Merkmale des Modells und der Augen als Vektoren Abbildung 4: Modell des Auges (Bild aus [3]) ein. Der Abstand wird mit dem euklidischen Abstand gemessen. Der erste Teil der Energiefunktion legt die Gleichheit der Merkmale fest und der Zweite die Deformation des Modells. Durch Minimierung der Energiefunktion erh¨ alt man ¨ die beste Ubereinstimmung von Modell und Augenkonturen. Dazu haben die Autoren das aufwendige Verfahren “deterministic annealing“ zur L¨ osung dieses Optimierungsproblems verwendet. Dabei wird so lange iteriert bis die Deformierung des Modells unter eine Schwelle f¨ allt und das Modell am besten auf das Auge passt. Einfachere und schnellere Verfahren, wie z.B. die die Verfolgung eines Gradientabstiegs bis ein Minimum erreicht wurde, sind f¨ ur diese Energiefunktion ungeeignet, da viele lokale Minima vorhanden sind. 3.3.3 Resultate Irispositionen und Augenkonturen k¨ onnen nun in Bezug zueinander gesetzt werden, um eine Blickrichtung abzuleiten. Da in vielen F¨ allen die Aufl¨ osung der Augen in den aufgenommenen Bildern, auf Grund des Abstands zur Kamera, relativ gering sein wird, haben sich die Autoren bei der Sch¨ atzung der Blickrichtung f¨ ur eine Vereinfachung entschieden. Es wird lediglich eine Aussage dar¨ uber getroffen, ob die Person geradeaus, nach links oder nach rechts blickt. Zur Bestimmung der Richtung werden die Konturen in drei Regionen rechts, mitte und links eingeteilt. Danach werden die Pixel gez¨ ahlt, die in der Schnittmenge von Iris und den einzelnen Regionen liegen. Die Region mit den meisten Pixeln steht f¨ ur die Blickrichtung. Getestet wurde die Methode mit 10 Personen und verschiedenen Blick- und Kopf-Orientierungen. Die Position der Iris wird meistens richtig detektiert, doch der Schatten der Augenlider, eine niedrige Aufl¨ osung und zu geringer Kontrast in den Augen f¨ uhren zu Fehlern. Aus den gleichen Gr¨ unden wurden die Augenkonturen in einigen F¨ allen falsch positioniert. 3.4 Kombination von Kopf-Orientierung und Irisposition Mit der Annahme, dass sich die Augen in der Ebene des Gesichtes befinden, kann durch die Kombination der Methoden von Gee, Cipolla und Theis,Hustadt die Blickrichtung ausreichend genau f¨ ur die Mensch-Maschine-Interaktion ermittelt werden. Dabei muss die Normale der Ebene, je nach detektierter Position der Iris in den Augenkonturen, nach links oder rechts bez¨ uglich der Augenkonturen gedreht werden. Bei einem Frontalblick muss nichts mit der Normalen gemacht werden. 4 Ermittlung von Blickpunkten auf einem Bildschirm Neben der Bestimmung einer Blickrichtung aus einzelnen Bildern, gibt es die M¨ oglichkeit in einer Bildfolge das Auge zu verfolgen (Eye Tracking) und daraus Blickpunkte auf dem Bildschirm zu errechnen. Viele Verfahren verfolgen daf¨ ur die Pupille und die Reflektion der Hornhaut. Wichtig bei allen Verfahren ist ein schneller Algorithmus, der eine Folge von hintereinander kommenden Bildern verarbeitet kann. Von Kim und Ramakrishna [2] wurde ein einfaches Verfahren zur Irisdetektion und -verfolgung vorgeschlagen. Bei der Verfolgung der Iris werden zun¨ achst Daten einer Person beim Blicken auf Referenzpunkte auf einem Bildschirm gespeichert. Aktuelle Daten werden dann in Bezug zu diesen Referenzdaten gesetzt und daraus dann der aktuelle Blickpunkt errechnet. 4.1 Verfolgung der Iris Augenpositionen m¨ ussen f¨ ur das Verfahrens bekannt sein. Aus den Informationen wird der Mittelpunkt der Iris bestimmt, da eine grobe Position der Augen nicht f¨ ur eine Verfolgung ausreicht. Die dunkle Iris eignet sich gut zur Verfolgung, da sie sich von der hellen Sklera im Kontrast stark unterscheidet. In dem Verfahren wird versucht, das Problem, das durch die Verdeckung der Iris durch die Augenlider entsteht, zu l¨ osen. Als erstes wird zur Findung der Irismitte der selbst entwickelte Algorithmus “Longest Line Scanning (LLS)“ angewendet. Der Algorithmus basiert auf der Annahme, dass der Mittelpunkt einer Ellipse die Mitte der l¨ angsten Linie innerhalb der Ellipse ist. Dazu ben¨ otigt man die Irisr¨ ander, die als grobe Sch¨ atzung direkt aus dem Bild der Augen nach Anwendung eines Eckendetektors genommen werden. Die Iris ¨ wird, wegen der projizierten Ansicht und der Uberdeckung durch die Augenlider, als Ellipse angenommen und innerhalb ihrer R¨ ander von oben nach unten gescannt. Der Mittelpunkt der l¨ angsten Linie dient als Eingabe f¨ ur einen stabileren und genaueren Algorithmus. mit geringeren Radius¨ anderungen, wie genau der Kreis auf die Irispixel passt. Es werden dabei Treffer gez¨ ahlt. Der Mittelpunkt mit den meisten Treffern ist der Mittelpunkt der Iris. 4.2 Zur Unterst¨ utzung der Bestimmung des Blickpunktes auf einem Bildschirm wird eine kleine Referenzmarke an die Mitte des Rahmens einer Brille befestigt. Die Messung der Positions¨ anderung der Marke fließt in die Berechnung mit ein und erlaubt so bessere Ergebnisse und kann geringe Kopfbewegungen ausgleichen. F¨ ur die Betrachtungen wird die Annahme getroffen, dass die Personen ihren Kopf parallel zur Kamera positioniert haben. Zur Vereinfachung wird von einer orthogonalen statt von einer schwach-perspektivischen Projektion ausgegangen. Bevor eine Bestimmung gemacht werden kann, muss in einer Initialisierungsphase eine Kalibrierung durchgef¨ uhrt werden. Dabei werden Referenzdaten, z.B. die Stellung der Iris oder die Entfernung zum Bildschirm gespeichert, w¨ ahrend die Person auf vordefinierte Punkte am Bildschirm blickt. Beim Blicken auf einen beliebigen Punkt am Bildschirm wird aus akutellen Daten und Referenzdaten der aktuelle Blickpunkt abgeleitet. 4.3 Der LLS Algorithmus reicht zur Bestimmung des Mittelpunkts der Iris nicht aus, da die l¨ angste Linie der Iris durch die Augenlider verdeckt gewesen sein kann, die R¨ ander der Iris nur grob bekannt sind und Rauschen innerhalb der Bildes zu Fehlern f¨ uhrt. Der zweite Algorithmus “Occluded Circular Edge Matching (OCEM)“ ist in Abb. 5 zu sehen. Er nimmt den gefundenen Punkt, das Augenbild und noch zwei andere Punkte zur Suche nach dem Mittelpunkt der Iris als Eingabe. Die Ausgabe liefert eine bessere Approximation des Mittelpunkts. Der Algorithmus versucht einen Kreis mit einem variablen Radius u ¨ber die Iris zu legen. Zuerst wird der Mittelpunkt eines Anpassungsfensters ausgew¨ ahlt. Als Kandidaten dienen dazu die drei Eingabepunkte. Der ungef¨ ahre Radius des Kreises kann aus dem Eingabebild als Radius der Iris genommen werden. Das Anpassungsverfahren verschiebt den Kreismittelpunkt innerhalb des Fensters und u uft ¨berpr¨ Resultate Zum Testen der Algorithmen haben die Autoren verschiedene Bildschirmaufl¨ osungen u uft. Bei einer Aufl¨ osung ¨berpr¨ von 8 × 10, also 80 Bildpunkten, und 9 Kalibrierungspunkten, wurden zu verschiedenen Zeitpunkten einer Bilderfolge 10 Blickpunkte bestimmt. Erzielt wurde ein gutes Ergebnis, das sich durch zu starke Kopfbewegungen und zu niedriger Bildaufl¨ osung verschlechtern kann. 5 Abbildung 5: Kreisanpassung bei OCEM (Bild aus [2]) Bestimmung des Blickpunktes Ausblick Wir haben drei Verfahren gesehen, die unter Vereinfachungen ein recht gutes Ergebnis erzielen. In den meisten F¨ allen k¨ onnen die Vereinfachungen, wie z.B. gerades Blicken auf dem Bildschirm, bei der Mensch-Maschine-Interaktion auch vorausgesetzt werden. Geringe Bildaufl¨ osungen und Rauschen in den Bildern bereiten dabei Probleme. Kommerzielle Anwendung finden Verfahren zur Blickrichtungsermittlung z.B. bei Menschen mit motorischer Einschr¨ ankung. In Hinsicht auf eine zunehmende Verbreitung von mobilen Ger¨ aten mit Kameras und immer wachsender Rechenkapazit¨ at, w¨ aren zuk¨ unftig auch Anwendungen auf mobilen Ger¨ aten denkbar. Literatur [1] A. H. Gee and R. Cipolla. Determining the gaze of face in images. Image and Vision Computing, 12(10):639–647, December 1994. [2] Kyung-Nam Kim and R.S. Ramakrishna. Vision-based eye-gaze tracking for human computer interface. In Systems, Man & Cybernetics (Smc) 1999 IEEE International Conference, volume 2, pages 324–329, Tokyo, Japan, 1999. [3] Christoph Theis and Kathrin Hustadt. Detecting the gaze direction for a man machine interface. In IEEE RoMan 11th Workshop on Robot and Human Interactive Communication, pages 536–541, Berlin, Germany, 2002.