OpenAI ha reso open-source il codice di Point-E, un sistema di generazione di immagini 3D a partire da semplici frasi.
L’evoluzione delle funzionalità dell’intelligenza artificiale di OpenAI procede a passo spedito. Di recente, ha spopolato online il chatbot ChatGPT, in grado di elaborare contenuti testuali con una precisione sorprendente.
La scorsa settimana, invece, la società ha reso open-source Point-E, un suo sistema di machine learning capace di creare oggetti 3D a partire da un semplice input testuale.
I temi trattati all’interno dell’articolo
Point-E e la generazione di 3D point clouds
La scorsa settimana, OpenAI ha reso pubblicamente accessibile il suo Point-E, un modello text-to-3D basato sul machine learning e in grado di generare nuvole di punti 3D a partire da un semplice input testuale (qui è possibile testare una demo del programma).
Una nuvola di punti – 3D point cloud – è un insieme di punti disposti nello spazio in maniera tridimensionale, definiti nella loro posizione secondo gli assi X, Y e Z. Questi punti, insieme, possono costituire una forma o un oggetto.
Point-E di OpenAI, dunque, genera una nuvola di punti a partire da una descrizione testuale. Da sola, però, una point cloud non permette la realizzazione precisa di un oggetto 3D, per cui si rende necessario un ulteriore step.
Dalle nuvole alle mesh
Le nuvole di punti, di per sé, risultano molto più facili e veloci da sintetizzare da un punto di vista computazionale rispetto ai metodi precedenti. Per questo motivo, il modello si chiama Point-E (E = efficienza).
Una nuvola, però, non è in grado di rappresentare accuratamente i dettagli di un oggetto, per cui il team di Point-E ha addestrato un ulteriore modello di AI alla conversione delle 3D point clouds in mesh (raccolte di vertici, bordi e facce che definiscono un oggetto, comunemente utilizzate per la progettazione 3D).
Come funziona Point-E?
Focalizzandoci esclusivamente sul ‘generatore’ di nuvole di punti tridimensionali, e non considerando il secondo modello di conversione da point cloud a mesh, il sistema è costituito da due modelli.
- Il primo è un modello text-to-image – simile a quelli già noti, come DALL-E 2 e Stable Diffusion di OpenAI (su cui è basato anche il widget Text to Pokémon) – che è stato addestrato su una serie di immagini etichettate per comprendere le associazioni tra parole e concetti visivi.
- Il secondo, invece, è un modello image-to-3D, addestrato su una serie di immagini abbinate a oggetti tridimensionali e capace di trasformare le immagini generate dal primo modello in nuvole di punti 3D.
Successivamente, come anticipato, le nuvole vengono convertite in mesh – formato che consente la modellazione e la stampa in 3D – da un modello separato sviluppato dal team di OpenAI (tutti i codici resi open-source sono disponibili qui). Con quest’ultimo modello, si è cercato di superare le mancanze di Point-E, ma capita che, nel processo di trasformazione, vengano ‘persi’ alcuni elementi dell’oggetto convertito.
Applicazioni e potenziali problematiche
Le potenziali applicazioni di un simile sistema includono la possibilità di fabbricazione di oggetti fisici attraverso la stampa in 3D. Inoltre, questo potrebbe rappresentare uno strumento interessante nello sviluppo di videogiochi e animazioni.
Una questione spinosa potrebbe però essere quella relativa alla proprietà intellettuale. Il training dataset utilizzato per l’addestramento di Point-E, infatti, comprende necessariamente i modelli 3D già esistenti e sviluppati da creator umani. Se l’AI generativa prende in prestito dai propri dati di addestramento nella produzione dei suoi output, a chi spetta, dunque, la proprietà intellettuale di questi?
Il team di OpenAI non menziona eventuali controversie di questo genere, ma ammette la possibilità che Point-E presenti altre problematiche. Tra queste, eventuali bias trasmessi all’AI in fase di training e una mancanza di salvaguardie con riferimento a modelli che potrebbero creare “oggetti pericolosi”.
Per un approfondimento, è possibile leggere il documento “Point-E: A System for Generating 3D Point Clouds from Complex Prompts”, pubblicato insieme al codice dal team di OpenAI.
(L’immagine in evidenza è stata prodotta da Point-E a partire dall’input “a red motorcycle”).