Login| Sign Up| Help| Contact|

Patent Searching and Data

Document Type and Number:
WIPO Patent Application WO/2019/074868
Kind Code:
Disclosed herein are various methods of calibrating relative orientation between imaging sensor and spatial orientation sensor, and relative orientation between imaging sensors.

Application Number:
Publication Date:
April 18, 2019
Filing Date:
October 09, 2018
Export Citation:
Click for automatic bibliography generation   Help
International Classes:
G01B7/00; G06F3/01; G06F3/033; G06F3/0346; G06T7/00
Domestic Patent References:
Foreign References:
Other References:
See also references of EP 3710774A4
Attorney, Agent or Firm:
GU, Qian (US)
Download PDF:
What is claimed is: 

1. A method comprising: 

obtaining a first three‐dimensional (3D) line passing a center of a person’s eye that is  gazing at a point in a 3D space, based on a first relative orientation of the eye with respect  to a first imaging sensor and a first relative position of a pupil or limbus of the eye with  respect to the first imaging sensor; 

obtaining a second 3D line passing the center of the eye; and 

determining a relative position of the center of the eye with respect to the first  imaging sensor, based on the first 3D line and the second 3D line. 

2. The method of claim 1, further comprising obtaining the first relative position of the  pupil or limbus with respect to the first imaging sensor based on an image of the pupil or  limbus obtained by the first imaging sensor. 

3. The method of claim 1, further comprising obtaining the first relative orientation of  the eye with respect to the first imaging sensor based on a second relative orientation of  the eye with respect to a second imaging sensor and based on a relative orientation of the  first imaging sensor with respect to the second imaging sensor. 

4. The method of claim 3, further comprising obtaining the second relative orientation  of the eye with respect to the second imaging sensor based on an image of the point  obtained by the second imaging sensor. 

5. A method comprising: 

obtaining an image of a pupil or limbus of a person’s eye by a first imaging sensor;  determining a first relative orientation of the eye with respect to the first imaging  sensor based on the image;  determining a second relative orientation of the eye with respect to a second  imaging sensor based on the first relative orientation and based on a relationship between  the first imaging sensor and the second imaging sensor. 

6. The method of claim 5, further comprising: 

determining the relationship based on at least three pairs of relative orientations of  the eye, each pair comprising a third relative orientation of the eye with respect to the first  imaging sensor obtained from an image obtained by the first imaging sensor of a pupil or  limbus of the eye, and each pair comprising a fourth relative orientation of the eye with  respect to the second imaging sensor obtained from an image obtained by the second  imaging sensor of a point the eye is gazing at. 

7. The method of claim 5, wherein determining the first relative orientation is further  based on a relative position of a center of the eye with respect to the first imaging sensor.  8. The method of claim 5, further comprising determining a position of a point at which  the eye is gazing at, in an image obtained by the second imaging sensor, based on the  second relative orientation. 

9. A method comprising: 

obtaining an image of a pupil or limbus of a person’s eye by an imaging sensor;  determining a relative orientation of the eye with respect to the imaging sensor  based on the image; 

adjusting the relative orientation of the eye with respect to the first imaging sensor  based on a result of calibration. 

10. The method of claim 9, further comprising obtaining the result of calibration based  on at least three pairs of relative orientations of the eye, each pair comprising a first relative  orientation of the eye with respect to a first imaging sensor obtained from an image  obtained by the first imaging sensor of a pupil or limbus of the eye, and comprising a second  relative orientation of the eye with respect to the first imaging sensor obtained from an  image obtained by a second imaging sensor of a point the eye is gazing at. 

11. The method of claim 9, wherein determining the relative orientation is further based  on a relative position of a center of the eye with respect to the imaging sensor. 

12. A method comprising: 

while a person’s head is at a first orientation and the person’s eye is gazing at a point  in a 3D space, obtaining a first relative orientation of the eye with respect to a first imaging  sensor, and obtaining a first set of images by a second imaging sensor of a first pair of points  in the 3D space; 

while the head is at a second orientation rotationally offset from the first orientation  and the eye is gazing at the point, obtaining a second relative orientation of the eye with  respect to the first imaging sensor, and obtaining a second set of images by the second  imaging sensor of the first pair of points and a first set of images by the second imaging  sensor of a second pair of points in the 3D space; 

while the head is at a third orientation rotationally offset from the second  orientation about an axis along the second relative orientation of the eye and the eye is  gazing at the point, obtaining a second set of images by the second imaging sensor of the  second pair of points; 

determining a relative orientation of the first imaging sensor and the second imaging  sensor based on the first relative orientation of the eye with respect to the first imaging  sensor, the second relative orientation of the eye with respect to the first imaging sensor,  the first set of images of the first pair of points, the second set of images of the first pair of  points, the first set of images of the second pair of points, and the second set of images of  the second pair of points. 

13. The method of claim 12, wherein obtaining the first relative orientation of the eye  with respect to the first imaging sensor or obtaining the second relative orientation of the  eye with respect to the first imaging sensor is based on an image of a pupil or limbus of the  eye obtained by the first imaging sensor. 

14. The method of claim 12, wherein the third orientation is rotationally offset from the  second orientation about an axis along a vector representing the second relative orientation  of the eye. 

15. The method of claim 12, wherein the first pair of points is the same as the second  pair of points. 

16. A method comprising: 

while a person’s head is at a first orientation and the person’s eye is gazing at a point  in a 3D space, obtaining a first relative orientation of the eye with respect to an imaging  sensor, and obtaining a first output of a spatial orientation sensor; 

while the head is at a second orientation rotationally offset from the first orientation  and the eye is gazing at the point, obtaining a second relative orientation of the eye with  respect to the imaging sensor, and obtaining a second output of the spatial orientation  sensor; 

while the head is at a third orientation rotationally offset from the second  orientation about an axis along the second relative orientation of the eye and the eye is  gazing at the point, obtaining a third output of the spatial orientation sensor; and  

determining a relative orientation of the imaging sensor with respect to the spatial  orientation sensor based on the first relative orientation of the eye with respect to the  imaging sensor, the second relative orientation of the eye with respect to the imaging  sensor, the first output of the spatial orientation sensor, the second output of the spatial  orientation sensor, the third output of the spatial orientation sensor. 

17. The method of claim 16, wherein obtaining the first relative orientation or the  second relative orientation of the eye with respect to the imaging sensor is based on an  image of a pupil or limbus of the eye obtained by the imaging sensor. 

18. A method comprising: 

while a person’s head is at a first orientation and the person’s eye is gazing at a first  point in a 3D space, obtaining a first relative orientation of the eye with respect to a first  imaging sensor, and obtaining a first set of images by a second imaging sensor of a first pair  of points in the 3D space; 

while the head is at a second orientation rotationally offset from the first orientation  and the eye is gazing at the first point, obtaining a second relative orientation of the eye  with respect to the first imaging sensor, and obtaining a second set of images by the second  imaging sensor of the first pair of points; 

while the head is at a third orientation and the eye is gazing at a second point in the  3D space, obtaining a third relative orientation of the eye with respect to the first imaging  sensor, and obtaining a first set of images by the second imaging sensor of a second pair of  points in the 3D space; 

while the head is at a fourth orientation rotationally offset from the third orientation  and the eye is gazing at the second point, obtaining a fourth relative orientation of the eye  with respect to the first imaging sensor, and obtaining a second set of images by the second  imaging sensor of the second pair of points;  determining a relative orientation of the first imaging sensor with respect to the  second imaging sensor based on the first relative orientation of the eye with respect to the  first imaging sensor, the second relative orientation of the eye with respect to the first  imaging sensor, the third relative orientation of the eye with respect to the first imaging  sensor, the fourth relative orientation of the eye with respect to the first imaging sensor,  the first set of images of the first pair of points, the second set of images of the first pair of  points, the first set of images of the second pair of points, and the second set of images of  the second pair of points. 

19. The method of claim 18, wherein obtaining the first relative orientation, the second  relative orientation, the third relative orientation or the fourth relative orientation of the  eye with respect to the first imaging sensor is based on an image of a pupil or limbus of the  eye obtained by the first imaging sensor. 

20. The method of claim 18, wherein the third orientation is rotationally offset from the  second orientation. 

21. The method of claim 18, wherein the third orientation and the second orientation  are the same. 

22. The method of claim 18, the first pair of points is the same as the second pair of  points. 

23. The method of claim 18, wherein the first point is the same as the second point.  24. A method comprising: 

while a person’s head is at a first orientation and the person’s eye is gazing at a first  point in a 3D space, obtaining a first relative orientation of the eye with respect to an  imaging sensor, and obtaining a first output of a spatial orientation sensor;  while the head is at a second orientation rotationally offset from the first orientation  and the eye is gazing at the first point, obtaining a second relative orientation of the eye  with respect to the imaging sensor, and obtaining a second output of the spatial orientation  sensor; 

while the head is at a third orientation and the eye is gazing at a second point in the  3D space, obtaining a third relative orientation of the eye with respect to the imaging  sensor, and obtaining a third output of the spatial orientation sensor; 

while the head is at a fourth orientation rotationally offset from the third orientation  and the eye is gazing at the second point, obtaining a fourth relative orientation of the eye  with respect to the imaging sensor, and obtaining a fourth output of the spatial orientation  sensor; 

determining a relative orientation of the imaging sensor with respect to the spatial  orientation sensor based on the first relative orientation of the eye with respect to the  imaging sensor, the second relative orientation of the eye with respect to the imaging  sensor, the third relative orientation of the eye with respect to the imaging sensor, the  fourth relative orientation of the eye with respect to the imaging sensor, the first output of  the spatial orientation sensor, the second output of the spatial orientation sensor, the third  output of the spatial orientation sensor, and the fourth output of the spatial orientation  sensor. 

25. The method of claim 24, wherein obtaining the first relative orientation, the second  relative orientation, the third relative orientation or the fourth relative orientation of the  eye with respect to the imaging sensor is based on an image of a pupil or limbus of the eye  obtained by the imaging sensor. 

26. The method of claim 24, wherein the third orientation is rotationally offset from the  second orientation. 

27. The method of claim 24, wherein the third orientation and the second orientation  are the same. 

28. The method of claim 24, wherein the first point is the same as the second point.  29. A computer program product comprising a non‐transitory computer readable  medium having instructions recorded thereon, the instructions when executed by a  computer implementing the method of any of claims 1‐28. 


