Sommaire I. Introduction... 2 II. Présentation de la Kinect... 3 1. Caractéristiques :... 4 III. Focus sur les différents capteurs de la Kinect... 5 1. Le capteur RGB... 5 2. Capteur et émetteur Infrarouge... 8 IV. Reconstruction 3D... 9 1. Principe de mesure de la profondeur par triangulation... 9 2. Model mathématique et explications... 10 3. Calibration... 11 4. Intégration de la profondeur et de la couleur... 12 V. Précision de la profondeur et densité du point... 13 1. Source d erreur... 13 2. Model théorique : erreur aléatoire... 14 VI. Expérimentations et résultats... 14 1. Calibrations des résultats... 14 VII. Perspectives futures pour la Kinect... 15 1. Projets médicaux... 15 2. Projets industriels... 15 VIII. Conclusion... 16 IX. Bibliographie... 17 1
I. Introduction Dans le cadre de notre formation en License professionnelle Gestion de la Production Industrielle, spécialisation Vision Industrielle, il nous est demandé de réaliser un projet bibliographique sur un des sujets qui nous est présenté en début d année. Etant un grand fan de jeux vidéo et de console de salon, il m a paru naturel de choisir le sujet sur la Kinect et la reconstruction 3D afin de pouvoir améliorer mes connaissances et comprendre le fonctionnement de ce système. La Kinect appelé aussi projet Natal avant sa sortie officielle a été développée par la société Israélienne PrimeSence pour la console de salon Xbox 360 de Microsoft. Tout au long de ce rapport bibliographique nous ferons une brève présentation du système pour ensuite nous concentrer sur l explication du fonctionnement de la reconstruction 3D de ce système. 2
II. Présentation de la Kinect Il s agit d une caméra utilisant des techniques d interaction développées par la société Israélienne PrimeSense, Elle a longtemps été nommée par son nom de code «Project Natal» avant d être officialisée et baptisée juste avant un grand salon dédié aux jeux vidéos, l E3, sous le nom Kinect. Elle est connectée via un périphérique d entrée directement branché sur la console de Microsoft, la Xbox 360. Ce qui permet d interagir par commande vocale, reconnaissance de mouvement et d image. On peut ainsi jouer sur des jeux spécialement développés pour cette technologie sans aucune manette ni périphérique mais seulement avec son corps. Image publicitaire sur le site Xbox 3
1. Caractéristiques : Capteurs : o Capteur Infrarouge associé à un émetteur détectant la profondeur (cf. figure 1-1) et un capteur RGB détectant la couleur (cf. figure 1-2). Les capteurs sont tous motorisés ainsi que le socle pour permettre un suivi des déplacements. Champ de vision : o Champ de vision horizontal : 57 degrés o Champ de vision vertical : 43 degrés o Marge de déplacement du capteur : +/- 27 degrés grâce au socle (cf. figure 1-4) o Portée du capteur : 1,2 m 3,5 m (à partir de 50 cm pour la version Kinect for windows) Flux de données : o 320 x 240 en couleur 16 bits à 30 images par seconde pour le capteur infrarouge o 640 x 480 en couleur 32 bits à 30 images par seconde pour le capteur couleur o Audio 16 bits à 16 KHz grâce aux 4 microphones (cf. figure 1-3) Système de reconnaissance physique : o Jusqu'à 6 personnes et 2 joueurs actifs (4 joueurs actifs avec le SDK 1.0) o 20 articulations par squelette o Application des mouvements des joueurs sur leurs avatars Xbox Live Audio : o Chat vocal Xbox Live et chat vocal dans les jeux vidéos o Suppression de l écho o Reconnaissance vocale multilingue Figure 1 : La kinect 4
III. Focus sur les différents capteurs de la Kinect 1. Le capteur RGB Le capteur se situe sur la face avant de la Kinect, pour la prise d images la caméra est couplée avec un capteur CMOS, qui permet de capter les images à une vitesse de 30 images par seconde avec une résolution VGA (Video Graphics Array) de 640x480 pixels. Le système RGB est simple, il combine les 3 couleurs primaires tel que le rouge, le vert et le bleu, suivant l association de ces 3 couleurs on peut obtenir une image blanche ou un panel infini de couleur qui se situe dans le spectre visible de l œil humain (cf. figure 2). Figure 2 : Spectre de la lumière Ensuite nous pouvons parler du capteur photographique de type CMOS utilisé dans la Kinect. Ces capteurs sont le résultat de l intégration de cellules composées d une photodiode et d une logique d amplification puis d obturation. Ils sont complexes à fabriquer mais sont produits selon des techniques classiques de micro-électronique et de ce fait peuvent avoir des résolutions très importantes (jusqu à 24 mégapixels). Comme beaucoup de capteur, les capteurs CMOS pour l imagerie couleur sont associés à un filtre coloré et un réseau de lentilles du à la faible surface de la photodiode, seule zone sensible. 5
Le capteur CMOS se compose d une matrice de cellules photosensibles qui conservent leur charge et les transfèrent elles-mêmes au convertisseur, là ou d autres capteurs comme le CCD se compose d une matrice de cellules photosensibles qui transfèrent la charge vers un collecteur qui transfère à son tour l ensemble des charges vers le convertisseur. Le capteur CMOS a l avantage de ne pas transmettre une simple charge. Son photosite intègre un amplificateur de tension lui permettant de convertir lui-même la charge électrique reçue. Figure 3 : Capteur CMOS recouvert d une grille photosensible de Bayer Figure 4 : Surface d un capteur CMOS Les capteurs CMOS fonctionnent par champ de photodiode (PD) disposé en grille de Bayer (cf. figure 3), chacune étant sensible à une seule des couleurs primaires (rouge, vert, bleu). C est un champ de «0» ou «1» qui recouvre alors le capteur. C est donc une combinaison des valeurs de chaque photodiode qui permet d obtenir la couleur estimée de chaque pixel. 6
Le schéma suivant résume le principe du système RGB et les processus pour l acquisition d une image avec un haut contraste et de très bonnes couleurs. Processus du système RGB 7
2. Capteur et émetteur Infrarouge Un capteur CMOS infrarouge fonctionne quasiment de la même manière qu un capteur CMOS RGB sauf qu il laisse uniquement passer les infrarouges grâce à un filtre. Voyons comment le dispositif infrarouge de Kinect fonctionne. Figure 5 : Capteur CMOS infrarouge Actuellement, la majorité des matrices de détecteurs infrarouges est conçue comme sur la figure 5, c'est-à-dire en suivant une architecture dite hybride constituée de deux éléments distincts : Une zone de détection constituée de M x N détecteurs élémentaires dont le rôle consiste à transformer le flux de photons infrarouge incident en une image «électrique». Une zone de traitement du signal obtenue à l aide d un circuit intégré réalisé en silicium. Ce circuit, appelé circuit de lecture sert à collecter et traiter le signal de chaque détecteur et à le convertir dans un format exploitable par l électronique de mesure (en générale une tension). Cette architecture offre deux avantages : Elle permet d utiliser le silicium, le matériau le mieux adapté pour la détection. Elle permet d atteindre des facteurs de remplissage optique proches de 100%. La technique utilisée ici pour connecter point à point la mosaïque de détecteurs élémentaires au circuit de lecture en silicium est un contact électrique par l intermédiaire de microbilles d indium. 8
IV. Reconstruction 3D Nous allons maintenant expliquer comment avec l émetteur et le capteur infrarouge il est possible de modéliser des scènes en trois dimensions. 1. Principe de mesure de la profondeur par triangulation Le capteur Kinect se compose d'un émetteur laser infrarouge, d une caméra infrarouge et d une caméra RGB. La mesure de la profondeur se fait par un processus de triangulation. L émetteur laser émet un faisceau unique qui est subdivisé en faisceaux multiples par un réseau de diffraction afin de créer un modèle constant de mouchetures projetées sur la scène (cf. figure 6). Cette tendance est capturée par la caméra infrarouge et est comparée avec un modèle de référence. Le motif de référence est obtenu en capturant un plan à une distance connue du capteur, et est stocké dans la mémoire de la kinect. Cette configuration de la Kinect est réalisée en usine avant la commercialisation. Quand la nuée de points est projetée sur un objet dont la distance au capteur est plus petite ou plus grande que celui du plan de référence alors la nuée de points dans l'image infrarouge est décalée dans la direction de la ligne de base entre le laser projecteur et le centre optique (centre focal, point f) de la caméra infrarouge. Ces changements sont mesurés pour toutes les taches par une simple procédure de corrélation, ce qui donne une image de disparité. Pour chaque pixel la distance de la sonde peut alors être extraite de la disparité correspondante. Figure 6 : motif obtenue par la diffraction du laser de l émetteur infrarouge (speckles) 9
2. Model mathématique et explications Le schéma illustre la relation entre la distance d'un objet (point K) et de la sonde par rapport à un plan de référence pour mesurer la disparité (d). Pour exprimer les coordonnées 3D des points de l'objet que nous considérons comme un système de coordonnées de profondeur avec son origine au centre optique de la caméra infrarouge. L axe Z est orthogonal au plan de l'image vers l'objet, l axe X est perpendiculaire à l'axe Z dans la direction de la ligne de base (b) entre le centre de la caméra infrarouge et du projecteur laser, et l'axe Y perpendiculaire à X et Z donnant un système de coordonnées. Schéma Supposons qu'un objet se trouve sur le plan de référence à une distance de Zo du capteur, la nuée de points projetée sur l'objet est capturée sur le plan image de la caméra infrarouge. Si l'objet est déplacé plus près (ou plus loin) de la sonde alors l'emplacement de la nuée de points sur le plan de l'image sera déplacée dans la direction X et sera mesuré en fonction de la disparité et des coordonnées du point K. De Thalès, nous avons: (1) (2) Où Z k désigne la distance (profondeur) du point K de l objet de l'espace, b est la longueur de base, f est la distance focale de la caméra infrarouge, D est le déplacement du point K dans l'espace, et d est la disparité observée dans l'espace image. 10
En remplaçant D dans les formules (1) et (2), et en exprimant Z k on obtient : L équation (3) est le modèle mathématique de base pour l'élaboration de la profondeur à partir de la disparité observée à condition que les constantes Zo, F, et b soient déterminées par étalonnage en usine. (3) Où X k et Y k sont les coordonnées image du point, X o, et Y o sont les coordonnées du point principal, et δx et δy sont les corrections de distorsion de l'objectif, pour lesquelles différents modèles avec différents coefficients existent. Notez que nous supposons que le système de coordonnées image est parallèle à la ligne de base, et donc avec le système de coordonnées de profondeur. 3. Calibration Comme mentionné ci-dessus, les paramètres d'étalonnage impliqués dans le modèle mathématique pour le calcul des coordonnées 3D des mesures brutes de l'image comprennent: La distance focale (f) Les principaux points de décalages (X o et Y o ) Les coefficients de distorsion de la lentille (en δx, δy) La longueur de la base (b) La distance du motif de référence (Z o ) En outre, on peut considérer un angle de désalignement entre l axe des X du système de coordonnées d'image et la ligne de base. Toutefois, cela n'affecte pas le calcul des coordonnées de l'objet, si nous définissons un système de coordonnées de profondeur qui est parallèle avec le système de coordonnées de l image à la place de la ligne de base. Nous pouvons donc ignorer cet angle de désalignement. A partir des paramètres d'étalonnage indiqués ci-dessus les trois premiers peuvent déterminer par un étalonnage standard de la caméra infrarouge. La détermination de la longueur de base et la distance de référence sont toutefois compliquées pour la raison suivante. Dans la pratique, il n'est pas possible de diffuser les disparités réelles mesurées, probablement en raison de la limitation de bande passante. Au lieu de cela, la disparité brute a des valeurs normalisées entre 0 et 2047, et est diffusée sur 11 bits. (4) 11
Par conséquent, dans l'équation (3) d doit être remplacé par md '+ n. Avec d' l'écart normalisé de la disparité, et m & n les paramètres d'une normalisation linéaire. Les inclure dans l'équation (3) et en inversant il donne: L'équation (5) exprime une relation linéaire entre l'inverse de la profondeur d'un point et sa disparité normalisée correspondante. Pour observer la disparité normalisée d un certain nombre de points de l'objet (ou plans) à des distances connues du capteur, les coefficients de cette relation linéaire peuvent être estimés de façon moindre au carré. Toutefois, l'inclusion des paramètres de normalisation ne permet pas de déterminer b et Z o séparément. (5) 4. Intégration de la profondeur et de la couleur L'intégration des données de profondeur et de couleur nécessite que l'orientation de la caméra RGB soit faite par rapport aux coordonnées de profondeur du système. Depuis que nous avons défini le système de coordonnées de profondeur au centre optique de la caméra infrarouge on peut effectuer l'orientation par un étalonnage stéréo des deux caméras. Les paramètres à estimer sont trois rotations entre le système de coordonnées de la caméra RVB, de la caméra infrarouge, et de la position 3D du centre optique de la caméra RGB dans le système de coordonnées de la caméra infrarouge. En outre, les paramètres d'orientation de l'intérieur de la caméra RGB, c'est à dire la distance focale, la compensation et la distorsion de la lentille doit être estimée. Une fois que ces paramètres sont connus, nous pouvons projeter chaque point 3D du point de l'image RGB, interpoler la couleur, et l affecter au point. 12
V. Précision de la profondeur et densité du point Bertrand PECUCHET La précision et la densité des points sont deux mesures importantes pour l'évaluation de la qualité d'un nuage de points. Dans les sections suivantes nous allons examiner les facteurs qui influent sur la précision et la densité des données et présenter un modèle d'erreur théorique aléatoire. 1. Source d erreur Les erreurs et les imperfections dans les données Kinect peuvent provenir de trois sources principales: Le capteur La mise en place de mesure Les propriétés de surface de l'objet Les erreurs des capteurs, pour un appareil qui fonctionne bien, viennent principalement d un étalonnage inadéquat et de mesures inexactes de disparités. Ces mauvais réglages peuvent conduire à une erreur systématique dans le calcul des coordonnées des objets sur des points particuliers. Ces erreurs systématiques peuvent être éliminées par un étalonnage approprié comme on a pu le voir précédemment, c'est-à-dire un étalonnage en usine. Les erreurs de mesure causées par la mise en place sont principalement liées aux conditions d'éclairage et à la géométrie de l'image. L'éclairage influe sur la corrélation et la mesure des disparités. En forte lumière les mouchetures laser apparaissent avec un faible contraste dans l'image infrarouge, ce qui peut conduire à des valeurs aberrantes ou à un écart dans le nuage de points résultant. La géométrie d'imagerie comprend la distance de l'objet et l'orientation de la surface de l'objet par rapport au capteur. La plage de fonctionnement du capteur est entre 0,5 m à 5,0 m selon les spécifications, et comme nous le verrons dans la section suivante, l'erreur aléatoire de profondeur augmente avec la distance au capteur. Aussi, en fonction de la géométrie de l'image, des parties de la scène peuvent être enfermées ou ombragées. Les propriétés de la surface de l'objet influent également sur la mesure de points. Par exemple, des surfaces brillantes sembleront surexposées dans l'infrarouge ce qui gênera la mesure de la disparité, et qui donnera lieu à un écart dans le nuage de points. 13
2. Model théorique : erreur aléatoire Pour ce qui est de l erreur aléatoire, c est un calcul assez compliqué que je ne serai pas expliqué. Il faut juste retenir que c est en lien avec les paramètres d étalonnages qui doivent être déterminés avec précision et un calcul sur la variance de la disparité et l écart-type de la profondeur. A savoir que l erreur de mesure de la profondeur est proportionnelle au carré de la distance entre le capteur et l objet, ce qui est assez important. VI. Expérimentations et résultats Des expériences ont été menées pour déterminer d'abord l'étalonnage des paramètres de la sonde, puis pour rechercher les erreurs aléatoires dans les données de profondeur. Les sections suivantes décrivent les tests et analysent les résultats. 1. Calibrations des résultats Un calibrage de la caméra standard a été effectué afin de déterminer les paramètres intérieurs de la caméra infrarouge à l'aide de la PhotoModeler. Un total de 8 images ont été prises d'un motif cible à partir d'angles différents. Pour éviter toute perturbation dans la nuée de points l'émetteur laser a été couvert par un morceau de ruban adhésif opaque. Le tableau 1 résume les résultats de l'étalonnage. Tableau 1 : Paramètres de calibration de la caméra infrarouge 14
VII. Perspectives futures pour la Kinect Bertrand PECUCHET Avec la création de Kinect for Windows de nombreux développeurs se sont lancés dans le développement d applications plus ou moins intéressantes. 1. Projets médicaux Une application a été mise au point au sein de l hôpital canadien de Sunnybrook pour résoudre le problème sur les interruptions intempestives des chirurgiens qui doivent quitter la zone stérile pendant une opération pour pouvoir visualiser les images médicales dans une autre pièce. Désormais ils peuvent simplement avec un geste de la main interprété par une Kinect, avoir les images et zoomer sur celles-ci. Des allemands ont su tirer profit de la Kinect en l utilisant pour aider les personnes malvoyantes dans leur déplacement. Le dispositif est composé d une Kinect, d un ordinateur portable, d une ceinture vibrante composée de 3 moteurs et d un casque. L ordinateur traite les signaux captés par la Kinect et envoie les informations dans la ceinture pour prévenir l utilisateur d un obstacle. 2. Projets industriels Le laboratoire LYRIS a confirmé que le développement de plusieurs applications Kinect est en cours notamment pour la sécurité des opérateurs. Le principe serait de détecter ou non la présence d opérateurs dans une salle pendant le travail des machines ou robots. En effet dans certains cas la présence d opérateurs peut être dangereuse. Ce système pourrait réduire le nombre d accidents. En ce qui concerne des applications dans le domaine de la vision industrielle je n ai rien trouvé. Ce qui m étonne qu à moitié car au vue des résultats actuels sur la précision des calculs de profondeur, je pense que Kinect n a pas encore sa place dans ce domaine où justement la précision des mesures et l interprétation des données est très importante. 15
VIII. Conclusion Ce projet bibliographique a pour but de présenter la Kinect mais aussi d expliquer le fonctionnement de la reconstruction 3D avec le capteur infrarouge. Ce qui nous a permis de vous présenter une analyse théorique et expérimentale sur le calcul des données de profondeur acquises par le capteur Kinect. Nous pouvons ainsi tirer les conclusions générales suivantes : Le nuage de points d'un capteur Kinect bien calibré ne contient pas de grandes erreurs systématiques L'erreur aléatoire d'une augmentation des mesures de profondeur quadratique avec la distance croissante à partir du capteur et atteint 4 cm à la portée maximale; La densité des points diminue également avec l'augmentation de la distance de la sonde. Un autre facteur déterminant est la résolution de la profondeur qui est très faible à grande distance (7 cm à la portée maximale de 5 m). En général, pour les applications cartographiques, les données doivent être acquises à une distance de 1 à 3 m du capteur. A des distances plus grandes la qualité des données est dégradée par le bruit et la faible résolution des mesures de profondeur. 16
IX. Bibliographie ACCURACY ANALYSIS OF KINECT DEPTH DATA K. Khoshelham. ITC Faculty of Geo-information Science and Earth Observation, University of Twente. Email : khoshelham@itc.nl DEPTH CAMERA IN COMPUTER VISION AND COMPUTER GRAPHICS : AN OVERVIEW XIANG Xueqin, PAN Zhigeng, TONG Jing. State Key Lab of Computer Aided Design and Computer Graphics, Zhejiang University, Hangzhou 310058, China HUMAN DETECTION USING DEPTH INFORMATION BY KINECT Lu Xia, Chia-Chih Chen and J.K Aggarwal. The university of Texas at Austin, Departement of electrical and computer Engineering ACCURACY AND RESOLUTION OF KINECT DEPTH DATA FOR INDOOR MAPPING APPLICATIONS Kourosh Khoshelham * and Sander Oude Elberink Faculty of Geo-information Science and earth observation, University of Twente Présentation powerpoint : HOW DOES THE KINECT WORK? By John MacCornick Site internet : http://www.techno-science.net/?onglet=glossaire&definition=7376 http://www.gameblog.fr/article-lecteur_612_comment-fonctionne-la-technologie-kinect http://fr.wikipedia.org/wiki/cmos http://www.generationrobots.com/capteur-microsoft-kinect,fr,4,kinect-microsoft-sensor.cfm http://projets-labinfo.he-arc.ch/projects/magritte/wiki/kinect#les-librairiesframework http://cs-engineering.over-blog.com/article-kinect-capteur-3d-61729010.html http://www.ros.org/wiki/kinect_calibration/technical http://ensiwiki.ensimag.fr/index.php/reconstruction_3d_tempsr%c3%a9el_des_mains_en_mouvement 17