Le Blog créatif de Subby-kun et Subbinette

Le Blog créatif de Subby-kun et Subbinette

Par Subby kun Blog créé le 25/07/10 Mis à jour le 16/02/13 à 11h47

Il y a des gens qui disent que je suis fou lorsque je passe 15 minutes à contempler mes jeux tous les matins. Le jeu vidéo étant un art, qu'est ce qu'il y a de fou à contempler une oeuvre d'art?

Ajouter aux favoris
Signaler
Rubrique du Docteur Sub

Rubrique du Docteur Sub n°2

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 corrigerais pour une meilleure accessibilité. A très bientôt.

.

 

La technologie Kinect :

Annoncée en grande pompe lors de la conférence Microsoft de l'E3 2009, la technologie Kinect (ex-Project Natal) propose de jouer avec son corps, renvoyant au placard nos vieilles manettes de jeu. Au lieu de débattre sur l'intérêt ou non de Kinect pour notre univers vidéoludique, essayons de comprendre ensemble le fonctionnement de la bête. Le Docteur Sub vous livre sa deuxième enquête/autopsie exclusive.

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°C 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 « motion 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 implanté en français lors du lancement de Kinect. Et pour nous, monolingue français, c'est un scandale ! Non ? Bon, Kinect embarquera vraisemblablement 2 microphones ainsi que 4 détecteurs digitales 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 converti 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 640x480pixels.

 

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 visible par notre oeil. 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. Ces trois couleurs sont aussi à la base des 3 pixels de couleurs composant les é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 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 couleurs.

 

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 microphones 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 pourrait 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 : C'est deux exemples (Kinect et une télécommande Microsoft) illustrent des émissions infrarouges non visible par notre oeil.

 

Comment fonctionne un capteur CMOS infrarouge ? De façon identique à une caméra RGB sauf qu'on ne 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 film Predator 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'oeil. Une partie de ces rayonnements va être réfléchie par l'ensemble des surfaces touchées. Plus l'objet sera loin et plus le nombre de rayonnement infrarouge réfléchi (renvoyé vers la caméra) sera faible. A l'inverse, plus l'objet sera proche et plus le nombre de rayonnement infrarouge réfléchi sera important.  Ainsi la caméra infrarouge va mesurer la distance de l'objet en fonction de son intensité comme illustrer sur l'exemple ci-dessous.

 


Figure 8 : Voici une scène de jeu (à gauche) et l'image recueilli par la camera Kinect (à droite).  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 être projeté sur la scène, la caméra infrarouge va ensuite filmer cette scène et le 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 (caméra RGB) ou le scan des objets (utilisant la caméra RGB, dépendante de la luminosité).

 

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 » promis par Microsoft arrive très rapidement au risque d'être 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

 

Ajouter à mes favoris Commenter (3)

Commentaires

Iron-Tom
Signaler
Iron-Tom
Très intéressant. La technologie de la caméra a l'air d'être au top... C'est le traitement des infos qui merde après... Tu m'as appris des choses sur les couleurs et la lumière !
Subby kun
Signaler
Subby kun
T'inquiète pas Kokoro, l'objectif n'est pas de faire de la pub pour Kinect mais vraiment d'expliquer son fonctionnement. J'ai déjà lu sur des forums d'autres sites des commentaires comme "Kinect embarque des capteurs inutile comme un détecteur de la chaleur ou dans le noir, franchement, je ne vois pas à quoi cela sert de me voir transpirer sur l'écran". Cela m'avait fait sauter au plafond.
Kokoro
Signaler
Kokoro
Article très intéressant et technique, mais ca ne me donne pour l'instant pas plus envie d'acheter Kinect.

Édito

Sur ce blog, je souhaite débattre de jeux vidéo mais aussi de divers domaines comme le cinéma, la BD, les jeux de société, l'Art graphique... Autant de sujets qui me passionnent et dont je souhaite partager ma passion avec vous. N'hésitez pas à laisser vos remarques et commentaires.

 

 

 

Archives

Favoris