Cross‐Reference to Related Applications 

[0001] The disclosure herein relates U.S. Patent Application Nos. 62/557786 and 

62/570161, and PCT Application No. PCT/US2016/065141 , the disclosures of which are  hereby incorporated by reference in their entirety. 


[0002] Human computer interaction (HCI), or generally human  machine interaction, focuses  on design and use of computer technology as well as  interfaces between a user and a  computer.  HCI depends on responsive, intuitive and  accurate measurements of human  input actions.  Mouse, Keyboard and touch screen are  conventional input devices that  require user’s hands‐on controls.  Some input dev ices like Microsoft Kinect® are capable of  tracking the user’s body or hand gestures without  any physical contact.  The word “user”  and the word “person” may be used interchangeably  in this disclosure. 

[0003]  The recent progress in virtual reality (VR) brought  VR goggles to consumer market.   VR goggles can create immersive three‐dimensional (3 D) experience to the user.  The user  can look around in virtual world by a turn of the head just like looking around in the real  world. 

[0004] Augmented reality (AR) is another area that is progr essing fast.  One major  difference between AR and VR is that AR operates in  real‐time on real world scenes as  opposed to solely computer created or recorded scenes  in VR.  In both VR and AR, it will be  very useful to know where the user is looking at a nd what actions the user wants to take on  the intended targets.  Effective and reliable eye tr acking will enable a broad range of  applications under such circumstances.  [0005] Self‐driving vehicles are also taking the front sta ge nowadays.  There are situations  where a car in its autonomous mode might need a dr iver’s attention due to updated road or  traffic conditions or driving mode changes. As such, it is useful to constantly monitor where  the driver is looking at. 

[0006] Machine learning and artificial intelligence (AI) may work in a cycle of learning,  modeling and predicting.  Quick and intuitive trackin g the user’s attention point for data  acquisition and confirmation can play an important ro le in this loop. 


[0007] Disclosed herein is a method comprising: obtaining a first three‐dimensional (3D) line  passing a center of a person’s eye that is gazing  at a point in a 3D space, based on a first  relative orientation of the eye with respect to a f irst imaging sensor and a first relative  position of a pupil or limbus of the eye with resp ect to the first imaging sensor; obtaining a  second 3D line passing the center of the eye; and  determining a relative position of the  center of the eye with respect to the first imaging  sensor, based on the first 3D line and the  second 3D line. 

[0008] According to an embodiment, the method further compri ses obtaining the first  relative position of the pupil or limbus with respec t to the first imaging sensor based on an  image of the pupil or limbus obtained by the first imaging sensor. 

[0009] According to an embodiment, the method further compri ses obtaining the first  relative orientation of the eye with respect to the first imaging sensor based on a second  relative orientation of the eye with respect to a s econd imaging sensor and based on a  relative orientation of the first imaging sensor with  respect to the second imaging sensor.  [0010] According to an embodiment, the method further compri ses obtaining the second  relative orientation of the eye with respect to the second imaging sensor based on an image  of the point obtained by the second imaging sensor.

[0011] Disclosed herein is a method comprising: obtaining an  image of a pupil or limbus of a  person’s eye by a first imaging sensor; determining  a first relative orientation of the eye  with respect to the first imaging sensor based on t he image; determining a second relative  orientation of the eye with respect to a second ima ging sensor based on the first relative  orientation and based on a relationship between the  first imaging sensor and the second  imaging sensor. 

[0012] According to an embodiment, the method further compri ses: determining the  relationship based on at least three pairs of relati ve orientations of the eye, each pair  comprising a third relative orientation of the eye w ith respect to the first imaging sensor  obtained from an image obtained by the first imaging  sensor of a pupil or limbus of the eye,  and each pair comprising a fourth relative orientatio n of the eye with respect to the second  imaging sensor obtained from an image obtained by th e second imaging sensor of a point  the eye is gazing at. 

[0013] According to an embodiment, determining the first rel ative orientation is further  based on a relative position of a center of the ey e with respect to the first imaging sensor. 

[0014] According to an embodiment, the method further compri ses determining a position  of a point at which the eye is gazing at, in an  image obtained by the second imaging sensor,  based on the second relative orientation. 

[0015] Disclosed herein is a method comprising: obtaining an  image of a pupil or limbus of a  person’s eye by an imaging sensor; determining a r elative orientation of the eye with  respect to the imaging sensor based on the image; a djusting the relative orientation of the  eye with respect to the first imaging sensor based  on a result of calibration. 

[0016] According to an embodiment, the method further compri ses obtaining the result of  calibration based on at least three pairs of relativ e orientations of the eye, each pair  comprising a first relative orientation of the eye w ith respect to a first imaging sensor  obtained from an image obtained by the first imaging  sensor of a pupil or limbus of the eye,  and comprising a second relative orientation of the  eye with respect to the first imaging  sensor obtained from an image obtained by a second  imaging sensor of a point the eye is  gazing at. 

[0017] According to an embodiment, determining the relative  orientation is further based  on a relative position of a center of the eye with  respect to the imaging sensor. 

[0018] Disclosed herein is a method comprising: while a per son’s head is at a first  orientation and the person’s eye is gazing at a p oint in a 3D space, obtaining a first relative  orientation of the eye with respect to a first imag ing sensor, and obtaining a first set of  images by a second imaging sensor of a first pair  of points in the 3D space; while the head is  at a second orientation rotationally offset from the first orientation and the eye is gazing at  the point, obtaining a second relative orientation of  the eye with respect to the first imaging  sensor, and obtaining a second set of images by the  second imaging sensor of the first pair  of points and a first set of images by the second imaging sensor of a second pair of points in  the 3D space; while the head is at a third orienta tion rotationally offset from the second  orientation about an axis along the second relative  orientation of the eye and the eye is  gazing at the point, obtaining a second set of imag es by the second imaging sensor of the  second pair of points; determining a relative orienta tion of the first imaging sensor and the  second imaging sensor based on the first relative or ientation of the eye with respect to the  first imaging sensor, the second relative orientation of the eye with respect to the first  imaging sensor, the first set of images of the firs t pair of points, the second set of images of  the first pair of points, the first set of images  of the second pair of points, and the second  set of images of the second pair of points. 

[0019] According to an embodiment, obtaining the first relat ive orientation of the eye with  respect to the first imaging sensor or obtaining the  second relative orientation of the eye  with respect to the first imaging sensor is based o n an image of a pupil or limbus of the eye  obtained by the first imaging sensor. 

[0020] According to an embodiment, the third orientation is rotationally offset from the  second orientation about an axis along a vector repr esenting the second relative orientation  of the eye. 

[0021] According to an embodiment, the first pair of points  is the same as the second pair  of points. 

[0022] Disclosed herein is a method comprising: while a per son’s head is at a first  orientation and the person’s eye is gazing at a p oint in a 3D space, obtaining a first relative  orientation of the eye with respect to an imaging s ensor, and obtaining a first output of a  spatial orientation sensor; while the head is at a  second orientation rotationally offset from  the first orientation and the eye is gazing at the point, obtaining a second relative  orientation of the eye with respect to the imaging  sensor, and obtaining a second output of  the spatial orientation sensor; while the head is at  a third orientation rotationally offset  from the second orientation about an axis along a v ector representing the second relative  orientation of the eye and the eye is gazing at th e point, obtaining a third output of the  spatial orientation sensor; and determining a relative  orientation of the imaging sensor with  respect to the spatial orientation sensor based on t he first relative orientation of the eye  with respect to the imaging sensor, the second relat ive orientation of the eye with respect  to the imaging sensor, the first output of the spat ial orientation sensor, the second output  of the spatial orientation sensor, the third output  of the spatial orientation sensor. 

[0023] According to an embodiment, obtaining the first relat ive orientation or the second  relative orientation of the eye with respect to the imaging sensor is based on an image of a  pupil or limbus of the eye obtained by the imaging sensor. 

[0024] Disclosed herein is a method comprising: while a per son’s head is at a first  orientation and the person’s eye is gazing at a f irst point in a 3D space, obtaining a first  relative orientation of the eye with respect to a f irst imaging sensor, and obtaining a first set  of images by a second imaging sensor of a first pa ir of points in the 3D space; while the head  is at a second orientation rotationally offset from  the first orientation and the eye is gazing  at the first point, obtaining a second relative orie ntation of the eye with respect to the first  imaging sensor, and obtaining a second set of images  by the second imaging sensor of the  first pair of points; while the head is at a third  orientation and the eye is gazing at a second  point in the 3D space, obtaining a third relative o rientation of the eye with respect to the  first imaging sensor, and obtaining a first set of  images by the second imaging sensor of a  second pair of points in the 3D space; while the h ead is at a fourth orientation rotationally  offset from the third orientation and the eye is ga zing at the second point, obtaining a  fourth relative orientation of the eye with respect  to the first imaging sensor, and obtaining  a second set of images by the second imaging sensor  of the second pair of points;  determining a relative orientation of the first imagi ng sensor with respect to the second  imaging sensor based on the first relative orientatio n of the eye with respect to the first  imaging sensor, the second relative orientation of th e eye with respect to the first imaging  sensor, the third relative orientation of the eye wi th respect to the first imaging sensor, the  fourth relative orientation of the eye with respect  to the first imaging sensor, the first set of  images of the first pair of points, the second set of images of the first pair of points, the first  set of images of the second pair of points, and th e second set of images of the second pair  of points. 

[0025] According to an embodiment, obtaining the first relat ive orientation, the second  relative orientation, the third relative orientation o r the fourth relative orientation of the  eye with respect to the first imaging sensor is bas ed on an image of a pupil or limbus of the  eye obtained by the first imaging sensor. 

[0026] According to an embodiment, the third orientation is rotationally offset from the  second orientation. 

[0027] According to an embodiment, the third orientation and  the second orientation are  the same. 

[0028] According to an embodiment, the first pair of points  is the same as the second pair  of points. 

[0029] According to an embodiment, the first point is the  same as the second point. 

