CALIBRATION FOR GAZE DETECTION

A method comprises measuring head rotation speed in a direction; measuring eye rotation speed in the direction; and performing calibration of a gaze detection unit when the head rotation speed and eye rotation speed is lower than a threshold.

TECHNICAL FIELD

The present invention relates to a video system, a video generating method, a video distribution method, a video generating program, and a video distribution program. particularly in the context of a video system comprising a head-mounted display and a gaze detection device.

BACKGROUND ART

Conventionally, when gaze detection for specifying a point at which a user is looking is performed, it is necessary to perform calibration. Here, the calibration refers to causing a user to gaze at a specific indicator and specifying a position relationship between a position at which the specific indicator is displayed and a corneal center of the user gazing at the specific indicator. A gaze detection system that performs calibration to perform gaze detection can specify a point at which a user is looking.

SUMMARY OF INVENTION

Technical Problem

However, preparation of the calibration is made under the condition that it is determined that a user gazes at a specific indicator. Accordingly, there is a problem in that when information is acquired in a state in which the user does not gaze at the specific indicator, actual gaze detection cannot be accurately executed. The problem is particularly noticeable because an operator cannot confirm from the surroundings whether or not the user is actually gazing at the specific indicator in the case of a head mounted display in which surroundings of the eyes of the user are covered by the device and a state of the inside cannot be viewed.

The present invention has been made in consideration of the above problems, and an object thereof is to provide a technology capable of accurately executing calibration for realizing gaze detection of a user wearing a head mounted display.

Solution to Problem

In order to solve the above problem, an aspect of the present invention is a method comprising: measuring head rotation speed in a direction; measuring eye rotation speed in the direction; and performing calibration of a gaze detection unit when the head rotation speed and eye rotation speed is lower than a threshold.

Advantageous Effects of Invention

According to the present invention, it is possible to provide a technology for detecting a gaze direction of a user wearing a head mounted display.

DESCRIPTION OF EMBODIMENTS

In the following, each embodiment of the video system is explained in reference to the drawings. In the following explanations, identical components are referred to by the same symbols, repeated explanations are omitted.

An outline of the first embodiment of the present invention will be hereinafter described.FIG.1shows a schematic overview of the video system1according to the first embodiment. According to the embodiments, video system1comprises a head-mounted display100and a gaze detection device200. As shown inFIG.1, the head-mounted display100is used while secured to the head of the user300.

A gaze detection device200detects a gaze direction of at least one of a right eye and a left eye of the user wearing the head mounted display100and specifies the user's focal point, that is, a point gazed by the user in a three-dimensional image displayed on the head mounted display. The gaze detection device200also functions as a video generation device that generates a video to be displayed by the head mounted display100. For example, the gaze detection device200is a device capable of reproducing videos of stationary game machines, portable game machines, PCs, tablets, smartphones, phablets, video players, TVs, or the like, but the present invention is not limited thereto. The gaze detection device200is wirelessly or wiredly connected to the head mounted display100. In the example illustrated inFIG.1, the gaze detection device200is wirelessly connected to the head mounted display100. The wireless connection between the gaze detection device200and the head mounted display100can be realized using a known wireless communication technique such as Wi-Fi (registered trademark) or Bluetooth (registered trademark). For example, transfer of videos between the head mounted display100and the gaze detection device200is executed according to a standard such as Miracast (registered trademark), WiGig (registered trademark), or WHDI (registered trademark). Other communication techniques may be used and, for example, acoustic communication techniques or optical transmission techniques may be used.

The head-mounted display100comprises a housing150, a fitting harness160, and headphones170. The housing150encloses an image display system, such as an image display element for presenting video images to the user300, and, not shown in the figure, a Wi-Fi (registered trademark) module, a Bluetooth (registered trademark) module, or other type wireless communication module. The head-mounted display100is secured to the head of the user300with a fitting harness160. The fitting harness160may be implemented with the help of, for example, belts or elastic bands. When the user300secures the head-mounted display100with the fitting harness160, the housing150is in a position where the eyes of the user300are covered. Thus, when the user300wears the head-mounted display100, the field of view of the user300is covered by the housing150.

The headphones170output the audio of the video reproduced by the video generating device200. The headphones170do not need to be fixed to the head-mounted display100. Even when the head-mounted display100is secured with the fitting harness160, the user300may freely put on or remove the headphones170.

FIG.2is a block diagram illustrating the configuration of the video system1according to the embodiments.

The head-mounted display100comprises a video presentation unit110, an imaging unit120, and a communication unit130.

The video presentation unit110presents a video to the user300. The video presentation unit110may, for example, be implemented as a liquid crystal monitor or an organic EL (electroluminescence) display.

The imaging unit120captures images of the user's eye. The imaging unit120may, for example, be implemented as a CCD (charge-coupled device), CMOS (complementary metal oxide semiconductor) or other image sensor disposed in the housing150.

The communication unit130provides a wireless or wired connection to the video generating device200for information transfer between the head-mounted display100and the video generating device200. Specifically, the communication unit130transfers images captured by the imaging unit120to the video generating device200, and receives video from the video generating device200for presentation by the video presentation unit110. The communication unit130may be implemented as, for example, a Wi-Fi module, a Bluetooth (registered trademark) module or another wireless communication module.

The gaze detection device200shownFIG.2will be introduced. The gaze detection device200comprises a communication unit210, a gaze detection unit220, a calibration unit230, and a storage unit240.

The communication unit210provides a wireless or wired connection to the head-mounted display100. The communication unit210receives from the head-mounted display100images captured by the imaging unit120, and transmits video to the head-mounted display100. The gaze detection unit220detects a gaze of the user viewing an image displayed on the display100, and generates gaze data. The calibration unit230performs the calibration of the gaze detection. The storage unit240stores data for gaze detection and calibration.

The eye-tracking with lens compensation may be a method comprising:obtaining image of an eye of a user from a camera;finding a glint on the eye from the image;computing a ray from the camera to the glint;transferring the ray as the ray through a lens; andfinding a cornea center with the transferred ray.

The method may further comprises:finding a pupil of the eye from the image;computing a second ray from the camera to the pupil;transferring the second ray as the second ray through the lens; andfinding a position of the pupil with the transferred second ray.

FIG.3shows a schematic view of the eye-tracking with lens compensation.FIG.3shows human eye, lens, virtual camera and the head mounted display screen. the ray from the camera go through the standard or fresnel lens and reach the human eye. The gaze detection unit220uses the ray in order to compute eye-tracking.

A standard or fresnel lens is provided between the camera and the human eye. When detecting a gaze direction of the eye, the gaze detection unit220detects glints and the pupil on the image of the human eye using rays from the camera to each of the glints and the pupil. In the eye-tracking with lens compensation, the ray transfers through the lens. Therefore, the gaze detection unit220must compute such transfer.

The gaze detection unit220may compute a ray (ray before lens) from the camera to a glint position detected from the image using intrinsic and extrinsic matrices to give the 3d ray for any 2d point (glint) on the camera image. The gaze detection unit220may apply snell's law ray tracing or use a precalculated transfer matrix in order to calculate the ray after lens. The gaze detection unit220uses this ray after lens in order to compute eye-tracking (gaze direction).

Lens compensation may be done with polynomial fitting. Assuming (x, y) represents a pixel on the camera image, (xp, yp) represents the x-y position on the lens, and (xd, yd, zd) represents the x-y-z direction of the ray from the lens. Then for any pixel on the camera image the gaze detection unit220can find a ray after in pass the lens:

Note that (x, y) can be anything that can be directly derived from pixel coordinate, such as angle in spherical coordinates etc. Further, (xd, yd, zd) can also have alternative representation (e.g. spherical coordinates).

FIG.4shows a flowchart of an eye-tracking method. The left shows a conventional flow, and the right shows the eye-tracking with lens compensation according to the present embodiment.

At first the gaze detection unit220obtains eye images from a camera. Then, the gaze detection unit220finds glints and a pupil by conducting image processing. The gaze detection unit220uses intrinsic and extrinsic matrices to get rays from the camera to every glint.

Here, in our eye-tracking with lens compensation, the gaze detection unit220transfers the rays through the lens. The transfer is computed matrices or polynomial fitting described above.

The gaze detection unit220solves the inverse problem to find cornea center/radius.

Then, the gaze detection unit220uses intrinsic and extrinsic matrices to get a ray from camera to the pupil.

In our eye-tracking with lens compensation, the gaze detection unit220transfers this ray through the lens.

The gaze detection unit220intersects this ray with cornea sphere.

Result of the intersection is 3D pupil position. The resulting optical axis is the vector from cornea center to 3D pupil position.

The camera optimization through lens fitting may be a method comprising:obtaining image of an eye of a user from a camera;detecting a shape of a lens placed between the eye and the camera; andcorrecting at least one of a position and an orientation of the camera so that the shape of the lens fits an expected lens shape.

FIG.5shows a physical location of a virtual camera and a lens. When using such lens, the expected position and orientation of the camera means a lot to computing the gaze direction since the ray from the camera to the eye of the user transfers through the lens. In our camera optimization through lens fitting, we calibrate the position and orientation of the camera.

FIG.6shows camera images for lens shape. The left side picture shows an expected camera image when the orientation of the camera is correct. The right side picture shows the camera image when the orientation of the camera is wrong. As shown in the right side picture, the lens shape (white circle) is not located in the center of the image.

The calibration unit230runs numerical optimization to correct camera position and orientation. As an optimization cost function the calibration unit230tries to fit the observed lens to the expected lens shape.

<<3d Model Based Pupil, Iris and Glints Prediction>>

3D model based prediction may be a method comprising:obtaining eye image from a camera;image processing the eye image to obtain positions of eye parts;estimating eyeball model parameters based on the positions of the eye parts;computing a 3D gaze direction based on the eyeball model parameters;creating a 3D eyeball model from the eyeball model parameters;estimating next eyeball model parameters; andfeeding back the estimated next eyeball model parameters to the image processing.

FIG.7shows a flow chart of the process of 3D model based pupil prediction. At first the eye-tracking system obtains an eye image by the camera. Then, based on the pupil and iris eccentricity, and glint position, and eye image from the camera, the system conducts image processing. Then, it estimates eyeball model parameters, such as position and orientation radiuses of eyeball, pupil and iris. it outputs 3D gaze point estimation. Then, it creates a 3D eyeball model from previous image frames, and it estimates pupil and iris eccentricity, and glints position from the 3D model. Then the pupil and iris eccentricity, and glint position are used for the next cycle of the image processing.

Calibration process burdens the user with additional effort. By the hidden calibration, the calibration is performed during the user viewing contents.

The hidden calibration may be a method comprising:displaying a moving object in a visual scene as a content which entertain a user;performing a calibration of a gaze direction of the user using the moving object as the calibration point.

In the hidden calibration, the calibration may be performed every time a scene changes.

FIG.8shows an example of a scene image for calibration. The left side figure ofFIG.8shows a scream image of conventional calibration. In the conventional calibration, before the content starts, the moving dot is displayed on the screen and the user watches the dot. Or in case recalibration is conducted, it is required to stop the content to display the moving dot again. But stopping content for calibration stresses users. To address this problem, it is better to conduct calibration without stopping content.

For example, the video content has a scene during a specific period of time which shows only moving object on the screen such as a logo, a firefly and a bright object. During the scene displayed, the user watches the moving object and the calibration unit can conduct the calibration process. The right side figure ofFIG.8shows an example of a scene displayed with a firefly.

If the video content has multiple scenes, calibration can be conducted multiple times during the content, and the accuracy of the eye tracking gradually increases.

FIG.9shows a flowchart of the process of hidden calibration. An application (such as Video player) draws a moving object on screen without other content. It is expected that user's eye tracks the moving object even if this calibration is not announced, because only the object appears on the screen.

Then, the application sends 3D location information (3D coordinates) of the object to the eye tracking unit.

Then, the eye tracking unit uses the location information to calibrate in real time. If the eye tracking unit conducts the calibration, the application sends further timestamp information with the 3D location information.

The foveated camera streaming may be a method comprising:obtaining image to be displayed to a user;detecting a gaze direction of the user;determining a region of interest of the user on the image based on the gaze direction;compressing the region of interest of the image in a first compression rate;compressing outer region of the image other than the region of interest in a second compression rate, the second compression rate higher than the first compression rate; andtransmitting the compressed region of interest and the compressed outer region.

In the method, a resolution of the region of interest is higher than a resolution of the outer region.

In the method, the image may be a video, in the step of compressing the region of interest, encoding the region of interest in a first video, in the step of compressing the outer region, encoding the outer region into a second video, wherein a frame rate of the first video is higher than a frame rate of the second video.

The foveated camera streaming also may be a method comprising:obtaining a first image to be displayed to a user;detecting a gaze direction of the user;determining a region of interest of the user on the first image based on the gaze direction;stretching the region of interest into a second image;combining the first and second image;transmitting the combined image;decoding the combined image;separating the first and second image from the combined image;unstretching the second image; andprocessing the first and second image.

FIG.10shows a schematic overview of the video system. In this embodiment, the video system comprises the head-mounted display100, a gaze detection device200and a cloud server.

The head-mounted display100further comprises an external camera. The external camera is fixed with the housing150and arranged to record video images of the front direction of the user's head facing. The external camera records video images with full resolution for the whole world where the external camera can record. The video system has two image streams including high resolution images for the gazing area of the user and low resolution images for the other area. The images including the high resolution images and the low resolution images are sent to the cloud server by a public communication network directly from the head-mounted display100or via the gaze detection device200. In this technology, the video system1can reduce the bandwidth for sending images because it sends full resolution images for only limited area (a gazing area) where the user looking at, and low resolution images for the other area, instead of sending full resolution images for the whole world where the external camera can record.

Based on the received two types of image information, the cloud server creates contextual information which is used for AR (Augmented Reality) or MR (Mixed Reality) display. The cloud server aggregates information (e.g. object identification, facial recognition, video image, etc.) to create contextual information and sends the contextual information to the head-mounted display100.

FIG.11shows a flowchart of the process related to communication between the head-mounted display and the cloud server.

The external camera facing outward on the head mount display takes images of the world (S1101).

Then the control unit splits the video images into two streams based on the eye tracking coordinates (S1102). In this step, the control unit detects gazing point coordinates of the user based on the eye tracking coordinates, and splits the video images into a region of interest area and the other area. The region of interest can be obtained from the video images by splitting a certain sized area including the gazing point.

Then, the two video image streams are sent to the cloud server by a communication network (e.g. 5G network) (S1103). In this step, images of the region of interest area are sent to the server as high resolution images, on the other hand, images of the other area are sent to the server as low resolution images.

Then, the cloud server processes the images and adds contextual information (S1104).

Then, the images and contextual information are sent back to the head mount display to display AR or MR images to the user (S1105).

FIG.12shows a functional configuration diagram of the video system. The head mount display and gaze detection device comprise the external camera, the control unit, the eye tracking unit, a sensing unit, communication unit and Display unit. The cloud server comprises a general awareness processing unit and a high-detail processing unit, and an information aggregation unit.

The external camera obtains video images and the obtained raw video image with high resolution is inputted to the control unit. The eye tracking unit detects looking at point (gaze coordinates) based on eye tracking and input the gaze coordinates information to the control unit. The control unit determines the region of interest in each image based on the gaze coordinates. For example, the region of interest can be obtained from the video images by splitting a certain sized area including the gazing point. The image data of the region of interest is compressed at lower compression ratio and inputted to the communication unit. The communication unit also receives sensing data such as headset angle and other metadata which is obtained by the sensing unit. The sensing unit can be configured by GPS or geomagnetic sensor. The image data of the region of interest is sent to the cloud server with a higher resolution image. The image data outside of the region of interest is compressed at a higher compression ratio and inputted to the communication unit. The image data outside of the region of interest is sent to the cloud server with a lower resolution image.

The general awareness processing unit in the cloud server receives the image data outside of “the region of interest” which is lower resolution (and the headset angle and the metadata), and performs image processing in order to identify objects in the image, such as object type and number.

The High-detail processing unit in the cloud server receives the image data of the region of interest which is higher resolution (and the headset angle and the metadata), and performs image processing in order to identify detail things, such as facial recognition, text recognition.

The information aggregation unit receives the identification result of the general awareness processing unit and the recognition result of the High-detail processing unit. The information aggregation unit aggregates received results in order to create a display image, and send the display image to the head mount display via the communication network.

