Procédé de détermination de la direction du regard d'un utilisateur
La présente invention concerne la détermination de la direction du regard d'une personne par le suivi de ses mouvements oculaires, notamment lorsque cette personne visualise un écran d'un système informatique.
Le brevet US 6 113 237 porte sur un dispositif permettant de détecter les mouvements horizontaux et verticaux des yeux d'une personne. Il donne la position de la pupille, mais pas la direction du regard. Il ne permet pas d'obtenir une grande précision.
Les demandes de brevet US 2005/0110950 et US 2010/0283972 portent sur des applications médicales de la détection des mouvements saccadiques de l'œil et n'enseignent pas plus particulièrement de déterminer la direction du regard.
Dans la demande internationale WO 2010/083853, on acquiert une image de la scène observée par l'utilisateur pour déterminer le point d'observation de ce dernier.
La demande US 2010/045933 propose une méthode d'identification de la direction du regard faisant intervenir une réflexion sur la rétine qui nécessite un appareillage optique complexe (miroirs mobiles balayant la zone mesurée à partir d'une source lumineuse ponctuelle de très petite taille) associé à une méthode de traitement différé de l'information basé sur des référentiels fixes. Ce dispositif n'utilise pas les aspects synergiques et auto-entretenus d'une double source d'informations temps réel à référencement relatif et ne peut donc répondre de façon satisfaisante aux problématiques de traitement instantané de l'information et d'auto-correction des dérives.
La demande EP 2 261 772 décrit une méthode de reconstruction de la direction du regard à partir d'une caméra immobile, distante faisant face à l'utilisateur. Un premier traitement identifie puis suit par flux optique la position et l'orientation de la tête et un deuxième traitement identifie un ou les deux iris de l'utilisateur. Ce dispositif fixe, non embarqué, restreint signifîcativement la mobilité de l'utilisateur et ne répond pas aux contraintes de précision attendues d'un tel système.
La demande US 2012/019645 décrit un dispositif permettant de déterminer la donnée regard sur un écran de visualisation embarqué. Il n'inclue pas de référencement au monde extérieur.
Les systèmes existant peuvent nécessiter une calibration relativement longue et contraignante. De plus, une dérive est susceptible d'intervenir, qui limite dans la durée la précision obtenue et donc la possibilité d'utiliser durablement les résultats obtenus.
Il existe un besoin pour améliorer la productivité et la précision de l'interface entre l'homme et un système informatique, et notamment pour simplifier le processus de calibration.
Il existe encore un besoin pour accélérer le traitement des données et rendre le système de détermination de la direction du regard plus réactif et facilement utilisable en temps réel.
Enfin, il existe un besoin pour disposer d'un procédé permettant à l'utilisateur de bénéficier d'une certaine liberté de mouvement, au moins de la tête.
L'invention vise à répondre à tout ou partie de ces besoins.
Procédé
L'invention a ainsi pour objet, selon un premier de ses aspects, un procédé de détermination de la direction du regard d'un utilisateur comportant l'acquisition d'images de l'œil, notamment à l'aide d'un capteur optique, de préférence une caméra, le procédé comportant :
a) un premier traitement de ces images qui fournit une information sur l'orientation de l'œil, à partir de l'observation d'une zone de l'œil dont l'aspect varie avec la rotation de l'œil, et
b) un deuxième traitement de ces images qui fournit une information sur la cinématique de l'œil par comparaison d'au moins deux images successives,
Procédé dans lequel on génère une information concernant la direction du regard relativement à la tête de l'utilisateur, notamment dans le référentiel de la tête de l'utilisateur à partir au moins des informations délivrées par les premier et deuxième traitements.
Grâce au cumul de ces traitements, la précision est améliorée ; cela permet de diminuer la résolution de la caméra utilisée pour acquérir les images et donc d'accroître la vitesse de traitement et de simplifier celui-ci ; cela permet de réduire la consommation électrique ou d'alléger le système ou de rendre le système sans fils et d'allonger l'autonomie.
En outre, la meilleure précision permet de réduire la dérive dans le temps par rapport à la calibration initiale et ainsi de prolonger la durée d'utilisation sans qu'il y ait besoin d'une nouvelle calibration. Le confort d'utilisation s'en trouve accru.
Les premier et deuxième traitements n'ont pas nécessairement lieu dans l'ordre a) puis b) et peuvent aussi avoir lieu dans l'ordre b) puis a), les traitements étant réalisés selon une boucle permettant de fournir à des intervalles de temps réguliers une information concernant la direction du regard.
La méthode d'acquisition d'image utilisée dans le procédé peut avantageusement être non intrusive de l'œil. Autrement dit, les images servent à déterminer la position et/ou le déplacement de l'œil sont des images de l'extérieur de l'œil et non des images d'une surface profonde de l'œil, telle que la rétine ou la macula, ou faisant intervenir des réfractions et/ou réflexions sur des éléments de l'œil, telles que la rétine ou la cornée. Ainsi, les images pouvant être utilisées dans l'invention sont des images d'aspect de surface de l'œil, telles qu'une portion au moins du contour de l'iris et/ou de la sclérotique. Cela peut permettre de conserver une optique d'acquisition relativement simple et facile à intégrer à des lunettes par exemple. Cela peut également permettre de simplifier l'éclairage intégré au dispositif porté par l'utilisateur, car il n'est pas nécessaire de faire pénétrer un rayon lumineux au sein de l'œil dans des conditions d'incidence particulières.
Un éclairage diffus de la surface de l'œil, notamment de l'iris et de la sclérotique peut convenir.
L'invention ne repose pas sur l'observation du reflet de sources lumineuses sur l'œil et peut ainsi être plus indépendante de l'environnement lumineux. Les images acquises peuvent représenter des données anatomiques et/ou cinématiques externes de l'œil.
Les premier et deuxième traitements peuvent reposer sur l'acquisition d'images à des fréquences d'acquisitions différentes, et de préférence le premier traitement s'effectue à une première fréquence d'acquisition moindre que le deuxième traitement qui s'effectue à une deuxième fréquence, avec de préférence encore un facteur d'au moins 10 entre les première et deuxième fréquences.
Les premier et deuxième traitements peuvent reposer sur l'acquisition d'images à des résolutions différentes, et de préférence le premier traitement repose sur l'acquisition d'images à une résolution supérieure à la résolution de l'acquisition effectuée lors du deuxième traitement, par exemple supérieure d'un facteur 5 au moins.
L'information délivrée par le premier traitement peut permettre de corriger les dérives liées au deuxième traitement, dans la précision de la mesure.
Premier traitement
Le premier traitement fournit une information sur l'orientation de l'œil, à partir de l'observation d'une zone de l'œil dont l'aspect varie avec la rotation de l'œil. L'orientation est déterminée de façon statique indépendamment de son évolution dans le temps.
Ce premier traitement peut être effectué à partir d'une seule image. Il peut être effectué pour chaque image.
Ce premier traitement peut comporter la détermination des paramètres liés à la forme de l'ellipse correspondant à la pupille, notamment afin de déterminer la position d'un point de l'œil, par exemple du centre de la pupille. On peut utiliser un algorithme de reconstruction de la forme de la pupille sur l'image en déterminant par traitement de l'image les paramètres de l'ellipse correspondant au cercle de la pupille observé selon une direction faisant un angle avec la normale au plan de ce cercle. On peut déduire l'orientation de l'œil par analyse de l'évolution de la forme de cette ellipse.
Un tel algorithme est connu de l'article « Matching 2-D ellipses to 3-D circles with application to vehicle pose identification » de M. Hutter et al. Image and Vision Computing New Zealand, 2009. IVCN '09.
La reconstruction d'une ellipse est par exemple possible à partir de cinq points de son contour.
Le disque de la pupille, projeté sur un plan, est une ellipse qui peut être paramétrée sous la forme générale : a.x2 + b.x.y+ c.y2+d.x+e.y+f=0, avec b2 - 4.a.c <0. Un nombre limité de points du contour, en particulier cinq, suffisent pour calculer les paramètres descriptifs de cette ellipse (centre, axe mineur, axe majeur et angle de rotation). Connaissant ces caractéristiques et celles de la caméra, il est ainsi possible de reconstruire en 3D la direction du vecteur normal au disque dont la projection est l'ellipse.
La reconstruction de l'ellipse peut nécessiter une résolution minimale pour obtenir la précision nécessaire. Dans le cas où la résolution de l'image est faible, on utilise un algorithme de reconstruction de l'ellipse permettant de tenir compte dans l'intégralité de l'image de l'intensité des niveaux de gris, plutôt que de se concentrer sur le contour de la tâche correspondant à la pupille pour y retracer l'ellipse. On recherche ensuite à faire
correspondre une fonction continue de forme donnée avec les niveaux de gris. On obtient ainsi une résolution meilleure que la résolution de l'image dépendant de la taille et du nombre des pixels de cette dernière. On peut ainsi utiliser une résolution relativement basse tout en gardant une précision suffisante.
La direction de l'œil dans le référentiel de la caméra est donnée par la normale au disque de la pupille prise en son centre. Cette normale ainsi que le centre du disque, différent du centre de l'ellipse, sont obtenues à partir des caractéristiques de l'ellipse. La direction du regard dans le référentiel de la tête est obtenue par application d'une matrice de rotation à 3 axes qui est fixe et connue.
L'image traitée ne comporte pas nécessairement une vue de l'iris de l'œil dans sa totalité. L'invention permet d'obtenir l'ellipse même lorsque l'image ne comporte qu'une portion de l'iris de l'œil, soit que l'œil ait été fermé partiellement lors de la prise de l'image, soit que l'image soit prise sur l'œil avec un grossissement important. Le traitement peut permettre d'obtenir l'information voulue, même si l'on ne dispose que d'une vue partielle de la bordure de l'iris, voire seulement d'une frontière de ce dernier avec le blanc de l'œil.
A la différence des méthodes classiques qui calculent l'orientation de l'œil comme une fonction non linéaire de la distance entre le centre de l'ellipse et le centre d'une des réflexions sur la cornée d'un éclairage externe, appelées points de Purkinje), cette méthode permet de connaître l'orientation de l'œil sans faire appel à un référentiel externe comme les points de Purkinje. La linéarité de cette solution permet de s'abstraire des méthodes de calibration inhérentes à la méthode classique.
Deuxième traitement
Le deuxième traitement fournit une information sur la cinématique de l'œil par comparaison d'au moins deux images successives, c'est-à-dire une information concernant l'évolution de la position de l'œil dans son orbite entre deux instants.
Ce deuxième traitement peut être effectué à partir de deux images consécutives. Il peut être effectué pour chaque couple d'images successives acquises par le capteur optique.
Le deuxième traitement permet d'obtenir des informations sur le déplacement de l'œil dans son orbite, et notamment une information sur l'angle de rotation de l'œil, en prenant l'hypothèse que l'œil est une sphère.
Le deuxième traitement comporte la détermination du flux optique entre deux images successives de l'œil, c'est-à-dire le mouvement apparent causé par le mouvement relatif entre le capteur optique qui acquiert des images et l'œil. Un algorithme correspondant est connu de l'article « Determining Optical Flow » de Berthold K. P. Horn et al, Artificial Intellingence, vol. 17, pp. 185-203, 1981.
On mesure la variation du flux de pixels dans une image, par différence entre deux ou plusieurs images. Deux images successives peuvent être très rapprochées dans le temps. Deux images successives sont de préférence d'intensité constante. On peut repérer entre deux images d'une même zone d'une partie mobile de l'œil comportant des contrastes, par exemple deux images successives de la sclérotique comportant des vaisseaux sanguins, ou n'importe quelle région incluant tout ou partie de l'iris ou de la pupille, le choix de la région n'étant pas limitatif, la variation de l'emplacement de zones caractéristiques par leur formes ou intensité.
La variation d'emplacement des zones caractéristiques est observée par la variation du flux d'intensité de pixels dans le plan parallèle au plan du capteur. La mesure de cette variation du flux optique de pixels ne nécessite pas d'avoir à identifier explicitement une image de référence ou des caractéristiques ou des motifs de référence dans l'image. En particulier ces « images » peuvent être prises à très hautes fréquences par un deuxième capteur indépendant du premier traitement. Il n'est pas nécessaire que ce deuxième capteur présente une bonne résolution ou une bonne focalisation pourvu que la zone mesurée soit contrastée. La mesure de cette variation du flux optique est facilitée si l'intensité de chaque image est constante.
Combinaison
Les informations résultant des deux traitements peuvent être combinées pour générer l'information concernant la direction du regard, qui peut être une information concernant la direction d'un œil. L'information concernant la direction du regard peut résulter de l'addition des deux informations, chacune étant pondérée en fonction d'une loi qui peut dépendre des deux informations elles-mêmes. Le premier traitement permet d'obtenir une information concernant un changement d'orientation de la direction du regard, dans le référentiel de la caméra, par la mesure de la normale à la pupille. Le deuxième traitement permet de connaître le différentiel de mouvement d'un ou plusieurs points de la sphère modélisant l'œil dans le plan de la caméra. Ces deux informations
proviennent de deux traitements indépendants. Elles sont combinées et pondérées pour obtenir une mesure de la direction de l'œil finale. Cette pondération est fonction de la cohérence du mouvement à cet instant. Sous l'hypothèse d'un mouvement de rotation tridimensionnel pure selon deux axes et de centre et de rayon inconnu, à partir d'une position angulaire initiale correspondant à l'image à un instant t, on optimise la solution de la rotation permettant d'obtenir l'état final à l'instant t+dt, qui peut être l'image suivante, suivant les deux informations obtenues. La solution retenue est une pondération des deux résultats en fonction de leur cohérence avec le modèle de rotation imposé. Les deux traitements peuvent être effectués simultanément ou quasi-simultanément. Cela peut permettre de profiter de leur complémentarité fonctionnelle et/ou topographique pour accélérer ou faciliter les traitements ou en améliorer la qualité. L'une des informations peut permettre de corriger l'autre ou d'aider à la déterminer. On peut par exemple procéder par interpolation pour déterminer l'une des informations.
On peut par exemple grâce à ces informations s'affranchir de la réfraction cornéenne qui peut produire des non-linéarités provenant de la réfraction de la pupille sur la cornée, cette réfraction étant due à la position du capteur optique. Le deuxième traitement permet d'obtenir les informations sur le déplacement de l'œil dans son orbite avec une influence moindre de la réfraction, dans la mesure où la zone de l'œil utilisée est de préférence située relativement dans le coin de ce dernier, par exemple sur la sclérotique.
Le deuxième traitement peut produire des erreurs dans le cas où l'œil tourne trop vite relativement à la vitesse de capture des capteurs optiques, d'où l'intérêt d'utiliser des images successives proches dans le temps, donc un capteur optique à haute fréquence d'acquisition, et de la combinaison avec le premier traitement.
On peut par exemple effectuer une modélisation de l'emplacement du centre de rotation en considérant que l'ensemble des directions du regard déjà déterminées passent par le centre de l'œil. Ainsi, on peut faciliter la détermination des directions du regard ultérieures, en présupposant qu'elles doivent aussi passer par le centre de rotation modélisé. Par le premier traitement, on connaît à chaque instant, la position du centre de la pupille et la normale à celle-ci. A partir de plusieurs mesures successives, le centre de rotation de la pupille dans l'espace, est la solution minimisant, par exemple par la méthode des moindres carrés, l'équation d'une sphère connaissant les positions dans le plan de la
caméra de plusieurs points de cette sphère ainsi que la normale à la sphère en chacun de ces points.
La synergie de ces deux traitements permet de d'optimiser les avantages de chacun dans leurs régimes propres.
Le premier traitement permet de connaître précisément la position de la pupille quand le mouvement de l'œil est lent ou nul comparé à la fréquence d'acquisition, vitesse angulaire correspondant à une fréquence de mouvement voisine de 30Hz par exemple. Si le déplacement est très rapide, notamment avec une vitesse angulaire correspondant à une fréquence supérieure ou égale à 200Hz, l'image est distordue, apparaît floue, brouillée et la reconstruction mauvaise.
Le deuxième traitement mesure une vitesse de rotation. L'orientation angulaire est obtenue par intégration de cette vitesse dans le temps. Le système d'acquisition étant beaucoup plus rapide que le mouvement de l'œil, cette méthode permet une mesure précise lors des mouvements très rapides de l'œil. A l'inverse elle est moins intéressante lors de mouvements lents de l'œil car le bruit de fond de l'image devient important face au faible déplacement.
La combinaison des deux traitements est donc particulièrement avantageuse et permet d'obtenir à la fois une bonne précision spatiale et une bonne précision temporelle de l'orientation de l'œil en permettant une autocorrection réciproque des deux traitements.
Dispositif
On peut avantageusement utiliser pour l'acquisition des images un dispositif porté par l'utilisateur, comportant au moins une première caméra configurée pour acquérir une image de tout ou partie d'un œil de l'utilisateur.
Le dispositif peut également comporter un circuit électronique permettant de traiter les images acquises selon le procédé selon l'invention, de façon à déterminer un déplacement relatif de l'œil par rapport à la caméra et l'évolution de la direction du regard dans le temps.
Ce dispositif peut être porté en tout ou partie par l'utilisateur.
Le dispositif peut comporter en outre au moins un système de représentation d'information notamment de type écran ou écran semi-transparent, projecteur, hautparleur ou oreillette, système vibratoire de retour de force. Le système de représentation peut ainsi
représenter par exemple de façon visuelle, graphique, sonore ou autre une information obtenue à l'étape a) ou b) ou dérivant d'une telle information.
Le dispositif peut comporter en outre au moins un capteur d'une information physiologique relative au porteur du dispositif. Ce dernier capteur est par exemple choisi parmi un microphone, un capteur de mouvement ou d'accélération, un capteur d'image, une ou plusieurs électrodes, un capteur de sudation.
Le traitement peut avoir lieu de façon entièrement intégrée à des lunettes portées par l'utilisateur, par exemple, ou de façon déportée, grâce à une transmission à distance des images par exemple, ou encore de façon mixte, en partie au niveau des lunettes et en partie de façon déportée, un prétraitement étant par exemple effectué grâce à un circuit électrique porté par les lunettes et une information envoyée à un circuit distant par une liaison non filaire. Le prétraitement permet de réduire le débit de données transférées.
Pour l'acquisition des images, on éclaire l'œil ou les deux yeux de préférence avec un éclairage infrarouge, notamment avec une ou plusieurs LED. La ou les sources lumineuses sont par exemple de relativement large ouverture angulaire, notamment supérieure à 60°, afin de couvrir une grande zone de l'œil. La ou les sources d'éclairage peuvent être disposées sur les côtés, notamment extérieurs, cela permet avantageusement de minimiser les réflexions observées par la caméra.
Le dispositif peut ne comporter qu'un seul capteur optique pour acquérir une image de l'œil de l'utilisateur. Dans le cas où le dispositif ne comporte qu'un seul capteur optique et est dépourvu d'un deuxième capteur optique, le premier et unique capteur optique peut permettre à lui seul d'obtenir les images nécessaires aux deux traitements.
Les images successives saisies par le ou les capteurs optiques peuvent être des images du coin de l'œil et/ou de la pupille et/ou de la sclérotique.
Le dispositif peut comporter au moins un deuxième capteur optique configuré pour acquérir une image de tout ou partie de l'œil.
Les premier et deuxième capteurs optiques peuvent permettre l'acquisition d'images d'un même œil de l'utilisateur. L'utilisation de deux capteurs pour un œil permet de moins dépendre d'éventuelles variations importantes de la direction du regard.
Les premier et deuxième capteurs optiques sont chacun dirigés vers une partie différente d'un même œil de l'utilisateur, par exemple la pupille et la sclérotique.
La chaîne d'acquisition et de traitement associée à un œil peut être dupliquée pour l'autre œil. Ainsi, le dispositif peut comporter au moins un troisième capteur optique porté par l'utilisateur et configuré pour acquérir une image de tout ou partie du deuxième œil de l'utilisateur. Le dispositif peut comporter un quatrième capteur optique porté par l'utilisateur et configuré pour acquérir une image de tout ou partie du deuxième œil de l'utilisateur. Le troisième et le quatrième capteur optique sont chacun dirigés vers une partie différente du deuxième œil de l'utilisateur, par exemple la pupille et la sclérotique. Ainsi, on peut procéder à une observation simultanée des deux yeux, ce qui permet d'améliorer encore la précision.
On peut en outre détecter la fréquence de fermeture de la paupière de l'œil étudié ou des yeux étudiés. On peut utiliser un électromyogramme et/ou un électroocculogramme. La fermeture d'une ou des deux paupières peut être utilisée pour indiquer que l'utilisateur valide le positionnement de la souris au point visé de l'écran, autrement dit qu'il clique avec ses yeux sur l'écran. L'utilisateur peut par exemple avoir à fermer les yeux de manière assez forte pour indiquer qu'il souhaite valider un choix de position.
Capteurs
Le ou les capteurs, en particulier les deuxième et/ou quatrième capteurs, peuvent être des capteurs numériques suffisamment rapides, par exemple fonctionnant à une fréquence d'au moins 200Hz, voire d'au moins 500Hz, voire d'au moins 1000Hz, par exemple à une fréquence d'environ 1500 Hz, voire une fréquence d'au moins 2000Hz.
Le ou les capteurs, en particulier les deuxième et/ou quatrième capteurs, peuvent avoir une résolution relativement peu élevée, par exemple de moins de 500*500 pixels, voire de moins de 200*200 pixels, par exemple comprise entre 16* 16 et 100* 100 pixels.
Une image saisie peut par exemple avoir une résolution de l'ordre de 100* 100 pixels, voire de 32*32 pixels, voire encore de 24*24 pixels.
Une telle résolution peut être suffisante pour permettre d'obtenir des images satisfaisantes, tout en permettant de ne pas ralentir la détermination du calcul de la direction du regard de l'utilisateur.
Le ou les capteurs peuvent être thermiques ou à rayonnement infrarouge. Le ou les capteurs peuvent être associés à une ou plusieurs LED. Le ou les capteurs peuvent comporter une caméra, notamment RGB. La ou les caméras peuvent être thermique(s).
La ou les caméras peuvent être configurées pour que l'œil soit situé dans le plan focal de la caméra.
Le ou les capteurs sont de préférence disposés sur le dispositif autrement que centrés par rapport à un œil. Ils sont de préférence éloignés d'un plan passant par la pupille de l'œil correspondant.
Le placement des capteurs peut permettre d'obtenir suffisamment de contraste entre deux images acquises pour visualiser une différence entre les deux images. Les capteurs sont de préférence disposés suffisamment loin des cils. Le ou les capteurs peuvent permettre de saisir une zone de l'œil d'une taille d'environ 5 mm par 5 mm. Le ou les capteurs peuvent par exemple être disposés à une distance de l'œil comprise entre 1 cm et 5 cm, par exemple de l'ordre de 2 cm. Le choix de la distance permet d'assurer que le capteur soit suffisamment proche de l'œil, et donc ne voit que l'œil, de manière à améliorer la précision.
Le ou les capteurs peuvent être configurés pour fournir de préférence un éclairage peu localisé, autrement dit plutôt diffus. En effet, on cherche à éviter de produire sur l'œil un reflet de la source lumineuse.
Le premier capteur et l'éventuel troisième capteur peuvent avoir des caractéristiques de vitesses et de résolution différentes des éventuels deuxième et quatrième capteurs. En particulier, le premier capteur et l'éventuel troisième capteur peuvent fonctionner à une fréquence comprise entre 10Hz et 150 Hz, notamment d'environ 30 images/sec et avoir une résolution d'au moins 100* 100 pixels, par exemple comprise entre 300*300 pixels et 1280*960 pixels.
L'éventuel deuxième capteur et l'éventuel quatrième capteur peuvent fonctionner à une fréquence supérieure à 200Hz, notamment comprise entre 200Hz et 2000Hz, voire entre 300Hz et 2000Hz, en particulier égale à 500Hz et avoir une résolution comprise entre 32*32pixels et 140* 140 pixels.
Afin de minimiser l'accumulation d'erreurs de la mesure dynamique et de sa dérive, le rapport fréquentiel entre les deux capteurs est de préférence environ 10 ou plus,
c'est-à-dire que la fréquence d'acquisition du deuxième capteur est de préférence égale à plus de 10 fois celle du premier capteur.
Position de la tête de l'utilisateur
On peut déterminer le mouvement du dispositif par rapport à un module de base. Le module de base peut par exemple se fixer à un écran d'un système informatique.
Par «système informatique», on entend tout système informatique comportant un écran pour interagir avec l'utilisateur, par exemple un ordinateur fixe ou portable, une tablette, un téléphone fixe ou mobile, cette liste n'étant pas limitative.
On peut par exemple utiliser des balises optiques ou des sources lumineuses disposées sur le dispositif, notamment fixées au dispositif, par exemple sur des branches de ce dernier, et un capteur, par exemple une caméra, disposé sur le module de base.
Le terme « balise optique » désigne ici un élément passif comme un réflecteur optique ou un matériau réfléchissant une certaine longueur d'onde quand il est éclairé par une source externe. De telles balises offrent une possibilité alternative à la présence d'éléments actifs comme des sources lumineuses d'une certaine longueur d'onde appartenant au dispositif.
La longueur d'onde émise directement par une source lumineuse du dispositif ou réfléchie par une balise peut être dans le visible, ou le proche infrarouge, qui est préférable car étant invisible par l'œil humain. Ce flux lumineux émis directement par la source lumineuse du dispositif ou réfléchi par une balise peut avoir une ou plusieurs longueurs d'ondes simultanément ou alternativement dans le temps, peut être polarisé linéairement, circulairement, ou de tout autre façon, peut être continu en amplitude ou en phase, ou modulé en amplitude ou en phase.
On détermine le mouvement du dispositif par rapport au module de base par exemple par triangulation. On peut par exemple utiliser au moins trois points définis par des balises ou sources lumineuses [voir votre paragraphe plus loin sur les formes possibles] sur le dispositif et une caméra sur le module de base.
Les au moins trois points ne sont pas alignés et sont disposés dans un plan non perpendiculaire à l'axe optique de ladite caméra. Les au moins trois points peuvent être disposés dans un plan sensiblement parallèle à l'axe optique de ladite caméra. Un algorithme correspondant est décrit dans l'article «3D Pose from 3 Corresponding Points
under Weak-Perspective Projection» de T. D. Alter, Massachusetts Institute of Technology, Artifïcial Intelligence Laboratory, A. I. Mémo No. 1378, Juillet 1992.
Les balises optiques ou sources lumineuses peuvent être de différentes formes.
Elles peuvent être ponctuelles, par exemple de type LED de nombre pouvant être compris entre 3 et 9, chaque point comportant alors une balise optique ou une source lumineuse.
Elles peuvent être de forme linéaire, courbes, rectilignes, continues ou non continues, par exemple comporter une fibre optique à éclairage latéral.
Les balises optiques ou sources lumineuses peuvent former un motif identifiable et non ambigu.
Elles peuvent présenter des combinaisons de plusieurs formes.
Les sources ou balises sont par exemple disposées vers l'extérieur de la tête.
Les sources lumineuses utilisées pour déterminer le mouvement du dispositif par rapport au module de base peuvent être par exemple des LED infrarouge. La caméra peut être une caméra à infrarouge.
On procède à une reconstruction des six degrés de liberté de la position de la tête par rapport au module de base, autrement dit par rapport à l'écran auquel il peut être fixé.
Ainsi, on mesure d'une part la direction du regard, autrement dit le mouvement des yeux par rapport à la tête, et d'autre part le mouvement de la tête par rapport à l'écran. Un tel procédé permet de minimiser la calibration nécessaire. Les deux traitements peuvent être effectués simultanément.
Dans une variante de réalisation, on peut par exemple utiliser deux gyroscopes et un capteur de distance, l'un disposé sur le dispositif et l'autre disposé sur le module de base, qui peut être fixé à un écran.
Dans une variante de réalisation, l'écran n'est pas indépendant du dispositif mais solidaire de ce dernier, de sorte que la détermination de la direction du regard de l'utilisateur par rapport au dispositif suffit à déterminer la direction du regard de l'utilisateur par rapport à l'écran. Dans une autre variante de réalisation, l'écran est distant du dispositif.
Point d'observation
On peut déterminer le point d'observation de l'utilisateur sur un écran sur lequel est fixé le module de base, notamment un écran du système informatique mentionné plus haut, à partir du point de rencontre des deux axes visuels de l'utilisateur déterminé à partir des informations concernant la direction du regard. Par «axe visuel», on entend l'axe entre la fovéa et le centre optique de l'œil de l'utilisateur. La fovéa est une zone de la rétine légèrement décalée par rapport au centre de la rétine, et permettant la meilleure vision de la couleur. Le point de rencontre des deux axes visuels indique donc le point d'observation sur l'écran. L'«axe optique» est l'axe entre le centre de la rétine de l'utilisateur et le centre optique de l'œil. Il existe un léger décalage entre ces deux axes, d'environ 5° et qui dépend de l'utilisateur. En utilisant une mesure précise de l'orientation relative de la tête par rapport à l'écran, et une mesure de l'orientation des deux yeux, autrement dit une mesure binoculaire, l'invention permet d'obtenir la mesure des axes visuels convergents sur l'écran. La mesure de la direction des axes optiques ne fait pas appel à la reconstruction du point de réflexion cornéenne (glint en anglais) introduisant une non-linéarité devant être corrigée par une calibration lourde. Ainsi, l'invention permet de faciliter la détermination du point d'observation.
Calibration
On peut effectuer une calibration en demandant à l'utilisateur de suivre une cible mobile sur l'écran, autrement dit on impose à l'œil d'effectuer une poursuite oculaire. En cas de poursuite oculaire, l'œil optimise physiologiquement son déplacement pour le minimiser, et utilise la même zone de la fovéa, de sorte que cette calibration permet de mieux définir la position de la fovéa. Une variante consiste à demander à l'utilisateur de fixer un ou plusieurs points sur l'écran à des instants précis. Dans ce qui précède, on prévient l'utilisateur qu'une calibration est effectuée.
Dans l'invention, on ne recherche pas de points de réflexions d'une source lumineuse, par exemple des capteurs. On ne cherche pas à repérer un point de réflexion (glint) d'une source lumineuse sur la cornée. Dans l'invention, on ne cherche pas non plus à reconnaître dans les images saisies l'image d'un objet réel réfléchie sur la cornée de l'utilisateur.
Dispositif
L'invention a encore pour objet, selon un autre de ses aspects, indépendamment ou en combinaison avec ce qui précède, un dispositif de détermination de
la direction du regard d'un utilisateur, notamment lunettes ou casque, destiné à être immobilisé sur la tête de l'utilisateur, pour contrôler un système informatique, comportant :
- au moins un premier capteur optique configuré pour acquérir une image de tout ou partie d'un œil de l'utilisateur,
- un circuit électronique permettant au moins un prétraitement des données, et
- un émetteur sans fil.
La transmission sans fil des données impose de réduire le volume des données à transmettre.
L'émetteur sans fil peut avoir des fonctions réceptrices et être un émetteur/récepteur. Les données transmises peuvent être analogiques ou numériques. Ce sont par exemple des données de type audio ou vidéo.
Le processeur permet d'accélérer le traitement final des données grâce au prétraitement. L'utilisation d'un processeur embarqué permet d'effectuer un prétraitement des données obtenues des capteurs et donc de diminuer la quantité de données à transmettre au module de base, ce qui permet d'accélérer le procédé. Le processeur peut comporter au moins une partie des algorithmes mentionnés précédemment nécessaire au traitement des données.
Le dispositif est de préférence positionné sur le nez et/ou les oreilles de l'utilisateur, de manière analogue à une paire de lunettes.
Le dispositif peut comporter une batterie lui conférant une autonomie suffisante, par exemple d'au moins plusieurs heures de fonctionnement sans recharge, voire d'au moins une journée. L'utilisation d'images à basse résolution permet de réduire la consommation électrique et ainsi d'augmenter l'autonomie du dispositif.
La tête de l'utilisateur peut être immobile par rapport au dispositif.
Ensemble
L'invention a encore pour objet, selon un autre de ses aspects, indépendamment ou en combinaison avec ce qui précède, un ensemble comportant :
- un dispositif tel que décrit plus haut, et
- un module de base destiné à être fixé à un écran d'un système informatique et connecté à ce dernier.
Le dispositif peut communiquer avec le module de base par une liaison sans fil.
Le module de base peut être configuré pour pouvoir être utilisé dès sa connexion au système informatique. Autrement dit, il peut être reconnu rapidement, facilement et automatiquement par le système d'exploitation du système informatique dès la connexion ou dès le redémarrage après l'installation matérielle (« Plug and Play » en anglais). Cette procédure permet l'installation en requérant un minimum d'intervention de la part de l'utilisateur et donc en minimisant les erreurs de manipulation et de paramétrage.
L'ensemble peut comporter plusieurs dispositifs aptes à communiquer avec un même module de base.
Description des figures
L'invention sera mieux comprise à la lecture de la description détaillée qui va suivre, d'un exemple de réalisation de l'invention, et à l'examen du dessin annexé sur lequel :
- la figure 1 est une vue en perspective, schématique et partielle, d'un dispositif de détermination de la direction du regard conforme à l'invention
- la figure 2 illustre de manière schématique et partielle un ensemble comportant le dispositif de la figure 1 ,
- la figure 3 est un schéma blocs illustrant le procédé de détermination de la direction du regard conforme à l'invention,
- la figure 4 illustre la saisie des images sur l'œil, et
- la figure 5 illustre de manière schématique un ensemble selon l'invention dans un environnement donné.
On a illustré à la figure 1 , un utilisateur U portant un dispositif 10 de détermination de la direction du regard, se présentant sous la forme de lunettes portées par l'utilisateur, comportant des branches 11 reposant sur les oreilles et une partie centrale 12 reposant sur le nez, les verres 13 des lunettes pouvant comporter un revêtement anti - réfléchissant.
Le dispositif comporte dans l'exemple décrit deux LEDs à infrarouge 16 disposées dans la partie centrale 12 de part et d'autre du nez et orientées chacune vers l'un des yeux de l'utilisateur, ainsi que quatre caméras RGB 15a, 15b pouvant détecter un rayonnement infrarouge. Chacune des caméras 15a, 15b est disposée et orientée vers l'un des yeux de l'utilisateur, étant disposées en dessous des yeux sur le pourtour des verres 13 du dispositif et disposées chacune autrement que dans un plan vertical passant par le centre
de la pupille de l'utilisateur. Pour chacun des yeux de l'utilisateur, deux caméras 15a, 15b sont disposées de part et d'autre de ces derniers, l'une du côté du nez et l'autre du côté de la branche reposant sur l'oreille correspondante, étant orienté vers l'œil correspondant de l'utilisateur pour acquérir des images de ce dernier. Les caméras 15a sont orientées vers la pupille de l'utilisateur, et les caméras 15b vers la sclérotique de l'utilisateur.
Le dispositif 10 comporte également un circuit électronique 17 logé dans l'exemple décrit dans l'une des branches 11 du dispositif, ce circuit électronique 17 permettant de traiter les images acquises par les caméras 15 a, 15b, comme cela sera décrit plus loin.
Le dispositif comporte en outre une batterie non visible sur la figure, disposée par exemple dans la deuxième branche du dispositif et lui conférant une autonomie suffisante pour ne pas avoir à être rechargée pendant une durée acceptable, par exemple de plusieurs heures, voire d'une journée entière.
Le dispositif comporte en outre un émetteur sans fil également logé dans l'une des branches, transmettant les données à un module de base 20 fixé à un écran 25 d'un système informatique et connecté à ce dernier, comme illustré sur la figure 2.
Le dispositif comporte en outre des sources lumineuses 19 qui permettent, grâce à une caméra 22 disposée sur le module de base 20, de déterminer le mouvement du dispositif 10 par rapport au module de base 20, de façon à déterminer un déplacement relatif de l'œil par rapport à la caméra et l'évolution de la direction du regard dans le temps.
Lesdites sources lumineuses 19 sont, dans l'exemple décrit, des LEDS infrarouge, par exemple disposées de manière non alignée et dans un plan qui n'est pas perpendiculaire à un axe de la caméra du module de base, comme illustré. Dans l'exemple, une des sources lumineuses 19 est disposée au-dessus du nez de l'utilisateur, tandis que les autres sont disposées de part et d'autre des yeux dans la partie supérieure du dispositif. Les sources lumineuses 19 sont orientées vers l'extérieur, c'est-à-dire vers une caméra 22 du module de base 20.
Dans une variante des balises optiques sont utilisées à la place des sources lumineuses 19.
On va maintenant décrire en détails les étapes d'un procédé conforme à l'invention telles qu'illustrées à la figure 3.
Dans une étape 30, chacune des caméras 15a, 15b saisit des images I à des intervalles de temps réguliers de l'œil correspondant de l'utilisateur ou plus précisément de la partie de l'œil de l'utilisateur correspondant.
Dans l'exemple décrit, les caméras 15a saisissent une image A d'une zone de l'œil comportant au moins partiellement la pupille tandis que les capteurs 15b saisissent une image B au moins partielle de la sclérotique de l'œil, comme on peut le voir sur la figure 4. Bien entendu, chacun des capteurs pourrait saisir des images à la fois de la pupille et de la sclérotique sans que l'on sorte du cadre de la présente invention.
Les images I sont traités dans une étape 40 au moins partiellement pour effectuer au moins en partie deux traitements distincts (a) et (b), au moyen du circuit électronique 17 du dispositif 10, lequel permet d'effectuer ces deux traitements au moins en partie, les traitements étant ensuite poursuivis dans le module de base. Dans l'exemple décrit, seule une partie des deux traitements peut être effectuée dans le processeur embarqué sur le dispositif, les données étant ensuite transmises par une liaison sans fil F au module de base dans lequel le reste des traitements est effectué.
Le premier traitement (a) permet de fournir une information sur l'orientation de l'œil à partir de l'observation d'une zone de l'œil dont l'aspect varie avec la rotation de l'œil. Ce traitement peut être effectué pour chacune des images saisies. Il comporte la détermination à l'étape 41 des paramètres liés à la forme de l'ellipse correspondant à la pupille. Le premier traitement (a) permet d'en déduire les axes optiques dans le référentiel de la tête de l'utilisateur à l'étape 42.
Plus précisément, les étapes 41 et 42 de reconstruction de l'orientation de la pupille comportent la sélection de la zone la plus sombre de l'image traitée, l'isolation de la pupille dans cette image, puis l'obtention du contour de la pupille. On en déduit la position du centre de la pupille, les axes majeur et mineur de l'ellipse et un angle définissant l'orientation de l'ellipse, et enfin la normale à la pupille dans un espace à trois dimensions.
On procède ensuite à une reconstruction du centre de rotation de la pupille en déterminant une sphère à partir de points de mesure et des normales précédemment déterminées. On en déduit le centre de rotation et le rayon de cette sphère.
On effectue par ailleurs un deuxième traitement (b) des images qui fournit une information sur la cinématique de l'œil par comparaison d'au moins deux images successives à l'étape 45.
A cet effet, on sélectionne d'abord une sous-image contrastée dans l'image I à un instant donné. Puis on recherche un déplacement de cette même sous-image en recherchant une sous-image correspondante dans l'image suivante telle qu'une corrélation entre les deux sous-images soit maximale. L'approximation de la non-déformation de la sous-image entre les deux images successives est correcte dans la mesure où la fréquence de saisie des images est suffisante, étant notamment très supérieure à la vitesse du mouvement observé, c'est-à-dire dans l'exemple décrit supérieure à 500 Hz.
A partant d'une orientation primaire de l'œil, on calcule le changement d'orientation de l'œil à partir de l'ensemble des déplacements infinitésimaux déterminés précédemment. On reconstruit alors le déplacement angulaire de l'œil, c'est-à-dire les deux angles de rotation (tangage et lacet) autour d'axes quelconque perpendiculaires, à partir d'une direction quelconque.
Par ailleurs, on utilise le deuxième traitement (b) pour corriger à l'étape 47 la réfraction cornéenne qui peut produire des non-linéarités provenant de la réfraction de la pupille sur la cornée, qui permettent de corriger les informations du premier traitement (a) à l'étape 42. La direction de la normale précédemment obtenue permet de déterminer une direction de l'axe optique qui peut être entachée d'erreur dues à la diffraction cornéenne, et de bruit provenant de la reconstruction de l'ellipse. Le déplacement angulaire permet d'obtenir la variation de la variation angulaire de l'axe optique à partir d'une direction initiale quelconque. Cette mesure peut aussi être entachée d'une erreur liée à la résolution de la mesure de corrélation. La direction de l'axe optique est obtenue en pondérant ces deux mesures à chaque itération, en prenant en compte le positionnement obtenue à l'étape précédente, la reconstruction en trois dimensions de l'œil, et une paramétrisation issue de la calibration.
En parallèle, on effectue un traitement 50 pour déterminer la position de la tête de l'utilisateur par rapport au module de base, c'est-à-dire le mouvement du dispositif 10 par rapport au module de base 20. La caméra 22 disposée sur le module de base 20 saisit des images I de la tête de l'utilisateur sur lesquelles est visible la lumière issue d'au moins trois points définis par les balises optiques ou les sources lumineuses 19 du dispositif 10.
Ces images sont traitées de manière à déterminer la position du dispositif par rapport au module de base. Dans une première étape 51, on sélectionne les points lumineux dans l'image. Dans une deuxième étape 52, on élimine le bruit de manière à assurer que les points lumineux visualisés sur les images correspondent bien aux balises ou sources lumineuses 19 destinées à déterminer le mouvement du dispositif par rapport au module de base. Dans une troisième étape 53, on détermine la position des points lumineux dans l'image et à partir de ces données, dans une étape 55 on calcule la position de la tête par rapport au module de base.
On détermine par ailleurs à une étape 60 les quatre angles de la fovéa par rapport aux caméras à partir de données physiologiques 61, de paramètres préréglés 62, ainsi que de coordonnées de l'écran 63 calibrées au préalable. Les paramètres préréglés 62 peuvent être des paramètres de constructions du dispositif et du module de base, par exemple la position des caméras ou de l'éclairage.
Avec des données de calibration 65, on en déduit les deux axes visuels à une étape 70.
Enfin, à partir du croisement des axes visuels ainsi que de la position de la tête par rapport au module de base, on calcule à l'étape 80 les coordonnées du point de l'écran regardé par l'utilisateur, lequel peut être transmis à l'étape 81 au système informatique.
Exemples d'utilisation d'un dispositif selon l'invention.
Exemple 1 : évolution dans un environnement donné
Le dispositif permet d'établir un rapport entre la direction du regard d'un opérateur et un environnement de travail afin d'améliorer le design et l'ergonomie de cet environnement. L'environnement pouvant être par exemple un cockpit de pilotage d'avion, tel qu'illustré figure 5, de voiture, de simulateur ou un environnent multi écran de contrôle.
L'ensemble 100 de la figure 5 comporte un dispositif 10 sous forme de lunettes, non illustrées, communiquant par une liaison sans fil avec le module de base 20, ce dernier connecté à un système informatique 90. L'ensemble 100 est disposé dans un environnement 200, ici un cockpit de pilotage d'avion. Ainsi le module de base 20 peut être utilisé dès sa connexion au système informatique. L'ensemble 100 représenté comporte plusieurs dispositifs 10 et 10', portés par exemple par le pilote et le co-pilote. Outre quatre capteurs d'image et un circuit électrique, non représentés, chaque dispositif
10, 10'comporte un émetteur/récepteur 40 pour communiquer sans fil avec la base 20, un système de représentation d'information 60 comportant dans l'exemple illustré un écran semi-transparent 62 superposé partiellement aux verres des lunettes et une oreillette 63. Le dispositif 1 comporte également un capteur d'une information physiologique 70 afin d'évaluer l'état psychologique du porteur du dispositif 10, en particulier en situation d'urgence génératrice potentielle de stress.
Exemple 2 : Formation et/ou jeu
Dans le cas des « jeux sérieux » ou des procédures de formation d'opérateur, le dispositif permet de quantifier le regard et l'efficacité de la formation, en particulier de mesurer le respect des normes de sécurité de l'opérateur en environnement critique.
Exemple 3 : interface utilisateur
Dans le cas du handicap, Le dispositif selon l'invention peut notamment agir comme substitutif à la souris et au clavier pour les paraplégiques des membres supérieurs Avec la mesure binoculaire (mesure simultanée de la direction des deux yeux dans le même référentiel), on mesure la vergence de l'utilisateur qui est un paramètre fondamental ayant des applications dans le domaine ophtalmologique ou du repérage en trois dimensions dans l'espace.
Les mises en œuvre représentées et les exemples ne sont donnés qu'à titre illustratif et ne sont pas limitatifs de l'invention.