专栏名称: Datawhale
一个专注于AI领域的开源组织,汇聚了众多顶尖院校和知名企业的优秀学习者,聚集了一群有开源精神和探索精神的团队成员。愿景-for the learner,和学习者一起成长。
目录
相关文章推荐
51好读  ›  专栏  ›  Datawhale

杭州六小龙最新开源「空间理解模型」,保姆级教程来了!

Datawhale  · 公众号  ·  · 2025-03-23 22:58

正文

Datawhale干货

作者:王泽宇,Datawhale成员

SpatialLM 介绍

前几天,“ 杭州六小龙”之一「群核科技」 在GTC 2025大会开源了 空间理解模型: SpatialLM。

SpatialLM 是一款专门为三维空间理解设计的大语言模型,通过三维点云数据,生成结构化的三维场景理解输出,包括墙壁、门、窗等建筑元素,以及带有语义类别的定向物体边界框。与传统需要专用设备进行数据采集的方法不同,SpatialLM能够处理来自多种来源的点云数据,如:单目视频序列、RGBD图像和LiDAR传感器等。

听起来很复杂,但简单地说, SpatialLM的本质就像是一台「空间翻译机」,通过视频理解物理世界的几何关系,再将其转化为机器能读懂的指令。

其工作原理如下:给定一个 RGB 视频,首先使用 MASt3R-SLAM 进行三维点云重建,然后利用 SpatialLM 将这些密集点云转化为结构化表示。点云编码器将点云信息编码为紧凑的特征表示,随后由大语言模型(LLM)生成描述场景的场景代码(scene codes),这些场景代码可以被进一步转换为三维结构布局。

SpatialLM 运行原理

SpatialLM 当前提供了 1B 和 0.5B 两种模型版本,相比于现在的 LLM 而言可以说是很小了。SpatialLM 采用多模态结构,有效地将非结构化的三维几何数据与结构化的三维表示相结合,提供高层次的语义理解。这一特性增强了其在具身机器人、自主导航等复杂三维场景分析任务中的空间推理能力。

图片
仓库地址:
https://github.com/manycore-research/SpatialLM

ModelScope 模型地址:

1B:https://modelscope.cn/models/manycore-research/SpatialLM-Llama-1B

0.5B:https://modelscope.cn/models/manycore-research/SpatialLM-Qwen-0.5B

保姆级部署教程

官方仓库:https://github.com/manycore-research/SpatialLM

这里以 PyTorch 2.5.1+Python 3.12(ubuntu22.04)+CUDA 12.4 的云平台环境为例。

如果是本地运行,推荐 Ubuntu22.04+CUDA 12.4 的环境,按照官方教程使用 conda 创建 python3.11 环境并安装相关依赖。

参照官方教程,首先使用 conda 安装依赖:

conda install -y nvidia/label/cuda-12.4.0::cuda-toolkit conda-forge::sparsehash

使用 poetry 环境:

这里由于 SpatialLM 官方的运行要求是 Python3.12,但是现在主流的云平台提供的大多是 3.12、3.10 版本的Python,且预装好了 PyTorch,所以笔者在测试时对依赖文件 pyproject.toml 进行了修改。

[tool.poetry]
name = "spatiallm"
version = "0.0.1"
description = "SpatialLM: Large Language Model for Spatial Understanding"
authors = ["ManyCore Research Team"]
license = "Llama3.2"
readme = "README.md"

[tool.poetry.dependencies]
python = ">=3.10,<3.13"
transformers = ">=4.41.2,<=4.46.1"
safetensors = "^0.4.5"
pandas = "^2.2.3"
einops = "^0.8.1"
numpy = "^1.26"
scipy = "^1.15.2"
scikit-learn = "^1.6.1"
toml = "^0.10.2"
tokenizers = ">=0.19.0,<0.20.4"
huggingface_hub = ">=0.25.0"
rerun-sdk = ">=0.21.0"
shapely = "^2.0.7"
bbox = "^0.9.4"
terminaltables = "^3.1.10"
open3d = "^0.19.0"
nvidia-cudnn-cu12 = "*"
nvidia-nccl-cu12 = "*"
poethepoet = {extras = ["poetry-plugin"], version = "^0.33.1"}
addict = "^2.4.0"

[tool.poe.tasks]
install-torchsparse = "pip install git+https://github.com/mit-han-lab/torchsparse.git"

[build-system]
requires = [






请到「今天看啥」查看全文