Skanect 1.9 (avec Structure Sensor) : test de numérisation 3D

Ce test du logiciel de numérisation 3D Skanect se fait attendre depuis longtemps et fait aussi partie des plus demandés. L’un des premiers scanners 3D que j’ai testés était le Structure Sensor. J’avais prévu d’en faire une trilogie de tests, en commençant par l’essai des applications gratuites (d’exemple) du fabricant Occipital. Le deuxième épisode était un test de l’excellent logiciel itSeez3D.

J’ai en fait commencé à tester Skanect juste après cela, mais, bien que le flux de travail global me plaise, j’ai été déçu par la qualité des textures. Après quelques recherches, j’ai découvert qu’une nouvelle version — 1.9 — était en développement et qu’elle résoudrait précisément ce problème, parmi d’autres améliorations. J’ai donc reporté le test et commencé à bêta-tester la nouvelle version.

Skanect 1.9 est en développement depuis plus d’un demi-an. Voyons si l’attente en valait la peine !



Compatibilité des capteurs et tarifs

De nombreuses personnes font leurs premiers pas dans la numérisation 3D en utilisant un capteur de profondeur tel que le Structure Sensor à $379. Principalement parce qu’il est abordable et qu’elles possèdent déjà un iPad compatible. Encore plus abordable actuellement, l’iSense arrêté mais fortement remisé (jusqu’à $75) et similaire. J’ai testé avec Skanect 1.9 celui que j’ai obtenu sur eBay et n’ai rencontré aucun problème, mais tous les essais de ce test ont été réalisés avec un Structure Sensor et le dernier firmware 2.0.

Les utilisateurs de Structure Sensor recherchent donc naturellement un logiciel abordable, mais c’est là qu’un problème que j’entends souvent (presque quotidiennement) se pose : il n’y a pas beaucoup de choix. L’application gratuite d’exemple fonctionne bien, mais elle est limitée en fonctionnalités et en qualité de numérisation. Et si itSeez3D fournit un flux de travail entièrement automatisé et d’excellents scans 3D, son modèle économique actuel exige une combinaison d’abonnement mensuel et de frais par scan si vous souhaitez faire autre chose de vos scans que les partager en ligne.

Skanect dispose d’une version gratuite, mais elle ne peut pas être utilisée à des fins commerciales et est limitée à 5000 polygones, ce qui rend impossible l’export de quoi que ce soit d’utile. Heureusement, la version Pro est très abordable à $129 / €119 (hors TVA). Si vous ne possédez pas de Structure Sensor, vous pouvez aussi l’acheter avec Skanect pour $499.

Bien que je teste Skanect avec un Structure Sensor, vous pouvez aussi l’utiliser avec des capteurs Asus Xtion ou PrimeSense Carmine. Ainsi qu’avec Microsoft Kinect 360 (pas la version XBOX One / V2, puisque celle-ci n’est pas très bonne pour la numérisation 3D).

J’utilise un iPad pour transmettre les données du Structure Sensor vers un PC via WiFi, mais vous pouvez également utiliser le USB Hacker Cable à $39 pour le connecter directement à un ordinateur. Sachez que vous ne pouvez pas capturer les textures couleur de cette façon, car le Structure Sensor n’a pas de caméra RGB.


Fonctionnement de Skanect et nouveautés de la version 1.9

Skanect n’est pas une application mobile. Il fonctionne différemment des autres applications que j’ai testées jusqu’ici. Au lieu de fusionner les données de numérisation dans un modèle polygonal en temps réel sur l’iPad lui-même, comme l’Occipital Scanner App, ou dans le Cloud, comme itSeez3D, Skanect s’exécute sur un PC ou un Mac et y effectue la fusion.

[column lg=”6″ md=”12″ sm=”12″ xs=”12″ ]
L’iPad fait donc essentiellement office de caméra. Lorsque Skanect s’exécute sur votre Mac ou PC, sur le même réseau que l’iPad, l’application Structure iOS le détecte et propose un mode Uplink. Cela permet à l’application de transmettre les données de profondeur et de couleur vers l’ordinateur externe, où la fusion en temps réel est réalisée. Un aperçu de celle-ci (façon Predator) est renvoyé vers l’écran de l’iPad afin que vous puissiez voir ce que vous faites.

[column lg=”6″ md=”12″ sm=”12″ xs=”12″ ]

Deux facteurs importants permettent à cette configuration de fonctionner de façon fluide. Le premier est un réseau WiFi rapide qui n’est pas utilisé pour d’autres tâches gourmandes en bande passante. De préférence un réseau direct d’ordinateur à ordinateur (ad hoc), mais je n’ai eu aucun problème avec le WiFi 5G de notre studio.

Le second facteur est une bonne carte graphique Nvdia. Skanect propose aussi un mode CPU qui fonctionne sur le processeur, mais mon expérience a été bien plus fluide en mode GPU. Mon PC Windows est équipé d’une Nvdia GTX 1070 avec 8GB de RAM. Avec la version 1.9, Skanect prend spécifiquement en charge CUDA 8 et les derniers GPU basés sur Titan ; c’est donc idéal pour en tirer pleinement parti. Le principal avantage d’une carte graphique rapide est qu’elle vous permet de régler la qualité de retour sur Très élevée, et que la fusion en temps réel est également effectuée à cette qualité, ce qui fait gagner du temps.

Mon Macbook Pro 2012 avec GTX 650M (attention, les derniers ordinateurs Apple possèdent tous des GPU ATI incompatibles avec Skanect) a également bien fonctionné après l’installation des pilotes CUDA. Mais seulement avec une qualité de retour Moyenne. J’ai donc dû retraiter les données de numérisation (sur le CPU) pour extraire un maximum de détails des données. Nous y reviendrons plus tard.

Si vous connaissez le panneau Settings, vous remarquerez le nouveau mode HiRes Uplink.

Outre la prise en charge de CUDA 8, la principale nouveauté de Skanect 1.9 est le mode High Resolution Color Uplink. Dans les versions précédentes, l’application Structure iOS transmettait simplement à l’ordinateur les données de profondeur et de couleur à FPS élevé. Désormais, elle prendra également de temps à autre des photos haute résolution afin d’améliorer la qualité des textures. Elle ne le fera que si vous vous déplacez très lentement, afin d’éviter le flou de mouvement, mais l’application iPad vous invite à le faire si vous vous déplacez trop vite.



Le flux de travail Skanect

Skanect n’est pas seulement une application de numérisation 3D. Il propose un flux de travail complet, de la capture à l’exportation, et une suite assez complète d’outils d’édition de maillage. Les étapes du flux de travail sont organisées dans différents onglets en haut de l’interface. Parcourons-les.

Après avoir sélectionné les réglages souhaités, il est important de définir la taille de la zone de numérisation. Il existe quelques préréglages, mais vous pouvez également déplacer le curseur jusqu’à une zone de 12 x 12 x 12 mètres (si votre PC peut gérer ce volume de données, j’imagine). Il est aussi judicieux de donner un nom explicite à votre scan à ce stade.

Après avoir sélectionné le mode Uplink sur l’iPad, vous pouvez y démarrer et arrêter l’enregistrement. Le suivi est très bon lors de la numérisation d’objets ou de personnes. La numérisation de pièces est un peu plus délicate, car les murs présentent généralement très peu de données exploitables pour le suivi. Nous y reviendrons plus tard.

Après la numérisation, le logiciel a besoin d’une minute pour organiser toutes les données. Il est à noter qu’après avoir indiqué qu’il a terminé, il peut lui falloir encore une minute pour que le maillage apparaisse. Selon le journal des modifications, cela est dû à la nouvelle méthode de fusion basée sur CUDA, mais il aurait été appréciable que l’interface indique qu’il travaille encore.

Que vous disposiez ou non d’un GPU rapide capable d’exécuter l’enregistrement en mode Très élevé, vous pouvez retraiter les données brutes de numérisation dans l’onglet Reconstruct. Cela peut également être fait sur le CPU.

Quel que soit l’objet numérisé, je conseille soit de numériser avec le réglage Très élevé, soit de retraiter les données de cette manière pour tirer le meilleur parti des données de numérisation. Dans certains cas, cela peut ajouter du bruit indésirable dans la géométrie, mais vous pourrez le lisser à l’étape suivante. Il est à noter que, si la reconstruction a bien fonctionné avec mes scans d’objets et de personnes, elle a produit un résultat désastreux avec la plupart des scans de pièces que j’ai essayés.

L’onglet Processing comporte toutes sortes de fonctions d’édition, dont beaucoup offrent bien davantage de contrôle que les logiciels concurrents. Je ne détaillerai pas chaque fonction, mais voici quelques-unes des plus importantes.

Le menu de gauche est divisé en différentes catégories. La première, Mesh, est très pratique, car elle vous permet de réinitialiser le maillage à son état après numérisation si vous n’aimez pas les modifications effectuées. La fonction Watertight est en quelque sorte la fonction en un clic de Skanect pour le lissage, le comblement des trous et la colorisation ; elle produit de bons résultats dans la plupart des cas. External Edit est utile si vous souhaitez utiliser un programme d’édition externe (prenant en charge le format .PLY).

La section Geometry vous permet de Simpify (décimer) le modèle et d’effectuer des opérations de comblement des trous. Cette dernière est assez complète, car elle prend également en charge des méthodes non étanches. Move & Crop (illustré ci-dessous) permet non seulement de contrôler finement la rotation et le rognage au niveau du sol, mais aussi de graver la surface du sol avec un texte. Cela peut être utile pour apposer une marque ou un droit d’auteur sur les modèles.

Remove Parts vous permet de supprimer rapidement la géométrie orpheline selon un ratio en pourcentage par rapport au modèle principal. Cela fonctionne étonnamment vite !

Une fonction d’évidement manque notablement dans la boîte à outils d’édition de maillage de Skanect. Évider des modèles avec une paroi fine et des trous d’évacuation est une pratique courante chez de nombreux professionnels pour réduire les coûts d’impression 3D avec la technologie SLS employée pour les impressions en grès couleur.

Color vous permet, sans surprise, d’appliquer de la couleur au modèle. Si vous avez choisi le réglage de couleur Haute résolution, Skanect utilisera autant que possible les photos séparées et complétera le reste avec la couleur de plus faible résolution si nécessaire.

Skanect utilise la couleur par sommet pour appliquer la couleur au maillage. Cela signifie que la qualité de la texture dépendra du nombre de polygones du maillage. Comme vous pouvez le voir ci-dessous, régler une résolution plus élevée pour la fonction de colorisation accroît fortement la qualité, mais multiplie également par dix le nombre de polygones (ou de faces). Le nombre de polygones semble plafonné à 2 millions, mais c’est beaucoup trop pour la plupart des usages 3D (temps réel).

La fonction Prioritize First Frame est intéressante, car elle garantit que l’avant des objets ou le visage d’une personne est constitué d’une seule texture plutôt que de plusieurs parties fusionnées qui peuvent sembler floues.

L’onglet Share contient toutes les fonctions de sauvegarde, d’exportation et de partage. L’exportation peut s’effectuer vers .PLY .OBJ .STL et .VRML. Vous pouvez choisir la couleur par sommet native de Skanect ou laisser le logiciel générer une carte de texture UV.

Puisque Skanect peut décimer la géométrie à l’exportation, il devrait être possible de créer un maillage low-poly avec une texture de haute qualité. Malheureusement, il semble impossible de conserver la résolution de couleur par sommet de 1mm lors de la génération d’une texture UV. Selon la taille de l’objet et les réglages, Skanect exportera une texture 2K ou 4K, mais le placement des îlots est très inefficace :

Avec autant d’espace inutilisé, il n’est pas surprenant que les exportations avec texture UV aient une qualité de texture inférieure à celles colorées par sommet. J’ai inclus quelques exemples ci-dessous. Il y a clairement une marge d’amélioration pour le mapping de textures dans Skanect 2.0.

C’est très appréciable que Skanect permette l’exportation directe vers Sketchfab pour le partage en ligne et vers Shapeways pour l’impression 3D. Presque tous les exemples ci-dessous sont téléversés directement depuis le logiciel, ce qui m’a fait gagner beaucoup de temps. Skanect utilise la couleur par sommet et ne décime pas le modèle avant son téléversement sur Sketchfab. Cela donne le meilleur résultat possible, mais comme la plupart des modèles comptent le maximum de 2 millions de polygones, ils ne sont pas très adaptés au web ni au mobile — et certainement pas à la VR. Il serait appréciable d’avoir davantage de contrôle sur ce point.



Résultats de numérisation 3D

Commençons par le buste des captures d’écran. Voici le résultat fusionné avec le réglage Très élevé, capturé avec le mode High-Resolution Color Uplink et colorisé à une résolution de 1mm :

http://sketchfab.com/models/14828370801c43c08120de15150ae61d

À titre de comparaison, voici le même objet sans High-Resolution Color. C’est donc l’aspect qu’il aurait eu dans les versions précédentes de Skanect.

https://sketchfab.com/models/9c4f1a3054c04f6ba93f915c61f63782

Si vous zoomez sur le visage du buste, il est clair que la nouvelle méthode de texturage apporte une amélioration notable de la qualité. Et comme je sais que beaucoup d’entre vous souhaitent faire la comparaison, voici le résultat d’itSeez3D (capturé plus tôt, mais avec le même kit d’éclairage) :

https://sketchfab.com/models/54c9254726bc4015880ff472a51d99b6

Il est clair qu’itSeez3D offre une meilleure qualité de texture, mais avec la version 1.9 Skanect commence à s’en rapprocher considérablement. La plus grande différence est que le buste itSeez3D est un modèle relativement léger de 50k polygones avec une texture haute résolution, tandis que le modèle Skanect compte 750k polygones. Il a peut-être capturé un peu plus de détails géométriques, mais la plupart des polygones contiennent du bruit géométrique.

Le buste ci-dessus fait 40cm de haut, ce qui peut être considéré comme la limite basse de la plage de taille de numérisation du Structure Sensor. Voyons donc à quoi ressemble un buste humain avec Skanect 1.9 :

D’abord, laissez-moi vous montrer l’incidence des réglages Feedback / Fidelity sur le résultat final. J’ai utilisé les mêmes données de numérisation de mon associé Patrick. Le premier embed ci-dessous est traité avec une fidélité Moyenne et le second avec une fidélité Très élevée :

https://sketchfab.com/models/5c69457cee494b499b144d67f921a016

https://sketchfab.com/models/bd4845bee7fe4553b980b5c1716eaba0

Une différence considérable, surtout pour son visage. Cela vaut donc vraiment la peine soit d’effectuer une reconstruction hors ligne, soit d’acquérir une carte graphique plus rapide avec davantage de mémoire (Très élevé exige au moins 2GB de VRAM).

Si vous affichez le dernier embed ci-dessus en mode de rendu MatCap, vous constatez à nouveau qu’il y a pas mal de bruit géométrique dû à la fusion Très haute fidélité, mais les détails géométriques sont suffisants pour l’impression 3D à petite échelle. Avec la texture appliquée, je suis assez surpris et satisfait du résultat — cela n’aurait pas été possible avec les versions antérieures de Skanect.

Pour illustrer le passage de la section Exportation ci-dessous sur la qualité réduite lors de l’exportation du modèle natif coloré par sommet vers un OBJ décimé avec vertex-map, voici ce résultat :

https://sketchfab.com/models/d81fd608c8b444d8b16bd0aee412eea2

Il est difficile de le quantifier totalement, mais le nombre de polygones a été réduit de 2M à environ 1M. Cependant, la qualité des couleurs s’est également dégradée (regardez les détails dans la barbe de Patrick). Ce n’est pas extrême, mais c’est notable pour une mise à jour axée sur les textures, à mon avis.

Comparaison avec les autres applications

À titre de comparaison, voici Patrick numérisé (à des moments différents, mais dans des conditions comparables) avec l’Occipital Scanner Sample App (en haut) et itSeez3D (en bas) :

https://sketchfab.com/models/c2e1f831181b4f34a13745dbc5e1f14b

https://sketchfab.com/models/7bed4aa04f2d4c099fadf2e11b289eca

Comme vous pouvez le constater, le résultat de Skanect est bien meilleur que celui de l’application Scanner. Mais itSeez3D reste supérieur à Skanect pour les textures. Bien que l’écart soit devenu beaucoup plus faible avec Skanect 1.9.

Mais pourquoi Skanect reste-t-il un peu en retrait ?

Je ne connais pas tous les détails techniques (et n’hésitez pas à me corriger), mais je sais que lors d’une numérisation avec itSeez3D, les photos de texture sont prises en pleine résolution et peuvent également être utilisées pour le texturage à cette résolution si vous cochez ce réglage dans l’application.

Skanect 1.9 capture désormais aussi des photos pendant la numérisation, mais seulement en résolution 1.2 mégapixel, alors que la caméra RGB de mon iPad mini 2 a une résolution de 5 mégapixels. Beaucoup de petits détails sont donc perdus à ce stade. Je suppose que cela tient au fait que toutes les données doivent être transmises sans fil à l’ordinateur en temps réel. Avec la résolution actuelle, la capture est déjà interrompue pendant un très court instant lors de la prise d’une photo ; il s’agit donc peut-être d’un compromis entre qualité et expérience utilisateur.

[well type=””]

Skanect vs. itSeez3D (pour l’impression 3D couleur)

Je sais que de nombreux lecteurs de cet article se demandent si la mise à jour Skanect 1.9 aligne la qualité (des textures) sur celle d’itSeez3D. En particulier pour numériser en 3D des personnes afin d’imprimer en 3D des mini-figurines. Apparemment, beaucoup de personnes envisagent de démarrer une activité dans cette direction.

Pour que cet article reste centré sur Skanect, j’ai réalisé un article séparé sur le sujet Skanect vs. itSeez3D.

[tw-button size=”large” background=”” color=”” target=”_self” link=”https://www.3dmag.com/reviews/3d-scanning-skanect-vs-itseez3d-full-color-3d-printing/”]Lire ma comparaison Skanect vs. itSeez3D[/tw-button]

[/well]

Numérisation de pièces

Une autre question que l’on me pose souvent est : puis-je utiliser le Structure Sensor pour numériser des intérieurs ?

Comme pour presque toutes les questions liées à la numérisation 3D, la réponse dépend de l’objectif. En bref : si vous souhaitez utiliser un capteur pour relever efficacement de nombreuses mesures dans un espace intérieur, cela peut être un outil très utile. Occipital possède même une application dédiée à cet usage, appelée Canvas.

Si vous visez des présentations plus esthétiques, comme la mise en valeur de biens immobiliers, la numérisation 3D basée sur un capteur de profondeur n’en est pas encore là. Les résultats ne sont tout simplement pas assez agréables à l’œil pour un usage commercial, et la plupart des intérieurs combinent de manière complexe des formes et surfaces difficiles à numériser pour obtenir un résultat complet. La numérisation 3D a encore beaucoup de chemin à parcourir avant de rivaliser avec la photographie à 360-degrés dans ce domaine. La manière dont Matterport combine ces deux technologies est la seule approche réunissant le meilleur des deux mondes dont je sache qu’elle existe actuellement.

Pour mettre en perspective la numérisation 3D de pièces avec le Structure Sensor (sans mauvais jeu de mots), voici un scan que j’ai réalisé avec l’application Room Capture iOS légère, facile à utiliser (et gratuite) pour Structure Sensor.

https://sketchfab.com/models/31dbaa47f711477da19e6aa3a9513c4d

Et voici le résultat que j’ai réalisé avec Skanect en Très haute fidélité :

https://sketchfab.com/models/72366295b9f84c748e60a19fb59b03e6

La porte à l’arrière et d’autres éléments peuvent paraître bien meilleurs grâce aux meilleures textures, et il peut y avoir un peu plus de détails géométriques ici et là, mais globalement, on dirait toujours qu’une bombe a explosé dans le studio. Je ne vois pas d’usage (professionnel) à cela au-delà des mesures.

Qualité mise à part, numériser une pièce avec Skanect a demandé beaucoup plus de travail, car l’application plantait constamment lors du traitement après numérisation (« synchronizing frames ») avec perte de toutes les données. Cela s’est également produit avec une qualité de retour Moyenne, mais uniquement avec de « gros » scans comme cette pièce, et non avec les objets ou les personnes.

Windows trouve-t-il un jour une solution ?


Verdict

Skanect 1.9 constitue une amélioration à bien des égards, notamment pour la qualité des textures et la prise en charge des dernières cartes graphiques Nvidia. Mais la première reste inférieure à la qualité des textures d’itSeez3D, et la seconde exige un investissement matériel supplémentaire pour tirer pleinement parti du flux de travail.

Bien que Skanect puisse désormais aussi capturer des photos pendant la numérisation, elles ne sont toujours pas en pleine résolution. La qualité des couleurs de la version 1.9 est davantage adaptée à l’impression 3D couleur à petite échelle que les versions précédentes, mais pour les usages à l’écran, elle n’est toujours pas au niveau de la concurrence. Et, avec sa technique native de coloration par sommet et ses algorithmes inefficaces de mapping de textures UV, il est impossible d’exporter un modèle low-poly avec des textures haute résolution.

Skanect offre davantage de polyvalence que les applications reposant uniquement sur l’iPad. Il permet de régler une zone de numérisation jusqu’à 12 x 12 mètres et de numériser autant que votre PC peut en gérer. Malheureusement, Skanect a souvent planté (lors du traitement après numérisation avec perte de toutes les données) en tentant de numériser notre petit studio sur mon PC tout neuf avec 32GB de RAM et une Nvidia GTX 1070 avec 8GB de VRAM et tous les derniers pilotes. Heureusement, il a été stable à 100% lors de la numérisation d’objets et de personnes.

Pour $129, Skanect est très abordable. Pour ce prix, vous obtenez une application proposant un flux de travail de numérisation 3D complet, de la capture à l’exportation. Les fonctions d’édition sont complètes et fonctionnent bien et rapidement — même sur de grands maillages. Mais, puisque le nombre de polygones est plafonné à 2 millions, il est impossible de pousser le logiciel jusqu’aux limites de mon matériel.

Si vous possédez un Structure Sensor ou un iSense et envisagez d’acheter Skanect, vous pouvez toujours essayer d’abord la version gratuite et voir comment elle fonctionne sur votre système. Elle est entièrement fonctionnelle en interne, seulement plafonnée à 5000 polygones pour l’exportation.

J’attends avec impatience la version 2.0, même si je ne sais pas si ce sera une mise à jour gratuite pour les utilisateurs de la version 1.x.


(Cet article a été modifié après publication afin de déplacer la comparaison avec itSeez3D dans un article séparé, pour développer cette partie et garder le test centré sur Skanect 1.9.)

Laisser un commentaire

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

→ Sommaire