Instance-Guided UDA
PaperComputer VisionDeep LearningRoboticsUDA

Project Spotlight

Instance-Guided UDA

Raffinamento delle pseudo-label in Unsupervised Domain Adaptation per la segmentazione semantica utilizzando Segment Anything Model (SAM2).

Key Features

Raffinamento pseudo-label con SAM2
Due strategie di prompting: Informed e Grid-based
Valutazione sul dataset ScanNet
Segmentazione semantica zero-shot
Migliore precisione dei contorni degli oggetti
Unsupervised Domain Adaptation (UDA)

Raffinamento delle Pseudo-Label nell'Unsupervised Domain Adaptation tramite SAM2

Panoramica

Quando un robot (o qualunque sistema di visione) viene addestrato in un ambiente e poi distribuito in un contesto diverso, la qualità della percezione cala rapidamente a causa del domain shift: la distribuzione dei dati in deployment differisce da quella di addestramento (sensori diversi, illuminazione, layout, texture, ecc.).

Pseudo-label baseline
Proiezione pseudo-label baseline
Pseudo-label raffinate
Pseudo-label raffinate con SAM2

Questo progetto riguarda la segmentazione semantica per la robotica, e in particolare l'Unsupervised Domain Adaptation (UDA) in cui il dominio target è non etichettato. In UDA una strategia diffusa è creare pseudo-label (etichette generate automaticamente) e usarle come supervisione per adattare il modello.

Che cos'è l'Unsupervised Domain Adaptation (UDA)?

L'Unsupervised Domain Adaptation affronta il problema di adattare un modello da un dominio sorgente etichettato (dove abbiamo annotazioni) a un dominio target non etichettato, mentre l'input cambia distribuzione per via del domain shift.

In pratica significa:

  • Si addestra su un dataset (sorgente) con ground truth.
  • Si distribuisce in un ambiente/dataset diverso (target) senza etichette.
  • Si migliorano le prestazioni nel dominio target sfruttando la struttura dei dati (pseudo-labeling, consistenza, vincoli multi-view/3D) invece di annotazioni manuali.

Perché l'UDA è importante

L'UDA è cruciale in robotica perché gli ambienti di deployment cambiano continuamente e raccogliere etichette pixel-level per ogni nuova casa/ufficio/scena è lento e costoso. Una pipeline UDA robusta può:

  • Ridurre o eliminare la necessità di nuove annotazioni.
  • Consentire una distribuzione più rapida in ambienti mai visti.
  • Migliorare sicurezza e autonomia mantenendo una percezione affidabile al variare delle condizioni.

L'idea centrale di questo lavoro è:

  • Partire da una pipeline UDA 2D–3D consolidata che genera pseudo-label fondendo predizioni 2D in una mappa semantica 3D.
  • Migliorare quelle pseudo-label con uno stadio di raffinamento basato su Segment Anything Model (SAM2), un potente foundation model di segmentazione zero-shot.

Il metodo migliora l'accuratezza dei contorni e riduce gli artefatti indotti dai voxel, soprattutto quando il sistema usa mappe voxel 3D più grossolane per vincoli real-time.

Panoramica della pipeline

Impostazione del Problema

Segmentazione semantica per la robotica

La segmentazione semantica assegna una classe a ogni pixel dell'immagine. Questa comprensione densa è fondamentale per:

  • Navigazione in ambienti indoor ingombri
  • Manipolazione e interazione con gli oggetti
  • Costruzione di mappe semantiche per il planning

Perché il domain shift è critico

Anche le architetture moderne di segmentazione possono fallire nel generalizzare quando:

  • La camera è diversa
  • Cambia l'illuminazione (indoor/outdoor, giorno/notte)
  • Cambia la composizione della scena (case, uffici, laboratori)

In robotica, etichettare manualmente nuovi ambienti è costoso e spesso impraticabile. Per questo l'UDA è particolarmente attrattiva.

Perché le pseudo-label sono il collo di bottiglia

Le pipeline UDA fanno spesso affidamento su pseudo-label prodotte da un modello addestrato nel dominio sorgente. All'inizio dell'adattamento queste pseudo-label sono rumorose, e gli errori possono propagarsi nell'addestramento.

Questo lavoro si concentra su una pipeline di pseudo-labeling che sfrutta la mappatura 3D per imporre coerenza temporale e di vista, ma soffre comunque di imprecisione spaziale dovuta a voxelizzazione e proiezione.

Pipeline di Base: DeepLabV3 + Kimera + Ray Casting

Il progetto si basa sul framework di adattamento continuo di Frey et al. (semantic mapping con Kimera) e utilizza i checkpoint e la configurazione di addestramento di Liu et al. (neural rendering continual UDA) come baseline coerente.

A livello alto:

  1. Segmentazione 2D: un modello DeepLabV3 produce predizioni semantiche per frame.
  2. Fusione semantica 3D: Kimera integra frame RGB-D e predizioni in una mappa semantica voxel tramite fusione bayesiana.
  3. Proiezione delle pseudo-label: il ray casting proietta la mappa voxel semantica 3D nel piano immagine, producendo pseudo-label allineate a ciascun frame RGB.
  4. Apprendimento continuo: le pseudo-label supervisionano l'ulteriore fine-tuning per adattarsi al nuovo dominio.

Il vantaggio principale è la consistenza semantica globale: la fusione riduce l'impatto degli errori sul singolo frame. Lo svantaggio principale è che la voxelizzazione introduce artefatti.

Trade-off sulla Risoluzione dei Voxel (3 cm vs 5 cm)

La dimensione del voxel è un trade-off ingegneristico chiave:

  • Voxel da 3 cm preservano più dettaglio e bordi, ma richiedono più memoria e calcolo.
  • Voxel da 5 cm sono più efficienti e realistici per vincoli real-time, ma portano pseudo-label più "a blocchi" e rumorose.

Qualità delle mappe voxel semantiche

Mappa voxel semantica 3 cm
Mappa voxel semantica (3 cm)
Mappa voxel semantica 5 cm
Mappa voxel semantica (5 cm)

Come degradano le proiezioni delle pseudo-label a 5 cm

Di seguito alcune comparazioni delle pseudo-label proiettate prodotte da mappe voxel da 3 cm e 5 cm sulla stessa scena. La proiezione da 5 cm tende a perdere strutture sottili e a sfumare i bordi.

Proiezione 3 cm 1001
3 cm
Proiezione 5 cm 1001
5 cm
Proiezione 3 cm 1771
3 cm
Proiezione 5 cm 1771
5 cm
Proiezione 3 cm 3543
3 cm
Proiezione 5 cm 3543
5 cm
Proiezione 3 cm 4756
3 cm
Proiezione 5 cm 4756
5 cm

Empiricamente, sulle scene valutate, usare una mappa voxel da 3 cm offre un miglioramento medio di +1,84 mIoU rispetto alla configurazione da 5 cm (prima del raffinamento SAM), ma a un costo computazionale molto più alto.

Estensione Proposta: Raffinamento delle Pseudo-Label con SAM2

Per ridurre gli artefatti indotti dai voxel mantenendo i benefici di mappe più grossolane, ho introdotto uno stadio di raffinamento basato su SAM2.

SAM2 è un modello di segmentazione zero-shot capace di produrre maschere di alta qualità se opportunamente "promptato". La sfida è che SAM non è intrinsecamente consapevole delle classi (segmenta regioni), mentre l'obiettivo è una segmentazione semantica.

Questo progetto risolve il problema:

  • Usando SAM2 per generare maschere più nitide, simili a istanze.
  • Trasferendo le classi semantiche dalle pseudo-label originali a quelle maschere.
  • Tornando alle pseudo-label originali quando SAM2 non fornisce maschere.

Pseudo-label di Kimera vs etichette raffinate da SAM

Gli esempi seguenti mostrano come il raffinamento SAM tenda ad affinare i bordi e a separare meglio gli oggetti.

Pseudo-label Kimera
Pseudo-label Kimera
SAM raffinato
SAM raffinato
Pseudo-label Kimera
Pseudo-label Kimera
SAM raffinato
SAM raffinato
Pseudo-label Kimera
Pseudo-label Kimera
SAM raffinato
SAM raffinato
Pseudo-label Kimera
Pseudo-label Kimera
SAM raffinato
SAM raffinato

Prompting di SAM2: due strategie

SAM richiede prompt. La tesi valuta due approcci di prompting automatico.

1) Prompting "calcolato" (conservativo)

