Starting from version 1.2.0 the EyeVec system supports the Iris-CR vector (I-CR) gaze estimation method in addition to the Pupil-CR vector, Pupil only and CR only methods. This is an experimental feature mainly implemented to serve researchers interested in eye-tracking methodology.

The I-CR gaze estimation method uses the vector between estimated iris center and estimated corneal reflection center as input to a gaze mapping function.

Note, this method does not use the iris shape (semi-major axis, semi-minor axis, and angle of rotation) as input to the gaze mapping. That might be a future addition.

The iris size is not affected by different light levels or cognitive load. Therefore it potentially makes a stable feature for gaze estimation. The catch however is that the iris often partly occluded by the upper and/or lower eyelid as shown in the images below. For example in the left image only about 40..50% of the iris edge is visible leaving very little data in vertical direction. And often the visibility is even less. Since most participants will exhibit iris occlusion this makes it generally hard to achieve an accurate and precise estimate of the iris edge.

Image of eye occluded by both eyelids Image of eye occluded by mainly the upper eyelid

See next section for a screencast of a test recording as well as the eye-tracking data for this and five more recordings.

I-CR based gaze estimation test recording

The video below shows a screencast of a test procedure while having selected the Iris-CR vector gaze estimation method.

For a an accurate estimate of the iris edge/center the iris should be fully visible. Since that ideal situation usually does not apply it becomes necessary to as accurately and precisely as possible distinguish between iris-sclera edges and iris-eyelid edges. This is not a trivial analysis however. Some problems that make it difficult to accomplish:

  • high iris occlusion; strongly affects precision and accuracy in vertical direction

  • varying eye opening for different gaze angles or screen content

  • when it is unclear whether there is any occlusion or not (as opposed to definitly occlusion or no occlusion at all)

  • a dark shadow just below the upper eyelid or just above the lower eyelid

  • a slight bulge or dent on the iris which makes the appearance less round

Analysis results

Eye-tracking data produced by above recording and five additional recordings (in CSV format):

File Test pattern Remarks

20251218T153849-0.csv

5 points

recorded during above screencast

20251218T155304-0.csv

9 points

poor calibration

20251218T155734-0.csv

9 points

good calibration

20251218T160107-0.csv

25 points

fair calibration

20251218T160401-0.csv

25 points

fair calibration

20251218T160654-0.csv

25 points

good calibration

Test analysis results using the analyze-evaluation-data.r script (see Analysis and helper scripts and see also Analyzing eye-tracker quality about using this analysis script):
results-raw.csv
quick-results-raw.csv (same as above with less columns)

Analysis results in human readable form (warning messages of the analysis script retained):
output-raw.txt
output-raw-full.txt (verbose version including analysis data for each target)

Do not hestitate to contact us in case you have questions about the implemented iris edge estimation or about the processing of the above CSV files.