Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O SpatialLM é um modelo de linguagem grande projetado especificamente para processar dados de nuvem de pontos tridimensionais (3D). Sua função principal é compreender dados geométricos 3D não estruturados e transformá-los em representações de cenas 3D estruturadas. Esses resultados estruturados contêm elementos arquitetônicos (por exemplo, paredes, portas, janelas), bem como caixas delimitadoras de objetos com orientação e suas categorias semânticas. Diferentemente de muitas abordagens que exigem dispositivos específicos para capturar dados, o SpatialLM pode processar nuvens de pontos de várias fontes de dados, como sequências de vídeo monocular, imagens RGBD e sensores de radar a laser (LiDAR). O modelo conecta efetivamente dados geométricos 3D e representações estruturadas, fornecendo recursos de compreensão semântica de alto nível para robótica incorporada, navegação automatizada e outros aplicativos que exigem análise complexa de cenas 3D.

 

Lista de funções

  • Processamento de nuvens de pontos 3DCapacidade de analisar e entender nuvens de pontos 3D diretamente como entrada.
  • Gerar cenários estruturadosSaída de informações estruturadas da cena 3D, incluindo o layout do edifício e as posições dos objetos.
  • Identificar elementos arquitetônicosDetecção e modelagem precisas de estruturas básicas, como paredes, portas, janelas etc. no interior.
  • Detecção de objetos 3DIdentificação de objetos, como móveis, na cena e geração de caixas delimitadoras com orientação, dimensões e categorias semânticas (por exemplo, "cama", "cadeira").
  • Compatibilidade com dados de várias fontesSuporte para processamento de dados de nuvem de pontos gerados por diferentes dispositivos (por exemplo, câmeras comuns, câmeras de profundidade, LIDAR).
  • Detecção de categoria personalizadaO usuário pode especificar categorias de objetos de interesse e o modelo detectará e emitirá apenas essas categorias específicas de objetos.
  • Várias versões de modelos:: Várias versões baseadas em diferentes modelos subjacentes, como Llama e Qwen, estão disponíveis, por exemplo.SpatialLM1.1-Llama-1Bresponder cantandoSpatialLM1.1-Qwen-0.5B.

Usando a Ajuda

O processo de uso do modelo SpatialLM inclui principalmente a instalação do ambiente, a preparação dos dados e a execução da inferência. Veja a seguir as etapas detalhadas.

Requisitos ambientais

Antes de começar, verifique se o ambiente do sistema atende aos seguintes requisitos:

  • Python: 3.11
  • Pytorch: 2.4.1
  • CUDA: 12.4

1. processo de instalação

Primeiro, clone o repositório de código e vá para o diretório do projeto e, em seguida, use o Conda para criar e ativar um ambiente Python autônomo.

# 克隆仓库
git clone https://github.com/manycore-research/SpatialLM.git
# 进入项目目录
cd SpatialLM
# 使用Conda创建名为 "spatiallm" 的环境
conda create -n spatiallm python=3.11
# 激活环境
conda activate spatiallm
# 安装CUDA工具包
conda install -y -c nvidia/label/cuda-12.4.0 cuda-toolkit conda-forge::sparsehash

Em seguida, use opoetryinstala as bibliotecas de dependência do projeto.

# 安装poetry
pip install poetry && poetry config virtualenvs.create false --local
# 安装项目主要依赖
poetry install

Dependendo da versão do SpatialLM que você estiver usando, há bibliotecas de dependência específicas adicionais que precisam ser instaladas.

O SpatialLM versão 1.0 depende de.

# 该命令会编译torchsparse,可能需要一些时间
poe install-torchsparse

O SpatialLM versão 1.1 depende de.

# 该命令会编译flash-attn,可能需要一些时间
poe install-sonata

2. raciocínio operacional

Antes de executar a inferência, os dados de entrada precisam ser preparados. O SpatialLM exige que os dados da nuvem de pontos de entrada estejam alinhados ao eixo, ou seja, que o eixo Z esteja orientado verticalmente para cima.

Download de dados de amostra:
O projeto fornece um conjunto de dados de teste que você pode usar com ohuggingface-clipara fazer o download de um arquivo de nuvem de pontos de amostra.

huggingface-cli download manycore-research/SpatialLM-Testset pcd/scene0000_00.ply --repo-type dataset --local-dir .

Executar comandos de raciocínio:
Use os comandos a seguir para processar o arquivo de nuvem de pontos baixado e gerar um arquivo de descrição de cena estruturado.

python inference.py --point_cloud pcd/scene0000_00.ply --output scene0000_00.txt --model_path manycore-research/SpatialLM1.1-Qwen-0.5B
```- `point_cloud`: 指定输入的点云文件路径。
- `output`: 指定输出的结构化文本文件路径。
- `model_path`: 指定使用的模型,可以从Hugging Face选择不同版本。
### 3. 按指定类别检测物体
SpatialLM 1.1版本支持用户指定想要检测的物体类别。例如,如果你只想在场景中检测“床(bed)”和“床头柜(nightstand)”,可以使用以下命令:
```bash
python inference.py --point_cloud pcd/scene0000_00.ply --output scene0000_00.txt --model_path manycore-research/SpatialLM1.1-Qwen-0.5B --detect_type object --category bed nightstand
  • detect_type objectTipo de tarefa: Defina o tipo de tarefa apenas para detecção de objetos 3D.
  • category bed nightstandEspecificar que somente as categorias "cama" e "cabeceira" devem ser detectadas.

4. visualização dos resultados

Para visualizar o efeito da saída do modelo, você pode usar a funçãorerunferramentas de visualização.

Primeiro, converta o arquivo de texto da saída do modelo para o formato Rerun:

python visualize.py --point_cloud pcd/scene0000_00.ply --layout scene0000_00.txt --save scene0000_00.rrd
  • layoutEspecifique a etapa de raciocínio para gerar o.txtArquivos de layout.
  • saveEspecificar a saída do.rrdVisualize o caminho do arquivo.

Em seguida, use rerun para visualizar os resultados:

rerun scene0000_00.rrd

Esse comando abre uma janela de visualização que mostra a nuvem de pontos original e as paredes, portas, janelas e caixas delimitadoras de objetos previstas pelo modelo.

cenário do aplicativo

  1. Inteligência incorporada e robótica
    Os robôs podem usar o SpatialLM para entender o ambiente interno em que estão localizados. Por exemplo, ao analisar a nuvem de pontos de uma sala, um robô pode identificar a localização exata de portas, obstáculos, sofás e mesas, possibilitando um planejamento de caminho mais inteligente e tarefas de interação.
  2. Navegação automática e criação de mapas
    Em aplicativos de navegação automática em ambientes internos, como robôs de serviço em shopping centers ou armazéns, o SpatialLM pode ajudar a criar rapidamente mapas 3D estruturados a partir de dados de sensores, que podem fornecer informações semânticas mais ricas do que os métodos SLAM tradicionais.
  3. Arquitetura, engenharia e construção (AEC)
    Arquitetos ou engenheiros podem usar equipamentos de escaneamento portáteis para escanear rapidamente um cômodo e, em seguida, gerar automaticamente um modelo estruturado desse cômodo com o SpatialLM, incluindo paredes, localizações de portas e janelas, etc., simplificando muito o processo de mapeamento e modelagem de interiores.
  4. Realidade aumentada (AR) e jogos
    Os aplicativos de AR exigem uma compreensão precisa do layout espacial do mundo real para posicionar os objetos virtuais de forma realista no ambiente. O SpatialLM pode fornecer essa compreensão precisa da cena, permitindo que móveis virtuais ou personagens de jogos interajam naturalmente com a cena real.

QA

  1. O que é o SpatialLM?
    O SpatialLM é um modelo de big language 3D que compreende dados de nuvem de pontos 3D e produz descrições estruturadas de cenas internas, incluindo elementos arquitetônicos, como paredes, portas e janelas, e objetos com anotações.
  2. Com quais tipos de dados de entrada esse modelo pode lidar?
    Ele pode processar dados de nuvem de pontos 3D de diversas fontes, incluindo dados capturados por vídeo de câmera monocular, câmeras RGBD, como o Kinect, e sensores de radar a laser (LiDAR).
  3. Que tipo de configuração de hardware é necessária para usar o SpatialLM?
    Como envolve o cálculo de modelos de aprendizagem profunda, é recomendável executá-lo em uma máquina equipada com uma GPU NVIDIA e garantir que a versão correspondente do kit de ferramentas CUDA (por exemplo, CUDA 12.4) esteja instalada.
  4. Como o SpatialLM difere de outros métodos de compreensão de cenas 3D?
    Ele combina o poder de um grande modelo de linguagem para gerar diretamente uma saída estruturada e semanticamente rotulada, e não apenas informações geométricas. Além disso, ele suporta categorias especificadas pelo usuário para detecção, proporcionando maior flexibilidade.
  5. Qual é o formato do arquivo de saída do modelo?
    A inferência do modelo gera um.txtUm arquivo de texto que descreve de forma estruturada a posição, o tamanho, a orientação e as informações de categoria de cada elemento (parede, porta, objeto etc.) na cena.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

Novos lançamentos

voltar ao topo

pt_BRPortuguês do Brasil