Il prompting calcolato è guidato dalla struttura delle pseudo-label attuali. Per ciascuna componente connessa (regione con la stessa etichetta nelle pseudo-label) si calcolano:

  • Un bounding box
  • Un centroide (spostato per cadere su un pixel valido della label target)

Si applicano poi euristiche per migliorare la robustezza:

  • Erd (hereditary): se SAM lascia regioni non etichettate (nere/vuote), si copiano quei pixel dalla pseudo-label originale.
  • Ns (no small): si scartano componenti connesse piccole per ridurre il rumore, specialmente nelle pseudo-label molto frammentate ("Picasso").
  • nWm (no wall/floor majority fill): muri e pavimenti possono portare SAM a mascherare grandi porzioni; per queste classi si evita il riempimento a maggioranza che potrebbe etichettare male vaste aree.

Questa configurazione, selezionata dopo ablation study, rappresenta un compromesso solido e stabile.

2) Prompting a griglia (aggressivo)

Il prompting a griglia posiziona una griglia uniforme di punti sull'immagine. Ogni punto funge da prompt; SAM produce più maschere, fuse dalla più grande alla più piccola. Questa strategia:

  • Riduce la dipendenza dalla qualità delle pseudo-label.
  • Migliora spesso i bordi in modo significativo.
  • Può fallire gravemente in alcune scene, perché si affida maggiormente alla segmentazione "grezza" di SAM.

Confronto visivo: griglia vs prompting calcolato

Prompting a griglia
Prompting a griglia
Prompting calcolato
Prompting calcolato

Fusione delle maschere: dalle regioni SAM alle etichette semantiche

Una volta che SAM produce le maschere, si costruisce la mappa semantica finale:

  • Per i pixel all'interno di una maschera SAM si assegna una classe usando la distribuzione delle pseudo-label interne (maggioranza/trasferimento coerente).
  • Per casi difficili (es. muri/pavimenti) si applicano logiche di riempimento più sicure per evitare che una sola maschera sovra-segmentata domini.
  • Per i pixel non coperti da alcuna maschera SAM si torna alla pseudo-label precedente (Erd).

Questa progettazione mantiene i benefici del raffinamento evitando che SAM corrompa aree vaste quando sbaglia.

Note di Implementazione

L'intera pipeline è implementata in modo modulare su ROS:

  • Ogni fase è un nodo ROS (inferenza di segmentazione, mapping, ray tracing, raffinamento SAM e controllo).
  • Un nodo di controllo dedicato gestisce sincronizzazione, flusso delle immagini e comunicazione.

Scelte di configurazione chiave:

  • Backbone: DeepLabV3 con ResNet-101 (PyTorch).
  • Risoluzioni di input:
    • Pipeline principale ridimensionata a 320×240 per efficienza.
    • Raffinamento SAM testato sia a 320×240 sia alla risoluzione originale 1296×968.
  • Voxel size: esperimenti con 3 cm e 5 cm.
  • Dataset: ScanNet (scene indoor RGB-D con ground truth semantica).

Esperimenti

Riproduzione della baseline di mapping

Per validare l'integrità della pipeline ho riprodotto lo step di mapping/generazione pseudo-label usando il checkpoint pubblico del lavoro neural-rendering UCDA. I risultati seguono le tendenze del paper originale, anche se i numeri esatti differiscono leggermente.

Un riassunto sulle scene 0–5 mostra come la qualità delle pseudo-label dipenda dalla dimensione del voxel:

ScenaDeepLab (mIoU)Pseudo 5 cm (mIoU)Pseudo 3 cm (mIoU)
041,248,148,4
136,028,833,0
223,726,027,6
362,963,966,8
449,842,649,7
548,749,352,2
Media43,743,146,3

Ablation sulla strategia calcolata (takeaway chiave)

Le prime prove hanno identificato failure mode tipici di SAM per questo task:

  • Maschere incomplete (regioni non segmentate)
  • Classi "stuff" problematiche come muri/pavimenti
  • Deriva del centroide fuori dall'oggetto
  • Pseudo-label "Picasso" iper-frammentate che producono troppe piccole regioni

Una scoperta critica è che riempire le regioni non segmentate votando la maggioranza (Max) è inaffidabile, quindi la pipeline usa Erd (hereditary) come base.

