Migliori pratiche per la Mappatura Spaziale

Last updated: August 13, 2026

Il modulo di Mappatura Spaziale di ZED SDK, disponibile anche tramite l'applicazione standalone ZEDfu, consente la scansione 3D di una scena o di un oggetto. Un modello 3D a colori (Mesh o Nuvola di Punti Fusa) viene creato integrando nel tempo i dati delle immagini, della profondità e del tracciamento posizionale, da molteplici punti di vista.

Per una descrizione completa del modulo, consultare la documentazione sulla Mappatura Spaziale; per lo strumento ZEDfu, consultare la documentazione di ZEDfu.

Telecamere supportate

La Mappatura Spaziale richiede una telecamera stereo dotata di un sensore inerziale (IMU), come ZED 2/2i, ZED Mini, ZED X, ZED X Mini e ZED X Nano.

Le seguenti telecamere non sono supportate:

  • la ZED originale (fuori produzione), che non dispone di IMU integrata;
  • le telecamere ZED X One GS/4K/S, che sono monoculari. Si noti che è supportata una configurazione Dual ZED X One Virtual Stereo Camera; in ZEDfu, utilizzare l'input Local Streaming per riceverne i dati.

Best practice durante la scansione

  • Spostati lentamente e in modo fluido. I movimenti rapidi introducono sfocatura del movimento; le immagini sfocate riducono la qualità sia del tracciamento posizionale sia della geometria 3D ricostruita.
  • Assicurati che la scena sia ben illuminata. Le aree scarsamente illuminate aumentano il rumore di profondità e possono introdurre artefatti e superfici errate nel modello.
  • Preferisci scene con texture. Le superfici uniformi e prive di texture (pareti spoglie, vetro e così via) forniscono poche informazioni visive per la corrispondenza stereo e il tracciamento. Grazie alle modalità di profondità NEURALE, la scansione degli ambienti interni ora offre prestazioni molto migliori rispetto alle versioni precedenti dell'SDK, ma una texture ricca migliora comunque i risultati.
  • Evita gli oggetti riflettenti e trasparenti. Specchi, vetro e superfici lucide producono misurazioni di profondità non valide.
  • Mantieni una distanza adeguata dalle superfici. Non avvicinarti più del range minimo di profondità del modello della tua videocamera e ricorda che la precisione della profondità diminuisce con la distanza; per questo motivo, il range di mappatura è limitato a 20 m.
  • Chiudi il loop. Quando esegui la scansione di una stanza o di un oggetto, cerca di rivisitare le aree già scansionate; questo aiuta il tracciamento posizionale a perfezionare la mappa. L'attivazione di Area Memory consente all'SDK di riconoscere le aree precedentemente mappate e migliorare la coerenza del tracciamento; consulta il tutorial sulla mappatura VSLAM.
  • Controlla lo stato del tracciamento. In ZEDfu, se lo stato del Tracciamento Posizionale passa a SEARCHING, sposta la videocamera verso un'area già mappata per aiutare l'SDK a rilocalizzarsi e continuare la generazione della mappa.

