>
>
>
Comment fonctionne la technologie Kinect ?
est à vous

Comment fonctionne la technologie Kinect ?

La Rubrique du Docteur Sub #2
Signaler
Par Subby kun - publié le
Image
Sélectionné par la rédaction

Les opinions et vues exposées dans les articles lecteurs ne reflètent pas forcément celles de la rédaction de Gameblog.

Annoncée en grande pompe lors de la conférence Microsoft de l'E3 2009, la technologie Kinect propose de jouer avec son corps, renvoyant au placard nos vieilles manettes de jeu. Essayons de comprendre ensemble le fonctionnement de la bête. Le Docteur Sub vous livre sa deuxième enquête exclusive.

Et voici le deuxième article de la rubrique du Docteur Sub, j'espère sincèrement qu'il vous plaira. La vulgarisation a été plus difficile pour moi que pour le premier article. Si des passages ne vous semblent pas clairs, n'hésitez pas à me le dire et je les corrigerai pour une meilleure accessibilité. À très bientôt.

Kinect ? Késako ?

Après avoir disséqué la bête, je peux vous affirmer que Kinect est une évolution très ingénieuse d'une caméra classique. Celui-ci combine et embarque un grand nombre de technologies différentes de façon très originale et intelligente. Attention toutefois, je ne sais pas si la retranscription des mouvements sur l'écran sera efficace, cette partie étant « quasi-exclusivement » dépendante du logiciel de traitement d'images en développement chez Microsoft depuis de nombreuses années.

Ce périphérique de Microsoft est constitué d'une barre horizontale connectée à sa base via un petit moteur. Celui-ci permet à la caméra d'effectuer des petits mouvements vers le haut ou le bas (27° semble-t-il) afin d'adapter la perception de la caméra en fonction de votre position dans la pièce. La barre horizontale constitue l'élément principal de la technologie Kinect. Elle contient une série de multi-microphones, une caméra RGB, et enfin un « 3D depth sensor » permettant d'améliorer l'analyse de mouvement par rapport à une caméra comme l'EyeToy. L'association de ces trois technologies devrait ainsi permettre la reconnaissance vocale et faciale de l'utilisateur, ainsi que la « capture » de l'ensemble de la pièce (et donc du corps) en 3D. Cet article va donc se diviser en 3 parties correspondant à chacun des trois éléments de Kinect.


Figure 1 : Un petit récapitulatif des technologies embarquées dans Kinect. Traduction pour les non anglophones : Multi-array Mic : Multiples Microphones, Motorized tilt : Pied motorisé, 3D depth sensors : Analyseur de distance 3D

« Xbox Explique-moi »

Je vais donc commencer cette autopsie par une courte présentation des microphones. Pourquoi courte ? Tout simplement car la reconnaissance vocale ne sera pas implémentée en français lors du lancement de Kinect. Et pour nous, monolingues français, c'est un scandale ! Non ? Bon... Kinect embarquera vraisemblablement 2 microphones ainsi que 4 détecteurs digitaux externes de sources audio. La combinaison de l'ensemble de ce système audio permet ainsi à Kinect de détecter la localisation spatiale d'une source sonore mais aussi d'éliminer les bruits de fond parasites grâce à un traitement de données efficace.

Un microphone va fonctionner de la même façon qu'une oreille humaine : celui-ci va traduire l'onde sonore, émise par une source, en signal électrique. Lorsque l'onde sonore vient toucher / exciter la membrane (aussi appelé diaphragme) du microphone, l'excitation de cette membrane va se traduire en signal électrique analogique avant d'être convertie en signal numérique. Le diaphragme est l'équivalent du tympan dans notre oreille et son fonctionnement est identique en tout point. Pour convertir un signal analogique en signal numérique, il est obligatoire d'utiliser un convertisseur analogique/numérique. Celui-ci est généralement constitué d'un montage électronique dont la fonction est de traiter une valeur analogique, pour ensuite générer une valeur numérique. Cette valeur numérique sera proportionnelle à la valeur analogique permettant de coder sur plusieurs niveaux (bits). Le plus souvent, les valeurs analogiques sont des signaux électriques (comme dans notre cas décrit ci-dessus).

Je vous avoue que je n'ai pas trouvé quel procédé était utilisé pour la localisation spatiale mais celui-ci devrait vraisemblablement s'appuyer sur la comparaison de la « puissance » des signaux sonores reçus. Si vous êtes placés à droite, alors le micro et les détecteurs externes de droite recevront un signal « plus fort » que ceux de gauche. Mais cela reste une hypothèse personnelle.

La camera RGB (Red Green Blue)

La première des deux caméras embarquées dans la technologie Kinect est une caméra couleur RGB « standard » avec un capteur photographique de type CMOS. Elle se situe au centre de la barre horizontale (cf. figure 1). Pour les férus de détails techniques, elle permet une prise d'image avec une fréquence de 30Hz, en couleur 32bits et en résolution VGA de 640x480 pixels.

Je vais tenter de vous expliquer le fonctionnement des capteurs photographiques intégrant l'ensemble des appareils photos ou caméras numériques actuellement dans le commerce.

Qu'est ce qu'un capteur photographique ? C'est un composant électronique sensible à la lumière qui va convertir un rayonnement (Ultra Violet, Lumière visible ou Infra Rouge) en un signal analogique (une nouvelle fois via un signal électrique). Ce signal est ensuite numérisé par un convertisseur analogique-numérique afin d'obtenir une image numérique. Mais avant d'aller plus loin, il est essentiel de redéfinir les rayonnements et la lumière en quelques termes barbares : les ondes électromagnétiques. Pour faire simple, la lumière est composée de l'ensemble des ondes électromagnétiques visibles par notre œil. Ces ondes possèdent une « longueur d'onde » (une fréquence) propre pour chaque couleur que nous connaissons. Lorsque cette longueur d'onde est comprise entre environ 400 et 800 nanomètres, nous sommes dans la gamme des couleurs et de la « lumière visible ».

Pour des longueurs d'ondes inférieures ou supérieures, nous retrouvons les rayonnements avec les domaines des ultraviolets, des infrarouges, des rayons X ou des ondes radio. (Figure 2)


Figure 2 : Représentation du spectre électromagnétique. Comme vous pouvez le voir, la lumière visible et les couleurs ne représentent qu'une toute petite partie de ces ondes.

La lumière est composée de 3 couleurs primaires qui sont le Rouge, le Vert et le Bleu comme illustrées sur la Figure 3. L'association de ces 3 couleurs permet d'obtenir la lumière blanche. Le noir représente l'absence totale de couleur. Chaque couleur est donc définie selon le système RVB (ou RGB en anglais) c'est-à-dire en fonction de la proportion respective en rouge, vert et bleu. Le mélange de ces trois couleurs compose aussi chacun des pixels de nos écrans LCD, LED...


Contrairement aux couleurs primaires en peinture (cyan, magenta et jaune), les trois couleurs primaires de la lumière sont le rouge, le vert et le bleu.

Pour convertir le signal analogique reçu en image numérique, le capteur photographique va filtrer la lumière selon ces 3 couleurs et sortir trois signaux numériques correspondant à chacune d'elles. Actuellement, deux grandes familles de capteurs sont disponibles : les CCD et les CMOS.

Les CCD sont surtout utilisés dans les appareils compacts mais sont de plus en plus délaissés dans les reflex. Je ne détaillerai pas le principe des photocapteurs CCD (demandant des connaissances en physique-chimie) car le résultat final est le même que pour la technologie CMOS.

Le CMOS est représenté sous la forme d'un petit « écran » de taille variable comme vous pouvez le voir sur la photographie ci-dessous. La partie sensible à la lumière est la partie grisâtre au centre. Certains capteurs CMOS peuvent actuellement atteindre une résolution hallucinante de 25 millions de pixels et la technologie ne cesse de progresser.


Figure 3 : Exemplaire d'un capteur photographique de type CMOS développé par Sony.

Comment le capteur fonctionne ? La lumière (l'image) arrive en face du capteur, celle-ci est d'abord purifiée par un filtre Infra Rouge (bloquant les ondes infrarouges et laissant passer la couleur), puis traverse un « mini filtre » de couleur rouge, vert ou bleu placé en face du capteur lui même. Ainsi les millions de capteurs présents à la surface du CMOS vont émettre un signal électrique relatif à une des 3 couleurs, qui sera ensuite converti numériquement.


Figure 4 : Fonctionnement d'un capteur photographique de type CMOS pour les appareils photos numériques et les cameras couleur.

Les propriétés de votre appareil photo ou de votre caméra vont dépendre majoritairement du capteur CMOS (ou CCD) présent dans votre appareil. Ainsi pour les téléphones portables, des capteurs de plus en plus petits sont fabriqués afin d'économiser le maximum de place, au détriment de la qualité de l'image obtenue.

Maintenant que nous avons vu le principe du capteur CMOS pour la caméra RGB, nous allons pouvoir passer aux choses sérieuses avec le « 3D depth sensor ».


Figure 5 : Exemple de capteur photographique de taille réduite pour les téléphones mobiles.

« 3D depth sensor »

Jusqu'à présent nous avons vu les technologies microphone et caméra RGB « classique » mais c'est véritablement avec sa technologie « 3D depth sensor » (comprenez capteur de profondeur/distance 3D) que Kinect tire son épingle du jeu. Cette technologie a été proposée par la société israélienne PrimeSense. La caméra de droite sur la figure 6 est une caméra infrarouge (pas de couleur) à capteur CMOS, QVGA de résolution 320x240, 16bits (donc possédant 65536 niveaux de sensibilité). L'objectif à gauche de Kinect n'est pas une caméra, comme beaucoup pourraient le penser, mais un émetteur de lumière infrarouge. C'est pourquoi certaines images de Kinect sont représentées avec une lampe lumineuse comme sur la figure 6.


Figure 6 : Ces deux exemples (Kinect et une télécommande Microsoft) illustrent des émissions infrarouges non visible par notre œil.

Comment fonctionne un capteur CMOS infrarouge ? De façon identique à une caméra RGB sauf qu'on laisse passer uniquement les infrarouges (revoir figure 2). La caméra infrarouge permet d'obtenir une image représentant les dégagements thermiques émis par l'objet observé. Ce type d'images furent largement popularisées par le filmPredator et sa mythique vision infrarouge. Cependant, les images obtenues ne sont pas colorées, ce sont les utilisateurs qui décident de rajouter les niveaux de couleurs en fonction de la température mesurée.


Figure 7 : Il n'est pas trop mignon ? Sur cette image, nous pouvons voir que les émissions de chaleurs proviennent essentiellement des yeux et de la bouche.

Je vous vois déjà lever le doigt : « Mais Monsieur, comment peut-on faire un détecteur de distance avec une image thermique ? Les yeux du chien sont bien plus éloignés que le bout de sa truffe ! ». Et bien tout simplement, parce que, Kinect ne s'appuie pas sur la chaleur émise par notre corps. En effet, tout l'intérêt de Kinect provient de son émetteur (lampe) de lumière infrarouge.

La scène contenant les joueurs est bombardée par les rayons infrarouges non visibles à l'œil. Une partie de ces rayonnements va être réfléchie par l'ensemble des surfaces touchées. Plus l'objet sera loin et plus la quantité de rayonnement infrarouge réfléchie (renvoyée vers la caméra) sera faible. A l'inverse, plus l'objet sera proche et plus la quantité de rayonnement infrarouge réfléchie sera importante. Ainsi la caméra infrarouge va mesurer la distance de l'objet en fonction de l'intensité comme illustré sur l'exemple ci-dessous.


Figure 8 : Voici une scène réelle (à gauche) et l'image recueillie par la camera Kinect (à droite) lorsqu'elle est éclairée par les rayons infrarouge. Nous pouvons voir qu'il est ensuite très facile pour la caméra de reconnaître la silhouette du joueur et par un traitement d'image, d'intégrer les différents points de « motion control ».

Le pouf à l'avant est de couleur jaune symbolisant un objet plus proche. S'il était observé par une caméra infrarouge classique, il serait invisible avec le fond du décor car il n'émet aucune chaleur. Grâce à la différence de couleur entre le joueur et le fond, il est facile de distinguer l'ensemble de sa silhouette, mis à part les pieds en contact avec le sol. Ensuite, ce sont les logiciels qui vont effectuer le traitement des images reçues, en intégrant les différentes parties du corps à l'image.


Figure 9 : Ce schéma résume la technologie Kinect : la lampe infrarouge va projeter ses rayons sur la scène, la caméra infrarouge va ensuite filmer cette scène et la puce PS1080 SoC va traiter les données afin d'estimer la distance de chaque objet par rapport à la caméra.

Ainsi, d'après la figure 9 (image de droite), il est possible de cartographier avec précision la distance pour tout objet éloigné de 1,5 à 2 mètres de la caméra jusqu'à environ 4-5 mètres de profondeur. Au delà de 5 mètres, le rayonnement IR réfléchi devient trop faible pour être mesurable avec précision. Pour tout objet dont la distance est inférieure à 2 mètres, le phénomène inverse est observé et le signal devient totalement saturé. La publication récente des distances recommandées confirme cette limitation technique : la distance pour pouvoir jouer à deux joueurs est de 2,4 mètres.

L'avantage de l'utilisation de la lampe IR est de pouvoir jouer dans toutes les conditions de luminosité ! Même si certaines fonctionnalités devraient être affectées comme la reconnaissance faciale ou le scan des objets (utilisant la caméra RGB, dépendante du spectre de lumière visible).

Conclusion

Il est difficile de savoir si Kinect répondra aux attentes du public. Théoriquement, cet outil pourrait libérer le joueur de la manette et lui conférer une liberté totale. En effet, d'un point de vue technique Kinect est un petit bijou de technologies et de bonnes idées. Mais, le développement du logiciel de traitement de données semble représenter une limitation. Ainsi le temps de latence observé jusqu'à présent dépend de l'analyse complexe en « direct » des images filmées. Espérons que « l'amélioration » promise par Microsoft arrive très rapidement, sans quoi cette lacune logicielle pourrait devenir le véritable point noir de Kinect.


Figure 10 : Pour finir en beauté pour tous nos amis geeks, un beau schéma résumant l'ensemble des technologies Kinect décrites dans cet article.

Docteur Sub

Top ventes

Pack Sony Console PS4 1 To Noire + No Ma…
Neuf : 399,90 €
Console PS4 Sony 500 Go Noire - Console …
Neuf : 349,00 €
Pack Console PS4 Sony 1 To Noire + Jeu L…
Neuf : 399,90 €
Console Nintendo Classic Mini NES
Neuf : 59,90 €
Console PS4 Sony 1 To Noire + Uncharted …
Neuf : 399,90 €
Console Microsoft Xbox One S 500 Go Blan…
Neuf : 299,00 €
Console PS4 500 Go Blanche - Console Pla…
Neuf : 349,00 €
Console Nintendo Wii U Mario Kart 8 Pack…
Neuf : 299,90 €
Console Nintendo New 3DS XL Bleu Métalli…
Neuf : 189,95 €
FIFA 17 PS4
PlayStation 4
Neuf : 69,90 €
Console PS4 Sony 1 To Noire + 2 manettes…
Neuf : 408,28 €
Console Nintendo New 3DS XL Noir Métalli…
Neuf : 189,95 €
Console Microsoft Xbox One S 2 To Editio…
Neuf : 603,91 €
Console PS4 Sony 1 To Edition Limitée + …
Neuf : 399,90 €
Deus Ex Mankind Divided Day One Edition …
PlayStation 4
Neuf : 55,49 €
31 commentaires
  • Les plus récents
  • Les plus anciens
Tous les commentaires (31)