Eye tracking validation using robot eye system
A robot eye and two different eye tracking systems may be used in tandem to determine the accuracy of eye tracking software that is used as part of one of the eye tracking systems. If inaccurate, the eye tracking software may then be adjusted in response. In various example embodiments, a camera may be used in one of the eye tracking systems to then track movement of the robot eye using the eye tracking software itself. Also in various example embodiments, the other eye tracking system may include components such magnetic sensors, optical sensors like CMOS sensors, and/or lasers for tracking the same movement of the robot eye.
1 . An apparatus comprising:
a memory comprising computer-executable instructions; and
a processor assembly configured to access the memory and execute the computer-executable instructions to perform operations comprising:
receiving, from a magnetic sensor and a laser positioned in a robot eye, first eye tracking data associated with movement of the robot eye;
generating, based at least in part on the first eye tracking data, a first eye tracking output;
receiving, from a second sensor of an eye tracking system external to the robot eye, second eye tracking data associated with movement of the robot eye;
generating, based at least in part on the second eye tracking data, a second eye tracking output; and
determining an accuracy level of the eye tracking system by comparing the first eye tracking output to the second eye tracking output.
2 . The apparatus of claim 1 , wherein the memory comprises additional computer-executable instructions and the processor assembly is further configured to access the memory and execute the additional computer-executable instructions to perform additional operations comprising present an output on a display, the output indicating the accuracy level.
3 . The apparatus of claim 1 , wherein the memory comprises additional computer-executable instructions and the processor assembly is further configured to access the memory and execute the additional computer-executable instructions to perform additional operations comprising based at least in part on the accuracy level, adjust one or more parameters of the eye tracking system.
4 . The apparatus of claim 1 , wherein receiving the first eye tracking data includes receiving the first eye tracking data from at least three second magnetic sensors disposed around the robot eye.
5 . The apparatus of claim 1 , wherein the magnetic sensor comprise tunnel magneto-resistance (TMR) sensors.
6 . The apparatus of claim 1 , wherein receiving the first eye tracking data includes receiving the first eye tracking data from an optical sensor different from the second sensor.
7 . The apparatus of claim 6 , wherein the optical sensor is disposed rearward of the robot eye.
8 . The apparatus of claim 6 , wherein the optical sensor comprises a complementary metal oxide semiconductor (CMOS) sensor.
9 . The apparatus of claim 6 , wherein the robot eye comprises a textured pattern trackable via the optical sensor.
10 . The apparatus of claim 1 , wherein receiving the first eye tracking data includes receiving the first eye tracking data from one or more optical sensors that track light from the laser.
11 . The apparatus of claim 10 , wherein the one or more optical sensors comprise one or more complementary metal oxide semiconductor (CMOS) sensors.
12 . The apparatus of claim 1 , wherein the memory comprises additional computer-executable instructions and the processor assembly is further configured to access the memory and execute the additional computer-executable instructions to perform additional operations comprising synchronizing, using one or more digital frame sync signals, tracking of the movement of the robot eye based at least in part on the first eye tracking data with tracking of movement of the robot eye based at least in part on the second eye tracking data.
13 . The apparatus of claim 1 , wherein the memory comprises additional computer-executable instructions and the processor assembly is further configured to access the memory and execute the additional computer-executable instructions to perform additional operations comprising synchronizing, using a strobe light, tracking of the movement of the robot eye based at least in part on the first eye tracking data with tracking of movement of the robot eye based at least in part on the second eye tracking data.
14 . The apparatus of claim 1 , further comprising a mechanized head that comprises the robot eye.
15 . A computer-implemented method comprising:
receiving, by an electronic system from a magnetic sensor and a laser positioned in an artificial eye, first eye tracking data associated with movement of the artificial eye;
generating, by the electronic system, based at least in part on the first eye tracking data, a first eye tracking output;
receiving, by the electronic system from a second sensor of an eye tracking system external to the artificial eye, second eye tracking data associated with movement of the artificial eye;
generating, by the electronic system, based at least in part on the second eye tracking data, a second eye tracking output;
determining, by the electronic system, an accuracy level of eye tracking software that is executed to track the movement of the artificial eye by comparing the first eye tracking output to the second eye tracking output; and
adjusting, by the electronic system, based at least in part on the accuracy level, the eye tracking software.
16 . One or more non-transitory computer-readable media comprising computer-executable instructions that, when executed by one or more processors of an electronic system, cause the electronic system to perform operations comprising:
receiving, from a magnetic sensor and a laser positioned in an artificial eye, first eye tracking data associated with movement of the artificial eye;
generating, based at least in part on the first eye tracking data, a first eye tracking output;
receiving, from a second sensor of an eye tracking system external to the artificial eye, second eye tracking data associated with movement of the artificial eye;
generating, based at least in part on the second eye tracking data, a second eye tracking output;
determining an accuracy level of eye tracking software that is executed to track the movement of the artificial eye by comparing the first eye tracking output to the second eye tracking output; and
adjusting, based at least in part on the accuracy level, a parameter of the eye tracking software.
17 . The computer-implemented method of claim 15 , further comprising synchronizing, based at least in part on the accuracy level, tracking of the movement of the artificial eye based at least in part on the first eye tracking data with tracking of movement of the artificial eye based at least in part on the second eye tracking data.
18 . The one or more non-transitory computer-readable media of claim 16 , further comprising additional computer-executable instructions that, when executed by the one or more processors, cause the electronic system to perform additional operations comprising synchronizing, based at least in part on the accuracy level, tracking of the movement of the artificial eye based at least in part on the first eye tracking data with tracking of movement of the artificial eye based at least in part on the second eye tracking data.
19 . The computer-implemented method of claim 15 , wherein receiving the first eye tracking data includes receiving the first eye tracking data from one or more optical sensors that track light from the laser.
20 . The one or more non-transitory computer-readable media of claim 16 , wherein receiving the first eye tracking data includes receiving the first eye tracking data from one or more optical sensors that track light from the laser.