[0030] Disclosed herein is a method comprising: while a per son’s head is at a first  orientation and the person’s eye is gazing at a f irst point in a 3D space, obtaining a first  relative orientation of the eye with respect to an  imaging sensor, and obtaining a first  output of a spatial orientation sensor; while the he ad is at a second orientation rotationally  offset from the first orientation and the eye is ga zing at the first point, obtaining a second  relative orientation of the eye with respect to the imaging sensor, and obtaining a second  output of the spatial orientation sensor; while the  head is at a third orientation and the eye  is gazing at a second point in the 3D space, obtai ning a third relative orientation of the eye  with respect to the imaging sensor, and obtaining a third output of the spatial orientation  sensor; while the head is at a fourth orientation r otationally offset from the third  orientation and the eye is gazing at the second poi nt, obtaining a fourth relative orientation  of the eye with respect to the imaging sensor, and obtaining a fourth output of the spatial  orientation sensor; determining a relative orientation of the imaging sensor with respect to  the spatial orientation sensor based on the first re lative orientation of the eye with respect  to the imaging sensor, the second relative orientatio n of the eye with respect to the imaging  sensor, the third relative orientation of the eye wi th respect to the imaging sensor, the  fourth relative orientation of the eye with respect  to the imaging sensor, the first output of  the spatial orientation sensor, the second output of the spatial orientation sensor, the third  output of the spatial orientation sensor, and the fo urth output of the spatial orientation  sensor. 

[0031] According to an embodiment, obtaining the first relat ive orientation, the second  relative orientation, the third relative orientation o r the fourth relative orientation of the  eye with respect to the imaging sensor is based on an image of a pupil or limbus of the eye  obtained by the imaging sensor. 

[0032] According to an embodiment, the third orientation is rotationally offset from the  second orientation. 

[0033] According to an embodiment, the third orientation and  the second orientation are  the same. 

[0034] According to an embodiment, the first point is the  same as the second point. 

[0035] Disclosed herein is a computer program product compri sing a non‐transitory  computer readable medium having instructions recorded  thereon, the instructions when  executed by a computer implementing any of the above  methods.  Brief Description of Figures 

[0036] Fig. 1 shows a two‐dimensional (2D) coordinate syst em. 

[0037] Fig. 2 shows a 3D coordinate system. 

[0038] Fig. 3 shows several 3D coordinate systems referred  to herein. 

[0039] Fig. 4 shows that an eye camera and a field camera  are attached to a harness frame  worn by a user. 

[0040] Fig. 5 schematically shows a flowchart of a method, according to an embodiment. 

[0041] Fig. 6 schematically shows a flowchart of a method, according to an embodiment. 

[0042] Fig. 7 schematically shows a flowchart of a method, according to an embodiment. 

[0043] Fig. 8 schematically shows a flowchart of a method, according to an embodiment. 

[0044] Fig. 9 schematically shows a flowchart of a method, according to an embodiment. 

[0045] Fig. 10 schematically shows a flowchart of a method,  according to an embodiment. 

[0046] Fig. 11 schematically shows a flowchart of a method,  according to an embodiment. 

Detailed Description 

[0047] A 3D coordinate system using the right‐hand rule i s defined in Part A1.1 of the  Appendix section. A 2D coordinate system for camera  image frame is defined in Part A1.2 of  the Appendix section. 

[0048] Mathematical utility functions used in this disclosure  are listed in Part A2 of the  Appendix section. Quaternion, vector and matrix mathem atics is discussed herein. 

Quaternions are widely used in this disclosure. A function using quaternions can also be  expressed using matrices, Euler angles or other suita ble mathematic expressions. 

[0049] In abbreviations in the form of “A_B_C” used in this disclosure: A represents the  type; B represents the specific; C represents the co ntext. As an example, an abbreviation  “q_c_h” means a quaternion “q” representing th e orientation of a camera “c” in the head  coordinate system “h.” As another example, “q_cf _ce” means a quaternion “q” representing  the orientation of a field camera “cf” in the e ye camera coordinate system “ce.”  See Part A2  of the Appendix section. 

[0050] This disclosure relates to system and methods for ca librating an eye tracking system  that comprises an eye camera and a field camera. Co nfirmed gaze vectors obtained from  gaze point images captured from the field camera can  be used for calculating the eye center  position relative to the eye camera, and for correct ing measured gaze vectors from the eye  camera. Orientation of the eye coordinate system and reference coordinate system may be  obtained by calibration processes to determine the re lative orientation between the eye  and field cameras, and relative orientation between t he eye camera and a spatial  orientation sensor.  A spatial orientation sensor is a device that measures its own  orientation in a 3D space. 

[0051] In one embodiment, there are two cameras, eye camera  CE and field camera CF.  Their relative orientation does not change. Their ori entations relative to the user’s head do  not change. The relative orientation of the field ca mera CF coordinate system to the eye  camera CE coordinate system is not required to be a vailable. The eye camera CE is facing an  eye of the user. The field camera CF is facing awa y from the eye, as schematically shown in  Fig. 4. The eye camera CE takes images of the user ’s eye. The field camera CF takes images  of the scene in front of the user. It is assumed  that the measured gaze vector in the eye  camera CE coordinate system can be obtained.  The r elative orientation of the field camera  CF coordinate system with respect to the eye camera CE coordinate system may be known.  

[0052] In one embodiment, there is an eye camera CE and a  spatial orientation sensor G.  Their relative orientation does not change. Their ori entations relative to the user’s head do  not change. The relative orientation of the eye came ra CE coordinate system to the spatial  orientation sensor G coordinate system is not require d to be available. The eye camera CE is  facing an eye of the user and takes images of the user’s eye.  The spatial orientation sensor  G measures its own orientation in the world coordina te system. 

[0053] A gaze vector is the vector pointing from the cente r of the user’s eye to the point  where the user is looking at. A gaze vector represe nts the orientation of the eye.  A gaze  point is the point in the world where the user is looking at.  A measured gaze vector is  obtained from the image of the pupil center or the limbus center captured by the eye  camera. A confirmed gaze vector is obtained from the  image of the gaze point captured by  the field camera. 

[0054] In a calibration process for getting a confirmed vec tor transformed from the field  camera CF to the eye camera CE, the user looks at an object as a gaze point in front of the  field camera CF. A confirmed gaze vector in the fie ld camera CF coordinate system can be  obtained from the gaze point image point in the fie ld camera CF image plane. The gaze point  image point can be obtained either by user manually picking it or automatic machine vision  methods which are out of the scope of this disclosu re. 

[0055] The confirmed gaze vector in the field camera CF co ordinate system can be further  converted into the confirmed gaze vector in the eye camera CE coordinate system (see Part  C1 in the Methods section), assuming the orientation of the field camera CF relative to the  eye camera CE is known.  

[0056] In a calibration process, the user looks at an obje ct as a gaze point in front of the  field camera CF. Knowing the confirmed gaze point im age point in the field camera CF image  plane and its corresponding pupil center image point or limbus center image point in the  eye camera CE image plane, a line that passes the  eye ball center in the eye camera CE  coordinate system can be obtained.   [0057] Knowing two or more lines that pass the eye ball c enter in the eye camera CE  coordinate system, the position of the eye ball cent er can be obtained.   [0058] Knowing the eye ball center in the eye camera CE c oordinate system, and a pupil  center image point or limbus center image point in  the eye camera CE image plane, the gaze  vector in the eye camera coordinate system can be o btained.   [0059] This disclosure refers to the following coordinate sy stem as shown in Fig. 3. They are  defined as:  Eye camera CE coordinate system Xce‐Yce‐Zce‐Oce: CS‐CE 

Field camera CF coordinate system Xcf‐Ycf‐Zcf‐ Ocf:  CS‐CF  Spatial orientation Sensor coordinate system Xg‐Yg‐ Zg‐Og: CS‐CG  Eye coordinate system Xe‐Ye‐Ze‐Oe: CS‐CE  Reference coordinate system Xr‐Yr‐Zr‐Or:  CS‐CR  World coordinate system Xw‐Yw‐Zw‐Ow:  CS‐W  System Hardware, Software and Configuration 

[0060] An imaging sensor measures the brightness, both brigh tness and color of light. A  camera is one kind of imaging sensor.  Other kinds of imaging sensors can be used here in  similar ways.  A camera can be of color, grayscale,  infrared or non‐infrared, etc. Parameters  of a camera include its physical dimensions, resoluti on and focal length of the lens mounted  etc. A 2D camera image frame coordinate system for  is defined for camera output. See Part  A1.2 in the Appendix section.  [0061] Head Gear. The apparatus to fix the cameras and oth er sensors to the user’s head. It  can be a glasses frame, a head band or a helmet,  etc., depending on the applications. 

[0062] Computer. A computer processes the output of the sen sing unit and calculates the  motion/gesture tracking results. It can be either an embedded system or a desktop system.  [0063] Software. The computer software implements the algorit hms and enables the  workflows. 

[0064] Configuration. For one embodiment, as shown in Fig.  4, as an eye tracking and gaze  point recording system, an eye camera and a field c amera are attached to a harness frame  worn by the user. The relative orientation between t he two cameras does not change. The  orientations of the two cameras relative to the user ’s head do not change, either.  

[0065] Obtaining a confirmed gaze vector in eye camera CE  coordinate system CS‐E from a  confirmed gaze point image point in field camera CF image plane is described below. 

[0066] In a calibration process, the user looks at an obje ct as a gaze point in front of the  field camera CF, a confirmed gaze point image point in the field camera CF image plane can  be obtained. A confirmed gaze vector in the field c amera CF coordinate system can be  obtained from this confirmed gaze point image point  in the field camera CF image plane. 

[0067] Assuming the relative orientation of the field camera  CF coordinate system with  respect to the eye camera CE coordinate system is k nown, the confirmed gaze vector in the  field camera CF coordinate system can be further con verted into the confirmed gaze vector  in the eye camera CE coordinate system (See Part C1  in the Methods section). 

[0068] Obtaining a line passing the eye ball center in eye  camera CE coordinate system from  a confirmed gaze point image point in field camera  CF image plane and its corresponding  pupil center image point or limbus center image poin t in eye camera CE image plane is  described below.  

[0069] When the relative orientation of the field camera CF  coordinate system with respect  to the eye camera CE coordinate system may be known , the user looks at one object as a  gaze point in front of the field camera, the confir med gaze point image point in the field  camera CF image plane can be obtained. The pupil ce nter image point or limbus center  image point in eye camera CE image plane can be ob tained. 

[0070] Knowing the confirmed gaze point image point in the field camera CF image plane  and the pupil center image point or limbus center i mage point in the eye camera CE image  plane, a line passing eye ball center in the eye c amera CE coordinate system can be  obtained (See Part C2 in the Methods section). 

[0071] Obtaining the eye ball center in eye camera CE coor dinate system from two or more  pairs of confirmed gaze point image points in the f ield camera CF image plane and its  corresponding pupil center image point or limbus cent er image point in the eye camera CE  image plane is described below.   

[0072] By performing the process above at least two times, at least two lines that pass the  eye ball center in the eye camera CE coordinate sys tem can be obtained. Using these lines,  the eye ball center in the eye camera CE coordinate  system CS‐CE can be obtained (See Part  C3 in the Methods section). The eye ball center (i. e., the origin of the eye coordination  system CS‐E) in the eye camera CE coordinate syste m can be used for obtaining a gaze  vector from pupil center image or limbus center imag e point of the eye in the eye camera  CE image plane using methods described in Part C1 o f the Algorithms section in PCT Patent  Application No. PCT/US2016/065141.   

[0073] Obtaining a correction matrix from three pairs of ga ze vectors, each pair of gaze  vectors comprising a confirmed gaze vector in the fi eld camera CF coordinate system and its  corresponding measured gaze vector in the eye camera CE coordinate system, is described  below.  [0074] The user looks at one object as a gaze point in f ront of the field camera, the  confirmed gaze vector in field camera CF image plane  can be obtained. The corresponding  measured gaze vector in eye camera CE coordinate sys tem can also be obtained. 

[0075] By repeating this process three times, three pairs o f confirmed gaze vector in field  camera CF coordinate system and its corresponding mea sured gaze vector in eye camera CE  coordinate system can be obtained.  A correction mat rix can be obtained (See Part C4 in the  Methods section). 

[0076] This correction matrix represents a connection between  the measured gaze vector in  the eye camera CE coordinate system and the confirme d gaze vector in the field camera CF  coordinate system in a tracking mode.  

[0077] Obtaining a correction matrix from three pairs of ga ze vectors, each pair of gaze  vectors comprising confirmed gaze vector in eye camer a CE coordinate system and its  corresponding measured gaze vector in eye camera CE  coordinate system, is described  below. 

[0078] Under the assumption that the measured gaze vector i n the eye camera CE  coordinate system can be obtained and the relative o rientation of field camera CF  coordinate system with respect to the eye camera CE coordinate system is known, the user  looks at one object as a gaze point in front of t he field camera, and the confirmed gaze  vector in field camera CF coordinate system can be  obtained. The confirmed gaze vector in  the field camera CF coordinate system can be convert ed into the confirmed gaze vector in  the eye camera CE coordinate system. The correspondin g measured gaze vector in eye  camera CE coordinate system can also be obtained. 

[0079] By repeating this process three times, three pairs o f confirmed gaze vector in eye  camera CE coordinate system and its corresponding mea sured gaze vector in eye camera CE  coordinate system are obtained. A correction matrix c an be obtained (See Part C4 in the  Methods section). 

[0080] This correction matrix represents a connection between  the measured gaze vector in  the eye camera CE coordinate system and the confirme d gaze vector in the eye camera CE  coordinate system in a tracking mode. 

[0081] Obtaining a corrected gaze vector from a measured ga ze vector and a correction  matrix is described below. 

[0082] Under the assumption that the measured gaze vector i n eye camera CE coordinate  system can be obtained, in a tracking mode, a measu red gaze vector in eye camera CE  coordinate system can be obtained.  Knowing the corr ection matrix that links the measured  gaze vector in the eye camera CE coordinate system  to the confirmed gaze vector in the  field camera CF coordinate system, a corrected gaze  vector in field camera CF coordinate  system can be obtained (See Part C5 in the Methods section).  As the gaze vector represents  the direction the user’s eye is pointing to, the  corrected gaze vector provides a direction  about what the user is seeing in the field camera  CF coordinate system with measuring error  corrected and relative orientation between the eye ca mera CE and field camera CF taken  into account. 

[0083] Under the assumption that the measured gaze vector i n eye camera CE coordinate  system can be obtained and the relative orientation  of the field camera CF coordinate  system with respect to the eye camera CE coordinate system is known, in a tracking mode, a  measured gaze vector in eye camera coordinate system can be obtained.  Knowing the  correction matrix linking  the measured gaze vector  in the eye camera CE coordinate system  to the confirmed gaze vector in the eye camera CE  coordinate system, a corrected gaze  vector in eye camera coordinate system can be obtain ed (See Part C5 in the Methods  section). As the gaze vector represents the direction  the user’s eye is pointing to, the  corrected gaze vector provides a direction about what  the user is seeing in the eye camera  coordinate system with measuring errors corrected. 

[0084] Obtaining the orientation of the eye camera CE coord inate system CS‐CE to the field  camera CF coordinate system CS‐CF from three orient ation changes of the system is  described below. 

[0085] Under the assumption that the measured gaze vector i n eye camera CE coordinate  system can be obtained, four physical points PA, PB,  PC and PD in the field of view of the  field camera can be identified, where PC and PD, as  a pair, can be the same as, or different  from PA and PB as a pair. 

[0086] In a calibration process to determine the orientation  of CS‐CE in CS‐CF: 

[0087] First step, the user picks an object in the world  as a gaze point, first gaze vector  v_gaze_ce_1 in CS‐CE is obtained. The images of po int PA and PB in the field camera CF  coordinate system are obtained as p_a_i_1, p_b_i_1. 

[0088] Second step, without losing the same gaze point, the  user rotates the head to a  second position, a second gaze vector in CS‐CE v_g aze_ce_2 is obtained. The images of point  PA and PB in field camera CF coordinate system are obtained as p_a_i_2, p_b_i_2.  The  images of point PC and PD in field camera CF coord inate system are obtained as p_c_i_1,  p_d_i_1. 

[0089] Third step, without losing the same gaze point, the user rotates the head about the  gaze vector v_gaze_ce_2, the images of point PC and PD in the field camera CF coordinate  system are obtained as p_c_i_2, p_d_i_2.  [0090] Knowing v_gaze_ce_1 and v_gaze_ce_2, a quaternion q_ey e_ce representing the  orientation of the eye coordinate system CS‐E in t he eye camera CE coordinate system CS‐ CE can be obtained (See Part C6 in the Methods sec tion). 

[0091] In the same time, knowing p_a_i_1, p_b_i_1, p_a_i_2, p_b_i_2,  p_c_i_1, p_d_i_1,  and p_c_i_2, p_d_i_2, an quaternion q_ref_cf represent ing a reference coordinate system  CS‐R in field camera CF coordinate system CS‐CF  can be obtained (See Part C8 in the  Methods section). 

[0092] The method_index used in Part C6 in the Methods sec tion for obtaining orientation  of CS‐E in CS‐CE should be the same as method_i ndex used in Part C8 in the Methods  section for obtaining orientation of CS‐R in CS‐C F. 

[0093] Knowing q_eye_ce and q_ref_cf, a quaternion representi ng the orientation of eye  camera CE coordinate system CS‐CE in field camera  CF coordinate system CS‐CF can be  obtained (See Part C12 in the Methods section). 

[0094] Obtaining the orientation of eye camera CE coordinate  system CS‐CE to field camera  CF orientation sensor coordinate system CS‐CF from  four orientation changes of the System  is described below. 

[0095] Under the assumption that the measured gaze vector i n eye camera CE coordinate  system can be obtained, four physical points PA, PB,  PC and PD in the field of view of the  field camera can be identified, where PC and PD, as  a pair, can be the same as, or different  from PA and PB as a pair. 

[0096] In a calibration process to determine the orientation  of CS‐CE in CS‐CF: 

[0097] First step, when the user’s head is at a first p osition and the user stares at a gaze  point, a first gaze vector v_gaze_ce_1 in CS‐CE is  obtained, and the images of point PA and  PB in the field camera CF coordinate system are obt ained as p_a_i_1, p_b_i_1.  [0098] Second step, without losing the same gaze point, the  user rotates the head to a  second position; at the end of the rotation, a seco nd gaze vector in CS‐CE v_gaze_ce_2 is  obtained. The images of point PA and PB in field c amera CF coordinate system are also  obtained as p_a_i_2, p_b_i_2. 

[0099] Third step, the user rotates the head to a third p osition while staring at the same  gaze point or a new gaze point, a third gaze vecto r in CS‐CE v_gaze_ce_3 is obtained. The  images of point PC and PD in field camera CF coord inate system are obtained as p_c_i_1,  p_d_i_1. 

[00100] Fourth step, without losing the same gaze point used  in third step, the user  rotates the head to a fourth position, a fourth gaz e vector in CS‐CE v_gaze_ce_4 is obtained.  The images of point PC and PD in field camera CF  coordinate system are obtained as  p_c_i_2, p_d_i_2. 

[00101] Knowing v_gaze_ce_1, v_gaze_ce_2, v_gaze_ce_3 and v_gaz e_ce_4, a  quaternion q_eye_ce representing the orientation of th e eye coordinate system CS‐E in the  eye camera CE coordinate system CS‐CE can be obtai ned (See Part C7 in the Methods  section). 

[00102] Knowing p_a_i_1, p_b_i_1, p_a_i_2, p_b_i_2,  p_c_i_1, p_d_i_1, and p_c_i_2,  p_d_i_2, an quaternion q_ref_cf representing a referen ce coordinate system CS‐R in field  camera CF coordinate system CS‐CF can be obtained  (See Part C9 in the Methods section). 

[00103] The method_index used in Part C7 in the Methods sec tion for obtaining  orientation of CS‐E in CS‐CE should be the same as method_index used in Part C9 in the  Methods section for obtaining orientation of CS‐R i n CS‐CF. 

[00104] In one embodiment, the four positions of the user’ s head are up, down, left  and right relative to a starting position.  [00105] Knowing q_eye_ce and q_ref_cf, q quaternion representi ng the orientation of  the eye camera CE coordinate system CS‐CE in the  field camera CF coordinate system CS‐CF  can be obtained (See Part C12 in the Methods sectio n). 

[00106] Obtaining the orientation of the eye camera CE coord inate system CS‐CE in  the spatial orientation sensor G orientation sensor c oordinate system CS‐G from three  orientation changes of the system is described below.  

[00107] Under the assumption that the measured gaze vector i n the eye camera CE  coordinate system can be obtained, the orientation of  CS‐CE in CS‐CF may be determined in  the process below: 

