Angolo di Anderson

Risolvere le limitazioni dei modelli di diffusione nell’interpretazione degli specchi e delle riflessioni

mm
Aggiungi Unite.AI alle tue fonti preferite su Google
ChatGPT-4o and Adobe Firefly

Da quando l’IA generativa ha iniziato ad attirare l’interesse del pubblico, la ricerca sulla visione artificiale ha intensificato lo sviluppo di modelli capaci di comprendere e riprodurre le leggi fisiche. Insegnare ai sistemi di apprendimento automatico a simulare fenomeni come la gravità e la dinamica dei liquidi rimane tuttavia una sfida importante da almeno cinque anni.

Da quando i modelli di diffusione latente (LDM) hanno conquistato la scena dell’IA generativa nel 2022, i ricercatori si sono concentrati sempre più sulla loro capacità limitata di comprendere e riprodurre i fenomeni fisici. Il problema è diventato ancora più evidente con Sora di OpenAI e con i modelli video open source Hunyuan Video e Wan 2.1.

Riflessi poco convincenti

Gran parte della ricerca volta a migliorare la comprensione della fisica negli LDM si è occupata di simulazione dell’andatura, fisica delle particelle e altri aspetti del moto newtoniano. Questi ambiti ricevono attenzione perché errori nei comportamenti fisici fondamentali compromettono immediatamente l’autenticità di un video generato dall’IA.

Un filone più piccolo ma in crescita si concentra invece su una delle maggiori debolezze degli LDM: la relativa incapacità di produrre riflessi accurati.

Esempi di “fallimento del riflesso” e del metodo proposto nello studio del gennaio 2025 “Reflecting Reality: Enabling Diffusion Models to Produce Faithful Mirror Reflections”. Fonte: https://arxiv.org/pdf/2409.14677

From the gennaio 2025 paper 'Reflecting Reality: Enabling Diffusion Models to Produce Faithful Mirror Reflections', examples of 'reflection failure' versus the researchers' own approach. Source: https://arxiv.org/pdf/2409.14677

Esempi di fallimenti dei riflessi e del metodo proposto. Fonte: https://arxiv.org/pdf/2409.14677

Il problema era già noto nell’era della CGI e rimane rilevante nei videogiochi, dove gli algoritmi di ray tracing simulano il percorso della luce quando interagisce con le superfici. Il ray tracing calcola come i raggi virtuali rimbalzano sugli oggetti o li attraversano per creare riflessi, rifrazioni e ombre realistici.

Ogni rimbalzo aggiuntivo aumenta notevolmente il costo computazionale. Le applicazioni in tempo reale devono quindi bilanciare latenza e precisione limitando il numero di rimbalzi consentiti.

