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) eNEURAL PLUS(qualità massima, consigliata per l'elaborazione OFFLINE dei file SVO). - Tipo di mappa: scegliere
MESHper generare un insieme di triangoli a tenuta stagna che possono essere filtrati e texturizzati dopo la scansione, oppurePOINT CLOUDper 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) eLOW(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) eFAR(10 m). - Filtraggio della mesh: dopo l'acquisizione, il filtraggio riduce il numero di poligoni preservando le caratteristiche geometriche.
LOWriempie i fori e rimuove gli outlier;MEDIUMeHIGHeseguono 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 è:
- apri la fotocamera e abilita il tracciamento posizionale con
enablePositionalTracking(); - abilita il modulo con
enableSpatialMapping(), configurandoSpatialMappingParameters(risoluzione, portata, tipo di mappa, texture); - chiama
grab()nel ciclo; il modulo acquisisce immagini, profondità e pose in background; - recupera la mappa una volta con
extractWholeSpatialMap(), oppure continuamente con le funzioni asincronerequestSpatialMapAsync()/getSpatialMapRequestStatusAsync()/retrieveSpatialMapAsync(); - facoltativamente perfeziona la mesh con
Mesh::filter()eMesh::applyTexture(), quindi salvala consave("mesh.obj"); - monitora il modulo con
getSpatialMappingState():FPS_TOO_LOWindica che il sistema non può raggiungere la frequenza dei fotogrammi richiesta per una mappatura coerente, mentreNOT_ENOUGH_MEMORYindica 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: