Point·E : que vaut le dernier-né d’OpenAI ?

Point·E OpenAI

Point·E rejoint la boîte à outils d’OpenAI. Comment se présente cette IA générative qui transforme du texte en objets 3D ?

Générer des images à partir de descriptions en langage naturel ? Dans la boîte à outils d’OpenAI, Dall·E remplit cette fonction. Mais qu’en est-il de la création d’objets 3D ? Il faudra, semble-t-il, compter sur Point·E.

OpenAI ne propose pas encore, pour Point·E, d’API ou d’interface « à la ChatGPT ». Mais il a publié le code, les différents modèles qui composent cette IA générative et quelques notebooks pour la mettre en œuvre.

Pourquoi avoir choisi ce nom ? Il s’agit d’un raccourci pour « point clouds efficiently ». Cela reflète le fonctionnement de Point·E : il est censé générer « efficacement » des nuages de points 3D.
L’idée n’est donc pas de délivrer de la haute qualité, mais un compromis nécessitant significativement moins de ressources que des solutions comme DreamFusion. L’ordre de grandeur est en minutes, voire secondes-GPU, et non en heures.

objets 3D

Plutôt que d’entraîner un modèle génératif directement sur des paires texte/objet ou d’exploiter un modèle de conversion texte-image affiné sur de la 3D, OpenAI a combiné les deux approches. Dans un processus en trois étapes :

– Transformation du texte en une image synthétique
Base : un modèle GLIDE à plusieurs milliards de paramètres entraîné pendant plusieurs cycles sur des millions d’objets 3D. Essentiellement tirés de son jeu de données d’origine (95 %), le reste des rendus ayant été élaborés spécifiquement pour le projet.

– À partir de cette image, production d’un nuage de 1024 points
Base : un transformeur de type diffusion, insensible aux permutations (l’interversion de pixels n’affecte pas les performances) et sans éléments d’architecture spécifiques à la 3D – ce qui la simplifie. Il reprend un framework issu de travaux antérieurs et y ajoute notamment le RGB.

– Suréchantillonnage à 4096 points
Base : un modèle similaire au précédent ; plus petit néanmoins, et qui ajoute en fait 3072 points aux existants.

Le compromis Point·E

Pour benchmarker Point·E, ses créateurs ont choisi, en particulier, de s’appuyer sur un autre modèle made in OpenAI, dédié à cette tâche : CLIP. Et sur une métrique dérivée, sous la forme d’un taux de précision R.

Principal constat : la précision augmente avec le nombre de paramètres et de cycles d’entraînement. Point·E présente donc une certaine capacité de mise à l’échelle. À condition de ne sauter aucune étape du processus. En particulier la première (texte -> image), comme en témoigne, ci-dessous, la courbe marron.

précision CLIP

paramètres

Il arrive que Point·E estime mal les proportions d’un objet. Les parties cachées peuvent aussi lui poser des problèmes.

erreur chien

erreur cône

Par rapport aux références comme DreamFields et DreamFusion, l’écart de performance est notable. Mais sur un GPU NVIDIA V100, la conception des nuages de points ne prend pas plus d’une minute et demie.

tableau

DALL·E et Point·E, les meilleurs amis ?

Utiliser DALL·E pour la première étape ne produit pas toujours de bons résultats. Parmi les facteurs explicatifs, sa tendance à ajouter des ombres, alors que le jeu de données « spécial Point·E » se veut précisément neutre sur ce point – et plus globalement sur l’éclairage, normalisé.

DALL-E Point·E

Point·E n’est pas totalement « dans les choux » si on le fait passer directement du texte à la 3D. Il a toutefois du mal si on lui demande d’associer plusieurs concepts.

texte Point·E texte ouille Point·E

Illustration principale © Jakub Jirsk – Fotolia