Home Forums Software Development Issues with update rate, noise, tracking stability for off-axis projection

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
  • #11306
    Frits Talbot


    I’ve been trying to use the Tobii Stream Engine API (C++) with a Tobii Eye Tracker 4C for off-axis perspective projection, i.e. using the head position to adjust the view and projection matrices to make the screen appear as a window. It seems to work, but I have some issues:

    When subscribing to head pose data (only using the position data):
    * I only get callbacks at 30Hz. I tested the Tobii Core SDK samples and they also run at this rate. I think this is too slow to be effective.
    * The position data seems fairly noisy and erratic.

    Test video: http://virtual.metapathy.com/~frits/tobii/head_pose_edit.mp4

    When subscribing to gaze origin data (averaging the eye positions):
    * Callbacks run at 90Hz, providing smooth motion.
    * Tracking is easily lost if I move my head at even gentle speeds. It generally takes a second to reacquire. This has a very jarring effect on the projection.
    * While XY movement appears instantaneous and accurate, Z movement seems overly filtered and laggy.

    Test video: http://virtual.metapathy.com/~frits/tobii/gaze_origin_edit.mp4

    I also tried running both on a separate profile without using my glasses, but I did not note any significant difference.

    Is this the expected behavior of the Tobii Eye Tracker 4C? Is there anything I can do to mitigate these issues?

    Additionally, I currently configure the dimensions of my screen manually in my app, which I need to have for calculating the projection. I can probably get this information from the OS, but with multi-monitor set-ups it becomes non-trivial. Would it be possible to add a function to the Tobii API to get the dimensions of the tracked screen, as it surely knows this data (via calibration, etc)?

    Grant [Tobii]

    Hi @trylle, many thanks for your detailed post and sorry to hear about the issues you have been facing. Indeed we are aware of some of the limitations with the head tracking and Z position stream within the Stream Engine API.

    To that end, we are in the process of improving our products but we cannot at that time guarantee a release date for future firmware or SDK updates.

    In terms of mitigating the output, you might try interpolating the data to smooth out results as a minor workaround.

    Regarding multi-monitor support within the SDK, I am afraid this is not currently implemented but I will pass along your suggestion to the developers for discussion for a future release.

    Our apologies for the inconvenience, we hope to be able to overcome these issues in the near future.

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.