FIG.13shows another example of a functional configuration diagram of the video system. InFIG.7-3, The image data of the region of interest (higher resolution) and the image data outside of the region of interest (lower resolution) are sent to the cloud server separately. But these image data can be sent with one video stream as shown inFIG.7-4. After obtaining the region of interest, the control unit stretches the image in order to reduce data outside of the region of interest. Then, it sends the stretched image and sensing data from the sensing unit to an unstretched unit in the cloud server. The unstretched unit un-stretches received image data and sends the un-stretched image data to the general awareness processing unit and the high-detail processing unit.

The eye tracking calibration can be made using optokinetic response, i.e. the calibration method may comprise:measuring head rotation speed in a direction;measuring eye rotation speed in the direction; andperforming calibration of a gaze detection unit when the head rotation speed and eye rotation speed is lower than a threshold.

Optokinetic response is an eye movement that occurs in response to the image movement on the retina. When gazing at a point, the sum of the head rotation speed and the eye rotation speed is zero (0) during the head rotations.

The calibration unit230can perform the calibration of the gaze detection device200when the user gazes at a stable point which can be detected by detecting that the sum of the head rotation speed and the eye rotation speed is zero. That is, when the user rotates his/her head to the right, the user should rotate his/her eyes to the left to gaze at a point.

FIG.14shows a graph showing the rotation speeds of head and eye. The dotted line shows the eye rotation speed in a direction. The solid line shows the inverted head rotation speed (the head rotation speed multiplied by −1) in the direction. As shownFIG.14, the inverted head rotation speed almost aligns the eye rotation speed.

The head-mounted display100comprises an IMU. The IMU can measure the head rotation speed of the user300. The gaze detection unit can measure the eye rotation speed of the user. The eye rotation speed can be represented by the speed of the movement of the gaze point. The calibration unit230may calculate the head rotation speeds in up-down direction and left-right direction from the measured value by the IMU. The calibration unit230may also calculate the eye rotation speed in up-down direction and left-right direction from the history of the gaze point. The calibration unit230displays a marker in a virtual space rendered in the display. The marker can be moved and be stable. The calibration unit230calculates the head rotation speeds in left-right direction and up-down direction and the eye rotation speeds in left-right direction and up-down direction. The calibration unit230may perform calibration when the sum of the head rotation speeds and the eye rotation speeds is lower than a pre-determined threshold.

The single point calibration may be a method comprising:imaging a pupil by a camera;compensating a position of the pupil based on an anterior chamber depth; anddetermining a gaze direction using the compensated position of the pupil.

In the calibration method, determine a direction from a cornea center to the position of the pupil as the gaze direction.

In the calibration method, it may be possible to determine a direction from a eyeball center to the position of the pupil as the gaze direction.

The calibration method may further comprise: compensating a position of the pupil to angle against a direction from the camera to the pupil image.

FIG.15shows a physical structure of the eyeball. The eyeball is configured with some parts including a pupil, a cornea and an anterior chamber. The position of the pupil may be recognized by camera image. In reality, there is anterior chamber depth (ACD) between the surface of the cornea and the pupil. Hence, it is required to compensate the position of the pupil taking the ACD into consideration in order to improve accuracy of gaze estimation. The compensated pupil position is used to estimate the gaze direction.

FIG.16shows an example of a method of calibration. In this case, the eye is looking at the calibration point which is known by the system, and the pupil is observed by a camera. P0 shows an intersection of a ray (observed pupil by a camera) with cornea sphere. P0 is the observed pupil on the camera. P0 is used in general gaze estimation.

However, indeed the pupil is positioned at P1 inside the cornea sphere by ACD. The direction from the center of the eyeball (or the center of the cornel sphere) to the center of the pupil is considered to be the gaze direction of the eye. The calibration may be made using the gaze direction and the known calibration point.

The compensation will be adjusted assuming the cornea refracts the ray. That is the pupil position is compensated taking the anterior chamber depth (ACD) and the horizontal optical to visual axis into consideration.

FIG.17shows the refraction model of the single point calibration. The intersection of ray (observed pupil by camera) with the cornea sphere gives P0. We know cornea position and incident ray. Therefore, we apply “Snell's law” (or some other refraction model). So the direction will be changed. Continue ray in order to have a certain distance (ACD) between pupil P1 and cornea sphere surface (P0). Direction from cornea center (or eyeball center) to P1 should direct towards known calibration point. If not, the calibration unit230optimizes ACD. Thus the calibration unit230calibrates the ACD.