[00108] First step, the user picks an object in the world  as a gaze point, a first gaze  vector v_gaze_ce_1 in CS‐CE is obtained. The output  of the spatial orientation sensor G is  obtained as q_g_w_1. 

[00109] Second step, without losing the same gaze point, the  user rotates the head to  a second position, a second gaze vector in CS‐CE  v_gaze_ce_2 is obtained. The output of the  spatial orientation sensor G is obtained as q_g_w_2, and q_g_w_3 is set to be the same as  q_g_w_2. 

[00110] Third step, without losing the same gaze point, the user rotates the head  about the gaze vector v_gaze_ce_2.  After the rotati on, the output of the spatial orientation  sensor G is obtained as q_g_w_4. 

[00111] Knowing v_gaze_ce_1 and v_gaze_ce_2, a quaternion q_ey e_ce representing  the orientation of the eye coordinate system CS‐E  in the eye camera CE coordinate system  CS‐CE can be obtained using (See Part C6 in the  Methods section).  [00112] Knowing q_g_w_1, q_g_w_2, q_g_w_3 and q_g_w_4, a quat ernion q_ref_g  representing a reference coordinate system CS‐R in  the spatial orientation sensor G  coordinate system CS‐G can be obtained (See Part C 10 in the Methods section). 

[00113] The method_index used in Part C6 in the Methods sec tion for obtaining  orientation of CS‐E in CS‐CE should be the same as method_index used in Part C10 in the  Methods section for obtaining orientation of CS‐R i n CS‐G. 

[00114] Knowing q_eye_ce and q_ref_g, a quaternion representin g the orientation of  eye camera CE coordinate system CS‐CE in spatial o rientation sensor G coordinate system  CS‐G can be obtained (See Part C13 in the Methods  section). 

[00115] Obtaining the orientation of the eye camera CE coord inate system CS‐CE in  the spatial orientation sensor G orientation sensor c oordinate system CS‐G from four  orientation changes of the system is described below.  

[00116] Under the assumption that the measured gaze vector i n eye camera CE  coordinate system can be obtained, the user picks an  object as in the world as a gaze point.  Four physical points PA, PB, PC and PD in the fiel d of view of the field camera can be  identified where PC and PD as a pair, can be the  same as, or different from PA and PB as a  pair. 

[00117] The orientation of CS‐CE in CS‐CF can be determi ned in the process below: 

[00118] First step, when the user’s head is at a first p osition and the user stares at a  gaze point, a first gaze vector v_gaze_ce_1 in CS‐ CE is obtained, and the output of the  spatial orientation sensor G is obtained as q_g_w_1.

[00119] Second step, without losing the same gaze point, the  user rotates the head to  a second position, a second gaze vector in CS‐CE  v_gaze_ce_2 is obtained. The output of the  spatial orientation sensor G is obtained as q_g_w_2. [00120] Third step, the user rotates the head to a third p osition while staring at the  same gaze point or a new gaze point, a third gaze vector in CS‐CE v_gaze_ce_3 is obtained.  The output of the spatial orientation sensor G is o btained as q_g_w_3. 

[00121] Fourth step, without losing the same gaze point used  in third step, the user  rotates the head to a fourth position, a fourth gaz e vector in CS‐CE v_gaze_ce_4 is obtained.  The output of the spatial orientation sensor G is o btained as q_g_w_4. 

[00122] Knowing v_gaze_ce_1, v_gaze_ce_2, v_gaze_ce_3 and v_gaz e_ce_4, a  quaternion q_eye_ce representing the orientation of th e eye coordinate system CS‐E in the  eye camera CE coordinate system CS‐CE can be obtai ned (See Part C7 in the Methods  section). 

[00123] Knowing q_g_w_1, q_g_w_2, q_g_w_3 and q_g_w_4, a quat ernion q_ref_g  representing a reference coordinate system CS‐R in  the spatial orientation sensor G  coordinate system CS‐G can be obtained (See Part C 11 in the Methods section). 

[00124] The method_index used in Part C7 in the Methods sec tion for obtaining  orientation of CS‐E in CS‐CE should be the same as method_index used in Part C11 in the  Methods section for obtaining orientation of CS‐R i n CS‐G. 

[00125] In one embodiment, the four positions of the user’ s head are up, down, left  and right relative to a starting position. 

[00126] Knowing q_eye_ce and q_ref_g, a quaternion representin g the orientation of  the eye camera CE coordinate system CS‐CE in the  spatial orientation sensor G coordinate  system CS‐G can be obtained (See Part C13 in the Methods section). 

[00127] In an embodiment, the third position may be the sam e as or rotationally  offset from the second position.  [00128] Fig. 5 schematically shows the flowchart of a method , according to an  embodiment.  In procedure 540, a first 3D line 541 passing a center of a person’s eye that is  gazing at a point in a 3D space is obtained, based  on a first relative orientation 521 of the  eye with respect to a first imaging sensor and a f irst relative position 531 of a pupil or limbus  of the eye with respect to the first imaging sensor .  In procedure 550, a second 3D line 551  passing the center of the eye is obtained.  In pro cedure 560, a relative position 561 of the  center of the eye with respect to the first imaging  sensor is determined, based on the first  3D line 541 and the second 3D line 551.  The meth od may include an optional procedure  530, in which the first relative position 531 of th e pupil or limbus with respect to the first  imaging sensor is obtained based on an image 502 of  the pupil or limbus obtained by the  first imaging sensor.  The method may include an op tional procedure 520, in which the first  relative orientation 521 of the eye with respect to the first imaging sensor is obtained based  on a second relative orientation 511 of the eye wit h respect to a second imaging sensor and  based on a relative orientation 512 of the first im aging sensor with respect to the second  imaging sensor.  The method may include an optional procedure 510, in which the second  relative orientation 511 of the eye with respect to the second imaging sensor is obtained  based on an image 501 of the point obtained by the  second imaging sensor. 

[00129] Fig. 6 schematically shows the flowchart of a method , according to an  embodiment.  In procedure 610, an image 611 of a p upil or limbus of a person’s eye is  obtained by a first imaging sensor.  In procedure 6 20, a first relative orientation 621 of the  eye with respect to the first imaging sensor is det ermined based on the image 611 and  optionally further based on a relative position 613  of a center of the eye with respect to the  first imaging sensor.  In procedure 640, a second r elative orientation 641 of the eye with  respect to a second imaging sensor is determined bas ed on the first relative orientation 621  and based on a relationship 631 between the first i maging sensor and the second imaging  sensor.  The method may include an optional procedur e 630, in which the relationship 631  is determining based on at least three pairs 612 of  relative orientations of the eye, each pair  comprising a third relative orientation of the eye w ith respect to the first imaging sensor  obtained from an image obtained by the first imaging  sensor of a pupil or limbus of the eye,  and each pair comprising a fourth relative orientatio n of the eye with respect to the second  imaging sensor obtained from an image obtained by th e second imaging sensor of a point  the eye is gazing at. The method may include an op tional procedure 650, in which a position  651 of a point at which the eye is gazing at, in an image obtained by the second imaging  sensor, is determined based on the second relative o rientation 641.  

[00130] Fig. 7 schematically shows the flowchart of a method , according to an  embodiment.  In procedure 710, an image 711 of a p upil or limbus of a person’s eye by an  imaging sensor is obtained.  In procedure 720, a re lative orientation 721 of the eye with  respect to the imaging sensor is determined based on  the image 711 and optionally further  based on a relative position 713 of a center of th e eye with respect to the imaging sensor.   In procedure 730, the relative orientation 721 of th e eye with respect to the first imaging  sensor is adjusted based on a result of calibration 741.  The method may include an optional  procedure 740, in which the result of calibration 74 1 is obtained based on at least three  pairs 712 of relative orientations of the eye, each pair comprising a first relative orientation  of the eye with respect to a first imaging sensor  obtained from an image obtained by the  first imaging sensor of a pupil or limbus of the e ye, and comprising a second relative  orientation of the eye with respect to the first im aging sensor obtained from an image  obtained by a second imaging sensor of a point the eye is gazing at.  The result of calibration  741 may be obtained further based on the relative o rientation of the first imaging sensor  with respect to the second image sensor. 

[00131] Fig. 8 schematically shows the flowchart of a method , according to an  embodiment.   In procedure 810, while a person’s  head is at a first orientation and the  person’s eye is gazing at a point in a 3D space,  a first relative orientation 811 of the eye with  respect to a first imaging sensor is obtained.  The  first relative orientation 811 of the eye  with respect to a first imaging sensor may be obtai ned based on an image 801 of a pupil or  limbus of the eye obtained by the first imaging sen sor.  In procedure 820, while the person’s  head is at the first orientation and the person’s eye is gazing at the point in the 3D space, a  first set 821 of images by a second imaging sensor of a first pair of points in the 3D space is  obtained.  In procedure 830, while the head is at  a second orientation rotationally offset  from the first orientation and the eye is gazing at  the point, a second relative orientation  831 of the eye with respect to the first imaging s ensor is obtained.  The second relative  orientation 831 of the eye with respect to the firs t imaging sensor may be obtained based  on an image 803 of the pupil or limbus of the eye  obtained by the first imaging sensor.  In  procedure 840, while the head is at the second orie ntation rotationally offset from the first  orientation and the eye is gazing at the point, a  second set 841 of images by the second  imaging sensor of the first pair of points is obtai ned.  In procedure 850, while the head is at  the second orientation rotationally offset from the f irst orientation and the eye is gazing at  the point, a first set 851 of images by the second  imaging sensor of a second pair of points in  the 3D space is obtained.  The first pair of point s may be the same as the second pair of  points.  In procedure 860, while the head is at a third orientation rotationally offset from the  second orientation about an axis along a vector repr esenting the second relative orientation  831 of the eye and the eye is gazing at the point , a second set 861 of images by the second  imaging sensor of the second pair of points is obta ined.  In procedure 870, a relative  orientation 871 of the first imaging sensor and the second imaging sensor is determined  based on the first relative orientation 811 of the  eye with respect to the first imaging  sensor, the second relative orientation 831 of the e ye with respect to the first imaging  sensor, the first set 821 of images of the first p air of points, the second set 841 of images of  the first pair of points, the first set 851 of ima ges of the second pair of points, and the  second set 861 of images of the second pair of poi nts.  The first pair of points may be the  same as the second pair of points. 

[00132] Fig. 9 schematically shows the flowchart of a method , according to an  embodiment.   In procedure 910, while a person’s  head is at a first orientation and the  person’s eye is gazing at a point in a 3D space,  a first relative orientation 911 of the eye with  respect to an imaging sensor is obtained.  The firs t relative orientation 911 of the eye with  respect to the imaging sensor may be obtained based on an image 901 of a pupil or limbus  of the eye obtained by the imaging sensor.  In pro cedure 920, while the person’s head is at  the first orientation and the person’s eye is gazi ng at the point in the 3D space, a first output  921 of a spatial orientation sensor is obtained.  I n procedure 930, while the head is at a  second orientation rotationally offset from the first orientation and the eye is gazing at the  point, a second relative orientation 931 of the eye with respect to the imaging sensor is  obtained.  The second relative orientation 931 of th e eye with respect to the imaging sensor  may be obtained based on an image 903 of the pupil  or limbus of the eye obtained by the  imaging sensor.   In procedure 940, while the head is at the second orientation rotationally  offset from the first orientation and the eye is ga zing at the point, a second output 941 of  the spatial orientation sensor is obtained.  In proc edure 950, while the head is at a third  orientation rotationally offset from the second orient ation about an axis along a vector  representing the second relative orientation 931 of t he eye and the eye is gazing at the  point, a third output 951 of the spatial orientation  sensor is obtained.  In procedure 960, a  relative orientation 961 of the imaging sensor and t he spatial orientation sensor is  determined based on the first relative orientation 91 1 of the eye with respect to the  imaging sensor, the second relative orientation 931 o f the eye with respect to the imaging  sensor, the first output 921 of the spatial orientat ion sensor, the second output 941 of the  spatial orientation sensor, the third output 951 of  the spatial orientation sensor. 

[00133] Fig. 10 schematically shows the flowchart of a metho d, according to an  embodiment.   In procedure 1010, while a person’s head is at a first orientation and the  person’s eye is gazing at a first point in a 3D space, a first relative orientation 1011 of the  eye with respect to a first imaging sensor is obtai ned.  The first relative orientation 1011 of  the eye with respect to the first imaging sensor ma y be obtained based on an image 1001 of  a pupil or limbus of the eye obtained by the first  imaging sensor.  In procedure 1020, while  the person’s head is at the first orientation and the person’s eye is gazing at the first point in   the 3D space, a first set 1021 of images by a sec ond imaging sensor of a first pair of points in  the 3D space is obtained.  In procedure 1030, while  the head is at a second orientation  rotationally offset from the first orientation and th e eye is gazing at the first point, a second  relative orientation 1031 of the eye with respect to  the first imaging sensor is obtained.  The  second relative orientation 1031 of the eye with res pect to the first imaging sensor may be  obtained based on an image 1003 of the pupil or li mbus of the eye obtained by the first  imaging sensor.  In procedure 1040, while the head  is at the second orientation rotationally  offset from the first orientation and the eye is ga zing at the first point, a second set 1041 of  images by the second imaging sensor of the first pa ir of points is obtained.  In procedure  1050, while the head is at a third orientation rota tionally offset from the second orientation  and the eye is gazing at a second point in the 3D  space, a third relative orientation 1051 of  the eye with respect to the first imaging sensor is  obtained.  The third relative orientation  1051 of the eye with respect to the first imaging  sensor may be obtained based on an image  1005 of the pupil or limbus of the eye obtained by  the first imaging sensor.  In procedure  1060, while the head is at the third orientation ro tationally offset from the second  orientation and the eye is gazing at the second poi nt in the 3D space, a first set 1061 of  images by the second imaging sensor of a second pai r of points in the 3D space is obtained.   In procedure 1070, while the head is at a fourth o rientation rotationally offset from the  third orientation and the eye is gazing at the seco nd point, a fourth relative orientation 1071  of the eye with respect to the first imaging sensor  is obtained.  The fourth relative  orientation 1071 of the eye with respect to the fir st imaging sensor may be obtained based  on an image 1007 of the pupil or limbus of the ey e obtained by the first imaging sensor.  In  procedure 1080, while the head is at the fourth ori entation rotationally offset from the third  orientation and the eye is gazing at the second poi nt, a second set 1081 of images by the  second imaging sensor of the second pair of points  is obtained.  In procedure 1090, a  relative orientation 1091 of the first imaging sensor  with respect to the second imaging  sensor is determined based on the first relative ori entation 1011 of the eye with respect to  the first imaging sensor, the second relative orienta tion 1031 of the eye with respect to the  first imaging sensor, the third relative orientation  1051 of the eye with respect to the first  imaging sensor, the fourth relative orientation 1071  of the eye with respect to the first  imaging sensor, the first set 1021 of images of the  first pair of points, the second set 1041 of  images of the first pair of points, the first set  1061 of images of the second pair of points,  and the second set 1081 of images of the second pa ir of points.  [00134] Fig. 11 schematically shows the flowchart of a metho d, according to an  embodiment.  In procedure 1110, while a person’s h ead is at a first orientation and the  person’s eye is gazing at a first point in a 3D space, a first relative orientation 1111 of the  eye with respect to an imaging sensor is obtained.   The first relative orientation 1111 of the  eye with respect to the imaging sensor may be obtai ned based on an image 1101 of a pupil  or limbus of the eye obtained by the imaging sensor .  In procedure 1120, while the person’s  head is at the first orientation and the person’s eye is gazing at the first point in the 3D  space, a first output 1121 of a spatial orientation sensor is obtained.  In procedure 1130,  while the head is at a second orientation rotational ly offset from the first orientation and  the eye is gazing at the first point, a second rel ative orientation 1131 of the eye with respect  to the imaging sensor is obtained.  The second rela tive orientation 1131 of the eye with  respect to the imaging sensor may be obtained based on an image 1103 of the pupil or  limbus of the eye obtained by the imaging sensor.  In procedure 1140, while the person’s  head is at the second orientation and the person’s  eye is gazing at the first point in the 3D  space, a second output 1141 of the spatial orientati on sensor is obtained.  In procedure  1150, while the head is at a third orientation rota tionally offset from the second orientation  and the eye is gazing at a second point in the 3D  space, a third relative orientation 1151 of  the eye with respect to the imaging sensor is obtai ned.  The third relative orientation 1151  of the eye with respect to the imaging sensor may  be obtained based on an image 1105 of  the pupil or limbus of the eye obtained by the ima ging sensor. In procedure 1160, while the  head is at the third orientation rotationally offset from the second orientation and the eye is  gazing at the second point in the 3D space, a thir d output 1161 of the spatial orientation  sensor is obtained.  In procedure 1170, while the h ead is at a fourth orientation rotationally  offset from the third orientation and the eye is ga zing at the second point, a fourth relative  orientation 1171 of the eye with respect to the ima ging sensor is obtained.  The fourth  relative orientation 1171 of the eye with respect to  the imaging sensor may be obtained  based on an image 1107 of the pupil or limbus of  the eye obtained by the imaging sensor.   In procedure 1180, while the head is at the fourth orientation rotationally offset from the  third orientation and the eye is gazing at the seco nd point, a fourth output 1181 of the  spatial orientation sensor is obtained.  In procedure  1190, a relative orientation 1191 of the  imaging sensor with respect to the spatial orientatio n sensor is determined based on the  first relative orientation 1111 of the eye with resp ect to the imaging sensor, the second  relative orientation 1131 of the eye with respect to  the imaging sensor, the third relative  orientation 1151 of the eye with respect to the ima ging sensor, the fourth relative  orientation 1171 of the eye with respect to the ima ging sensor, the first output 1121 of the  spatial orientation sensor, the second output 1141 of  the spatial orientation sensor, the  third output 1161 of the spatial orientation sensor, and the fourth output 1181 of the  spatial orientation sensor. 


[00135] C1 

Obtaining a confirmed gaze vector v_gaze_ce in eye  camera CE coordinate system CS‐E from  a confirmed gaze point image point p_gaze_cf in fiel d camera CF image plane.   This can be described as:  v_gaze_ce = v_ce_frm_p_cf (q_cf_ce, p_gaze_cf, FOCAL_LE N_f).  [00136] Assuming q_cf_ce is the quaternion representing the o rientation of field  camera CF coordinate system CS‐CF to eye camera CE  coordinate system CS‐CE, in a  calibration process, the user looks at an object as a gaze point and the confirmed gaze point  image point p_gaze_cf in field camera CF image plane  can be obtained. Knowing p_gaze_cf,  the confirmed gaze vector v_gaze_cf in camera CF coo rdinate system can be obtained as:  v_gaze_cf = v_frm_p (p_gaze_cf, FOCAL_LEN_f).  See Pa rt A1.4 in the Appendix section.  Therefore: 

v_gaze_ce =   qvq_trans (q_cf_ce, v_gaze_cf); 

FOCAL_LEN_f is the focal length of field camera C F in unit of pixels. 

[00137] C2 

Obtaining a line l_ec_ce passing eye ball center  in eye camera CE coordinate system CS‐E  from confirmed gaze point image point p_gaze_cf in f ield camera CF image plane and its  corresponding pupil center image point (or limbus cen ter image point) p_pupil_ce in eye  camera CE image plane: 

This can be described as: 

l_ec_ce = l_frm_2p (p_gaze_cf, p_pupil_ce, FOCAL_LEN _f, FOCAL_LEN_e) 


FOCAL_LEN_f is the focal length of field camera C F in unit of pixels; 

FOCAL_LEN_e is the focal length of eye camera CE in unit of pixels. 

[00138] Under the assumption that q_cf_ce is the quaternion  representing the  orientation of field camera CF coordinate system CS CF to eye camera CE coordinate system  CS‐CE, in a calibration process, the user looks at  one object as a gaze point, the confirmed  gaze point p_gaze_cf image point in field camera CF image plane can be obtained. In the  same time, the corresponding pupil center image point  (or limbus center image point)  p_pupil_ce in eye camera CE image plane can also be  obtained. 

[00139] Knowing p_pupil_ce and p_gaze_cf, a line passing eye ball center in eye  camera CE coordinate system CS‐E can be obtained.  [00140] First, from the confirmed gaze point image point p_g aze_cf in field camera CF  image plane, the confirmed gaze vectors in eye camer a CE coordinate system CS‐CE can be  obtained using (See Part C1 in the Methods section):  

