Eye Tracking System
20220155862 · 2022-05-19
Inventors
Cpc classification
G06T7/80
PHYSICS
G06V10/62
PHYSICS
International classification
G06T7/80
PHYSICS
G06V10/145
PHYSICS
Abstract
A system evaluates a point of gaze of a user on an object and includes at least one eye tracker camera and at least one positioning camera. The eye tracker camera and the positioning camera are arranged in fixed positions relative to each other. A light source provides corneal reflection from at least one of a user's eyes. A computer and an object is provided. Geometrical data of the object enables determination of the position of at least one screen in a first 3D coordinate system. The computer is configured to determine a gaze line of the user relative to a second 3D coordinate system; the position of the screen relative to a third 3D coordinate system; a gaze point calculated as the intersection of the gaze line with the surface of the screen in a fourth 3D coordinate system; and the location of the gaze point on the screen.
Claims
1. A system for tracking the location of a point of gaze of a user on at least one screen, said system comprising: at least one eye tracker camera and at least one positioning camera, said at least one eye tracker camera and said at least one positioning camera are configured to be arranged in fixed positions relative to each other; at least one light source configured to provide corneal reflection from at least one eye of said user; at least one computer; and at least one monitor comprising a screen, wherein geometrical data of said at least one monitor is stored in a storage device accessible to said at least one computer; wherein said geometrical data comprises data that enables determination of the position of at least one of said at least one screen in a first 3D coordinate system; wherein any combination of said at least one computer is configured to determine: (a) a gaze line of said user relative to a second 3D coordinate system, based on at least one image received from said at least one eye tracker camera; (b) the position of said at least one screen relative to a third 3D coordinate system, based on an image received from said at least one positioning camera; (c) a gaze point calculated as the intersection of said gaze line with the surface of said screen in a fourth 3D coordinate system, based on said gaze line, said at least one screen position and said at least one monitor geometrical data; and (d) the location of said gaze point on said at least one screen; wherein any coordinate system of said first, second, third and fourth 3D coordinate systems may be the same coordinate system as any other of said first, second, third and fourth 3D coordinate systems.
2. The system of claim 1, wherein said at least one screen comprises at least two screens; said at least two screens are configured to be arranged in fixed positions relative to each other.
3. The system of claim 1, wherein said at least one monitor is configured to display at least one marker.
4. The system of claim 1, wherein said at least one positioning camera comprises at least two positioning cameras; said at least two positioning cameras are configured to enable determining the position of said at least one monitor using stereoscopic methods.
5. The system of claim 1, wherein said at least one monitor comprises at least two monitors; said at least two monitors can be arranged in any positions relative to each other, said arranged positions can be changed.
6. The system of claim 1, wherein said at least one of said first, second, third and fourth 3D coordinate systems is one of: a. a coordinate system defined relative to one of said at least one eye tracker camera; b. a coordinate system defined relative to one of said at least one positioning camera; and c. a coordinate system defined relative to one of said at least one monitor.
7. A system for evaluating a point of gaze of a user on an object, said system comprising: an eye tracker, comprising: at least one eye tracker camera associated with a first 3D coordinate system that is fixed relative to said at least one eye tracker camera; a light source configured to provide conical reflection from at least one eye of said user; and at least one computer; at least one positioning camera associated with a second 3D coordinate system that is fixed relative to said at least one positioning camera; and at least one object, wherein geometrical data of said at least one object is stored in a storage device accessible to the at least one computer; wherein any combination of said at least one computer is configured to determine: (a) a gaze line of said user relative to said first 3D coordinate system, based on an image received from said at least one eye tracker camera; (b) the position of said at least one eye tracker camera relative to said second 3D coordinate system, thereby determining the position of one 3D coordinate system in the other 3D coordinate system, based on an image received from said at least one positioning camera; (c) the position of said at least one object relative to said second 3D coordinate system based on said image from said at least one positioning camera and said stored geometrical data of said at least one object; and (d) a gaze point calculated as the intersection of said gaze line with a surface of said object in any 3D coordinate system, based on said gaze line in said any 3D coordinate system and at least one position of said at least one object in said any 3D coordinate system.
8. The system of claim 7, wherein said at least one object comprises at least two objects; wherein said at least two objects are configured to be arranged in fixed positions relative to each other.
9. The system of claim 7, wherein said at least one object is a monitor, said monitor is configured to display at least one marker.
10. The system of claim 7, wherein said at least one positioning camera comprises at least two positioning cameras; said at least two positioning cameras are configured to enable determining the position of said at least one object using stereoscopic methods.
11. A method for calibrating an eye tracker, said method comprising the steps of: drawing the attention of a user to a calibration target; employing at least one positioning camera and at least one computer thereby determining the position of said calibration target and an eye tracker coordinate system relative to each other; determining calibration parameters of a gaze line, to said calibration target, in a first coordinate system; repeating the above steps thereby providing a desired part of a gaze range and calibration targets distribution; and storing calibration data.
12. The method of claim 11, wherein said calibration target comprises at least one LED.
13. The method of claim 12, wherein drawing the attention of said user comprises turning ON at least one of said at least one LED of a desired target and turning OFF other LEDs of other targets.
14. The method of claim 12, wherein a target is distinguished by any of an ON/OFF sequence pattern, a color and a shape defined by its at least one LED.
15. The method of claim 14, wherein said shape of a target is determined by an arrangement of said at least one LED constituting said target, said arrangement comprises any of a spatial distribution, an ON/OFF sequence and a color.
16. The method of claim 11, wherein said calibration target comprises items.
17. The method of claim 16, wherein drawing the attention of said user comprises illuminating an item of a desired target.
18. The method of claim 16, wherein targets are distinguished by any of an ON/OFF sequence pattern of illumination, a color and a shape.
19. The method of claim 11, wherein said target is projected on a substrate using at least one projector.
20. The method of claim 16, wherein drawing the attention of said user comprises projecting a desired target.
21. The method of claim 20, wherein targets are distinguished by any of an ON/OFF sequence pattern of the projector, an image color and an image shape.
22. The method of claim 11, wherein after said calibration, said eye tracker position is changed so that at least one target falls in a position, in said gaze range, that did not have a target during said calibration; said method further comprises: repeating said calibration steps using said at least one target.
23. The method of claim 11, wherein said at least one positioning camera is configured to capture at least a part of said targets.
24. The method of claim 11, wherein a computer is configured to determine the position of at least one target that is not captured by said positioning camera, and said eye tracker coordinate system relative to each other, based on at least one image received from said at least one positioning camera and data of the spatial arrangement of at least a part of the targets that includes at least a part of the targets captured by said at least one positioning camera and said at least one target that is not captured by said at least one positioning camera.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0054] For better understanding of the invention and to show how the same may be carried into effect, reference will now be made, purely by way of example, to the accompanying drawings.
[0055] The present system and method will be described with reference to accompanying drawings, in which the same reference numeral is for common elements in the various figures.
[0056] The cameras and monitors in the figures are connected to the computer or to each other by cable or by wireless methods, directly or through other means so as to facilitate communication as described in reference to the figures. For the sake of clarity these connections are not shown explicitly in the figures. The connections and communication means are generally known in the art. The same approach is made for communication means of the computer with other elements such as active calibration targets, projectors, monitors and any other communication means between two or more items that are present in the description but not necessarily shown explicitly in the figures.
[0057] With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice. In the accompanying drawings:
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
GLOSSARY
[0070] Line of sight/line of gaze/gazing line/gaze line: an imaginary line extending through the user eye and through the point which the user is looking at.
[0071] Gazing point/gaze point: the point at which the user is looking, i.e. the intersection of a gazing line with a point of an object.
[0072] Gaze angle: The angle with vertex at the pupil of the user and one ray passing through the gaze point and the other ray passing through the center of the lens of the eye tracker.
[0073] Eye tracking: the action of determining the line of sight of a user.
[0074] Eye tracker: a device, such as for example a camera and associated illumination source that can perform eye tracking, including algorithm and computer capabilities to enable gaze line calculation.
[0075] Head box: the space intended to include at least one eye of the user.
[0076] Eye tracker tracking range/tracking range: the solid angle defined by the entire set of gaze lines that can be tracked.
[0077] Item: anything constructed of physical material.
[0078] Object: an item intended to be a subject of a user's gaze.
[0079] Object tracker: a system intended to track an object, typically including at least one camera and computing capabilities.
[0080] Object box: the space intended to include objects for which the gazing point is calculated. It is bound by the field of view of the at least one camera of the object tracker and the at least one camera position in space.
[0081] Screen/Display: a 2-dimentional area used to display images, text, numbers, graphical elements etc.
[0082] Monitor: a 3-dimensional item that includes a screen/display.
[0083] Monitor tracker: a system intended to track a monitor, typically including at least one camera and some computing capabilities. This is a specific implementation of an object tracker.
[0084] User: anyone using the system (may also be referred to as an operator, physician or surgeon).
[0085] Position (of an item in a coordinate system): the coordinates of at least one point of the item in the coordinate system and the orientation of the item relative to the coordinate system or, alternatively, the coordinates of at least 3 points of an item that are not on a straight line in the coordinate system.
[0086] Light: electromagnetic radiation that can be handled using common electro-optical components (such as lenses, prisms and sensors), including radiation in the visible range and also outside the visible range (such as infra-red light).
[0087] Eye tracking camera: a camera intended to capture images including the user's eye or eyes.
[0088] Positioning camera: a camera intended to capture images including any objects and items (typically, objects of interest, such as a monitor and associated display, and markers when available).
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0089] The description hereinbelow will be made mostly in reference to an object that is a monitor to simplify the description and concentrate on one example but it would be appreciated that the description applies to any object. The description is also made with an example of an operating room but the invention is applicable to any environment that utilizes eye tracking in reference to objects.
[0090]
[0091] Tracking system 100 includes a camera 116 that is configured to provide images of a volume that may contain objects of interest to the user, or objects at which the user may look. This volume may include monitor 104, additional monitors and other objects located in the volume. Camera 116 is also mounted on support 128 in a known position in coordinate system 144 so that points given in the coordinate system of cameras 116 can be known also in coordinate system 144 using a known transformation between the coordinate systems. Camera 116 in cooperation with computer 130 can make possible for computer 130 to provide monitor 104 coordinates and coordinates of other monitors and objects relative to coordinate system 144. In some cases object recognition algorithms can be used in computer 130 and in some cases the objects may be equipped with specific identifiers to support simpler and faster image recognition and image recognition algorithms in computer 130 and identify the objects and their position information in coordinate system 144. In some examples, computer 130 can be configured to extract coordinates of image elements displayed on the monitor screen 124, relative to coordinate system 144. Computer 130 can be configured to receive and analyze the images displayed on monitor screen 124 and thereby provide the plane and the borders of monitor screen 124 relative to coordinate system 144. The monitor tracker can also include one or more additional illumination sources (not shown in FIG. 1) to provide camera 116 with a good visibility of the objects present in the volume covered by camera 116.
[0092] Camera 108 and camera 116 are configured to communicate with computer 130 through communication line 160, which can be a hard wired line or a wireless communication line. The hard wired or wireless communication line is not limited in length and computer 130 can be placed anywhere. Any one of illumination sources 132, 142 and 152 can also be connected to computer 130 that can be configured to control the intensity of any one of the illumination sources or switch the illumination sources ON/OFF. In the example of an operating room, operating table 136 is typically located between user 112 and support 128. Each of illuminations 142 and 152 can also consist of multiple illumination units located in multiple locations so as to provide for different needs such as higher illumination intensity, reduce shadows and overcome obscuring objects. Monitor 104 or other monitors or objects of interest would typically be located in the space behind camera 116, in direction further away from the user.
[0093] It would be appreciated that coordinate system 144 is provided as an example and it can also be the coordinate system of camera 108 or camera 116 or any other coordinate system that is fixed relative to the cameras 108 and 116. The cameras may be mounted in a fixed position relative to each other in any way.
[0094]
[0095] Object box 164 is the volume in which camera 116 can capture images of objects such as for example, monitor 104 so that computer 130 can use these images to provide information such as monitor 104 and screen 124 position relative to coordinate system 144. The dimensions of object box 164 are dependent on parameters of camera 116 in the same way as head box 162 dimensions are dependent on the parameters of camera 108.
[0096] Illumination sources 142 and 152 facilitating operation of tracking system 100 (
[0097] The position of any object is generally established by its coordinates in a specified coordinate system. In one example, support 128 provides for a reference coordinate system, schematically shown by arrows of 144. Coordinate system 144 is fixed relative to camera 108, camera 116 and illumination source 142. Coordinates of the user and other subjects and objects in the operating room can also be determined in coordinate system 144 by coordinate systems transformation from the coordinate system of camera 108 and camera 116 to coordinate system 144, based on known position of these cameras in coordinate system 144.
[0098] Reference is made to
[0099] A coordinate system of a camera can be determined, for example, as having its origin at the center of the image sensor with X axis parallel to the sensor lines and Y axis parallel to the sensor columns, Z axis pointing at the lens. The position information of camera 108 in coordinate system 144 can be determined by the position of the center of its sensor and the plane orientation of the sensor (typically defined by the direction of a vector perpendicular to the plane of the sensor) in coordinate system 144. Coordinates of a point in the head box space can be calculated from the position of the image of these objects on camera 108 sensor by using the image captured by camera 108 and provided to computer 130 and by using the lens information and geometrical optics. When a single camera is used for the head box, distance to the point can be calculated from focusing information of a motorized focusing lens, and if the lens has zoom capabilities, also from the zoom level or magnification information. Using face recognition algorithms to determine the location of the center of the pupils of the user supports determination of the center of the one or two pupil positions in coordinate system 144.
[0100] The position information of a point in the object box in coordinate system 144 can be determined in the same way. In this case, instead of pupil, it may be desired to locate the finite plane that is the screen area 124 of monitor 104. This can be done by providing computer 130 with the monitor parameters information (dimensions, colors, specific features) and using object recognition software such as SentiSight SDK available from Neurotechnology, Vilnius, Lithuania. In the case of a known object, such as a monitor, having its actual dimensions communicated to computer 130, with the camera sensor and lens information, computer 130 can calculate the position information of monitor 104 and screen 124 in coordinate system 144.
[0101] As shown in
[0102] In the example of monitor 200, in addition to the four markers 212, 214, 216 and 218 placed at the corners, there is one additional marker 220. Such marker arrangements can be made unique to monitor 200 to facilitate use of object recognition software to unambiguously identify this monitor and also provide its position in space based on the geometry of the markers that is stored in computer 130 and available to the position calculation software.
[0103]
[0104] It would be appreciated that the monitors are not necessarily positioned in the same arrangement as in the example of
[0105] In order to function, tracking system 100 must be calibrated. Calibration of the system creates a mapping between the gaze information extracted from user's 112 eyes (located in head box 162), and the gaze points of the user on certain objects (located in object box 164). Calibration of tracking system 100 is generally performed by providing calibration targets, typically in the space in front of the user that is further away from the user than tracking system 100. For each such target, the position of that target in coordinate system 144 is recorded, in association with gaze information from the user (typically the relations between his pupil and corneal reflection of light source 132, occasionally also location in the head box) as he or she looks at the target, the position of which is also recorded. By spreading such targets over the relevant space in the object box, with such target density as might be desired for accuracy purposes, the entire desired space is mapped and the calibration is completed. There now exists a direct mapping between gaze information taken from user 112, and corresponding gaze points (and line of gaze) in the space of the object box. Now, for any gaze information retrieved from user 112, the recorded data (through the calibration mapping) is used to determine the corresponding gaze point. In a simple implementation, the nearest stored gaze data can be retrieved and the associated target known position would indicate the point where the gaze line is passing through. With known position of the user's eye, the gaze line is determined by calculating the equation of a line passing through two known points. In another example, interpolation parameters can be extracted for the current gaze data relative to similar data previously recorded during the calibration. These similar recorded gaze data have corresponding gaze points in the object box that can be used to create interpolated values that estimate the point in space associated with this particular gaze data retrieved. In a more sophisticated example, linear regression may be performed during calibration to map the gaze data recorded from the user 112 to the known location of the calibration targets. The coefficients of this linear regression can then be used to translate all future gaze data from user 112 into gaze points in the object box. Such methods of eye tracking calibration are generally known in the arts.
[0106]
[0107] This process is repeated with additional targets displayed in different positions on screen 124 to provide the desired coverage of the space available by screen 124 size, to support the desired accuracy at any point. It would be appreciated that although the calibration is described in reference to a single eye 312 position, the eye tracking algorithms typically contain features aimed to compensate for movements of the head (and eye). The calibration can also include different eye positions over the useful volume in front of camera 108.
[0108] If the calibration has not covered the entire tracking range of the eye tracker because monitor 104 does not cover the solid angle of the tracking range, monitor 104 can now be moved to another location in object box 164 and the calibration can be continued for gaze lines not calibrated before (essentially, repeating the above described procedure for different locations of monitor 104). This can be repeated until the entire span of object box 164, or any desired part of it, is calibrated to provide the desired coverage and resolution of calibration within object box 164.
[0109] Multiple monitors can be placed in different locations to provide a spread of calibration targets over a larger part of object box 164.
[0110] Monitor 104 could also be positioned close enough to camera 116 so as to cover the entire solid angle of the tracking range with screen 124 in one position. The entire tracking range can be calibrated with this arrangement without moving the monitor.
[0111] Instead of using monitor 104 to generate the targets for the calibration, targets can be distributed in the room in a manner that provides the desired number and distribution of calibration targets within object box 164. An example is described in reference to
[0112] In
[0113] Performing calibration with a number of targets such as 324 dispersed in the room of
[0114] For example, target light sources can be connected to a drive box 340 that is connected to computer 130. Drive box 340 can be controlled by computer 130 and can be configured to control the operating parameters of each of the targets.
[0115] In the case of a projector, computer 130 can be connected to projector 342 to control it to project target images on any of the room walls, ceiling, floor and furniture or simply illuminate a specific graphical target at a specific time.
[0116] In one method, when the targets' relative geometrical data is not known to the system, every target that is used for calibration must be within the tracking range and also the object box.
[0117] In another method, when the targets' relative geometrical data is known to the system, it is enough (1) for the object tracker to identify a minimal number of targets (typically 3 but in special arrangements 2 may be enough, for example when the positioning camera height and angle relative to the floor is fixed) and (2) for the system to know which target is serving as the current calibration target. With this the system can calibrate also for targets that are outside the object box but are inside the tracking range. When the system is using, for example, LEDs or a projector to provide a calibration target, the calibration target in use can be known to the system.
[0118] It would be appreciated that when using pose detection techniques to determine the position of the targets in a coordinate system, the position of the targets relative to each other need to be known to the system. This can be done by design of the location of the targets.
[0119] The detection of position of any of the user's eye, the calibration targets, the markers of objects and objects in coordinate system 144 can also be done using stereoscopic imaging as illustrated in
[0120] When any of markers, targets object detection are used in combination with stereo imaging, stereo imaging can replace technologies mentioned above (such as position in the image, focusing and pose detection methods) or add accuracy to determining items locations. Stereo imaging is also less sensitive to specular blinding reflection from glasses that may be used by the user, since stereo images are obtained by use of two cameras placed at arbitrary locations in the room and naturally viewing the scene and the user at different angles.
[0121] The two images comprising a stereoscopic pair typically contain the same face but at different pixel positions, therefore, center point of each face can be used as a point of interest to extract the distance to it from the reference coordinate point or system. This can be done using known stereo triangulation principles and equations.
[0122] The stereo system, by definition, comprises a duplicity of system components (at least duplication of cameras) so that under certain circumstances one component can be selected or given priority over the other component e.g., to avoid specular blinding reflection from glasses.
[0123] The same concept applies to stereoscopic imaging of the object. In
[0124] Reference is made now to
[0125] It would be appreciated that not all elements located on support 128 are required and that different elements can complement each other. For example, storing the parameters of camera 108 sensor and optics together with the camera's external geometry in computer 130 can work together with object recognition software and a coordinate system specified in reference to camera 108 to provide all the necessary information to determine the cross point of the gaze line with the object.
[0126] Calibration is based on an assumption that calibration targets will also be included in one of the coordinate systems so that all relevant system information can be used in calculating the gaze lines and intersection of the gaze lines with objects. This is provided for calibration targets displayed on the object in known positions relative to the object coordinate system (such object is for example, monitor 104 and coordinate system 544). Yet, in the example of
[0127] Also in this example lens information (zoom, focus) can be used to determine the position of captured objects in coordinate system 544, and an additional camera can be added to camera 500 to utilize stereoscopic benefits in determination of the position of captured objects in coordinate system 544 or pose determination methods can be used in association with data stored for use by computer 130 of at least a part of markers 502 and 504 location relative to each other. It would be appreciated that these methods can be applied with any of the previously given examples.
[0128]
[0129] It would be appreciated that any coordinate systems may be selected for the calculation of the intersection point of the gaze line with the object and coordinate system 644 is selected above only as example.
[0130] Calibration can be done in the same way as described in reference to
[0131] More cameras, for example such as camera 602, can be added. Although a plurality of cameras can be added, and each of the cameras can also have pan and tilt functions, the description will refer to one additional camera where use of a plurality of cameras is analogous and well understood by those skilled in the art. Therefore it is well understood that any of the cameras 108, 116, 616, 618, 600, 602 and 604 may include a pan and tilt mechanism, for example, 600T and 600P of camera 600 or 616T and 616P of camera 616 as shown in
[0132] The transformation between coordinate system 646 of camera 602 and coordinate system 644 of camera 600 can be known and stored in computer 130. In some examples, the transformation can also be calculated by computer 130 using known stored data that is captured by both cameras. An example can be capturing of targets 502 and 504 by both cameras. With known geometry of these targets stored in computer 130, the position of each camera relative to these targets can be calculated and therefore also the transformation between coordinate systems 644 and 646.
[0133] It is not necessary that all of the plurality of cameras will capture the same items to support the calculation of the transformation between the coordinate systems of the cameras. It is also not necessary to know in advance the transformations between the coordinate systems of cameras 600, 602 and 604. This can be extracted through images captured by the cameras. For example, camera 600 can capture the elements located on support 128, camera 602 can capture the elements located on support 128 and object 104 and camera 604 can capture the elements located on object 104. The elements located on support 128 can be used by computer 130 to calculate the transformation between coordinate systems 644 and 646 because these elements are commonly viewed by both cameras. Camera 602 image can be used by computer 130 to calculate the transformation between coordinate systems 644 and 648 because it captures both objects 128 and 104. Calculated transformations between coordinate systems 644 and 646 using object 128 and between coordinate systems 646 and 648 using object 104 facilitate calculation of the transformation between coordinate systems 644 and 648. The transformation between the coordinate systems 644, 646 and 648 and coordinate system 144 can also be supported through, for example, camera 600 and computer 130 as described above. Therefore all collected information can be used with any one desired coordinate system to provide the point of intersection of the gaze line with the object.
[0134] Multiple cameras can be used to cover any part or the entire space in a room so that, as long as an object is captured by at least one camera, any object location can be used, any calibration target can be used and any camera pair with at least partially overlapping field of view can be used for stereoscopic benefits in the overlapping field of view.
[0135] Multiple cameras with overlapping fields of view can be used to improve the accuracy of determination of items posited in the common field of view of the cameras. Multiple cameras with overlapping field of view can also be used to provide backup in case the line of site of a first camera is disturbed by a person or any other object in the room, the second or third camera that is located in a different position can provide the information obscured from the other camera.
[0136] Reference is made now to
[0137] It would be appreciated that any combination of positioning cameras can be used, whether in a fixed position relative to another item or not and that the number of positioning cameras and eye tracker cameras can be different.
[0138] Certain users can wear spectacles that enhance their vision capabilities. Often users wear protective glasses. When illuminated at a certain angle, such glasses can produce a specular reflection of the illumination supplied by a single illumination source, for example, source 132. Such specular reflection can complicate the operation of eye tracker 108. This complication can be alleviated by using more than one light source illuminating the user 112 at different angles.
[0139] Reference is made now to
[0140] Periodical switching between the two or more light sources is also a possible operation mode of the eye tracker. Alternatively, computer 130 can be configured to detect eye tracker blinding and automatically switch between different light sources. Since light reflection intensity is polarization dependent, each or at least one light source can be polarized, further simplifying alleviation of the eye tracker blinding.
[0141] For the purpose of calibration, when user 112 is performing calibration for a target such as target 334, the calibration can be done first with one light source and then with the other light source. A calibration map is generated for each of the two light sources (or any other number of light sources). It is appreciated that calibration process can be selecting one calibration target and for the selected target calibrate sequentially for at least some of the light sources. Alternatively, it is possible to select a light source and then calibrate sequentially through at least a part of the calibration targets or any other order mixing calibration targets and light sources. It would be appreciated that switching between light sources to calibrate multiple light sources with one target (user 112) can be done without the user being aware of the light sources switching during the calibration, especially, if the light source is not in the visible range (such as infra-red light source).
[0142] Reference is made to
[0143] The transformation between the three coordinate systems 144, 844 and 544 is calculated by computer 130. Computer 130 receives images captured by camera 116 that include monitor 104. Using stored information of monitor 104 the images are analyzed to calculate the position of monitor 104 in coordinate system 144. The position of coordinate system 544 in coordinate system 144 becomes known and transformations between 144 and 544 coordinate systems can be calculated by computer 130.
[0144] In the same way, by analyzing images captured by camera 816, the position of coordinate system 544 in coordinate system 844 can be calculated by computer 130. Now transformations between 844 and 144 coordinate systems can also be calculated by computer 130 using coordinate system 544 that is common to both 144 and 844 coordinate systems. In a similar way the coordinate transformations between any two of the three coordinate systems 144, 544 and 844 can be calculated by computer 130.
[0145] With this arrangement in place, user 112 can move around outside of the head box of camera 108 and into the head box of camera 808 while his gaze line is calculated in the relevant coordinate system, such as coordinate system 144 when he is in the head box of camera 108 and coordinate system 844 when he is in the head box of camera 808. In any of the cases, the gaze line can be transformed to coordinate system 544 and the gaze point can be extracted from the intersection of the gaze line and screen 124 in coordinate system 544.
[0146] It would be appreciated that this example is not limited to two eye tracker cameras and a plurality of such eye tracker cameras can be distributed in the space to create as many head boxes as desired, and distributed as desired. Also the number of objects that can be tracked is not limited.
[0147] It would also be appreciated that the number of eye tracker cameras does not need to be equal to the number of positioning cameras. For example, if the user's position is limited to a relatively small volume one or two eye tracker cameras can cover the required space to capture the gaze line and, at the same time, a plurality of positioning cameras can be positioned to cover a large space where objects might be present as demonstrated in
[0148] It would also be appreciated that in all the examples where the gaze point is determined on an object having display capabilities such as a monitor, since the location of the gaze point on the display surface is known and the display surface is known, the gaze point can be displayed on the display using some kind of graphics overlay, such as a cross mark. Also, when the object has other controllable indicators on the surface for example, such as light emitting diodes (LED), when the gaze point is near or on a LED, the LED can be turned on (or off) so to indicate that the gaze point is there.
[0149] It would be appreciated that the current invention is not limited to the application of surgical procedures, which is merely used as a primary example. The system and methods described apply to a number of activities which may benefit from eye tracking with expanded range, including military applications, gaming, academic research and marketing research. In addition, it should be noted that many applications which were previously unsuitable for eye tracking due to the typical motion constraints are likely to reveal themselves, expanding the imaginative and creative uses of this technology.
[0150] For such non-surgical applications, the object box can be defined by an angular span in the environment. Calibration can be performed by shifting a monitor that covers only part of the angular span to various positions in the object box, and performing a calibration procedure as previously described in each position. In such a way, the user could complete the calibration process in a number of sessions, essentially allowing the system to encompass an object box of any size where a larger object box necessitates a longer calibration process. Once calibrated, the system can work anywhere: either where it was calibrated, or at any other location relative to the object or objects, so long as the gaze range includes the object for which the gaze point is pursued and, in accordance with the above description, the positioning scheme is implemented.
[0151] In this scenario, the environment can be any room or space where eye tracking is desired, for example: an operating room for a surgical application; a combat simulator environment for a military application; a living room for a gaming application; a supermarket aisle for a marketing research application, etc.
[0152] It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined by the appended claims and includes combinations and sub-combinations of the various features described hereinabove as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description.