TRAITEMENT DE DONNEES NUMERIQUES REPRESENTATIVES DU COMPORTEMENT OCULAIRE D'UN ENSEMBLE D'UTILISATEURS La présente invention concerne l'étude du comportement d'utilisateurs exposés à un même stimulus visuel à partir du mouvement de leurs yeux. Cette technique, plus communément connue sous le nom d'oculométrie ou d' « eye-tracking » en terminologie anglo-saxonne, est 5 utilisée notamment pour étudier la pertinence du contenu et de la disposition d'éléments dans un document papier (par exemple une publicité) ou dans un document électronique (pages de sites Web, vidéos...) en analysant la façon dont différents utilisateurs regardent ce même document dans des conditions de tests prédéfinies. 10 Les tests utilisateurs sont réalisés sur des échantillons représentatifs des consommateurs ou des utilisateurs visés. On donne par exemple à chaque utilisateur un scenario à suivre tel que la recherche d'une information, l'achat d'un produit, le visionnage d'une publicité, etc... Lors du test, on suit en permanence le regard de l'utilisateur pour déterminer à chaque instant les 15 points regardés par ce dernier. Les mesures sont réalisées à l'aide d'un oculomètre, composé typiquement d'un écran dans lequel sont placé des diodes qui émettent de la lumière infrarouge. Des caméras intégrées dans l'écran mesurent la réflexion de cette lumière sur les pupilles de l'utilisateur lorsque ce dernier visionne le document ou stimulus visuel sous test. 20 Les mouvements oculaires mesurés par l'oculomètre sont essentiellement de deux types : les saccades, qui correspondent à des déplacements très rapides (de l'ordre de 10 à 15 millisecondes) de l'oeil, et les fixations, qui correspondent à des durées de 100 à 600 millisecondes pendant lesquelles l'oeil est arrêté. Ce sont généralement les fixations qui intéressent 25 les concepteurs de documents papiers ou électroniques, les saccades correspondant à des moments où les yeux sont considérés comme aveugles, c'est-à-dire non réceptifs à l'information regardée. On cherche donc en général à détecter les zones d'un document qui ont le plus retenu l'attention des utilisateurs. On peut également s'intéresser plus particulièrement aux données temporelles du regard, c'est à dire au temps passé à regarder les zones d'un document. Dans certains scenarii, des groupes d'utilisateurs peuvent avoir des comportements oculaires très différents selon leur âge, ou leur sexe, notamment. Il est donc important de pouvoir disposer de solutions permettant de repérer et représenter ces différences. A ce jour, différentes méthodes existent. Selon une première possibilité, on génère, à partir des données numériques délivrées par l'oculomètre, une carte dite de chaleur par utilisateurs testés, ce qui permet de comparer visuellement les différences ou similitudes de comportements par des couleurs. Ce type de solution n'est cependant pas aisément automatisable et ne permet pas toujours d'identifier des différences qui pourraient être significatives. Une autre solution consisterait à calculer, à partir des mêmes données que celles ayant permis à établir les cartes de chaleur, des distances entre utilisateurs. Différentes études expérimentales ont déjà été menées pour choisir une norme vectorielle à partir de laquelle une distance entre données obtenues pour deux utilisateurs pourrait être calculée. En particulier, les études menées par la Demanderesse ont permis de mettre en évidence que toutes les normes de type L1, dans lesquelles la distance entre deux utilisateurs a et b, dont les données oculométriques sont représentées par des matrices notées respectivement A et B, se calcule selon l'expression mathématique cl(a, b) = A - BP = p Ai - p i ne donnaient les résultats attendus. En particulier, ce type de normes ne permet pas de discriminer suffisamment des comportements qui pourtant s'avèrent dissemblables au simple examen visuel de cartes de chaleur. Cela peut être dû au fait qu'une quantité importante de bruit non significatif est présente, et fausse le calcul.
Une autre solution connue consiste à découper un document en une pluralité de zones d'intérêt ou AOI (initiales anglo-saxonnes mises pour Areas Of Interest), et à déterminer, pour chaque utilisateur, à partir des mesures fournies par l'oculomètre, le parcours suivi par son regard sur ces zones d'intérêt. Les différents parcours obtenus sont ensuite convertis dans un format standard facilement comparable, en particulier en des chaînes de caractères, chaque caractère étant associé à une zone d'intérêt. Les similarités entre comportements sont ensuite déterminées en comparant, pour chaque couple d'utilisateurs possible dans l'ensemble d'utilisateurs testés, les chaînes de caractères obtenues. Ceci peut être réalisé par exemple en calculant pour chaque couple, une distance de Levensthein qui représente le nombre minimal de caractères qu'il faut supprimer, insérer ou remplacer pour passer d'une chaîne à l'autre. Cette solution est aisément automatisable, mais coûteuse en temps de calcul et en mémoire nécessaire pour stocker les données de calcul. En outre, cette solution ne s'intéresse qu'au parcours du regard, et ne permet pas d'identifier les similarités ou les différences entre les zones fixées.
La présente invention a pour but de pallier les inconvénients des solutions connues en proposant une solution entièrement automatisable. Pour ce faire, l'invention a pour objet un procédé de traitement de données numériques représentatives du comportement oculaire d'un ensemble d'utilisateurs sujets à un même stimulus visuel, du type comportant, une étape d'extraction, pour chaque utilisateur, desdites données numériques par un oculomètre, une étape de calcul d'une matrice de données de n lignes et de m colonnes représentative des données numériques associées à chaque utilisateur, caractérisé en ce qu'il comporte en outre une étape de calcul, pour chaque couple d'utilisateurs, d'une matrice transformée résultant soit de la différence entre deux transformées de Fourier discrètes appliquées respectivement sur les deux matrices de données associées aux utilisateurs dudit couple, ou d'une transformée de Fourier Discrète appliquée sur la différence entre les deux matrices de données, et une étape de génération, pour chaque couple d'utilisateurs parmi ledit ensemble d'utilisateurs, d'une valeur représentative d'une différence de comportement entre les deux utilisateurs dudit couple, à partir de ladite matrice transformée. L'invention sera mieux comprise au vu de la description suivante faite en référence aux figures annexées, dans lesquelles : - la figure 1 représente une succession d'étapes mises en oeuvre dans un procédé de traitement conforme à l'invention ; - la figure 2 illustre un exemple de stimulus visuel sur lequel différents utilisateur sont testés.
En référence à la figure 1, un procédé pour le traitement de données numériques représentatives du comportement oculaire d'un ensemble d'utilisateurs sujets à un même stimulus visuel consiste essentiellement à : - récupérer les données utiles à partir des résultats bruts fournis par 10 l'oculomètre et correspondant à chaque personne testée (étape 100 sur la figure 1) ; - traiter ces données et les comparer pour obtenir une valeur de distance mesurant la similitude des comportements des utilisateurs (étapes 110 et 120 sur la figure 1). 15 A partir de ce traitement, on peut générer une représentation graphique sous une forme explicite et intuitivement compréhensible de ces similitudes de comportement, qui va servir de base à la comparaison des différentes classes d'utilisateurs. La figure 2 donne, à titre d'exemple non limitatif, une représentation 20 d'un stimulus visuel 1, typiquement une page d'un document papier ou numérique comportant une zone image 10 et une zone de texte 11, auquel sont soumis une pluralité d'utilisateurs. La représentation graphique d'un tel stimulus visuel est caractérisée par sa hauteur h et sa largeur w. Pour faciliter la compréhension, on considère dans la suite que deux utilisateurs a et b sont 25 soumis à ce stimulus visuel, dans les mêmes conditions d'expérimentation. L'étape 100 du procédé consiste à récupérer les données brutes mesurées par l'oculomètre (non représenté) et à calculer pour chaque utilisateur a et b, la matrice A, respectivement B, représentative de son comportement oculaire durant le test. Pour ce faire, et comme illustré sur 30 partie droite de la figure 2, le stimulus visuel 1 est divisé en un certain nombre de zones carrées z dont la taille u correspond au minimum à la taille d'un pixel. La taille des zones z influence la précision du résultat et surtout la durée du calcul. A titre d'exemple non limitatif, une taille u fixée à 4 pixels pour la zone z, comme illustrée sur la figure 2, est un bon compromis entre précision et taille de calcul. Ce faisant, les matrices A et B représentant les données numériques fournies par l'oculomètre pour les utilisateurs a et b comportent m lignes et n 5 colonnes, avec w m = - et n = -h o- o- Les matrices sont construites en extrayant des données délivrées par l'oculomètre les coordonnées (x,y) du point regardé à chaque instant par un utilisateur et en comptant le nombre total de regards portés dans chaque zone 10 z. Ainsi, pour un utilisateur a, les calculs réalisés sont les suivants : - la matrice A de taille (m, n) est initialisée à 0. Aii représente le coefficient de la matrice situé à la ième colonne et la jème ligne. - pour chaque point (x, y) regardé sur le stimulus, on calcule les coordonnées i et j de la zone de la grille correspondante: 15 i=floor(x * -) etj=floor(y*-), w h où la fonction floor(x) représente la partie entière de x. - on incrémente alors le coefficient Aii de 1, pour indiquer qu'un regard a été porté dans la zone de coordonnées (i, j). 20 A l'issue de l'étape 100, on dispose ainsi d'une matrice de données pour chaque utilisateur testé, dans notre exemple, d'une matrice A pour l'utilisateur a et d'une matrice B pour l'utilisateur b. De nombreux essais expérimentaux menés par la Demanderesse ont permis de montrer que les normes semblant donner les meilleurs résultats 25 sont celles appliquées à des matrices transformées par transformées de Fourier discrètes 2D. Ainsi, lors d'une étape 110, le procédé de traitement conforme à l'invention consiste à calculer les coefficients de la transformée de Fourier discrète appliquée sur la différence entre les matrices A et B. mea, b Or, si l'on note f la matrice issue de la transformée de Fourier discrète 2 dimensions TFD de la différence des matrices utilisateurs A et B, on a Aa b f = TFD(A - B) = TFD(A) - TFD(B) En d'autres termes, il est équivalent de calculer une matrice transformée résultant : - de la différence entre deux transformées de Fourier discrètes appliquées respectivement sur les deux matrices de données A et B associées aux utilisateurs a et b, - ou d'une transformée de Fourier discrète appliquée sur la différence entre les deux matrices de données A et B. mea, b En pratique, les coefficients de la matrice f sont calculés à l'aide d'une routine logicielle implémentant un algorithme du type transformée de Fourier rapide à deux dimensions ou FFT 2D (initiales anglo-saxonnes mises 15 pour Fast Fourier Transform). Cet algorithme renvoie une matrice transformée qui est de même taille (m, n) que les matrices A et B. On peut néanmoins simplifier avantageusement les calculs en remarquant que le contenu fréquentiel utile se trouve en haut à gauche de la matrice transformée, autour du point de coordonnées (0,0). Les valeurs 20 élevées dans les trois autres coins correspondent à des artefacts de calcul. En effet, le calcul d'une transformée de Fourier discrète entraine la périodisation du spectre, et un phénomène de repliement de spectre peut apparaître. Pour simplifier les calculs, on crée artificiellement un filtrage passe-bas en ne calculant que les coefficients de Fourier qui se situent jusqu'aux rangs m/13 et 25 n/13 de la matrice. L'entier i3 correspond au filtrage effectué. Dans une mise en oeuvre préférée de l'invention, on fixe la valeur de i3 à 2, ce qui permet de ne considérer que les valeurs situées dans le quart haut et gauche de la matrice transformée. Avec une telle valeur, le gain en temps de calcul est significatif pour un résultat très similaire à celui obtenu en calculant toutes les valeurs de 30 coefficients de la matrice.
Aa,b Aa,b b En notant fri,u le terme de position (7/, u) de la matrice f , la matrice transformée à l'issue de l'étape 110 peut donc s'écrire sous la forme : ( Aa,b Aa,b Aa,b Aa,b f1,1 f1,2 f1,3 f1,1TV / R Aa,b b Aa, b Aa,b Aa,b a,b f2,1 f2,2 f2,3 f 2,111/ R . . . : Aa,b A A Aa,b f a,b a,b a,b f n/13,1 f n/13,2 f n/13,3 fn/Pfm/p) Avec i3 supérieur ou égal à 1 selon le degré de filtrage que l'on veut appliquer. L'étape suivante, notée 120 sur la figure 1, consiste à générer une valeur représentative d'une différence de comportement entre les deux 10 utilisateurs a et b à partir de la matrice transformée. Dans une mise en oeuvre préférée, cette valeur ou distance représentative d'une différence de comportement entre les utilisateurs a et b est calculée selon l'équation suivante : Aa,b Aa, b Aa,b Aa,b f3,1 f 3,2 f 3,3 f 3,m/ R . . a A I b , (f ri,u)z ± (2 uu)2 ± (2 EDI)2 d(a, b) = 1 11=1.. u=1...rX3 15 (1) Soit, en développant l'équation (1) ci-dessus : a b a b a b A ' A ' A ' (f 1 1-1.%)L, (f1,1 r, (f1,2 )2 ' R d(a, b) - 1+ (2 r)2 + (2 r)2 (2 ri)2 "21-1 x2)2 + 1+ (2 r)2 ±(21-im/)2 P a b a b a b A ' A ' A ' f, N (f 2,1 )2 v2,2 )2 (f2,1%)2 + , + 1 + (2 II x2)2 + (2 ny 1 + (2n.2)2 + (2n.2)2 ± 1 + (2n.2)2 -E(2rim/p2 + --- Aa,b b (fii0,1)2 + + 1+(21-InP )2±(2ny 1+(21-1 Aa,b Aa,b (f n/ 2)2 /V (f r3'riX)2 + 1 + (211 7)2 ±(2nm/p)2 ) (2 ri x2)2 La distance telle que définie ci-dessus est dérivée de la norme de Sobolev, cette norme étant en fait la racine carrée de l'équation (1) ci-dessus.
5 Le fait de ne pas calculer la racine carrée permet avantageusement de simplifier les calculs sans dégrader le résultat. On remarque que, compte tenu du dénominateur dans l'équation (1) ci-dessus, les termes de la somme perdent de leur puissance lorsque Ti et u augmentent. Il s'agit en quelque sorte d'un deuxième filtre passe-bas 10 puisqu'on prend en compte le fait que les coefficients associés aux hautes fréquences sont moins pertinents et contiennent plus de bruit que les coefficients de basse fréquence. En pratique, le calcul de la distance s'effectue également grâce à une routine logicielle exécutée sur un ordinateur. Bien entendu, le calcul précédent est réitéré pour chaque couple d'utilisateurs 15 possibles parmi l'ensemble des utilisateurs soumis au test. A l'issue de l'étape 120, on dispose donc d'autant de distances que de couples d'utilisateurs, chaque distance représentant la similarité du regard entre deux utilisateurs. Ainsi, plus la distance entre deux utilisateurs est faible, plus ils auront des comportements oculaires similaires. L'ensemble des résultats peut être 20 représenté sous la forme d'une matrice symétrique. Afin de permettre une exploitation aisée des résultats obtenus, le procédé selon l'invention peut comporter en outre une étape 130 lors de laquelle les distances calculées à l'étape 120 sont utilisées pour représenter graphiquement le comportement des utilisateurs entre eux. La représentation 25 graphique en deux dimensions peut être réalisée à l'aide d'une routine logicielle implémentant par exemple l'algorithme de Sammon pour fournir en sortie une abscisse et une ordonnée pour chaque utilisateur à partir de la matrice des distances.