v_gaze_ce = v_ce_frm_p_cf (q_cf_ce, p_gaze_cf, FOCAL _LEN_f). 

[00141] Next, knowing the corresponding pupil center image po int (or limbus center  image point) p_pupil_ce in eye camera EC image plane , its 3D vector in coordinate system  CS‐CE can be obtained: 

v_pupil_ce = v_frm_p (p_pupil_ce, FOCAL_LEN_e). 

[00142] Then, a line l_ec_ce that passes the eye ball cente r in eye camera CE  coordinate system CS‐CE can be obtained as: 

l_ec_ce = (v_d, v_p) 


v_d = v_pupil_ce 

v_p = v_neg(v_gaze_ce)  

[00143] C3 

[00144] Obtaining the eye ball center v_ec_ce in eye camera CE coordinate system  CS‐E from two or more pairs of confirmed gaze poi nt image point p_gaze_cf in field camera  CF image plane and its corresponding pupil center im age point (or limbus center image  point) p_pupil_ce in eye camera CE image plane. 

[00145] The relative orientation of the field camera CF coor dinate system with  respect to the eye camera CE coordinate system is a ssumed known. The user looks at one  object as a gaze point, and the confirmed gaze poin t p_gaze_cf image point in field camera  CF image plane can be obtained. In the same time,  the corresponding pupil center image (or  limbus center image point) point p_pupil_ce in eye c amera CE image plane can also be  obtained. By doing this two or more times, two or  more pairs of (p_gaze_cf_n, 

p_pupil_ce_n,) are obtained, with n = 1, 2, …   

v_ec_ce = ln_intersect (l_ec_ce_1, …, l_ec_ce_n), which is at the intersection of 

l_ec_ce_1, ..., l_ec_ce_n. 


l_ec_ce_1= l_frm_2p (p_gaze_cf_1, p_pupil_ce_1, FOCAL _LEN_f, FOCAL_LEN_e), which is a  line passing the center of the eye ball in CS‐CE,  obtained from a pair 


l_ec_ce_n= l_frm_2p (p_gaze_cf_n, p_pupil_ce_n, FOCAL _LEN_f, FOCAL_LEN_e), which is a  line passing the center of the eye ball in CS‐CE,  obtained from a pair 

FOCAL_LEN_f is the focal length of field camera C F in unit of pixels 

FOCAL_LEN_e is the focal length of eye camera CE in unit of pixels 

[00146] C4 

Obtaining a correction matrix m_corrrect from three  pairs of gaze vectors. Each pair of gaze  vectors comprises a confirmed gaze vector v_gaze_confi rm and its corresponding measured  gaze vector v_gaze_measure.  

This can be described as: 

m_corrrect = m_frm_6v (v_gaze_confirm_1, v_gaze_confi rm_2, v_gaze_confirm_3,  v_gaze_measure_1, v_gaze_measure_2, v_gaze_measure_3) 


m_corrrect = m_prd (m_confirm, mi_measure)   (See Part A2.3.1 in the Appendix section)  m_confirm=m_frm_v (v_gaze_confirm_1, v_gaze_confirm_2, v_ gaze_confirm_3) (See Part  A2.3.9 in the Appendix section) 

mi_measure = m_inv(m_measure)   (See Part A2.3.1 in the Appendix section)  m_measure=m_frm_v (v_gaze_measure_1, v_gaze_measure_2, v_ gaze_measure_3)  v_gaze_confirm_1 and v_gaze_measure_1 is the first pai r of gaze vectors 

v_gaze_confirm_2 and v_gaze_measure_2 is the second pair of gaze vectors 

v_gaze_confirm_3 and v_gaze_measure_3 is the third  pair of gaze vectors 

[00147] The confirmed gaze vector v_gaze_confirm can be eithe r in field camera CF  coordinate system CS‐CF or in eye camera CE coordi nate system CS‐CE, depending on  system configurations. 

[00148] The user looks at one object in front of the field  camera as a gaze point.  The  confirmed gaze point p_gaze_confirm_cf image point in field camera CF image plane can be  obtained. In the same time, its corresponding pupil  center image point (or limbus center  image point) p_pupil_measure_ce in eye camera CE imag e plane can also be obtained,  therefore: 

v_gaze_confirm = v_frm_p (p_gaze_confirm_cf, FOCAL_LE N_f) 

v_gaze_measure = v_frm_p (p_gaze_measure_ce, FOCAL_LE N_e) 


v_gaze_confirm is the confirmed gaze vector in fie ld camera CF coordinate system  v_gaze_measure is the measure gaze vector in eye cam era CE coordinate system 

FOCAL_LEN_f is the focal length of the field came ra 

FOCAL_LEN_e is the focal length of the eye camera  

[00149] By doing this three or more times, three pairs of  confirmed gaze vector  v_gaze_confirm and their corresponding measured gaze v ector v_gaze_measure are  obtained.  

[00150] Under the assumption that the relative orientation of  field camera CF  coordinate system to eye camera CE coordinate system is known as q_cf_ce, in a calibration  process, the user looks at one object in front of  the field camera as a gaze point.  The  confirmed gaze point p_gaze_confirm_cf image point in field camera CF image plane can be  obtained. In the same time, its corresponding the pu pil center image point (or limbus center  image point) p_pupil_measure_ce in eye camera CE imag e plane can also be obtained,  therefore: 

v_gaze_confirm = qvq_trans (q_cf_ce, v_gaze_confirm_c f)   

v_gaze_measure = v_frm_p (p_gaze_measure_cf, FOCAL_LE N_e) 


v_gaze_confirm_cf = v_frm_p (p_gaze_confirm_cf, FOCAL _LEN_f) 

v_gaze_confirm_cf is the confirmed gaze vector in  field camera CF coordinate system  v_gaze_confirm is the confirmed gaze vector in eye c amera CE coordinate system  v_gaze_measure is the measure gaze vector in eye cam era CE coordinate system 

FOCAL_LEN_f is the focal length of the field came ra 

FOCAL_LEN_e is the focal length of the eye camera  

[00151] By doing this three or more times, three pairs of  confirmed gaze vector  v_gaze_confirm and its corresponding measured gaze vec tor v_gaze_measure are obtained. 

[00152] C5 

Obtaining a corrected gaze vector v_gaze_correct fr om a measured gaze vector 

v_gaze_measure and correction matrix m_corrrect obta ined using (C4 Method) 

v_gaze_correct = mv_prd (m_correct, v_gaze_measure).  Namely, the corrected gaze vector  v_gaze_correct is obtained by multiplying the correcti on matrix m_corrrect with the  measured gaze vector v_gaze_measure. 

[00153] C6 

Obtaining the quaternion q_eye_ce representing orien tation of an Eye Coordinate System  CS‐E relative to eye camera CE coordinate system C S‐CE From two gaze Vectors 

This can be described as: 



method_index indicates one of many different methods  that can be used in q_frm_2v (See  Part C1 in the Methods section of U.S. Patent Appli cation No. 62/557786). 

[00154] In an embodiment with an eye camera CE facing the  user’s eye, assuming  gaze vector in eye camera CE coordinate system CS‐ CE can be obtained. In a calibration  process to determine the orientation of the eye coor dinate system CS‐E in CS‐CE, the user  pick an object in the world as a gaze point, the  first gaze vector v_gaze_ce_1 in CS‐CE is  obtained. Without losing the same gaze point, the us er rotates the head to a second  position, a second gaze vector in CS‐CE is v_gaze_ ce_2 obtained 


Obtaining the quaternion q_eye_ce representing orientat ion of an eye coordinate system  CS‐E relative to eye camera CE coordinate system C S‐CE from four gaze vectors 

This can be described as:  where: 

method_index indicates one of many different methods  that can be used in q_frm_2v (See  Part C1 in the Methods section of U.S. Patent Appli cation No. 62/557786). 

[00156] In an embodiment with an eye camera CE facing the  user’s eye, assuming  gaze vector in eye camera CE coordinate system CS‐ CE can be obtained. In a calibration  process to determine the orientation of the eye coor dinate system CS‐E in CS‐CE, first, the  user pick an object in the world as a gaze point, without losing the same gaze point, the user  rotates the head to a first position, a first gaze vector in CS‐CE is v_gaze_ce_1 obtained.  Without losing the same gaze point, the user rotates  the head to a second position, a  second gaze vector in CS‐CE is v_gaze_ce_2 obtained . Next, the user can pick the same  object or a different object in the world as a gaz e point. Without losing that gaze point, the  user rotates the head to a third position, a third gaze vector in CS‐CE is v_gaze_ce_3  obtained. Without losing the same gaze point, the us er rotates the head to a fourth  position, a fourth gaze vector in CS‐CE is v_gaze_ ce_4 obtained 

[00157] C8 

Obtaining Orientation q_ref_cf Representing the Orienta tion of A Reference Coordinate  System CS‐R Relative to Field Camera CF Coordinate System using images of four fixed  physical points PA, PB, PC, PD at three orientations  of the camera using a method describe  in Part C8 in the Methods section of U.S. Patent A pplication No. 62/557786.  Where: 

4 fixed physical points PA, PB, PC, PD are in the field of view of the field camera CF.   method_index indicates one of many different methods  that can be used in q_frm_8p (See  Part C8 in the Methods section of U.S. Patent Appli cation No. 62/557786). 

[00158] In the first orientation AB1 of the field camera, t he images of point PA and PB  in field camera CF coordinate system are obtained as  p_a_i_1, p_b_i_1 

[00159] Next, the camera is rotated to a second orientation AB2, the images of point  PA and PB in field camera CF coordinate system are obtained as p_a_i_2, p_b_i_2 

Next, without change the orientation of the camera,  the images of point PC and PD in field  camera CF coordinate system are obtained as p_c_i_1, p_d_i_1  

Next, the camera is rotated to a third orientation  CD2, the images of point PC and PD in field  camera CF coordinate system are obtained as p_c_i_2, p_d_i_2  

[00160] The first pair of physical points are PA and PB 

The second pair of physical points are PC and PD 

The second pair of physical points PC and PD can b e the same as or different from PA and  PB. 

[00161] C

Obtaining Orientation of A Reference Coordinate System  CS‐R Relative to Field Camera CF  Coordinate System using images of four fixed physical  points PA, PB, PC, PD at four  orientations of the camera using a method describe i n Part C8 in the Methods section of  U.S. Patent Application No. 62/557786. 

