La numérisation 3D avec un capteur de profondeur présente de nombreux avantages. Non seulement ces capteurs sont très abordables, mais presque tous sont ouverts, au sens où chacun peut créer des logiciels pour les utiliser. Les capteurs de profondeur ont de nombreux cas d’usage, et la numérisation 3D n’est en réalité que l’un des plus spécialisés. C’est pourquoi il n’existe pas des centaines d’options logicielles. Et les logiciels disponibles ne prennent généralement en charge qu’un nombre limité de capteurs.
Concurrence & capteurs pris en charge
Par exemple, j’ai testé Skanect, un logiciel pour PC et Mac qui prend en charge Structure Sensor (Skanect a été acquis par le fabricant de Structure, Occipital), ASUS Xtion, PrimeSense (acquis par Apple) Carmine et certains modèles Microsoft Kinect (arrêtés) — mais pas Intel RealSense.
Le logiciel que je teste aujourd’hui, RecFusion, prend bien en charge les capteurs RealSense — y compris la nouvelle série D400 que je viens de tester — ainsi que les capteurs Orbbec, en plus des autres que je viens de mentionner — mais pas Structure Sensor (consultez le pied de page de cette page pour la liste complète).
Il existe également des logiciels verrouillés sur un seul type de capteur. J’ai testé il y a quelque temps le logiciel Sense for RealSense de 3D Systems. Mais bien que ce logiciel téléchargeable gratuitement fonctionne avec les capteurs RealSense F200 et R200 que j’ai testés, ainsi qu’avec le kit de développement SR300 que je possède (qui est un Creative BlasterX Senz3D), des lecteurs m’ont signalé ne pas parvenir à faire fonctionner le logiciel avec ce dernier capteur. Il fonctionne bien sûr avec la propre version de 3D Systems du SR300, le scanner Sense 2 (test).
[well type=””]
Voici quelques-uns des capteurs abordables pris en charge par RecFusion. Les deux derniers prennent également en charge la numérisation multi-capteurs :
[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]
[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]
[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]
[/well]
Versions & tarifs
RecFusion est uniquement disponible pour Windows (64-bit) et se décline en deux versions : une pour la numérisation avec un seul capteur (€99) et une version Pro pour la numérisation multi-capteurs (€499). Avec cette dernière, vous pouvez capturer simultanément depuis plusieurs capteurs et calibrer leurs positions dans un montage fixe. Vous pouvez ainsi numériser des objets et des personnes sans déplacer les capteurs. Vous pouvez par exemple monter 3 capteurs sur un rail vertical et utiliser un plateau tournant pour numériser des personnes. Veillez simplement à ce que le capteur que vous privilégiez prenne en charge la connexion de plusieurs unités à un même système (les modèles RealSense antérieurs au D400 ne le font pas).
[well type=””]
Numérisation multi-capteurs dans RecFusion Pro
Comme je ne possède pas plusieurs capteurs pouvant être combinés, j’utilise la version standard de RecFusion pour mes tests avec un seul capteur. Mais voici une capture d’écran du manuel afin que vous puissiez voir à quoi ressemble la numérisation multi-capteurs dans RecFusion Pro.

Plusieurs capteurs peuvent être calibrés à l’aide de l’impression du marqueur de suivi que j’utilise également ci-dessous.
[/well]
Outre RecFusion et RecFusion Pro, il existe également un SDK RecFusion (C++) à €599 si vous souhaitez créer votre propre solution de numérisation 3D à un ou plusieurs capteurs.
Numérisation avec un seul capteur dans RecFusion

L’interface de RecFusion est claire et facile à comprendre. À gauche se trouve un panneau regroupant tous les réglages. Vous pouvez enregistrer ces réglages sous la forme d’un espace de travail, ce qui est pratique si vous utilisez différentes configurations pour différents usages.

Contrairement à Sense for RealSense, qui propose une détection automatique des objets, vous devrez définir manuellement la taille du volume de numérisation ainsi que sa position par rapport au capteur. Si vous utilisez le scanner dans une position fixe avec un plateau tournant, vous pouvez utiliser un marqueur imprimable pour l’alignement automatique du volume.
La résolution du volume est réglée en voxels. C’est assez unique, mais facile à comprendre une fois que l’on observe la taille des voxels. Il est à noter que pour les résolutions supérieures au préréglage 512, vous aurez besoin d’une carte graphique dédiée disposant de plus de mémoire que les 2GB de la GTX965 de mon Surface Book.
Dans le panneau du capteur, vous pouvez sélectionner toute combinaison de résolution couleur et de profondeur prise en charge par votre capteur, bien que toutes les combinaisons ne fonctionnent pas. J’ai remarqué que certaines combinaisons fonctionnaient parfois après avoir basculé vers une autre résolution de profondeur ou de couleur, puis être revenu à celle que je souhaitais initialement. Vous pouvez également affiner les réglages d’exposition, de balance des blancs et de couleur de la caméra couleur, ou régler les deux premiers en automatique. L’exposition manuelle n’est toutefois disponible que sur certains capteurs.
[column lg=”6″ md=”12″ sm=”12″ xs=”12″ ]

[column lg=”6″ md=”12″ sm=”12″ xs=”12″ ]
Vous pouvez également régler l’orientation du capteur sur verticale, ou même inverser l’image, ce qui peut s’avérer pratique si vous l’utilisez face à vous. Enfin, le réglage de coupure de profondeur peut être utile pour numériser des objets avec un capteur ayant une grande plage de numérisation.
Si vous souhaitez utiliser le capteur à main levée, ce qui peut être pratique avec ou sans plateau tournant pour capturer des surfaces difficiles d’accès, RecFusion propose à la fois un délai de démarrage avec compte à rebours et un réglage de durée de numérisation fixe. Grâce à cette fonction, vous pouvez plus facilement vous déplacer avec un ordinateur portable ou une tablette dans une main et un capteur dans l’autre.

Comme vous pouvez le voir, l’écran divisé en 3 affiche le flux RGB, le flux de profondeur et un nuage de points voxel 3D des résultats combinés. Les trois fonctionnent en orientation verticale, mais malheureusement, la vue 3D perd son réglage d’orientation pendant la numérisation. Elle affiche alors un aperçu de fusion en temps réel en vue horizontale. Vous pouvez désactiver la vue couleur pendant la numérisation, ce qui peut faciliter le suivi de votre progression.
Voici une vidéo de capture d’écran du processus de numérisation utilisant un plateau tournant, un kit d’éclairage et le capteur de profondeur SR300 tenu à main levée :
[well type=””]
Je déplace le capteur de haut en bas uniquement pour couvrir le haut et le menton du buste, mais cette situation pourrait être facilitée avec 3 capteurs de profondeur (bien que pas de type SR300, qui ne prend pas en charge la numérisation multi-capteurs) et RecFusion Pro.
[/well]
Il est bon de savoir qu’après avoir terminé la numérisation et vérifié le résultat, vous pouvez également poursuivre le processus de capture pour compléter les détails que vous auriez pu manquer. Dans ce cas, RecFusion essaiera de reconnaître l’angle de la caméra et de poursuivre à partir de là. Cela a fonctionné comme prévu la plupart du temps où je l’ai essayé. Le suivi de RecFusion est globalement bon, et il a également retrouvé le bon angle après une perte de suivi dans la plupart de mes tests.
[well type=””]
Remarque sur la reconstruction hors ligne sur CPU
La vidéo ci-dessus montre ce que l’on appelle une reconstruction en temps réel, ou une fusion en temps réel. Ici, les données capturées sont directement fusionnées dans un modèle 3D. Cette méthode repose sur la carte graphique (GPU) de l’ordinateur. C’est pourquoi les 2GB de VRAM de la Nvidia GTX965 de mon Surface Book limitent la résolution que je peux définir dans RecFusion.
Au lieu de la fusion en temps réel, vous pouvez également choisir de laisser simplement le logiciel enregistrer les séquences d’images de la caméra de profondeur et de la caméra couleur. Vous pouvez ensuite enregistrer et ouvrir ce fichier de séquence dans RecFusion pour une reconstruction hors ligne, ou non temps réel. Selon cette page de tutoriel du site web de l’application, il devrait exister une option permettant d’effectuer cette reconstruction hors ligne sur le processeur principal (CPU) de l’ordinateur plutôt que sur le processeur graphique (GPU).
J’ai contacté le développeur pour obtenir des conseils à ce sujet et je mettrai l’article à jour en conséquence si je peux obtenir des résultats nettement meilleurs avec une reconstruction hors ligne basée sur le CPU. Le développeur m’a fait savoir que la page est obsolète et que la reconstruction sur CPU n’est désormais plus prise en charge.
[/well]
Édition
Après la numérisation, RecFusion prend un moment pour optimiser les couleurs du scan. Malheureusement, la capture couleur native n’est effectuée qu’avec une coloration par sommet, ce qui signifie que la qualité des couleurs est strictement liée à la résolution volumique géométrique. Cela diffère des programmes pouvant projeter sur la géométrie des images couleur capturées séparément à l’aide d’une technique appelée mappage de texture UV.
Vous pouvez visualiser le scan terminé avec ou sans couleur appliquée, ou afficher le maillage filaire.
La plupart des fonctions d’édition bien connues sont présentes dans RecFusion, comme le recadrage du modèle (illustré ci-dessous) ou la sélection automatique des éléments isolés pour le nettoyage. 
Il existe également une fonction de décimation qui préserve assez bien les détails géométriques. Mais en raison de la coloration par sommet, vous perdrez aussi en résolution couleur.
Il existe une fonction de remplissage automatique des trous, mais il est intéressant de constater qu’elle ne propose aucun réglage de la taille maximale des trous. La fonction n’a pas non plus produit de remplissage plat là où je m’y attendais, comme au fond d’une zone venant d’être recadrée.

L’édition des couleurs se limite à la luminosité, au contraste et au gamma. Il est donc préférable de définir le bon réglage de couleur avant la numérisation, car cela offre davantage de contrôle.

Si vous souhaitez réaliser des impressions 3D, RecFusion peut également générer un socle (appelé socket dans le logiciel). Mais il n’existe malheureusement aucune fonction permettant de creuser un modèle, ce qui aurait été appréciable car cela peut permettre d’économiser beaucoup d’argent sur les coûts de matériau lors de la réalisation d’impressions en grès couleur. Il semble bien exister une fonction de creusage, mais elle se trouve dans l’onglet Export, ce qui nous amène à…
Exportation
Vous ne pouvez pas vraiment enregistrer votre projet et votre modèle. L’enregistrement de votre espace de travail est strictement réservé aux réglages. Vous pouvez bien sûr exporter votre modèle vers divers formats de fichiers 3D bien connus (STL, OBJ, PLY, VRML), ou l’exporter vers Sketchfab (pour le partage en ligne et la visualisation en VR/AR) ou i.materialize (pour l’impression 3D).
Si vous souhaitez créer un maillage creux pour l’impression 3D, vous pouvez développer l’onglet d’exportation en étant en mode d’affichage maillage et cocher « Hollow out inside of model ». Le modèle doit être étanche pour que cela fonctionne.
Résultats & comparaison
Voici quelques résultats de numérisation avec le RealSense SR300 et RecFusion. Bien sûr, la qualité dépend du capteur utilisé. Ils sont également calculés en temps réel sur le GPU avec la résolution de 512 voxels, puisque je n’ai pas trouvé le mode de reconstruction sur CPU.
Voici le buste des captures d’écran, réalisé avec un plateau tournant manuel et le capteur tenu à main levée :
https://sketchfab.com/models/188711fba93547b2b5838380365aa375
Comme prévu, je ne suis donc pas très satisfait de la qualité de texture. La méthode de coloration par sommet a ses limites. Mais si vous appuyez sur 3 sur votre clavier, vous pouvez basculer la visionneuse Sketchfab en mode MatCap pour ne voir que la géométrie. Il y a quelques imperfections au point de bouclage, à gauche de l’épaule arrière, où la nouvelle géométrie est censée fusionner avec le point de départ du scan. Mais ce n’était pas un problème que j’ai rencontré systématiquement. Dans l’ensemble, la qualité géométrique est typique d’un scan par capteur de profondeur.
J’ai également réalisé un scan avec le capteur fixé sur un trépied :
https://sketchfab.com/models/b959e4dea3354feb8bd0b3b8715fb56a
Comme vous pouvez le voir, cette géométrie est beaucoup plus lisse que celle du modèle tenu à main levée ; l’ajout de mouvements humains peut donc influencer le résultat de la numérisation. Du moins la géométrie, puisque les informations de couleur ne se sont pas améliorées.
Pour vous donner une idée de ce que le mappage de texture UV basé sur des images RGB enregistrées et projetées séparément peut apporter à un scan de ce type, voici le même buste numérisé avec le même capteur et la même configuration d’éclairage, mais avec le logiciel Sense for RealSense de 3D Systems :
https://sketchfab.com/models/d7cf68c659fe4d40b95b1c40f8e7ff1e
Ce modèle a également été réalisé avec un plateau tournant manuel et un déplacement vertical du capteur tenu à main levée (une vidéo se trouve dans mon test du Sense 2 / SR300). Comme vous pouvez le voir, la géométrie est similaire à celle de la dernière intégration RecFusion, mais la qualité des couleurs est bien plus photoréaliste grâce aux fichiers image mappés.
J’ai constaté la même différence d’apparence lors de la numérisation de personnes. Ci-dessous, la même personne est numérisée avec RecFusion et Sense for RealSense respectivement :
https://sketchfab.com/models/71b9e726941d4b25915db18abd0aa2e3
https://sketchfab.com/models/987c3d96a0c144c8a3395bbea8040226
À vrai dire, le mappage du second modèle est également décalé, ce qui lui donne un aspect un peu étrange. Je n’ai jamais trouvé de logiciel pour le SR300 qui m’ait donné les mêmes résultats pour la numérisation de personnes que le combo Structure Sensor / iPad / itSeez3D. Et avec mes résultats de test actuels, les scans que j’ai réalisés avec Structure Sensor et Skanect surpassent également RecFusion pour les cas d’usage nécessitant de la couleur.
À titre de comparaison, voici un résultat de Skanect et Structure Sensor avec le mode couleur haute qualité récemment introduit activé. Le résultat ci-dessous est un modèle coloré par sommet. Skanect peut également exporter un modèle texturé UV, mais il est dérivé des couleurs par sommet, et non mappé UV indépendamment de la géométrie.
https://sketchfab.com/models/bd4845bee7fe4553b980b5c1716eaba0
Il est intéressant de constater à quel point une même personne peut paraître différente lorsqu’elle est numérisée avec des logiciels et des capteurs différents. Mais lorsqu’il s’agit de numériser des personnes, je pense toujours que les résultats d’itSeez3D sont les plus réalistes :
https://sketchfab.com/models/7d35a0cd120340d78e876312fa42ec5d
Conclusion
Le principal argument de vente de RecFusion est l’étendue de sa prise en charge des capteurs de profondeur. À ma connaissance, c’est le seul logiciel commercial prenant en charge la nouvelle série RealSense D400 d’Intel (n’hésitez pas à commenter si je me trompe). En outre, la version Pro vous permet de connecter plusieurs capteurs afin de créer des solutions de numérisation 3D personnalisées.
Travailler avec la version non-Pro à un seul capteur montre clairement que la puissance globale du logiciel réside dans la numérisation sur plateau tournant avec le capteur en position fixe. Vous pouvez alors utiliser un marqueur pour aligner automatiquement le volume de numérisation. Pour la numérisation à main levée, avec ou sans plateau tournant, la nécessité de définir la taille et la position relative du volume de numérisation peut être contraignante et nuire à la flexibilité et à la facilité d’utilisation.
[well type=””]
Besoin de conseils sur mesure ?
Vous voulez savoir quel capteur de profondeur, ou logiciel pour capteur de profondeur, est le mieux adapté à votre cas d’usage — ou si un capteur de profondeur est la meilleure technologie pour cela en premier lieu ?
[tw-button size=”medium” background=”” color=”” target=”_self” link=”/consulting”]Découvrez mon service de conseil abordable.[/tw-button]
Je conseille aussi bien des particuliers et des startups que de grandes entreprises du Fortune 50, alors n’hésitez pas à m’envoyer un e-mail au sujet de vos défis de numérisation 3D.
[/well]
La numérisation elle-même est très robuste dans RecFusion, avec presque aucun problème de suivi et une reprise rapide lorsque le suivi est perdu. L’approche basée sur les voxels demande un peu d’habitude, mais j’apprécie la façon dont elle rend les réglages de qualité compréhensibles. Lors de mes tests, elle a produit des maillages plus lisses avec les capteurs fixés sur des trépieds qu’avec le capteur déplacé à main levée.
Globalement, si vous recherchez un logiciel offrant une large prise en charge (multi-)capteurs et que votre cas d’usage ne dépend pas fortement de la qualité des textures, RecFusion est un programme solide. Mais si la qualité des textures est importante pour vous, je dirais qu’il vaut mieux attendre que le développeur intègre le mappage de textures haute résolution.
[well type=””]
Voici quelques-uns des capteurs abordables pris en charge par RecFusion. Les deux derniers prennent également en charge la numérisation multi-capteurs. J’ai récemment publié un comparatif de capteurs comparant ces 3 capteurs — avec RecFusion.
[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]
[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]
[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]
[/well]
