Photo d'aliment vers modèle 3D : ce que l'on peut réellement attendre
Convertir la photo d'un plat en modèle 3D se situe à la croisée de deux familles d'approches. D'un côté, la reconstruction multi-vues, qui s'appuie sur plusieurs prises de vue d'un même sujet pour retrouver sa géométrie. De l'autre, la génération IA à partir d'une image unique, qui estime une forme plausible mais invente nécessairement les faces non visibles.
Pour une visualisation de menu, un aperçu en réalité augmentée ou une impression 3D, le choix de la méthode change tout. La reconstruction multi-vues donne une géométrie mesurée, au prix d'une prise de vue contraignante. L'image unique est rapide, mais son exactitude n'est pas garantie par les sources disponibles.
La chaîne open source : COLMAP, Nerfstudio, SAM
COLMAP est un pipeline gratuit et open source de Structure-from-Motion et de Multi-View Stereo, avec interface graphique et ligne de commande. Il reconstruit les poses de caméra, une structure éparse, puis des nuages de points et des maillages denses à partir de collections d'images ordonnées ou non.
Nerfstudio fournit une API de bout en bout pour créer, entraîner et tester des NeRF. Il prend en charge plusieurs méthodes, dont NeRF, Nerfacto, Instant-NGP et Splatfacto (3D Gaussian Splatting), et documente l'export de géométrie. C'est la brique qui transforme un ensemble de photos en représentation 3D exploitable.
Le Segment Anything Model (SAM) de Meta est un modèle de segmentation d'image promptable, publié sous licence Apache-2.0 avec code, checkpoints et notebooks d'exemple. Il sert à isoler le plat de son fond avant reconstruction, ce qui limite les artefacts dus à la table ou au décor.
- COLMAP : poses de caméra, structure éparse, nuages denses et maillages.
- Nerfstudio : entraînement NeRF et Gaussian Splatting, export de géométrie.
- SAM : segmentation du sujet pour détourer le plat proprement.
Pourquoi la nourriture est plus difficile qu'un objet rigide
Les sauces brillantes, les liquides translucides et la vapeur perturbent la mise en correspondance entre les vues et provoquent des artefacts de reconstruction. Un objet rigide et mat se reconstruit bien mieux qu'une assiette dont les reflets changent à chaque angle.
Les éléments fins ou transparents — herbes, verrerie, bouillon — demandent souvent un nettoyage manuel dans Blender ou Open3D. Blender est un logiciel 3D gratuit et open source dont le manuel documente la modélisation, les nœuds de shader et de texture, ainsi que les workflows d'export. Open3D, de son côté, est une bibliothèque open source de traitement de données 3D avec interfaces C++ et Python, couvrant structures de données, reconstruction de scène, alignement de surfaces, traitement de maillage et visualisation.
Exporter vers le web et l'AR : glTF et GLB
glTF est un format de diffusion d'actifs 3D libre de redevances, et glTF 2.0 a été publié comme norme internationale ISO/IEC 12113:2022. Un modèle peut être stocké dans un seul fichier binaire .glb, ce qui simplifie la livraison sur le web et dans les applications de réalité augmentée.
Attention toutefois : glTF/GLB est optimisé pour l'affichage temps réel, pas pour produire un maillage étanche prêt à l'impression 3D. Si l'objectif est d'imprimer le plat, il faudra prévoir une étape de réparation de maillage, dont la pertinence pour les sorties typiques de photogrammétrie ou de NeRF n'est pas établie par les sources consultées.
Une méthode réaliste, étape par étape
La première étape consiste à décider si l'on dispose d'une seule photo ou de plusieurs. Avec plusieurs vues qui se recouvrent, on passe par COLMAP ou Nerfstudio pour obtenir une géométrie fondée sur des mesures. Avec une image unique, on obtient une estimation plausible, dont la qualité n'est pas benchmarkée par les sources disponibles.
Ensuite, on isole le plat avec SAM, on nettoie le maillage dans Blender ou Open3D, puis on exporte en glTF/GLB pour la visualisation. Pour un menu en réalité augmentée, ce format est le plus adapté ; pour l'impression, il faut prévoir une vérification d'étanchéité.
Enfin, il faut être conscient des contraintes opérationnelles : les workflows de photogrammétrie et de NeRF exigent de nombreuses images qui se recouvrent, ce que le personnel de restaurant ne capturera généralement pas. La qualité d'un modèle 3D de plat ne doit pas non plus être confondue avec une garantie sur la taille des portions ou les valeurs nutritionnelles.
- Plusieurs vues : COLMAP ou Nerfstudio pour une géométrie mesurée.
- Image unique : génération IA, arrière du plat inventé.
- Détourage : SAM pour isoler le sujet.
- Nettoyage : Blender ou Open3D pour les éléments fins et transparents.
- Diffusion : glTF/GLB pour le web et l'AR.
Questions fréquentes
Puis-je obtenir un modèle 3D précis à partir d'une seule photo de plat ?+
Non, pas de manière totalement fiable. Une image unique ne permet pas de retrouver une géométrie exacte pour un plat quelconque : les méthodes IA estiment une forme plausible et inventent les faces non visibles. Une reconstruction fiable demande généralement plusieurs vues.
Quels outils open source utiliser pour reconstruire un plat en 3D ?+
COLMAP pour la Structure-from-Motion et le Multi-View Stereo, Nerfstudio pour l'entraînement NeRF et Gaussian Splatting avec export de géométrie, SAM pour la segmentation du sujet, puis Blender ou Open3D pour le nettoyage et l'export.
Pourquoi les sauces et les liquides posent-ils problème ?+
Les surfaces brillantes, les liquides translucides et la vapeur cassent la correspondance entre les images multi-vues et génèrent des artefacts. Les éléments fins ou transparents nécessitent souvent une reprise manuelle dans Blender ou Open3D.
Le fichier glTF/GLB convient-il à l'impression 3D ?+
Pas directement. glTF/GLB est optimisé pour l'affichage temps réel et l'AR, pas pour produire un maillage étanche. Une étape de réparation de maillage est nécessaire avant impression, et la pertinence de ces réparations sur les sorties de photogrammétrie ou de NeRF n'est pas établie par les sources consultées.