Es ist relativ einfach, einen guten Eye Tracker zu bauen, der für die meisten Menschen in den meisten Situationen funktioniert. Im Grunde genommen braucht man nur eine Kamera, eine Lichtquelle und eine Verarbeitungseinheit. Das Licht beleuchtet die Augen der Person, erhöht den Kontrast zwischen Pupille und Iris und erzeugt Reflexionen auf der Hornhaut. Die Kamera nimmt Bilder von den Augen der Person auf, und die Verarbeitungseinheit ermittelt die Pupille und diese Reflexionen auf der Hornhaut. Mit diesen Informationen, den bekannten Positionen von Kamera und Lichtquelle und der Anatomie des menschlichen Auges lassen sich die Position und der Drehwinkel jedes Auges berechnen. Kalibrieren Sie das Eye Tracking-System, indem Sie den Benutzer auffordern, ein Objekt zu betrachten, dessen Position bekannt ist, und Sie haben alles, was Sie brauchen, um zu bestimmen, wohin eine Person schaut.
Jeder neue Anwendungsfall bringt jedoch neue Herausforderungen mit sich, und ich wünschte, es gäbe eine Art Geheimrezept, das alles löst, aber leider gibt es das nicht. Es erfordert harte und engagierte Arbeit, um ein einfaches Eye Tracking-System in etwas Zuverlässiges zu verwandeln.
Zu Beginn müssen wir in der Regel große Datensätze erzeugen. Wir müssen wissen, nach welchen Informationen wir suchen müssen und wie wir die Daten für die jeweilige Anwendung aufbereiten können. Ein Forschungsszenario erfordert beispielsweise nicht die gleichen anspruchsvollen Anforderungen an die Abdeckung der Bevölkerung wie eine geräteeigene Funktion in einem Massenmarktprodukt - wie z. B. das foveated rendering in einem VR-Headset.
Und dann ist da noch das Problem der Latenz. Eine grafiklastige Anwendung mit Split-Rendering, bei der ein Teil der Rechenleistung auf dem Gerät und ein Teil in der Cloud ausgeführt wird, erfordert beispielsweise eine Verbindung mit geringer Latenz sowohl mit dem Netzwerk als auch mit dem Eye Tracker. Andererseits hat eine Anwendung, die eine augengesteuerte Menüauswahl unterstützt, nicht die gleichen Latenzanforderungen, was eine gewisse zeitliche Filterung ermöglicht, um das Benutzererlebnis zu verbessern.
Manche mögen behaupten, dass Eye Tracking ein reines Informatikproblem ist und dass maschinelles Lernen alles für Sie lösen wird. Und obwohl maschinelles Lernen ein wichtiger Teil unserer Lösung ist, müssen Sie bei der Entwicklung von Eye Tracking-Algorithmen die Anatomie des Auges, die Art und Weise, wie das Gehirn visuelle Signale interpretiert, sowie die Ziele der angestrebten Anwendung berücksichtigen.
Aber ich denke, die größte Schwierigkeit kommt, wenn man von der Idee zur Vermarktung übergeht. Ein Scheitern ist keine Option für ein Massenmarktszenario, bei dem Millionen von Geräten auf die volle Funktionsfähigkeit Ihrer Technologie angewiesen sind. Das Erreichen einer Bevölkerungsabdeckung von 99 % und mehr bedeutet, dass Szenarien und Personen, die während der Ideenfindung als Ausreißer betrachtet wurden, nun berücksichtigt werden müssen. Hängende Augenlider, Make-up, das wichtige Funktionen verdeckt, Korrektionsbrillen, Kontaktlinsen und faule/dominante Augen sind allesamt typisch. Darüber hinaus müssen Sie wahrscheinlich mit dem Verrutschen des Headsets sowie mit Variationen des Augenabstandes (IPD), der Gesichtsform, der Hautreflexion im Nahinfrarotbereich, der Irisfarbe und den Toleranzen bei Komponenten und Platzierung umgehen.