Kinect SDK 1.7 : premier essai de Kinect Fusion

Pour ceux qui ne connaissent pas, Fusion est une technologie Microsoft qui permet de se servir de la Kinect pour enregistrer des formes en 3D, en tournant simplement autour. Fusion fait partie du nouveau SDK en version 1.7, et les exemples livrés avec le kit du développeur permettent de se faire une idée du fonctionnement.

Quand on démarre le Kinect Fusion Explorer, on se retrouve avec ce genre d’affichage :

image

Si on fait tourner la Kinect autour de ce qu’elle voit, Fusion reconstruit progressivement un mesh 3D. Pour une personne seule, ce n’est pas facile, car l’objet ne doit pas trop se déformer, or c’est ce qu’il arrive lorsqu’on tient la caméra à bout de bras. Il faut un peu d’habileté par exemple pour lui faire faire le tour de son visage tout en la gardant bien orienté.

Du coup, on se rabattra sur des objets plus faciles à capturer pour les premiers tests d’envoi dans une application 3D, par exemple les murs et plafonds :

image

Ceci est un bout de fenêtre de toit dans mon bureau. Cet exemple est intéressant car il permet de mieux appréhender le fonctionnement de Fusion. Déjà, la technologie semble se limiter à une certaine taille : au bout d’un moment où on balaie une surface, elle ne s’étend plus. On doit pouvoir jouer sur les réglages du Fusion Explorer pour changer ça.

Ensuite, il est possible d’exporter la mesh en OBJ et en STL. A priori, on doit pouvoir faire à peu près ce qu’on veut avec ces deux formats, quitte à les retransformer après. Il y a peut-être une étape de traitement à réaliser. Par exemple, je n’ai pas réussi à importer directement l’OBJ dans un logiciel de 3D. Par contre, pas de problème avec GLC Player, donc ça ne semble pas être le modèle qui est en cause.

Autre chose : les fichiers acquis sont plutôt lourds :

image

Il ne s’agit pas à proprement parler de nuages de points, car c’est bien une structure 3D qui se trouve dans les fichiers, mais les polygones sont assez nombreux. Encore une fois, on doit pouvoir jouer sur le degré d’interpolation qu’on souhaite. Dans l’exemple plus haut, avec des arêtes très tranchées, on éviterait d’ailleurs l’aspect un peu granuleux des surfaces en diminuant le nombre de polygones.

Pour résumer, technologie impressionnante, même s’il ne faut pas imaginer capturer un objet en 3D en quelques minutes pour l’envoyer dans une imprimante 3D : il faudra jouer sur les réglages pour avoir une bonne acquisition, puis passer par une bonne étape de smoothing dans un logiciel 3D.

Mais au final, on fait avec 150 € de matos ce qui nécessitait il y a quelques mois à peine du matériel que seuls les studios de cinéma étaient capables de se payer…

About JP Gouigoux

Jean-Philippe Gouigoux est Architecte Logiciel, MVP Connected Systems Developer. Il intervient régulièrement à l'Université de Bretagne Sud ainsi qu'à l'Agile Tour. Plus de détails sur la page "Curriculum Vitae" de ce blog.
This entry was posted in Uncategorized and tagged . Bookmark the permalink.

3 Responses to Kinect SDK 1.7 : premier essai de Kinect Fusion

  1. Dayd says:

    Merci pour ce test qui m’a permis de connaitre glc_player.

    Avez-vous depuis l’article trouver une solution pour l’importer dans d’autres logiciel 3d?
    apparemment il y a 2 formats de .obj et celui en sortie de kinect fusion, n’est pas le plus utilisé 🙁

    • JP Gouigoux says:

      Non, rien de nouveau à ce jour. Je n’ai pas encore eu le temps de m’y pencher plus. Par contre, je ne peux que vous recommander de vous mettre en relation avec le Kinect Genius Bar : ils pourront certainement vous apporter des réponses.

  2. Dayd says:

    Merci, je ne connaissais pas Genius Bar.

Répondre à Dayd Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha Captcha Reload