A representation of a virtually-calculated light-beam in a traditional 3D-based (i.e., CGI) scenario, using technologies and principles first developed in the 1960s, and which came to fulmination between 1982-93 (the span between Tron [1982] and Jurassic Park [1993]. Source: https://www.unrealengine.com/en-US/explainers/ray-tracing/what-is-real-time-ray-tracing

Rappresentazione di un raggio calcolato in un ambiente 3D o CGI tradizionale. Fonte: https://www.unrealengine.com/en-US/explainers/ray-tracing/what-is-real-time-ray-tracing

Rappresentare una teiera cromata davanti a uno specchio potrebbe creare un ciclo quasi infinito di raggi tra superfici riflettenti, con scarso beneficio per l’immagine finale. In genere, due o tre rimbalzi superano già ciò che lo spettatore può percepire. Con un solo rimbalzo lo specchio risulterebbe nero, perché la luce deve compiere almeno due percorsi per formare un riflesso visibile.

Ogni passaggio aggiuntivo può quasi raddoppiare il tempo di rendering. Per questo una gestione più rapida dei riflessi è una delle opportunità più importanti per migliorare la qualità del ray tracing.

I riflessi sono essenziali al fotorealismo anche in scene meno ovvie: una strada o un campo di battaglia dopo la pioggia, la via opposta in una vetrina o in una porta di vetro, oppure l’ambiente visibile negli occhiali di un personaggio.

Un doppio riflesso simulato con compositing tradizionale in una celebre scena di The Matrix (1999).

A simulated twin-reflection achieved via traditional compositing for an iconic scene in 'The Matrix' (1999).

Doppio riflesso creato con compositing tradizionale in The Matrix (1999).

Problemi d’immagine

I framework popolari prima della diffusione, come Neural Radiance Fields (NeRF), e soluzioni più recenti come Gaussian Splatting hanno incontrato difficoltà analoghe nel produrre riflessi naturali.

REF²-NeRF ha proposto un metodo basato su NeRF per scene con una teca di vetro. Rifrazione e riflessione venivano modellate con componenti dipendenti e indipendenti dal punto di vista, permettendo di stimare le superfici rifrangenti e separare la luce diretta da quella riflessa.

Examples from the Ref2Nerf paper. Source: https://arxiv.org/pdf/2311.17116

Esempi dallo studio Ref²-NeRF. Fonte: https://arxiv.org/pdf/2311.17116

Altre soluzioni NeRF degli ultimi anni includono NeRFReN, Reflecting Reality e Planar Reflection-Aware Neural Radiance Fields di Meta. Per Gaussian Splatting sono stati proposti Mirror-3DGS, Reflective Gaussian Splatting e RefGaussian, mentre il progetto Nero del 2023 ha introdotto un metodo specifico per integrare proprietà riflettenti nelle rappresentazioni neurali.

MirrorVerse

Indurre un modello di diffusione a rispettare la logica delle riflessioni è probabilmente più difficile rispetto a metodi esplicitamente strutturali come Gaussian Splatting e NeRF. Una regola del genere si apprende in modo affidabile solo se i dati di addestramento contengono molti esempi diversi in numerosi scenari, rendendo il risultato dipendente dalla distribuzione e dalla qualità del dataset.

Comportamenti specifici vengono tradizionalmente aggiunti con una LoRA o con il fine-tuning del modello di base. Nessuna delle due soluzioni è ideale: una LoRA tende a spostare l’output verso i propri dati anche senza un prompt esplicito, mentre il costoso fine-tuning può separare irreversibilmente il modello dal ramo principale e generare strumenti non compatibili con l’originale o con altre varianti.

Migliorare i modelli di diffusione richiederebbe una maggiore attenzione alla fisica delle riflessioni nei dati di addestramento. Molte altre debolezze necessitano però dello stesso trattamento. Nei dataset su scala enorme, la selezione personalizzata è costosa e difficile, quindi correggere ogni limite in questo modo non è pratico.

Le soluzioni continuano comunque a comparire. Il progetto indiano MirrorVerse propone un dataset e un metodo di addestramento migliorati per avanzare lo stato dell’arte nella generazione di riflessi.

MirrorVerse migliora le proposte precedenti ma resta imperfetto. In un esempio, i vasi di ceramica sono spostati rispetto alla posizione corretta; in un altro, dove la tazza non dovrebbe riflettersi, compare un riflesso errato sul lato destro in contrasto con gli angoli naturali.

Right-most, the results from MirrorVerse pitted against two prior approaches (central two columns). Source: https://arxiv.org/pdf/2504.15397

Risultati MirrorVerse a destra rispetto a due metodi precedenti. Fonte: https://arxiv.org/pdf/2504.15397

Il metodo è interessante non solo come possibile stato dell’arte, ma anche perché mostra quanto il problema possa essere intrattabile per i modelli di diffusione di immagini e video. Gli esempi necessari tendono a intrecciarsi con azioni e scenari particolari. Gli LDM potrebbero quindi continuare a essere inferiori a NeRF, Gaussian Splatting e CGI tradizionale per questa funzione.

Il nuovo studio si intitola MirrorVerse: Pushing Diffusion Models to Realistically Reflect the World ed è opera di tre ricercatori del Vision and AI Lab, IISc Bangalore e Samsung R&D Institute Bangalore. Dispone di una pagina di progetto, un dataset su Hugging Face e codice sorgente su GitHub.

Metodo

Gli autori mostrano innanzitutto quanto sia difficile per Stable Diffusion e Flux rispettare prompt basati sulle riflessioni. SD3.5 e Flux producono spesso riflessi incoerenti e geometricamente inesatti.

From the paper: Current state-of-the-art text-to-image models, SD3.5 and Flux, exhibited significant challenges in producing consistent and geometrically accurate reflections when prompted to generate reflections in the scene.

SD3.5 e Flux faticano a produrre riflessi coerenti e geometricamente accurati.

Hanno sviluppato MirrorFusion 2.0, un modello generativo basato sulla diffusione che punta a migliorare fotorealismo e precisione geometrica dei riflessi nelle immagini sintetiche. Il modello è stato addestrato sul nuovo dataset MirrorGen2, curato per affrontare i limiti di generalizzazione delle soluzioni precedenti.

MirrorGen2 amplia le metodologie precedenti con posizionamento casuale degli oggetti, rotazioni casuali e ancoraggio esplicito al suolo. L’obiettivo è mantenere riflessi plausibili per una gamma più ampia di pose e posizioni rispetto alla superficie dello specchio.

Schema for the generation of synthetic data in MirrorVerse: the dataset generation pipeline applied key augmentations by randomly positioning, rotating, and grounding objects within the scene using the 3D-Positioner. Objects are also paired in semantically consistent combinations to simulate complex spatial relationships and occlusions, allowing the dataset to capture more realistic interactions in multi-object scenes.

La pipeline sintetica di MirrorVerse posiziona, ruota e ancora casualmente gli oggetti, creando coppie semanticamente coerenti.

Per rappresentare rapporti spaziali complessi, il processo include scene con coppie di oggetti semanticamente coerenti. Per esempio, una sedia viene abbinata a un tavolo. Dopo aver posizionato e ruotato l’oggetto principale, quello secondario viene disposto senza sovrapposizioni e in una regione distinta.

L’ancoraggio al terreno impedisce agli oggetti generati di apparire sospesi, un errore frequente quando i dati sintetici vengono prodotti su larga scala o con procedure molto automatizzate.

Dati e test

SynMirrorV2

SynMirrorV2 è stato concepito per migliorare varietà e realismo dei dati di addestramento per i riflessi. Gli oggetti 3D provengono da Objaverse e Amazon Berkeley Objects (ABO) e sono stati ulteriormente selezionati con OBJECT 3DIT e con il processo di filtraggio del precedente MirrorFusion V1. Il risultato è un insieme raffinato di 66.062 oggetti.

Examples from the Objaverse dataset, used in the creation of the curated dataset for the new system. Source: https://arxiv.org/pdf/2212.08051

Esempi da Objaverse, usato per il dataset curato del nuovo sistema. Fonte: https://arxiv.org/pdf/2212.08051

Le scene collocano gli oggetti su pavimenti con texture di CC-Textures e sfondi HDRI di PolyHaven, con specchi a parete intera o alti specchi rettangolari. L’illuminazione è standardizzata con una luce d’area sopra e dietro gli oggetti, inclinata di 45 gradi.

Gli oggetti sono scalati in un cubo unitario e posizionati nell’intersezione precalcolata dei campi visivi di specchio e fotocamera per garantirne la visibilità. Si applicano rotazioni casuali sull’asse y e una tecnica di ancoraggio che evita artefatti sospesi.

Per scene più complesse, il dataset dispone più oggetti in coppie semanticamente coerenti basate sulle categorie ABO. Gli oggetti secondari vengono collocati senza sovrapposizione, producendo 3.140 scene multi-oggetto con occlusioni e relazioni di profondità diverse.

Examples of rendered views from the authors' dataset containing multiple (more than two) objects, with illustrations of object segmentation and depth map visualizations seen below.

Scene renderizzate con più oggetti e relative mappe di segmentazione e profondità.

Processo di addestramento

Poiché il realismo sintetico non era sufficiente per generalizzare ai dati reali, i ricercatori hanno sviluppato un percorso di apprendimento in tre fasi per MirrorFusion 2.0.

Nella prima fase, i pesi dei rami di condizionamento e generazione sono stati inizializzati dal checkpoint Stable Diffusion v1.5. Il modello è stato perfezionato sulla divisione a singolo oggetto di SynMirrorV2. A differenza di Reflecting Reality, il ramo generativo non è stato congelato. L’addestramento è durato 40.000 iterazioni.

Nella seconda fase, il modello è stato perfezionato per altre 10.000 iterazioni sulla divisione multi-oggetto, così da imparare le occlusioni e le disposizioni spaziali più complesse delle scene realistiche.

Nella terza fase sono state eseguite altre 10.000 iterazioni con dati reali del dataset MSD e mappe di profondità generate dallo stimatore monoculare Matterport3D.

Examples from the MSD dataset, with real-world scenes analyzed into depth and segmentation maps. Source: https://arxiv.org/pdf/1908.09101

Scene reali MSD analizzate in mappe di profondità e segmentazione. Fonte: https://arxiv.org/pdf/1908.09101

Nel 20% dell’addestramento i prompt testuali sono stati omessi per spingere il modello a utilizzare al meglio le informazioni di profondità. Tutte le fasi hanno impiegato quattro GPU NVIDIA A100, con tasso di apprendimento 1e-5, batch di quattro elementi per GPU e ottimizzatore AdamW.

La difficoltà è aumentata progressivamente dalle semplici scene sintetiche alle composizioni più impegnative, con l’obiettivo di ottenere una robusta trasferibilità al mondo reale.

Test

MirrorFusion 2.0 è stato confrontato con il precedente stato dell’arte, MirrorFusion, sul dataset MirrorBenchV2, che include scene con uno o più oggetti. Test qualitativi aggiuntivi hanno usato MSD e Google Scanned Objects (GSO).

La valutazione comprendeva 2.991 immagini con un solo oggetto, appartenenti a categorie viste e non viste, e 300 scene ABO con due oggetti. PSNR, SSIM e LPIPS hanno misurato la qualità nell’area dello specchio mascherata, mentre la similarità CLIP ha valutato l’allineamento con i prompt.

Nei test quantitativi sono state generate immagini con quattro seed per ciascun prompt, scegliendo quella con il miglior punteggio SSIM. MirrorFusion 2.0 ha superato la baseline nel test a singolo oggetto; la versione addestrata su più oggetti ha inoltre battuto quella priva di tale addestramento nelle scene complesse.

Left, Quantitative results for single object reflection generation quality on the MirrorBenchV2 single object split. MirrorFusion 2.0 outperformed the baseline, with the best results shown in bold. Right, quantitative results for multiple object reflection generation quality on the MirrorBenchV2 multiple object split. MirrorFusion 2.0 trained with multiple objects outperformed the version trained without them, with the best results shown in bold.

Risultati quantitativi su MirrorBenchV2; MirrorFusion 2.0 supera la baseline.

Secondo gli autori, i risultati mostrano che il metodo supera la baseline e che il fine-tuning multi-oggetto migliora le prestazioni nelle scene difficili.

I risultati maggiormente evidenziati sono qualitativi. Su MirrorBenchV2, la baseline non manteneva riflessi e relazioni spaziali corretti: orientava male la sedia e deformava i riflessi di più oggetti. Gli autori sostengono che MirrorFusion 2.0 renda sedia e divani con posizione, orientamento e struttura corretti.

Comparison on MirrorBenchV2: the baseline failed to maintain accurate reflections and spatial consistency, showing incorrect chair orientation and distorted reflections of multiple objects, whereas (the authors contend) MirrorFusion 2.0 correctly renders the chair and the sofas, with accurate position, orientation, and structure.

Confronto MirrorBenchV2: il nuovo metodo conserva meglio posizione, orientamento e struttura.

Il modello di base produceva spesso rotazioni errate e oggetti sospesi. MirrorFusion 2.0, addestrato su SynMirrorV2, conservava meglio orientamento e posizione sia nelle scene singole sia in quelle multi-oggetto, generando riflessi più realistici e coerenti.

Sul dataset GSO, la baseline rappresentava male la struttura e produceva riflessi incompleti o deformati. MirrorFusion 2.0 manteneva l’integrità spaziale e generava geometria, colore e dettagli più accurati anche per oggetti fuori distribuzione.

Comparison on the GSO dataset. The baseline misrepresented object structure and produced incomplete, distorted reflections, while MirrorFusion 2.0, the authors contend, preserves spatial integrity and generates accurate geometry, color, and detail, even on out-of-distribution objects.

Confronto GSO: MirrorFusion 2.0 conserva meglio geometria, colore e dettagli.

Per esempio, il nuovo modello rifletteva correttamente le maniglie di un cassetto, mentre la baseline produceva un risultato implausibile. Per una tazza bianca e gialla, MirrorFusion 2.0 offriva una geometria convincente con pochi artefatti, diversamente dal modello precedente.

L’ultimo test qualitativo ha usato scene reali del dataset MSD. Secondo gli autori, MirrorFusion 2.0 coglieva meglio i dettagli complessi, compresi gli oggetti ammassati su un tavolo e la presenza di più specchi in un ambiente tridimensionale.

Real-world scene results comparing MirrorFusion, MirrorFusion 2.0, and MirrorFusion 2.0, fine-tuned on the MSD dataset. MirrorFusion 2.0, the authors contend, captures complex scene details more accurately, including cluttered objects on a table, and the presence of multiple mirrors within a three-dimensional environment. Only partial results are shown  here, due to the dimensions of the results in the original paper, to which we refer the reader for full results and better resolution.

Risultati reali MSD di MirrorFusion, MirrorFusion 2.0 e della versione perfezionata su MSD.

Il modello si comportava bene su MirrorBenchV2 e GSO, ma inizialmente faticava con le scene MSD. Il fine-tuning su un sottoinsieme MSD ha migliorato la gestione degli ambienti affollati e degli specchi multipli, producendo riflessi più coerenti e dettagliati nel test tenuto da parte.

In uno studio con utenti, l’84% dei partecipanti avrebbe preferito le immagini di MirrorFusion 2.0 a quelle della baseline. I dettagli dello studio sono riportati nell’appendice.

Results of the user study.

Risultati dello studio con utenti.

Studi e collegamenti alle fonti

Studi, dataset, pagine di progetto e fonti tecniche citati in questo articolo:

Conclusione

Alcuni risultati rappresentano miglioramenti notevoli rispetto allo stato dell’arte. Tuttavia, il livello di partenza di questo compito è così basso che persino una soluzione complessiva non del tutto convincente può prevalere con uno sforzo limitato. L’architettura fondamentale di un modello di diffusione è poco adatta ad apprendere e mostrare in modo affidabile una fisica coerente, perciò il problema sembra mal posto e privo di una soluzione elegante.

L’aggiunta di dati per correggere le carenze degli LDM è già la procedura standard, con tutti gli svantaggi citati. Se i futuri dataset su larga scala dedicassero maggiore attenzione alla distribuzione e all’annotazione degli esempi di riflessione, i modelli risultanti probabilmente gestirebbero meglio il caso.

Lo stesso vale però per molti altri problemi dell’output LDM. È difficile stabilire quale meriti maggiormente il lavoro e il denaro richiesti da una soluzione come quella proposta.

 

Pubblicato per la prima volta lunedì 28 aprile 2025. Martedì 29 aprile: correzione grammaticale nei paragrafi finali.

Scrittore di apprendimento automatico, specialista di dominio nella sintesi di immagini umane. Ex responsabile dei contenuti di ricerca presso Metaphysic.ai, fino alla sua fusione nella Brahma.ai di DNEG.
Sito web: martinanderson.ai
Contatto: martin@martinanderson.ai