Comment by weeb

4 days ago

Nice to see people getting interested in eye gaze. There are two things that you might like to look at that can help the UX.

1 - Calibration. Looking at static dots is BORING. The best idea I've seen is Tobii's gaming calibration where you look at dots to make them wobble and pop. This makes the whole process feel like a game, even when you've done it a hundred times before. I would love to see more ideas in this space to give a much more natural-feeling calibration process - even better if you can improve the calibration over time with a feedback loop, when users interact with an element.

2 - Gaze feedback. You are absolutely right that seeing a small, inaccurate and jumpy dot does more harm than good. Again, Tobii have led the way with their 'ghost overlay' for streamers.

For an example, see the following video. After calibration the ghost overlay is used to give approximate feedback. This is enough that some naive users are able to make small adjustments to a constant calibration error, or at least give feedback that the gaze is wrong, not that the UI is not responding.

https://youtu.be/mgQY4dL-09E?feature=shared&t=36

I have been experimenting with using 5 phases of movements with each phase covering different areas of the screen while being actively moving. The last phase makes the dot move in a Lissajous-like motion which is more fluid like you are suggesting.

The challenge is recording and syncing the motion at a higher frequency and being able to save without much drift and the performance of these landmark/gaze models is often slow.

One more option to speed it up is not to do the eye tracking at record time, just record a crop video of the face and the screen first at 60Hz and then run the model on each frame and update the metadata of the dataset.

Thank you for the feedback!

1 - I experimented with some calibration involving staring at a point, but I found it troublesome as blinking would make lead to some inaccurate calibration data (webgazer doesn't have blink detection). It was also a little more fatiguing since the user would have to really focus on staring the entire time. I found that it was less mentally fatiguing if the user could control their own calibration give themselves room to blink or just rest their eyes for a second.

2 - Ghost overlays is a really good idea. I'll see what I can do to implement that feature.

I really appreciate you taking your time to write this!