Stampa 3D: dal mondo digitale al mondo reale con l’aiuto dell’AI

L’articolo “Ricostruzione in 3D di immagini 2D mediante l’intelligenza artificiale” ha mostrato come le reti neurali possono essere addestrate per creare un’immagine 3D di una persona a partire da un’immagine bidimensionale. In realtà, questo approccio può essere applicato a qualsiasi categoria di immagini. Ciò che serve è un addestramento specifico della rete, in modo che essa sappia “inventare” particolari non presenti nell’immagine di input, come avviene per la deduzione della visione di spalle della persona a partire dall’immagine frontale.
In questo articolo ci soffermiamo sul risultato tangibile che può derivare dalla creazione di modelli digitali con l’aiuto dell’intelligenza artificiale.

Le tecniche di ricostruzione 3D, come quelle basate sulle reti neurali, hanno una stretta relazione con la prototipazione rapida e la stampa 3D.
Una delle sfide nella prototipazione rapida e nella stampa 3D è la capacità di replicare o creare modelli di oggetti reali. Le tecniche di ricostruzione 3D permettono di convertire immagini 2D (come fotografie) in modelli 3D digitali che possono poi essere utilizzati come base per la stampa 3D.
Immagina di voler creare un accessorio personalizzato basato sulla forma del corpo di una persona, come un’armatura o un accessorio di moda. Utilizzando tecniche di ricostruzione 3D, è possibile ottenere un modello digitale preciso del corpo della persona, che può poi essere utilizzato per progettare e stampare l’accessorio su misura.
Nel campo dell’archeologia o della conservazione, potrebbe essere utile replicare artefatti preziosi o fragili. Utilizzando la ricostruzione 3D, gli artefatti possono essere digitalizzati e poi replicati con precisione attraverso la stampa 3D, senza danneggiare l’originale.
Una volta ottenuto un modello 3D, è possibile apportare modifiche o miglioramenti utilizzando software di modellazione. Questo modello modificato può poi essere stampato rapidamente, permettendo un ciclo di prototipazione e iterazione molto veloce.

Prima della stampa 3D, i modelli 3D ottenuti possono essere utilizzati per visualizzazioni dettagliate, simulazioni o pianificazione in vari settori, come la medicina (ad esempio, pianificazione chirurgica) o l’architettura. Tali modelli possono essere utilizzati anche come strumenti didattici, permettendo agli studenti di esplorare e interagire con repliche tridimensionali di oggetti che potrebbero non essere facilmente accessibili altrimenti.
In sintesi, le tecniche di ricostruzione 3D forniscono un ponte tra il mondo reale e il mondo digitale, facilitando la creazione, la modifica e la replicazione di oggetti nel mondo reale attraverso la prototipazione rapida e la stampa 3D.
La sinterizzazione laser
Spesso si associa la stampa 3D alle creazioni in plastica ma in realtà esiste la stampa 3D in metallo.
La stampa diretta in metallo (DMP), detta anche sinterizzazione laser diretta in metallo (DMLS), è una tecnologia di produzione additiva che consente di costruire parti in metallo complesse di alta qualità a partire da dati CAD 3D. Nella macchina, un laser a elevata precisione viene direzionato verso le particelle di polvere di metallo per costruire in maniera selettiva strati metallici orizzontali uno dopo l’altro. Questa tecnologia d’avanguardia consente la produzione di parti metalliche con geometrie complesse, altrimenti impossibile con le tecnologie di fusione o sottrazione tradizionali. È disponibile una vasta gamma di metalli funzionali per la stampa di progetti, dai prototipi alla produzione in serie anche di 20.000 unità.
Stereolitografia: creazione di prototipi 3D

La stereolitografia (SLA) è uno dei metodi più antichi e consolidati di stampa 3D o fabbricazione additiva. È stata inventata nel 1986 da Charles Hull, che successivamente ha fondato la società 3D Systems. La tecnologia SLA utilizza un processo chiamato fotopolimerizzazione per solidificare strato dopo strato un liquido fotosensibile, creando così oggetti tridimensionali.
Ecco come funziona la stereolitografia e alcune delle sue caratteristiche:
Preparazione: Un recipiente è riempito con una resina liquida fotosensibile. Questo recipiente ha un piatto di costruzione che può muoversi su e giù.
Solidificazione: Un laser ultravioletto (UV) viene diretto sulla superficie della resina secondo un disegno specifico. Dove il laser colpisce la resina, la solidifica.
Costruzione: Dopo che uno strato è stato completato, il piatto di costruzione si abbassa di un piccolo incremento e un nuovo strato di resina viene esposto al laser. Questo processo si ripete finché l’oggetto non è completato.
Post-elaborazione: Una volta terminata la stampa, l’oggetto viene sollevato dal recipiente, l’eccesso di resina viene drenato e l’oggetto viene ulteriormente curato sotto una luce UV per assicurare che sia completamente solidificato.
Versatilità della stampa 3D
Grazie alla stampa 3D è possibile realizzare molti tipi di oggetti, il che dimostra come il contributo dell’AI alla creazione dei modelli digitali 3D, che stanno alla base della produzione, sia molto importante. Oltre a quelli già menzionati ecco altre categorie di oggetti realizzabili mediante stampa 3D:
– Prototipi di prodotto utili per testare design o funzionalità prima della produzione di massa.
– Componenti meccanici come ingranaggi, supporti, o parti di macchinari.
– Strumenti e utensili come chiavi, pinze o parti di utensili specifici.
– Gioielli e accessori: Anelli, orecchini, braccialetti e altri ornamenti.
– Modelli anatomici utili in campo medico per la formazione o la pianificazione chirurgica.
– Protesi personalizzate per il paziente.
– Abbigliamento e calzature come solette personalizzate o componenti di scarpe.
– Oggetti d’arte e sculture.
– Giochi e giocattoli.
– Componenti elettronici come custodie o supporti.
– Modelli architettonici: Replica di edifici o strutture.
– Oggetti per la casa come vasi, posate, piatti o lampade.
– Oggetti educativi come modelli di molecole, strumenti didattici, ecc.
– Parti di droni o modellismo.
– Cibo con stampanti 3D specializzate.
– Oggetti di moda come occhiali o cinture.
Da uno schizzo ad un modello 3D grazie all’AI

Trasformare uno schizzo o un disegno su carta in un modello 3D è una sfida complessa che coinvolge una combinazione di tecniche di visione artificiale, grafica computerizzata e apprendimento automatico. Ecco una panoramica semplificata del processo e di come l’algoritmo “inventa” la profondità:
Il primo passo è digitalizzare lo schizzo. Questo può essere fatto utilizzando uno scanner o una fotocamera. L’immagine acquisita serve come input per l’algoritmo. L’immagine digitalizzata potrebbe avere imperfezioni, come rumore o distorsioni. La pre-elaborazione aiuta a migliorare la qualità dell’immagine, ad esempio attraverso la correzione del colore, la rimozione dello sfondo o l’accentuazione dei contorni. L’algoritmo identifica i contorni principali nello schizzo. Questi contorni forniscono informazioni sulla forma e sulla struttura dell’oggetto disegnato. Basandosi sui contorni e, a volte, su ombre o altri indizi nello schizzo, l’algoritmo cerca di “indovinare” la profondità di varie parti dell’oggetto. Ad esempio, se c’è un’ombra sotto un oggetto, potrebbe suggerire che l’oggetto è sollevato rispetto al piano di fondo. L’algoritmo può anche utilizzare modelli pre-addestrati su dati 3D per fare ipotesi sulla profondità basandosi su schizzi simili. Una volta stimate le informazioni sulla profondità, l’algoritmo può iniziare a costruire un modello 3D. Questo modello viene creato “gonfiando” le parti dello schizzo in base alle stime di profondità. Spesso, il modello 3D iniziale potrebbe non essere perfetto. Può essere raffinato utilizzando tecniche di modellazione 3D o attraverso l’input dell’utente, che può apportare correzioni manuali.
Negli ultimi anni, le reti neurali, in particolare le reti neurali convoluzionali (CNN), sono state addestrate per trasformare schizzi 2D in modelli 3D. Queste reti vengono addestrate su grandi set di dati di schizzi e corrispondenti modelli 3D, permettendo loro di “apprendere” come trasformare uno schizzo in un modello 3D.
Ci sono diversi software e strumenti che possono trasformare schizzi 2D in modelli 3D. Alcuni di questi sono specificamente progettati per questo scopo, mentre altri sono software di modellazione 3D generali che includono funzionalità per lavorare con schizzi. Alcuni dei più noti sono
SketchUp
Autodesk
AutoCAD
Rhinoceros 3D (Rhino)
Blender
SolidWorks.
Si tratta di software che prevalentemente prevedono la ricostruzione delle immagini 3D mediante l’elaborazione grafica, ma che nello stesso tempo integrano algoritmi di intelligenza artificiale, in particolare nelle aree di denoising del rendering e, recentemente, in miglioramenti dell’animazione.
Un aspetto critico delle tecniche di generazione di immagini da schizzi è la necessità di schizzi di alta qualità come input per ottenere risultati realistici. Questo può rappresentare una limitazione per gli utenti senza esperienza nel disegno. Inoltre, i modelli generativi del linguaggio possono essere influenzati da bias o errori presenti nei dati di addestramento, il che può portare a risultati imprecisi o sfocati.
Emerge lo scopo principale degli algoritmi generativi che è quello di mettere in condizione l’inesperto di poter ottenere risultati simili a quelli che otterrebbe un esperto.
Da schizzi a immagini realistiche di volti umani
Lo studio DeepFaceDrawing: Deep Generation of Face Images from Sketches (PDF) propone un modo innovativo per creare immagini realistiche di volti a partire da schizzi di volto.

Piuttosto che provare a creare un’immagine di volto completa in un solo passaggio, questa metodologia suddivide il volto in componenti; come occhi, naso e bocca.
Cominciamo con l’idea di proiettare lo schizzo in uno “spazio” di forme facciali. Un “spazio” in questo contesto è in genere uno spazio multidimensionale, dove ogni dimensione rappresenta un attributo dell’immagine, come la luminosità, il colore, la posizione di un particolare dettaglio del volto, ecc. Il problema è che a livello globale, questo “spazio” non può fornire una sufficiente granularità per gestire i dettagli delle immagini.
Per affrontare questo problema, l’approccio di questo metodo considera ciascun componente del volto separatamente. Al fine di farlo, usa qualcosa chiamato ‘locally linear embedding‘ (LLE), un metodo usato per ridurre la dimensionalità dei dati in un modo particolarmente creativo: presuppone che i dati siano localmente lineari. In termini semplici, l’LLE mappa punti da uno spazio ad alta dimensionalità a uno a bassa dimensionalità, preservando le strutture a livello locale.
Ciò consente di imparare le feature dei componenti del volto, che può poi essere usato per guidare la sintesi delle immagini.
Ricorda che ‘Embedding’ è un termine usato in apprendimento automatico per riferirsi alla pratica di mappare uno spazio ad alta dimensionalità in uno a bassa dimensionalità. Un esempio semplice di un ’embedding’ potrebbe essere la codifica dei colori RGB in un’unica scala di grigi.
Per esempio per proiettare una singola parte del volto, come l’occhio sinistro, prendiamo il suo vettore di caratteristiche e lo confrontiamo con altri vettori delle stesse parti presenti negli schizzi. Troviamo i 10 schizzi più simili all’occhio sinistro del nostro schizzo e combiniamo queste informazioni per creare un’immagine più dettagliata dell’occhio sinistro. Ripetiamo questo processo per ogni parte del volto.
In sintesi il processo applicato in questa ricerca utilizza una rete neurale profonda composta da due sottoreti: il modulo CE (Component Embedding) per imparare le rappresentazioni dei componenti del volto, e i moduli FM (Feature Mapping) e IS (Image Synthesis) per sintetizzare l’immagine finale del volto a partire dai componenti. La rete utilizza reti autoencoder per ottenere le rappresentazioni dei componenti e combina le informazioni di tali rappresentazioni per generare l’immagine del volto.
Per capire meglio come funziona una rete autoencoder leggi l’articolo Il potere di astrazione dell’AI: l’autoencoding
L’addestramento avviene in modo auto-supervisionato utilizzando l’errore quadratico medio (MSE) tra un’immagine di schizzo in input e l’immagine ricostruita. Nella fase II, vengono fissati i parametri degli encoder dei componenti addestrati e si addestra l’intera rete con i parametri sconosciuti dei moduli FM e IS insieme in modo end-to-end. Per la GAN nell’IS, oltre alla perdita GAN, viene incorporata anche una perdita 𝐿1 per guidare ulteriormente il generatore e garantire quindi la qualità dell’immagine generata a livello di pixel.
Per capire meglio come funziona una rete GAN leggi l’articolo I modelli GAN: reti neurali che collaborano
Per comprendere i dettagli tecnici di questo metodo DeepFaceDrawing rimandiamo all’articolo originale
DeepFaceDrawing: Deep Generation of Face Images from Sketches