METHOD AND A SYSTEM FOR MONITORING AN EYE POSITION
20180341328 ยท 2018-11-29
Inventors
Cpc classification
G06F3/038
PHYSICS
G02B2027/0187
PHYSICS
A61B5/398
HUMAN NECESSITIES
G06F3/015
PHYSICS
International classification
Abstract
A method for monitoring an eye position, comprises: capturing (202) a sequence of digital images of an eye; acquiring (204) a sequence of biosignal data representing eye movements; determining (206) a set of reference eye positions based on the sequence of digital images; and determining (208) a set of intermediate eye positions based on said set of reference eye positions and said sequence of biosignal data, said set of intermediate eye positions representing eye positions relative to said set of reference eye positions, wherein the set of intermediate eye positions represents eye positions between consecutive pairs of images of said sequence of digital images.
Claims
1. A method for monitoring an eye position, comprising: capturing a sequence of digital images of an eye; acquiring a sequence of biosignal data representing eye movements; determining a set of reference eye positions based on the sequence of digital images; and determining a set of intermediate eye positions based on said set of reference eye positions and said sequence of biosignal data, said set of intermediate eye positions representing eye positions relative to said set of reference eye positions, wherein the set of intermediate eye positions represents eye positions between consecutive pairs of images of said sequence of digital images.
2. The method according to claim 1, further comprising determining a set of relative eye positions based on said sequence of biosignal data, wherein said determining of a set of intermediate eye positions comprises combining said set of reference eye positions and said set of relative eye positions.
3. The method according to claim 2, further comprising, in a combining unit, receiving a first stream comprising the determined set of reference eye positions, receiving a second stream comprising the determined relative eye positions, and combining the first and second streams into a single stream of eye positions.
4. The method according to claim 3, wherein a sample rate of the second stream is higher than a sample rate of the first stream, and wherein the combined single stream has a sample rate higher than the sample rate of the first stream.
5. The method according to claim 2, wherein the set of reference eye positions and the set of relative eye positions are determined in relation to a common coordinate system.
6. The method according to claim 5, wherein the common coordinate system is based on an external reference.
7. The method according to claim 1, further comprising calibrating eye positions based on digital images of an eye to eye positions based on biosignal data, said calibrating comprising providing a sequence of stimuli trigging a sequence of predictable eye positions, capturing a calibration sequence of digital images of an eye in relation to the sequence of predictable eye positions; acquiring a calibration sequence of biosignal data representing eye movements in relation to the sequence of predictable eye positions, and determining calibration data for the reference eye positions and calibration data for the intermediate eye positions in a common coordinate system.
8. The method according to claim 7, wherein said sequence of stimuli comprises indications of screen positions and wherein said calibration data correlates reference eye positions and intermediate eye positions to screen positions.
9. A system for monitoring an eye position, comprising: an image capturing device configured to capture a sequence of digital images of an eye; a biosignal acquisition unit configured to acquire a sequence of biosignal data representing eye movements; a processing unit configured to determine a set of reference eye positions based on the sequence of digital images; and determine a set of intermediate eye positions based on said set of reference eye positions and said sequence of biosignal data, said set of intermediate eye positions representing eye positions relative to said set of reference eye positions, wherein the set of intermediate eye positions represents eye positions between consecutive pairs of images of said sequence of digital images.
10. The system according to claim 9, wherein the processing unit comprises an image processor configured to determine a set of reference eye positions based on the sequence of digital images and a biosignal processor configured to determine a set of relative eye positions based on said sequence of biosignal data.
11. The system according to claim 10, wherein the processing unit further comprises a combiner configured to determine intermediate eye positions based on said set of reference eye positions and said set of relative eye positions.
12. The system according to claim 11, wherein the combiner is configured to output a single stream of eye positions based on said set of reference eye positions and said set of relative eye positions.
13. A system for controlling presentation on a screen, comprising: a screen configured to present information to a user; a system for monitoring an eye position according to claim 9, wherein the eye positions are determined in relation to positions on the screen; and a controller configured to receive the eye positions as indications of gaze directions of a user and further configured to control the screen in relation to the received eye positions.
14. A device for monitoring an eye position, comprising: a carrier configured to be head-mounted on a user; and the system according to claim 9, wherein the system is mounted on the carrier.
15. The device according to claim 14, wherein the carrier is a pair of glasses or a headset for virtual or augmented reality.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The above, as well as additional objects, features and advantages of the present inventive concept, will be better understood through the following illustrative and non-limiting detailed description, with reference to the appended drawings. In the drawings like reference numerals will be used for like elements unless stated otherwise.
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
DETAILED DESCRIPTION
[0051] Referring now to
[0052] The system 100 may comprise an image capturing device 110. The image capturing device 110 may be implemented as a digital camera, which may be integrated in a wearable device. For instance, the camera may be arranged in the head-mounted structure worn by the user, set up to acquire images from the user's eyes in a close range. However, the image capturing device 110 may also be arranged at a distance from the user. For instance, the image capturing device 110 may be formed by a digital camera integrated in or connectable to a desktop computer monitor, a laptop, a mobile phone, a tablet computer or some other portable computing device. Other examples include a TV or a video game console.
[0053] The image capturing device 110 may comprise an optical system 112 and an image sensor 114. The optical system 112 may be arranged to image an object onto the image sensor 114. The optical system 112 may be pre-configured to be adapted for imaging an eye in close range. For instance, a distance between the optical system 112 and an eye may be well-known in advance, if the image capturing device 110 is integrated in the head-mounted structure, such as goggles.
[0054] The image sensor 114 may comprise an array of photo-sensitive areas and may be arranged to record an image by means of the photo-sensitive areas being controlled to output signals representative of accumulated incoming light.
[0055] The image sensor 114 may be a complementary metal-oxide-semiconductor (CMOS) image sensor or a charge-coupled device (CCD) image sensor.
[0056] The image capturing device 110 may be configured to capture a sequence of digital images of an eye. The images may be arranged to image the eye, and possibly a small area around the eye in order to allow determining an eye position of a user which may be indicative of a gaze direction and possibly other eye features providing useful information, such as pupil location, pupil area, pupil speed, unique iris identification information, and reaction time to optical stimuli.
[0057] The system 100 may further comprise an image processing unit 120. The image processing unit 120 may be configured to receive data including the sequence of digital images from the image capturing device 110.
[0058] The image processing unit 120 may be a logic digital block of a higher level entity such as an ASIC, SiP, SoC, intrinsically connected to the image sensor 114, e.g. by sharing a data bus.
[0059] The image processing unit 120 may be directly connected to the image sensor 114, e.g. by being mounted on a common printed circuit board or connected through a wired connection to the image sensor 114.
[0060] Alternatively, the image processing unit 120 may be arranged remotely to the image capturing device 110. For instance, the image processing unit 120 may be arranged in a desktop computer, a laptop, a TV, a video game console or in a portable computing device, which may also be carried or worn by the user, such as in a mobile phone or a tablet computer. In such case, the system 100 may further comprise a transmitter 130 for communicating between the image capturing device 110 and the image processing unit 120. For instance, the transmitter 130 may be arranged for wireless communication, e.g. using Bluetooth/WiFi or another wireless protocol, with an external unit in which the image processing unit 120 may be arranged.
[0061] The image processing unit 120 may be configured to process the sequence of digital images in order to determine a sequence of positions, orientations, rotations and other features of the eye. The image processing unit 120 may, for instance, determine a position of the pupil and/or a position of the iris, the area of the pupil, its perimeter, or the ratio between areas of iris and pupil which may in turn be used to determine a gaze direction of the user, a reaction of the user to external stimuli or the eye speed, among other eye-related features.
[0062] The processing by the image processing unit 120 may include further eye feature extraction. For instance, pupil size and iris measurements may be performed for each digital image. Also, based on the sequence of digital images, eye feature extraction may include eye movement, pupil variation, pupil velocity, etc.
[0063] The image processing unit 120 may be any unit being capable of performing digital image processing. The image processing unit 120 may be implemented as a dedicated image processing unit 120 including circuitry dedicated to performing the functions of the image processing unit 120. The circuit may be a digital logic circuit. The circuit may be implemented in an integrated circuit such as a chipset. The circuit may also be implemented in a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). The image processing unit 120 may also be implemented in a general-purpose processing unit, such as a microprocessor, e.g. a central processing unit (CPU), which may be provided with a set of software instructions for performing the processing operations.
[0064] The features extracted by the image processing unit 120 may be stored in a memory for future analysis and/or may be reported, e.g. to a controller for interpreting the extracted features in providing a human-computer interface.
[0065] The image processing unit 120 may need to perform relatively extensive image processing of each image in order to extract the desired features. The image processing performed by the processing unit 120 may thus be based on an assumption that an eye is imaged in each digital image in order to speed up processing.
[0066] The system 100 may further comprise a biosignal acquisition unit 140. The biosignal acquisition unit 140 may be configured to acquire biosignal data, which may represent an eye activity. In this respect, the biosignal acquisition unit 140 may be arranged to register biopotentials based on muscle, skin or nerve activity in relation to eye activity.
[0067] The biosignal acquisition unit 140 may comprise a set of skin electrodes 142 adapted to be arranged in an eye region of the user. The set of skin electrodes 142 may comprise a pair of skin electrodes 142a-b, which are arranged above and below an eye, respectively, as illustrated in
[0068] The eye acts as a dipole in which the positive pole is at the cornea and the negative pole is at the retina. A potential difference between the electrodes 142 may be representative of an arrangement of the eye dipole in relation to the skin electrodes 142. Biosignal data acquired based on detecting an arrangement of the eye dipole in relation to the skin electrodes 142 may be called electrooculography (EOG) data. The biosignal data may be indicative of eye movements and detection of EOG data may thus be used for determining eye movements, e.g. as a sequence of relative eye positions.
[0069] A first pair of electrodes 142a-b arranged above and below the eye may thus be arranged to determine eye movement in relation to a vertical direction, whereas a second pair of electrodes 142c-d arranged to the left and right of the eye may be arranged to determine eye movement in relation to a horizontal direction. Using both pairs of electrodes, horizontal and vertical direction movements may be separately detected and together represent a movement of the eye in two dimensions.
[0070] As mentioned above, two parallel systems 100 may also be set up to monitor the position of both eyes of a user. In such case, the biosignal acquisition units 140 of the parallel systems 100 may comprise separate sets of electrodes, each set being intended for monitoring one eye. However, it should also be realized that at least one of the electrodes may be used for monitoring a position of both eyes. For instance, a single electrode 142a may be arranged above both eyes (extending over a larger area than indicated in
[0071] The pairs of electrodes 142a-b, 142c-d need not be perfectly aligned on a vertical and horizontal axis, respectively, in relation to the eye. Rather, the measure acquired based on the respective pairs of electrodes 142a-b, 142c-d may then have a component in the vertical and horizontal direction, respectively and a geometrical correction may be performed on the acquired signals in order to obtain orthogonal projections belonging to the horizontal and vertical axis. This may be especially useful when having two parallel systems 100 monitoring the positions of both eyes of the user.
[0072] The biosignal acquisition unit 140 may further comprise circuitry 144 connected to the set of skin electrodes 142 and arranged to measure the potential difference between the skin electrodes 142 in each pair of skin electrodes 142a-b, 142c-d and acquire the measured potential difference as biosignal data by sampling and digitizing the measured potential difference. Circuitry for measuring and acquiring of data of a potential difference is per se known in the art and will therefore not be further described herein.
[0073] The system 100 may further comprise a biosignal processing unit 150. The biosignal processing unit 150 may be configured to receive the biosignal data from the biosignal acquisition unit 140.
[0074] The biosignal processing unit 150 may be configured to process the received biosignal data in order to determine eye positions based on an arrangement of the eye dipole and/or based on detected muscle activity which may be correlated to movements of the eye. The biosignal processing unit 150 may thus comprise an algorithm for analyzing the biosignal data so as to determine positions of the eye, at least relative positions in form of changes in position of the eye.
[0075] The biosignal processing unit 150 may be configured to process the received biosignal data from each pair of electrodes 142a-b, 142c-d separately such that horizontal and vertical eye movements may be separately determined. The horizontal and vertical eye movements may then be combined into a single representation of the eye movements in two dimensions, wherein each sample provides a representation of both a horizontal and a vertical eye position in a time instance.
[0076] The biosignal processing unit 150 may also be configured to process the received biosignal data in order to detect other eye activities than eye movements. For instance, the biosignal processing unit 150 may be configured to determine closing and opening of an eyelid of the eye or saccades. The biosignal processing unit 150 may thus comprise an algorithm for analyzing the biosignal data so as to determine when an eye is about to close or when the eye is closed, when an eye is about to open or when the eye is open, or when a rapid eye movement corresponding to a saccade occurs.
[0077] The biosignal processing unit 150 may be any unit being capable of processing the biosignal data and determining eye movements and/or eye positions based on the acquired biosignal data. The biosignal processing unit 150 may be implemented as a dedicated hardware biosignal processing unit including circuitry dedicated to performing the functions of the biosignal processing unit 150. The circuit may be a digital logic circuit. The circuit may be implemented in an integrated circuit such as a chipset. The circuit may also be implemented in a FPGA or an ASIC. The biosignal processing unit 150 may also be implemented in circuitry being shared with the image processing unit 120. The biosignal processing unit 150 may also be implemented in software residing in a general-purpose processing unit, such as a microcontroller (MCU), a microprocessor, e.g. a CPU, which may be provided with a set of software instructions for performing the processing operations. The biosignal processing unit 150 may be implemented in a same processing unit as the image processing unit 120. For instance, the biosignal processing unit 150 and the image processing unit 120 may be implemented as separate processing threads, which may be executed on a common processor.
[0078] The biosignal processing unit 150 may be directly connected to the circuitry 144 of the biosignal acquisition unit 140, e.g. by being mounted on a common printed circuit board or connected through a wired connection to the circuitry 144.
[0079] Alternatively, the biosignal processing unit 150 may be arranged remotely to the biosignal acquisition unit 140. For instance, the biosignal processing unit 150 may be arranged in a desktop computer, a laptop, a TV, a video game console or in a portable computing device, which may also be carried or worn by the user, such as in a mobile phone or a tablet computer. Thus, the transmitter 130 may also be arranged for communicating between the biosignal acquisition unit 140 and the biosignal processing unit 150.
[0080] The system 100 may be arranged as a self-contained unit on a head-mounted structure. All components of the system 100 as described above may thus be arranged in a common and compact housing 102. This implies that the system 100 may be manufactured and delivered as a separate, self-contained unit, which may later be installed or integrated in or on a head-mounted structure, such as goggles, which may be separately manufactured (even at a different location from manufacturing of the system 100). For instance, the housing 102 may be attached to or mounted on frames of goggles or other eyewear to be worn by a user.
[0081] Referring now to
[0082] The method comprises capturing 202 a sequence of digital images of an eye. The capturing 202 of the sequence of digital images may be performed by the image capturing device 110. Each digital image may thus provide a representation of a position of the eye in a time instant corresponding to the time of capturing the digital image.
[0083] The method further comprises acquiring 204 a sequence of biosignal data. The acquiring 204 of the sequence of biosignal data may be performed by the biosignal acquisition unit 140. The acquiring of the sequence of biosignal data may occur simultaneously with the capturing of the sequence of digital images of the eye. A sample in the sequence of biosignal data may provide a representation of a position of the eye or a change in the position of the eye in a time instant corresponding to the time of acquiring the sample.
[0084] The method further comprises determining 206 a set of reference eye positions based on the sequence of digital images. The sequence of digital images may be transferred to the image processing unit 120, which may be configured to extract an eye position from each image and the extracted eye positions may thus form a set of reference eye positions, each related to a time instant in which the respective digital image was captured.
[0085] The method further comprises determining 208 a set of intermediate eye positions. The determining of the set of intermediate eye positions may be based on the sequence of biosignal data, which may be processed by the biosignal processing unit 150 in order to determine relative eye positions or changes in positions of the eye. The relative eye positions may be combined with one or more reference eye positions in order to determine absolute positions of the eye based on the sequence of biosignal data in combination with the set of reference eye positions. Hence, intermediate eye positions representing eye positions between consecutive pairs of images of the sequence of digital images may be determined such that a sequence of eye positions may be generated with a higher rate than a rate of capturing digital images.
[0086] Referring now to
[0087] The image capturing device 110 may hence transfer a sequence of digital images to the image processing unit 120. The image processing unit 120 may be configured to extract an eye position corresponding to each digital image and may hence output a set of reference eye positions, e.g. in the form of x and y coordinates in a coordinate system. The digital images may be captured with a relatively low frame rate and the reference eye positions may hence also be provided at a corresponding rate.
[0088] The image processing unit 120 may also be configured to determine other features that may be extracted from the digital image of the eye. For instance, pupil size and iris measurements may be performed for each digital image.
[0089] The image processing unit 120 may be configured to output the set of reference eye positions in a first stream 162 to a combining unit 160. Also, further features of the eye may be output with the positions of the eye in the first stream 162 of information or in a separate stream (which may facilitate extracting of the eye positions in further processing).
[0090] The biosignal acquisition unit 140 may transfer a sequence of biosignal data to the biosignal processing unit 150. The biosignal processing unit 150 may be configured to convert each sample of biosignal data to a corresponding relative eye position and may hence output a set of relative eye positions, e.g. in the form of changes in x and y coordinates in the coordinate system. The biosignal data may be captured with a relatively high frame rate and the relative eye positions may hence also be provided at a corresponding rate. The biosignal processing unit 150 may be configured to output the set of relative eye positions to the combining unit 160.
[0091] The biosignal acquisition unit 140 may be configured to acquire potential differences in two independent channels corresponding to horizontal (x) and vertical (y) movements of the eye. Thus, the relative eye positions may be based on two independent channels, which may be output in a second stream 164 comprising the determined relative eye positions.
[0092] The biosignal processing unit 150 may further be configured to perform event detection based on the biosignal data. The biosignal processing unit 150 may thus be configured to detect blinks and/or saccades and may output the events with the relative positions of the eye in the second stream 164 of information or in a separate stream (which may facilitate extracting of the eye positions in further processing). The events may be used in user interaction, as even-driven input to an eye-controlled computing device. Blinks and saccades could for instance be used as commands to the computing device, e.g. for selecting an item.
[0093] The combining unit 160 may receive the first and second streams and combine the input to a single stream 166 of eye positions. The single stream of eye positions may provide a rate which is substantially higher than the rate of the first stream 162 and may be equal to the rate of the second stream 164. The combining unit 160 may also select only parts of the relative eye positions of the second stream to be included in the outputted single stream 166. For instance, every other sample point of the second stream 164 may be included in the single stream 166, although every sample point may contribute to accuracy of the individual eye positions.
[0094] The reference eye positions and the relative eye positions may be provided to the combining unit in relation to a common coordinate system, such that the combining unit 160 may directly combine the information into a single stream. A sequence of relative eye positions corresponding to time instances between two consecutive digital images may be processed in relation to the first reference eye position for determining absolute intermediate eye positions as offsets to the first reference eye position. Thus, a set of eye positions may be formed in (near) real time.
[0095] Since the relative eye positions may be separately processed, the combining unit 160 may receive relative eye positions from the biosignal processing unit 150 as soon as they are generated. The reference eye positions may not be as quickly generated in relation to capturing of the digital image, as the image processing may require more complex processing than the biosignal data processing. As soon as the combining unit 160 receives a reference eye position, the combining unit 160 may determine intermediate eye positions based on relative eye positions, which may have already been received from the biosignal processing unit 150. The combining unit 160 may then continue to determine intermediate eye positions based on new relative eye position information received from the biosignal processing unit 150, until a new reference eye position is received from the image processing unit 120.
[0096] The reference eye positions and the relative eye positions may be associated with time stamps, so that the combining unit 160 is able to relate the first and second streams 162, 164 to each other. Alternatively, a clock is shared by the image processing unit 120 and the biosignal processing unit 150 and the output of information to the combining unit 160 may be clocked such that the combining unit 160 may use default information in order to relate the reference eye positions to the relative eye positions in time.
[0097] As mentioned above, two parallel systems 100 may also be set up to monitor the position of both eyes of a user. The systems 100 may in such case share the combining unit 160 such that the combining unit 160 receives input of first and second streams 162, 164 for each of the eyes. The combining unit 160 may thus form a single stream 166 for the right eye and another single stream for the left eye. However, it should be realized that eye positions, e.g. in the form of angles representing gaze directions for both of the eyes may be used in order to draw further conclusions on what the user looks at. For instance, by determining gaze directions of each eye, the gaze directions may be compared in order to determine a distance from a user to an object at which the user is looking. If the user is looking at an object that is close to the user, angles of the gaze directions of the respective eyes may form large converging opposite angles, whereas if the user is looking at an object far away, the gaze directions may form close to parallel angles. Such information may be determined by the combining unit 160 which may then not only output information of positions of the respective eyes but also a distance to an object that the user looks at.
[0098] It should be realized that the combination of information from parallel systems 100 may be obtained in other ways. For instance, each system 100 may comprise a combining unit 160 that outputs a single stream 166 of eye positions and another processing block, which may be arranged in an overall control system may receive the streams of eye positions for e.g. determining a distance to an object. Alternatively, it could be contemplated that the parallel systems 100 share processing units for image processing and biosignal processing for both eyes.
[0099] Thanks to use of biosignal data, there is not a need to capture images very often in order to provide a high rate of eye positions. This implies that the image capturing frame rate could be set in relation to desired accuracy and not necessarily in relation to a capability of image capturing and image processing. The capturing and processing of images may be relatively complex and, hence, power consuming, so by limiting the image capturing frame rate, power consumption may be controlled and, also, battery life of a portable device may be increased. The desired accuracy of the eye positions may be related to how fast a drift of the eye positions based on biosignal data causes errors in the eye positions to exceed a threshold.
[0100] In
[0101] According to an embodiment, images may be captured at a rate of two frames per second, whereas biosignal data may be acquired at a rate of 256 Hz. The single stream of eye positions may output eye positions at a rate of 256 Hz, or 128 Hz. It should be realized that any other combination of rates is conceivable and the above values should only be taken as illustrative examples.
[0102] In an embodiment, the first and second streams 162, 164 may be processed and analyzed separately from capturing of images and acquiring of biosignal data. Hence, the image processing unit 120 may determine a set of reference eye positions based on a sequence of digital images and may transfer the entire set of reference eye positions to the combining unit 160 in a single transfer of information, which may occur at any time after the capturing of the images. Similarly, the biosignal processing unit 150 may determine a set of relative eye positions based on a sequence of biosignal data and may transfer the entire set of relative eye positions to the combining unit 160 in a single transfer of information. The combining unit 160 may thus combine the reference eye positions and the relative eye positions to a single stream of eye positions. In combining the information, the relative eye positions may be related to reference eye positions both before and after in time in relation to the relative eye position. This may improve accuracy of eye positions based on the relative eye positions, especially at time instances immediately prior to a reference eye position. The eye positions thus determined are not provided in real time, but could be useful e.g. in applications of analyzing eye movements.
[0103] The combining unit 160 may be any unit being capable of processing the received first and second streams and determining eye positions based on the received data. The combining unit 160 may be implemented as a dedicated hardware combining unit including circuitry dedicated to performing the functions of the combining unit 160. The circuit may be a digital logic circuit. The circuit may be implemented in an integrated circuit such as a chipset. The circuit may also be implemented in a FPGA or an ASIC. The combining unit 160 may also be implemented in circuitry being shared with the image processing unit 120 and/or the biosignal processing unit 150. The combining unit 160 may also be implemented in software residing in a general-purpose processing unit, such as a microcontroller (MCU), a microprocessor, e.g. a CPU, which may be provided with a set of software instructions for performing the processing operations. The combining unit 160 may be implemented in a same processing unit as the image processing unit 120 and/or the biosignal processing unit 150. For instance, the combining unit 160, the image processing unit 120 and the biosignal processing unit 150 may be implemented as separate processing threads, which may be executed on a common processor.
[0104] Referring now to
[0105] As illustrated in
[0106] The stimuli could for instance be provided as indications of screen positions, which would trigger a user to position the eye so as to be directed towards the screen position. The indications of screen positions may comprise positions at edges of the screen in order to acquire calibration sequences 402, 404a-b corresponding to large differences in eye positions.
[0107] The stimuli trigging a sequence 406 of predictable eye positions may alternatively comprise an indication, such as a dot or another pattern, on the screen, which indication is moving across the screen. The calibration procedure may include the pattern moving across the screen at several different speeds in order to acquire calibration sequences 402, 404a-b in relation to different speeds of eye movements.
[0108] The sequence 406 of predictable eye positions and the calibration sequences 402, 404a-b may be input to a calibration calculating algorithm 408. The calibration calculating algorithm may correlate positions and speeds of an eye in a digital image to corresponding screen positions and may also correlate potential differences in biosignal data to movements in screen positions.
[0109] The calibration data may thus correlate reference eye positions and relative eye positions to screen positions. The calibration data may also comprise an indication of gaze direction or angle of the eye based on a distance between the user and the screen during calibration. When the system 100 is used, a distance of the user to the screen may be determined such that an angle resolution (minimum detectable angle perceived by the system) can be computed.
[0110] The calibration data may be stored in a memory, which is accessible by the image processing unit 120 and the biosignal processing unit 150. In an embodiment, the calibration data relevant to the image-based eye tracking is stored in a memory associated with the image processing unit 120 and the calibration data relevant to the biosignal-based eye tracking is stored in a memory associated with the biosignal processing unit 150. The image processing unit 120 and the biosignal processing unit 150 may use the respective calibration data to convert the received information to eye positions in relation to screen coordinates.
[0111] The calibration procedure may be performed periodically. For instance, the calibration procedure may be performed every time the system 100 for monitoring an eye position is turned on. Also, the calibration procedure may be performed based on an internal trigger, such as detecting that a user has repositioned, that signal quality is deteriorating, etc., or based on an external trigger, such as initiated by a user.
[0112] The calibration procedure may need to be performed if a user of the system 100 is changed, as the eye may not be imaged in the same way by the image capturing device 110 (e.g. different distance between eye and the image capturing device 110) and a different response to eye movements may be acquired by the biosignal acquisition unit 140.
[0113] Referring now to
[0114] As shown in the lowermost graph, a combined monitoring of the eye positions provides information of intermediate eye positions between the reference eye positions, based on the biosignal data. The combined output may provide a single stream of eye positions based on a combination of the digital images and the biosignal data. A monitoring of eye positions is thus enabled at a high sample rate provided by the acquiring of biosignal data, while the eye positions based on digital images provides a periodical reference to avoid drift errors.
[0115] As is clear from
[0116] As is also clear from
[0117] Hence, as is illustrated in
[0118] As schematically illustrated in
[0119] The computing device 504 may further comprise a controller 506, which may receive the stream of eye positions from the combining unit 160. Also, the controller 506 may receive information on eye events, such as blinks or saccades, which may be interpreted as commands to the computing device 504. The controller 506 may thus process the stream of eye positions in order to use the eye positions as input to the computing device 504. For instance, a cursor or pointer may follow the eye positions and a blink, when the pointer is at a desired position may be interpreted as a selection of an item presented in the position. The controller 506 may thus execute operations or cause operations of the computing device 504 to be executed in response to input based on eye positions and/or eye events. The execution of operations may then cause output of updated presentations on the screen 502 such that the presentation on the screen 502 is controlled in relation to the received eye positions.
[0120] The system 100 for monitoring an eye position may at least partly be integrated in the computing device 504. Thus, digital images captured by the image capturing device 110 and biosignal data acquired by the biosignal acquisition unit 140 may be transmitted to the computing device 504, such that the image processing unit 120, the biosignal processing unit 140 and the combining unit 160 may be integrated in the computing device 504, e.g. as a separate processing circuit or as software enabling a CPU to execute the functionalities of the image processing unit 120, the biosignal processing unit 140 and the combining unit 160.
[0121] As schematically illustrated in
[0122] The image capturing device 110 may be mounted on the carrier 602 so as to be directed towards the eye of the user, which implies that high-quality images of the eye may be captured by the image capturing device 110. Further, pairs of electrodes 142 of the biosignal acquisition unit 140 may be arranged at rims of the goggles such that the electrodes 142 will be placed in contact with skin at positions close to the eye. Thus, the biosignal acquisition unit 140 will be arranged so as to acquire biosignal data representing eye movements.
[0123] Further, a processing unit 604 may be mounted at a suitable position on the carrier 602, wherein the processing unit 604 may provide the functionality of the image processing unit 120, the biosignal processing unit 150 and the combining unit 160 so as to generate a stream of eye positions. The stream of eye positions may be transmitted from the device 600 and may be used by an external computing device, e.g. to adapt a presented augmented or virtual reality based on the input provided by the eye positions.
[0124] The device 600 provides a pre-defined set-up that is easy to use and does not require cumbersome preparation of the system 100 before monitoring of eye positions may be started. The user may simply arrange the head-mounted carrier on the head, whereby the image capturing device 110 and the biosignal acquisition unit 140 will be arranged in relation to the eye in such a way as to provide data that may be used for monitoring the eye positions.
[0125] In the above the inventive concept has mainly been described with reference to a limited number of examples. However, as is readily appreciated by a person skilled in the art, other examples than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended claims.
[0126] For instance, eye positions are mainly presented as positions in relation to a coordinate system. The eye positions could instead be provided as angles indicating gaze directions, which may similarly provide information of the eye positions.