Distance from sensor incurs vertical shift (and how to fix)
Posted: 16 Jan 2014, 04:30
I discovered the eye-tribe once calibrated will encounter issues if the user moves either forward or backward from the device.
Moving further away causes a shift downwards, moving closer a shift upwards.
I found I may be able to correct for this issue if I manipulate the output coordinates using the iris size. Perhaps an additional calibration point could be to ask the user to lean back while staring at the same point and then lean forward staring at the same point, this way you can capture this change and adjust for it.
Another thing as a developer I may find better is getting the raw X/Y of the pupil location in relation to it's calibrated zone as a normalized float (1.0 to -1.0) That way we may be able to internally do our own calibration or maths in-case our use-case for the device doesn't fit the current calibration method. You can add these values for each eye on the GazeData class.
For example, I would like to sit the device on a podium and work with dual monitor setup of rather large screens which may act as one large wide screen.
Edit:
After reviewing the API it seems like the smoothed coordinates are returning such a setting (1/-1) Ignore that portion =) My initial point was from observation of the eyetribe ui and brief look at the samples.
The Calibration for distance still stands though. Do you accept contributions to the GIT for the CSharpClient? Perhaps once I'm done I can expand on the code a bit?
Moving further away causes a shift downwards, moving closer a shift upwards.
I found I may be able to correct for this issue if I manipulate the output coordinates using the iris size. Perhaps an additional calibration point could be to ask the user to lean back while staring at the same point and then lean forward staring at the same point, this way you can capture this change and adjust for it.
Another thing as a developer I may find better is getting the raw X/Y of the pupil location in relation to it's calibrated zone as a normalized float (1.0 to -1.0) That way we may be able to internally do our own calibration or maths in-case our use-case for the device doesn't fit the current calibration method. You can add these values for each eye on the GazeData class.
For example, I would like to sit the device on a podium and work with dual monitor setup of rather large screens which may act as one large wide screen.
Edit:
After reviewing the API it seems like the smoothed coordinates are returning such a setting (1/-1) Ignore that portion =) My initial point was from observation of the eyetribe ui and brief look at the samples.
The Calibration for distance still stands though. Do you accept contributions to the GIT for the CSharpClient? Perhaps once I'm done I can expand on the code a bit?