La configurazione Erd + Ns + nWm, individuata tramite ablation, migliora leggermente la mIoU media sulle scene 0–5 (valutazione campionata):

  • Media pseudo 3 cm: 46,3
  • Media SAM (Erd + Ns + nWm): 46,8

Protocollo di valutazione completo

La valutazione finale usa:

  • Scene 0–9
  • Circa 80% dei frame validi per scena (escludendo quelli senza ground truth utilizzabile)
  • Metrica: mIoU rispetto alla ground truth di ScanNet

Risultati quantitativi (ΔmIoU rispetto alle pseudo-label)

Il risultato principale è che il raffinamento migliora sistematicamente le pseudo-label, con benefici maggiori per mappe voxel più grossolane (5 cm) perché c'è più margine di correzione.

Miglioramenti per scena a 3 cm Miglioramenti per scena a 5 cm

Sintesi su tutte le scene (media e deviazione standard del miglioramento):

Voxel sizePromptingΔmIoU medioDev. std.
3 cmCalcolato0,710,90
3 cmGriglia0,691,62
5 cmCalcolato1,771,26
5 cmGriglia1,852,09

Interpretazione:

  • I 5 cm beneficiano maggiormente del raffinamento (miglioramenti più grandi).
  • La griglia ha un miglioramento medio leggermente superiore, ma anche una varianza molto più ampia (meno stabile).
  • Il prompting calcolato è più coerente e sicuro per il deployment.

Risultati qualitativi

Tutti gli esempi qualitativi riportati usano la configurazione che ha performato meglio nei nostri esperimenti: voxel da 5 cm con RGB ad alta risoluzione.

Ogni riga mostra:

  1. Ground truth (ScanNet)
  2. Pseudo-label originale
  3. Raffinamento SAM con prompting a griglia
  4. Raffinamento SAM con prompting calcolato

Raffinamento riuscito

GT
Ground truth
Pseudo
Pseudo-label
Griglia
Griglia
Calcolato
Calcolato

Quando il prompting calcolato è migliore

GT
Ground truth
Pseudo
Pseudo-label
Griglia
Griglia
Calcolato
Calcolato

Quando il prompting a griglia è migliore

GT
Ground truth
Pseudo
Pseudo-label
Griglia
Griglia
Calcolato
Calcolato

Caso di fallimento (errore propagato da SAM)

GT
Ground truth
Pseudo
Pseudo-label
Griglia
Griglia
Calcolato
Calcolato

Questi esempi evidenziano un trade-off importante:

  • Il prompting a griglia può produrre raffinamenti più forti ma è più vulnerabile agli errori di SAM.
  • Il prompting calcolato è più conservativo e stabile, ma dipende maggiormente dalla qualità delle pseudo-label iniziali.

Limiti

  • SAM non è infallibile: se fallisce nel segmentare un oggetto chiave, il raffinamento può peggiorare la mappa.
  • Sensibilità al posizionamento dei prompt: piccoli errori su centroidi o bounding box possono generare maschere errate.
  • Budget computazionale: esecuzioni SAM ad alta risoluzione migliorano la coerenza ma costano più tempo.

Lavori Futuri

Il passo più promettente è integrare lo stadio di raffinamento in un ciclo di addestramento continuo online:

  • raffinare le pseudo-label con SAM2
  • fine-tuning online di DeepLabV3
  • iterare man mano che il robot esplora

Ulteriori miglioramenti di robustezza suggeriti dagli esperimenti:

  • Selezione dei prompt e rifiuto delle maschere a rischio basati su incertezza
  • Vincoli/prior class-aware durante la fusione maschere-label
  • Strategie di prompting dinamiche condizionate sul contenuto della scena

Conclusione

Questo progetto dimostra che un foundation model come SAM2 può migliorare in modo significativo la qualità delle pseudo-label in una pipeline UDA 2D–3D.

L'indicazione pratica più forte è che il raffinamento SAM è particolarmente prezioso per mappe voxel più grossolane da 5 cm, dove le pseudo-label sono più economiche da produrre ma anche più degradate. Con un prompting attento e una logica di fallback conservativa (Erd), SAM2 diventa un componente potente per ridurre la necessità di annotazioni e aumentare la robustezza della percezione robotica nel mondo reale.