Duration of calibration points / recalibration

All development related discussions that does not concern a specific programming language. For example, JSON data format, server communication etc.

Duration of calibration points / recalibration

Postby Rafael » 04 Mar 2014, 02:46

Hi,

I have two questions regarding the calibration procedure:

  1. Does the time interval between a pointstart and a pointend request have any impact on calibration accuracy? If so, what would be a "good" sampling duration?
  2. If only a few calibration points are inaccurate (let's say one), will performing a new calibration with only these points "agregate" data on the previous calibration or will it replace the previous calibration (with the other good points missing because they were not shown on the second calibration)? Should we recalibrate all points?
Thanks!
Rafael
 
Posts: 13
Joined: 20 Feb 2014, 23:33

Re: Duration of calibration points / recalibration

Postby Martin » 04 Mar 2014, 23:36

Right to the questions,

1. The interval or duration of a point depends on the users ability to quickly detect and fixate the target. I often calibrate at 750ms but some require a little more sample time to get good data-points. It's a good practice to wait a little (say 100-200ms) before starting to sample since eye movements tend to be "ballistic" in the sense that the jump between two points is coarsely planned and then fine tuned.

2. If one or two points have poor quality it is possible just to re-sample these and compute the calibration again. However, the new samples might affect the other points. One implementation we've done iterates over the points in the result and checks if:
- More than three points above the threshold (say 1.3 degrees), re-calibrate all points.
- Find worst point, if this is above the threshold, re-sample and check results for the effect, re-sample once more, if not improved adjust the position by moving the point towards the center and sample. This is may help when the tracker has problems with finding features needed, often this occurs for points along the edges, especially for larger displays.
Martin
 
Posts: 567
Joined: 29 Oct 2013, 15:20

Re: Duration of calibration points / recalibration

Postby Rafael » 05 Mar 2014, 05:07

Martin,

1. Sure, I was doing something like that too. :) But, as calibration results only have "one result per point" (not per point sample), I was wondering if only one (image) sample was being captured by the eyetracker, and the period of time used would be just to ensure the user had eyes open and was looking at that point, but it woudn't make sense if it was just that. What makes sense to me is to evaluate a few frames and average the result, remove outliers, and so on, so the need to wait a few milliseconds. Thanks for your answer.

2. My goal here is to allow the user to select which points he/she would like to recalibrate based on the results provided by the eyetracker. I like your approach, maybe I could adapt it to give the user "suggestions" on which point(s) should be recalibrated. My question is: what should I do to recalibrate it? I've already sent a calibration start request with pointcount = N (say 9), and sent N pointstart requests. It seems logic to me if I send a new calibration start with pointcount = 2 (if I want to recalibrate 2 points, for example), I will lose all calibration, and it will create a whole new calibration with only 2 points, is that right? I'm assuming in that case the right thing to do would be just to send more pointstart requests, only for those points I wish to recalibrate. Is that correct? How can I say I want to recalibrate those points and remove previous information about them? If I just use the same (x, y) coordinates, will the server know I want a recalibration?

On another thread, Anders said "the position of a calibration point must be unique", so I suspect this "feature" is used in these cases, right? ;)

EDIT: I tried to do that (just send the points again) and got this message for each point:

Code: Select all
{"category":"calibration","request":"pointend","statuscode":403,"values":{"statusmessage":"Another client initiated calibration"}}

What is the correct approach?

Best regards,

Rafael
Rafael
 
Posts: 13
Joined: 20 Feb 2014, 23:33


Return to General