Calibration process burdens the user with additional effort. By the implicit calibration, the calibration is performed during the user viewing contents.

In conventional (explicit) calibration:1. The system shows the user a point target at a known position.2. The user should look at the target for a period of time.3. The system records estimated user gaze during that period.4. The system combines recorded gaze with ground truth position to estimate eye tracking parameters.

In contrast, in the implicit calibration:1. There is no explicit point target.2. The user does not need to do any specific actions, he/she engages in VR/AR experience as normal.3. The system records estimated user gaze and hmd screen image during normal VR/AR experience.4. The system combines estimated gaze with screen image to obtain ground truth position.5. The system combines recorded gaze with ground truth position to estimate eye tracking parameters.

The implicit calibration may be a method for calibrating gaze detection comprising:obtaining image of eyes of a user;detecting a gaze point based on the eyes image;obtaining image of visual field of the user who is looking at a scene that does not need to contain any predetermined content;detecting edges in a subimage extracted from the visual field image, the subimage including the gaze point; andadjusting the gaze point according to detected edges.

In the implicit calibration, the point to which the gaze point is adjusted may be the point with the highest probability of an edge occurring.

The implicit calibration may further comprises:accumulating detected edges for a predetermined term;calculating a statistic from the edge distribution; andafter the predetermined term, adjusting the gaze point by the statistic.

It is important to add that we need a screen image. The screen image is referred to as a visual field. The visual field may cover both screen image in VR and outside camera image in AR. It is also important to note that we do not require the user to look at any specific targets. The scene content can be arbitrary. Since we have two types of images: eye images and screen images, it would be better to specify explicitly which image is referred to.

The correlation of gaze points and images of visual field can be defined as an assumption about human behavior: In circumstances A people are likely to look at B, where A and B are something that we can automatically extract from the visual field image. Currently we use an assumption In all circumstances people are likely to look at edges.

There are other assumptions that potentially could be used, for example. When presented a new image people are likely to look at faces of humans/animals/etc first, or When presented a video with an object moving against stationary background people are likely to look at the moving object. We do:1. calculate average of edges in time, and2. find the vector to the point with maximum average edges

The general nature of the idea is “automatically extracting the ground truth from the image of the visual field”. However this ground truth is not a single point, but a probability distribution. Given a single visual field image, we can not predict actual gaze point, but we can predict that the actual gaze point is located in certain region with a certain probability.

When we take a region of interest, we basically convert the gaze point probability distribution to an eye-tracking parameters probability distribution. After we accumulate probability distributions from visual field images at different moments of time, we can calculate an average probability distribution. This average probability distribution will gradually converge to a single point (single value of eye-tracking parameters): the more images we have, the less the standard deviation of this distribution will be.

The general idea of predicting the gaze from the image of visual field is not new. There is a research field called ‘Saliency prediction’ that studies this topic. The hypothesis that “people are likely to be looking at object edges” also comes from saliency prediction. What is new is the way of integrating saliency prediction into eye-tracking calibration.

FIG.18shows branches of the implicit calibration. The “bias” means that the difference between estimated gaze point and actual gaze point is constant. People tend to look at points with high contrast, i.e. object edges. Therefore, in the implicit calibration using the edge accumulation includes:1. Obtain estimated user gaze and head-mounted display screen image.2. Select small region of screen image around the gaze point (ROI; Region Of Interest).3. Detect edges on ROI.4. Accumulate statistics over time.5. Find a point that has maximum amount of edges across time.6. Estimate bias as a difference between ROI center and the maximum point.

FIG.19shows the overview of the implicit calibration. The circles are the gaze points from the eye tracker (gaze detection unit220). The stars are the actual gaze points. The rectangles are the accumulated regions of the visual field. We use the point with the highest amount of edges as a ground truth for calibration. Therefore, there is no need to provide any calibration point in the display field.

FIG.20shows a flow chart of the implicit calibration. The exe tracker (gaze detection unit220) provides the approximate gaze direction. The head-mounted display provides the image of the full visual field that the user sees. Using the approximate gaze direction and the image of the full visual field, the calibration unit230computes statistics over time, estimates the eye-tracking parameters, and feeds back the parameters to the exe tracker. Thus, gradually the gaze direction is calibrated.

CITATION LIST

Patent Literature