Where:  4 fixed physical points PA, PB, PC, PD are in the field of view of the field camera CF.   method_index indicates one of many different methods  that can be used in q_frm_8p (See  Part C8 in the Methods section of U.S. Patent Appli cation No. 62/557786). 

[00162] In the first orientation AB1 of the field camera, t he images of point PA and PB  in field camera CF coordinate system are obtained as  p_a_i_1, p_b_i_1 

Next, the camera is rotated to a second orientati on AB2, the images of point PA and PB in  field camera CF coordinate system are obtained as p_ a_i_2, p_b_i_2 

Next, the camera is rotated to a third orientatio n CD1, the images of point PC and PD in field  camera CF coordinate system are obtained as p_c_i_1, p_d_i_1  

Next, the camera is rotated to a four orientation  CD2, the images of point PC and PD in field  camera CF coordinate system are obtained as p_c_i_2, p_d_i_2  

[00163] The first pair of physical points are PA and PB 

The second pair of physical points are PC and PD  

The second pair of physical points PC and PD can  be the same as or different from PA and  PB. 


Obtaining the orientation quaternion q_r_g represent ing the orientation of a reference  coordinate system CS‐R relative to a spatial orient ation sensor coordinate system CS‐G from  three orientation outputs of the spatial orientation  sensor using a method q_frm_4q  describe in Part C4 in the Methods section of U.S. Patent Application No. 62/557786. 


q_g_w_1 represents the orientation of the CS‐G r elative to CS‐W in the first orientation  q_g_w_2 represents the orientation of the CS‐G rela tive to CS‐W in the second orientation  q_g_w_3 is the same as q_g_w_2 

q_g_w_4 represents the orientation of the CS‐G r elative to CS‐W in the third orientation  method_index indicates one of many different methods  that can be used in q_frm_4q (See  Part C4 in the Methods section of U.S. Patent Appli cation No. 62/557786). 

[00165] C11 

Obtaining the orientation quaternion q_ref_g represe nting the orientation of a reference  coordinate system CS‐R relative to a spatial orient ation sensor coordinate system CS‐G from  four orientation outputs of the spatial orientation s ensor using a method q_frm_4q describe  in Part C4 in the Methods section of U.S. Patent A pplication No. 62/557786. 


q_g_w_1 represents the orientation of the CS‐G r elative to CS‐W in the first orientation  q_g_w_2 represents the orientation of the CS‐G rela tive to CS‐W in the second orientation  q_g_w_3 represents the orientation of the CS‐G rela tive to CS‐W in the third orientation  q_g_w_4 represents the orientation of the CS‐G rela tive to CS‐W in the fourth orientation  method_index indicates one of many different methods  that can be used in q_frm_4q (See  Part C4 in the Methods section of U.S. Patent Appli cation No. 62/557786). 

[00166] C12 

Obtaining the orientation quaternion q_ce_cf represe nting the orientation of an eye camera  CE coordinate system CS‐CE relative to the field c amera CF coordinate system CS‐CF from  the orientation quaternion q_eye_ce representing the o rientation of an eye coordinate  system CS‐E relative to CS_E, and the orientation  quaternion q_ref_cf representing the  orientation of a reference coordinate system CS‐R r elative to CS‐CF 

This can be described as: 


[00167] It is assumed that eye coordinate system CS‐E is  aligned closely to reference  coordinate system CS‐R by following specific steps  during a calibration process. The  calibration process allows eye camera and field camer a to measure two common rotation  axes about which the eye and the field camera rotat e so that the orientation of eye  coordinate system in eye camera coordinate system and  a reference coordinate system in  field camera coordinate system can be determined. 

[00168] C13 

Obtaining the orientation quaternion q_ce_g representin g the orientation of an eye camera  CE coordinate system CS‐CE relative to the spatial orientation sensor coordinate system CS‐ G from the orientation quaternion q_eye_ce representin g the orientation of an eye  coordinate system CS‐E relative to CS_E, and the o rientation quaternion q

representing the orientation of a reference coordinate  system CS‐R relative to CS‐G  This can be described as: 


[00169] It is assumed that eye coordinate system CS‐E is  aligned closely to reference  coordinate system CS‐R by following specific steps  during a calibration process. The  calibration process allows eye camera and spatial ori entation sensor to measure two  common rotation axes about which the eye and the sp atial orientation sensor rotate so that  the orientation of eye coordinate system in eye came ra coordinate system and a reference  coordinate system in the spatial orientation sensor c oordinate system can be determined.  Appendix 

[00170] The mathematical tools listed in Appendix are used i n the Methods section. 

[00171] A1.  Coordinate Systems  [00172] A1.1. A 3D coordinate system has three axes, X, Y  and Z, as shown in Fig. 3.  Right hand rule is applied for the order of the ax es and the positive rotation directions.  [00173] Any two axes can form a plane.  Therefore, there a re three planes defined as  P‐XY, P‐YX and P‐ZX planes. 

[00174] A1.2. A 2D coordinate system for camera image frame has two axes, X, Y, as  shown in Fig. 1.  [00175] A1.3.  Converting a point in 2D camera image frame coordinate system to 3D  camera coordinate system.  [00176] A 3D camera coordinate system has x axis pointing t o the right, y axis  pointing to the top and z axis pointing to the opp osite direction of the lens. 

[00177] The 2D image plane can be considered: 

‐Being parallel to the XY plan of the CS‐C  ‐With its origin at its top‐left corner  ‐With its image center sitting at (0, 0, ‐1) of  CS‐C  ‐With its X axis being parallel to the X axis of  CS‐C, pointing to the same direction  ‐With its Y axis being parallel to the Y axis of  CS‐C, pointing to the opposite direction   ‐With different unit from CS‐C.  To be more spe cific, FOCAL_LEN is the focal length of the  camera in unit of pixel counts.  [00178] A1.4. A unit vector vu pointing from the origin of the CS‐C to the point p in  the camera image 2D plane can be calculated: 





(x_center, y_center) is the coordinates of the cen ter of the camera image 2D frame. 

[00179] A1.6. A point in 3D Coordinates can be represented  by a 3D vector v = (x, y,  z). The vector is from the origin of the coordinate  system to the position of the point. 

[00180] A2.  Quaternion, 3D Vector, 3x3 Matrix and 2D vecto r mathematics  

[00181] [00182] [00183] [00184]

sqrt() is square root of a floating point number. 

[00185] A2.1.5. A unit quaternion has a length of 1 

[00186] To unitize a quaternion q:  where 

[00187] A2.1.6. The product of two quaternions q and p  where  


[00188] As a quaternion can be used to represent a rotation  transformation, if q2 is  product of two quaternion   then applying q2 as an orientation 

transformation is equivalent to applying q0 and th en q1. 

[00189] A2.1.7 The product of three quaternions 

[00190] A2.1.8 The product of four quaternions 

[00191] A2.1.9 The left difference of two quaternions 

[00192] A2.2.1 A 3D vector has three elements 

[00193] A2.2.2 The length of a 3D vector: 

[00194] A2.2.3 A unit 3D vector has a length of 1 

[00195] To unitize a 3D vectors v:  where 

[00196] A2.2.4 A unit quaternion can be interpreted as a co mbination of rotation  vector and an angle rotating about this vector: 

 is the rotation vector 

theta is the rotation angle 


[00197] A2.2.5 Dot product of two 3D vectors va, vb: 


Assuming theta to be angle between va and vb: 

[00198] A2.2.6 Cross product of two 3D vectors va, vb: 


[00199] A2.2.7. Rotation vector v from unit quaternion q: 



[00200] A2.2.8. Unitized vector of the cross product of two 3D vectors va, vb:  . 

[00201] A2.2.9. Rotation degrees from unit quaternion q:  where 

acos() is arccosine, the output is in unit of degre e. 

^00202^ A2.2.10. Adding two 3D vectors va, vb: 

[00203] A2.2.11. Negative vector of a 3D vectors va: 


[00205] A2.3.2. identity 3x3 matrix 




[00208] A2.3.5. matrix from quaternion 

where m is a 3x3 matrix 



[00209] A2.3.6. Transform a 3D vectors v with a quaternion  q: 

where  q is a quaternion 

vs is the source 3D vector 

vd is the result 3D vector 

m is a 3x3 matrix 

[00210] A2.3.7. Matrix by rotating x axis 



[00211] A2.3.8. Matrix by rotating y axis 

where  and  


[00212] A2.3.9. Quaternion from matrix 



   [00213] A2.3.10. matrix from vector 




[00214] A2.4.1. A point in 2D space is also a 2D vector,  it has two elements 


[00215] A2.4.2. The distance d between two 2D points pa, pb  is: 



  [00217] A2.4.4. A unit 2D vector has a length of 1  To unitize a 2D vectors p: 



[00218] A2.4.5. Dot product of two 2D vectors pa, pb: 


There is an important property of vector dot product ,  Assuming theta to be angle between pa and pb:  Then: ℎ [00219] A2.4.6. 2D point from 3D vector:


[00220] A2.5.1 A line in 3D space: 

A line l in a 3D space can be represented by a  combination of a 3D vector vd for its direction,  and a 3D vector vp for a point that it passes. 

Therefore:  where: 

[00221] A2.5.2 A point on a line in 3D space:  where: 

k is a floating‐point number 

[00222] A2.5.3 Distance d of a point v on a line l in 3D  space:  where: 

k is a value that generates minimum value of len . 

[00223] A2.5.4 Intersection of two lines in 3D space 

Two lines la and lb in a 3D space do not alway s intersect. The intersection point can be  defined as a point that has the minimum sum of dis tance to both lines.     where 


vi is the point is 3D space that results in the  minimum value of dsum. 

[00224] A2.5.3 Intersection of multiple lines in 3D space 

Multiple lines l0, l0 … ln in 3D space do not  always intersect. One definition of the  intersection point can be defined as a point that h as the minimum sum of square of distance  to all lines.     where 


vi is the point is 3D space that results in the  minimum value of dsum. 

[00225] While various aspects and embodiments have been discl osed herein, other  aspects and embodiments will be apparent to those sk illed in the art. The various aspects  and embodiments disclosed herein are for purposes of illustration and are not intended to  be limiting, with the true scope and spirit being i ndicated by the following claims.