Scelta delle impostazioni appropriate

  • Modalità di profondità: in ZEDfu è possibile scegliere tra NEURAL LIGHT (migliori prestazioni in tempo reale), NEURAL (buon compromesso tra qualità e prestazioni) e NEURAL PLUS (qualità massima, consigliata per l'elaborazione OFFLINE dei file SVO).
  • Tipo di mappa: scegliere MESH per generare un insieme di triangoli a tenuta stagna che possono essere filtrati e texturizzati dopo la scansione, oppure POINT CLOUD per generare una nuvola di punti fusa e colorata. Il formato della nuvola di punti richiede più memoria a causa delle informazioni sul colore associate a ciascun punto.
  • Risoluzione della mappatura: la risoluzione può essere impostata tra 1 cm e 12 cm. Risoluzioni più elevate producono mappe più dettagliate, ma richiedono più memoria e potenza di elaborazione e rallentano gli aggiornamenti della mappa; utilizzare la risoluzione più bassa adatta alla propria applicazione. L'API fornisce i preset HIGH (2 cm, aree piccole), MEDIUM (5 cm, bilanciata) e LOW (8 cm, aree grandi o mesh di collisione).
  • Intervallo di mappatura: l'intervallo dei dati di profondità integrati nella mappa può essere impostato tra 2 m e 20 m. Aumentare l'intervallo consente di acquisire rapidamente grandi volumi, a scapito della precisione; ridurlo migliora le prestazioni. L'API fornisce i preset NEAR (3,5 m), MEDIUM (5 m) e FAR (10 m).
  • Filtraggio della mesh: dopo l'acquisizione, il filtraggio riduce il numero di poligoni preservando le caratteristiche geometriche. LOW riempie i fori e rimuove gli outlier; MEDIUM e HIGH eseguono anche il decimamento della mesh. Provare i diversi preset per trovare quello più adatto alla propria applicazione.
  • Texturizzazione della mesh: abilitare l'opzione delle texture prima della scansione per registrare un sottoinsieme delle immagini della fotocamera sinistra e proiettarle sulla superficie della mesh. Ciò migliora la qualità visiva del modello, ma richiede maggiore potenza di elaborazione e memoria. La texturizzazione è disponibile solo per le mesh.

Scansione in tempo reale o elaborazione offline

Il modulo Mappatura Spaziale, incluso ZEDfu, accetta tre tipi di input:

  • Telecamera Live: dati acquisiti in tempo reale da una telecamera stereo ZED connessa;
  • Streaming Locale: dati ricevuti da una telecamera remota tramite un server ZED Local Streaming;
  • File SVO: dati registrati con la telecamera ed elaborati in un secondo momento. Scopri di più sulla registrazione e sull'elaborazione offline.

Durante l'elaborazione di un file SVO in ZEDfu, consigliamo di abilitare la modalità OFFLINE: l'intero file SVO viene preprocessato prima dell'avvio della generazione della mappa, producendo una mappa di qualità superiore a scapito di un tempo di elaborazione più lungo. In combinazione con la modalità di profondità NEURAL PLUS, questo è il flusso di lavoro che fornisce la migliore qualità possibile di ricostruzione 3D.

Nota: ZEDfu salva le mappe generate nella cartella ZED/Meshes nella directory home dell'utente; il percorso completo della mappa generata viene visualizzato nella barra di stato al termine della generazione.

Utilizzo dell'API di Mappatura Spaziale nella propria applicazione

Tutto ciò che è disponibile in ZEDfu può essere integrato nella propria applicazione tramite ZED SDK. Il flusso di lavoro tipico è:

  1. apri la fotocamera e abilita il tracciamento posizionale con enablePositionalTracking();
  2. abilita il modulo con enableSpatialMapping(), configurando SpatialMappingParameters (risoluzione, portata, tipo di mappa, texture);
  3. chiama grab() nel ciclo; il modulo acquisisce immagini, profondità e pose in background;
  4. recupera la mappa una volta con extractWholeSpatialMap(), oppure continuamente con le funzioni asincrone requestSpatialMapAsync() / getSpatialMapRequestStatusAsync() / retrieveSpatialMapAsync();
  5. facoltativamente perfeziona la mesh con Mesh::filter() e Mesh::applyTexture(), quindi salvala con save("mesh.obj");
  6. monitora il modulo con getSpatialMappingState(): FPS_TOO_LOW indica che il sistema non può raggiungere la frequenza dei fotogrammi richiesta per una mappatura coerente, mentre NOT_ENOUGH_MEMORY indica che è stato raggiunto il limite di memoria; in entrambi i casi il modulo interrompe l'integrazione di nuovi dati, ma il modello 3D può ancora essere estratto.

La richiesta e il recupero di una mappa spaziale richiedono molte risorse; per migliorare le prestazioni, non richiedere una nuova mappa spaziale troppo frequentemente.

Per ulteriori dettagli, consulta: