Melhores práticas de Mapeamento Espacial

Last updated: October 23, 2026

O módulo de Mapeamento Espacial do ZED SDK, também disponível por meio do aplicativo independente ZEDfu , permite a digitalização 3D de uma cena ou objeto. Um modelo 3D colorido (Malha ou Nuvem de Pontos Fundida) é criado integrando dados de imagem, profundidade e rastreamento posicional ao longo do tempo, a partir de vários pontos de vista.

Para obter uma descrição completa do módulo, consulte a documentação de Mapeamento Espacial; para a ferramenta ZEDfu, consulte a documentação do ZEDfu.

Câmeras compatíveis

O Mapeamento Espacial requer uma câmera estéreo equipada com um sensor inercial (IMU), como a ZED 2i, a ZED Mini, a ZED X, a ZED X Minie a ZED X Nano (e a ZED 2, descontinuada).

As seguintes câmeras não são compatíveis:

  • a ZED original (fora de produção), que não possui IMU integrada;

  • as câmeras ZED X One GS/4K/S , que são monoculares. Observe que uma configuração de Câmera Estéreo Virtual Dual ZED X One é compatível; no ZEDfu, use a entrada de Transmissão contínua local para receber seus dados.

Práticas recomendadas durante a digitalização

  • Mova-se lenta e suavemente. Movimentos rápidos introduzem desfoque de movimento; imagens borradas reduzem a qualidade tanto do rastreamento posicional quanto da geometria 3D reconstruída.

  • Certifique-se de que a cena esteja bem iluminada. Áreas com pouca luz aumentam o ruído de profundidade e podem introduzir artefatos e superfícies incorretas no modelo.

  • Prefira cenas texturizadas. Superfícies uniformes e sem textura (paredes nuas, vidro etc.) fornecem pouca informação visual para a correspondência estéreo e o rastreamento. Graças aos modos de profundidade NEURAL, a digitalização em ambientes internos apresenta um desempenho muito melhor do que nas versões anteriores do SDK, mas texturas ricas ainda melhoram os resultados.

  • Evite objetos reflexivos e transparentes. Espelhos, vidro e superfícies brilhantes produzem medições de profundidade inválidas.

  • Mantenha uma distância adequada das superfícies. Não se aproxime mais do que o alcance mínimo de profundidade do modelo da sua câmera e lembre-se de que a precisão da profundidade diminui com a distância; por esse motivo, o alcance do mapeamento é limitado a 20 m.

  • Feche o circuito. Ao digitalizar uma sala ou um objeto, tente revisitar áreas digitalizadas anteriormente; isso ajuda o rastreamento posicional a refinar o mapa. Ativar a Memória de Área permite que o SDK reconheça áreas mapeadas anteriormente e melhore a consistência do rastreamento; consulte o tutorial de Mapeamento VSLAM.

  • Observe o status do rastreamento. No ZEDfu, se o status de Rastreamento Posicional mudar para SEARCHING, mova a câmera de volta em direção a uma área já mapeada para ajudar o SDK a se realocalizar e continuar a geração do mapa.

Escolhendo as configurações corretas

  • Modo de profundidade: no ZEDfu, você pode escolher entre NEURAL LIGHT (melhor desempenho ao vivo), NEURAL (bom equilíbrio entre qualidade e desempenho) e NEURAL PLUS (mais alta qualidade, recomendado para o processamento OFFLINE de arquivos SVO).

  • Tipo de mapa: escolha MESH para gerar um conjunto de triângulos estanques que podem ser filtrados e texturizados após a digitalização, ou POINT CLOUD para gerar uma nuvem de pontos fundidos colorida. O formato de nuvem de pontos usa mais memória devido às informações de cor associadas a cada ponto.

  • Resolução do mapeamento: a resolução pode ser definida entre 1 cm e 12 cm. Resoluções mais altas produzem mapas mais detalhados, mas exigem mais memória e poder de processamento e tornam as atualizações do mapa mais lentas; use a menor resolução que atenda à sua aplicação. A API fornece predefinições HIGH (2 cm, áreas pequenas), MEDIUM (5 cm, equilibrada) e LOW (8 cm, áreas grandes ou malhas de colisão).

  • Alcance do mapeamento: o alcance dos dados de profundidade integrados ao mapa pode ser definido entre 2 m e 20 m. Aumentar o alcance permite capturar grandes volumes rapidamente, ao custo da precisão; reduzi-lo melhora o desempenho. A API fornece predefinições NEAR (3,5 m), MEDIUM (5 m) e FAR (10 m).

  • Filtragem de malha: após a captura, a filtragem reduz a quantidade de polígonos, preservando os recursos geométricos. LOW preenche buracos e remove outliers; MEDIUM e HIGH também realizam a dizimação da malha. Experimente as diferentes predefinições para encontrar a que melhor atende à sua aplicação.

  • Texturização da malha: ative a opção de textura antes da digitalização para registrar um subconjunto das imagens da câmera esquerda e projetá-las na superfície da malha. Isso melhora a qualidade visual do modelo, mas exige mais poder de processamento e memória. A texturização está disponível apenas para malhas.

Digitalização ao vivo ou processamento offline

O módulo de Mapeamento Espacial, incluindo o ZEDfu, aceita três tipos de entrada:

  • Câmera ao vivo: dados capturados em tempo real por uma câmera estéreo ZED conectada;

  • Transmissão contínua local: dados recebidos de uma câmera remota por meio de um servidor de Transmissão contínua local da ZED;

  • Arquivo SVO: dados gravados com a câmera e processados posteriormente; consulte a Documentação do ZEDfu e a Documentação de gravação.

Ao processar um arquivo SVO no ZEDfu, recomendamos ativar o modo OFFLINE : o arquivo SVO completo é pré-processado antes do início da geração do mapa, produzindo um mapa de maior qualidade ao custo de um tempo de processamento mais longo. Combinado com o modo de profundidade NEURAL PLUS , esse é o fluxo de trabalho que proporciona a melhor qualidade possível de reconstrução 3D.

Observação: o ZEDfu salva os mapas gerados na pasta ZED/Meshes no diretório inicial do usuário; o caminho completo do mapa gerado é exibido na barra de status quando a geração é concluída.

Usando a API de Mapeamento Espacial em sua aplicação

Tudo o que está disponível no ZEDfu pode ser integrado à sua própria aplicação por meio do ZED SDK. O fluxo de trabalho típico é:

  1. abrir a câmera e ativar o Rastreamento Posicional com enablePositionalTracking();

  2. ativar o módulo com enableSpatialMapping(), configurando SpatialMappingParameters (resolução, alcance, tipo de mapa, textura);

  3. chamar grab() em seu loop; o módulo ingere imagens, profundidade e poses em segundo plano;

  4. recuperar o mapa uma vez com extractWholeSpatialMap(), ou continuamente com as funções assíncronas requestSpatialMapAsync() / getSpatialMapRequestStatusAsync() / retrieveSpatialMapAsync() ;

  5. opcionalmente, refinar a malha com Mesh::filter() e Mesh::applyTexture(), e depois salvá-la com save("mesh.obj");

  6. monitore o módulo com getSpatialMappingState(): FPS_TOO_LOW indica que o sistema não consegue atingir a taxa de quadros necessária para um mapeamento consistente, e NOT_ENOUGH_MEMORY indica que o limite de memória foi atingido; em ambos os casos, o módulo para de integrar novos dados, mas o modelo 3D ainda pode ser extraído.

Solicitar e recuperar um mapa espacial exige muitos recursos; para melhorar o desempenho, não solicite um novo mapa espacial com muita frequência.

Para obter mais detalhes, consulte: