Melhores práticas de Mapeamento Espacial

Last updated: August 13, 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 de um 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 2/2i, ZED Mini, ZED X, ZED X Mini e ZED X Nano.

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.

Boas práticas 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 lisas, vidro e assim por diante) fornecem poucas informações visuais para a correspondência estéreo e o rastreamento. Graças aos modos de profundidade NEURAL, a digitalização em ambientes internos agora apresenta um desempenho muito melhor do que nas versões anteriores do SDK, mas uma textura rica ainda melhora os resultados.
  • Evite objetos reflexivos e transparentes. Espelhos, vidros 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 loop. Ao digitalizar uma sala ou um objeto, tente revisitar áreas digitalizadas anteriormente; isso ajuda o rastreamento posicional a refinar o mapa. Ativar o Area Memory 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 do 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 relocalizar 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 (maior qualidade, recomendado para 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 colorida fundida. 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 as 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 as predefinições NEAR (3,5 m), MEDIUM (5 m) e FAR (10 m).
  • Filtragem da malha: após a captura, a filtragem reduz a quantidade de polígonos enquanto preserva as características geométricas. LOW preenche buracos e remove outliers; MEDIUM e HIGH também executam a decimaçã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 ZED;
  • Arquivo SVO: dados gravados com a câmera e processados posteriormente. Saiba mais sobre gravação e processamento offline.

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 fornece 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. abra a câmera e habilite o rastreamento posicional com enablePositionalTracking();
  2. habilite o módulo com enableSpatialMapping(), configurando SpatialMappingParameters (resolução, alcance, tipo de mapa, textura);
  3. chame grab() no seu loop; o módulo ingere imagens, profundidade e poses em segundo plano;
  4. recupere o mapa uma vez com extractWholeSpatialMap(), ou continuamente com as funções assíncronas requestSpatialMapAsync() / getSpatialMapRequestStatusAsync() / retrieveSpatialMapAsync();
  5. opcionalmente refine a malha com Mesh::filter() e Mesh::applyTexture(), depois salve-a 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 interrompe a integração de 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 com muita frequência.

Para mais detalhes, consulte: