
Bald wird es ein Jahr geben, in dem wir das Produkt mit
Custom '
Eye-Tracker- Kalibrierung' an Bord veröffentlichen. Leider hat es aus verschiedenen Gründen immer noch nicht funktioniert, diesen Artikel fertigzustellen. Vor kurzem ist jedoch ein lustiger Vorfall aufgetreten, der dazu veranlasste, den Start abzuschließen. Aber das Wichtigste zuerst. Ich hoffe, dass noch jemand von unserer Erfahrung profitieren wird, obwohl sich herausstellte, dass der Beitrag feucht war.
Kurz gesagt,
Eye-Tracker ist ein Gerät, mit dem Sie die Blickrichtung sowie die Position von Augen und Kopf verfolgen können.
Eye-Tracker haben einige Anwendungsbereiche, darunter die Computerspielbranche (
etwas mehr ).
Oft ist die Blickerkennung für sekundäre (Hilfs-), aber wichtige Aktionen in Spielen verantwortlich:
- Kamerabewegung;
- zielen;
- Auswahl von Objekten für die Interaktion;
- Waffenauswahl;
- automatischer Pausenruf bei Sehverlust;
- andere.
In den meisten Fällen reicht die Standardkalibrierung (es handelt sich um das
Tobii Eye Tracker 4C- Gerät) aus, um die Ära des
Eye Track bequem zu nutzen.
Leider reicht für unsere Zwecke die Genauigkeit des Geräts, die durch Standardkalibrierung erreicht wird, nicht aus, da in unserem Projekt das Aussehen die Hauptmechanik der Steuerung darstellt.
Aus dem Vorstehenden wurde die
Aufgabe gebildet: die Standardkalibrierung zu verbessern;
Bedingungen :
Tobii Eye Tracker 4C- Gerät, Entwicklungssprache ist
C # (WPF) .
An der Oberfläche scheint es eine Lösung zu sein: Wenn Sie mehr Genauigkeit wünschen, fügen Sie mehr Kalibrierungspunkte hinzu, aber das ist nicht so einfach.
Tobii AB verfügt über zahlreiche
Tools für die Arbeit mit seinen Geräten. Joy
kannte keine Grenzen, als das
Tobii Pro SDK gefunden wurde, das alle Brötchen für die Arbeit mit der
Kalibrierung enthält . Wie sich später herausstellte, ist dieses
SDK nicht für die Arbeit mit dem von uns verwendeten
Eye-Tracker- Modell geeignet (obwohl es seltsam ist, dass Bei Verwendung dieses
SDK war die Blickerkennung des Geräts noch vorhanden. Ich musste die Werkzeuge leichter nehmen -
Tobii.EyeX.Client .
Empirisch wurden die optimale Anzahl von Kalibrierungspunkten und ihre Position ermittelt: eine
4x3- Matrix mit
12 Kalibrierungspunkten (jeweils in der Mitte der Zelle).
Die folgenden Parameter wurden auch empirisch gefunden:
Kalibrierungsalgorithmus (Simple to Madness)
Die Kalibrierung wird nacheinander für jede Zelle der Kalibrierungsmatrix durchgeführt:
- Wenn der Abstand zwischen dem aktuellen Kalibrierungspunkt und dem vom Gerät empfangenen Punkt kleiner als die maximal zulässige Abweichung ist , fällt ein solcher Punkt (vom Gerät empfangen) zur weiteren Verarbeitung in die Sammlung, andernfalls wird die Kalibrierung für die aktuelle Zelle auf ihren ursprünglichen Zustand zurückgesetzt (und alles ist neu). ;;
- Nachdem die Zeit für die Kalibrierung um einen Kalibrierungspunkt abgelaufen ist, erhalten wir den Durchschnittswert der Verschiebung aus den zuvor gesammelten Daten.
Nach Abschluss der Kalibrierung haben wir eine Sammlung von 12
gemittelten Bias-Werten nach Region (Matrixzellen).
Verwendung (noch einfacher)
- Bestimmen, in welchen Bereich der vom Gerät empfangene Punkt fällt;
- Wir verschieben den vom Gerät empfangenen Punkt um den Durchschnittswert des Versatzes in diesem Bereich.
Auf diese Weise konnte die Genauigkeit des
Tobii Eye Tracker 4C- Geräts programmgesteuert verbessert werden (durch Hinzufügen eines Add-Ons zur Standardkalibrierung).
Leider kann ich aufgrund der Geheimhaltungsvereinbarung weder den Namen der Software angeben noch die Quelle oder Screenshots auslegen. Zum Glück erlaubten sie mir, den Algorithmus zu teilen. Ich hoffe, dass jemand Beitrag noch nützlich sein wird.
Der Artikel enthält die einfachste Beschreibung des Hauptkalibrierungsprozesses. Darüber hinaus gibt es noch eine Reihe weiterer Dinge:
- Mitteln des Punktwerts mit dem vorherigen (für die Glätte);
- Überprüfen Sie, ob die Bildschirmränder überschritten werden.
- Verlust der Sichtverfolgung;
- Verfolgung von Änderungen in der Position der Augen im Raum;
- Eye Tracker- Statusverfolgung;
- Verfolgung von Änderungen in der Bildschirmauflösung;
- Verfolgung der Abbruchkalibrierung;
- zufällige Auswahl der Art der Kalibrierungsmarkierungen;
- und vieles mehr.
Und genau hier ist das Ereignis, das zur "Fertigstellung" des Artikels beigetragen hat: Für einen unvorstellbaren Zufall hatte mein Freund (
aus dem vorherigen Beitrag ) die Möglichkeit, live mit dem Entwickler von
Tobii AB zu chatten. Während des Gesprächs erwähnte der Entwickler, dass die Standardkalibrierung nicht ideal sei und dass unsere Bemühungen nicht umsonst seien.