魔搭ModelScope社区 04月09日 18:51
杭州六小龙最新开源「空间理解模型」,保姆级教程来了!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

群核科技在GTC 2025大会开源空间理解模型SpatialLM,它能处理多种点云数据,将其转化为结构化表示,4月2日晚有核心作者直播分享技术细节,文章还提供了保姆级部署教程。

🦾SpatialLM是为三维空间理解设计的大语言模型,可生成结构化三维场景理解输出。

💻SpatialLM的工作原理是先进行三维点云重建,再转化为结构化表示并生成场景代码。

🛠️文章提供了SpatialLM的保姆级部署教程,包括环境配置、依赖安装等步骤。

📅4月2日晚8点,SpatialLM核心作者将直播分享项目技术细节。

王泽宇 2025-04-01 20:41 浙江

4月2日晚8点,更有核心作者直播分享SptialLM更多技术细节,来预约!


01

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

模型地址:
1B:
https://modelscope.cn/models/manycore-research/SpatialLM-Llama-1B

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

测试数据集:
https://www.modelscope.cn/datasets/manycore-research/SpatialLM-Testset


4月2日  20:00-21:30 SpatialLM 核心作者将在最新一期 AI模型社 直播分享项目技术细节,欢迎围观线上与作者互动!



02

保姆级部署教程



官方仓库:
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 = ["poetry-core""setuptools""wheel""torch"]build-backend = "poetry.core.masonry.api"

      安装 poetry 依赖:
        pip install poetry && poetry config virtualenvs.create false --localpoetry install

        编译安装 torchsparse,可能需要一些时间:
        TorchSparse是一种基于PyTorch构建的高效稀疏张量处理库,专门用于加速三维稀疏卷积神经网络的训练和推理。
          poe install-torchsparse

          下载官方数据集中的 ply 格式的 3D 点云数据进行测试。
          点云数据(Point Cloud)是一种由大量空间点组成的数据集合,每个点记录了其在三维空间中的位置坐标,通常还包含颜色或反射强度信息,可用于精确描述三维物体或场景的空间结构。
          如果想要使用自己录制的视频,可以参照MASt3R-SLAM进行三维重建。
            huggingface-cli download manycore-research/SpatialLM-Testset pcd/scene0000_00.ply --repo-type dataset --local-dir .

            下载 SpatialLM-Llama-1B 模型,大约需要 2.6GB:
              modelscope download manycore-research/SpatialLM-Llama-1B --local_dir ./manycore-research/SpatialLM-Llama-1B
              模型推理:使用 ply 格式的点云文件生成 txt 格式的用于描述 3D 空间中的实体的文本。
                python inference.py --point_cloud ./pcd/scene0000_00.ply --output scene0000_00.txt --model_path ./manycore-research/SpatialLM-Llama-1B

                将生成的文件合并为用于表示 3D 的文件
                  python visualize.py --point_cloud ./pcd/scene0000_00.ply --layout scene0000_00.txt --save scene0000_00.rrd

                  可视化:如果云平台无法显示,可以拷贝到本地运行,需要安装 rerun-sdk(pip install rerun-sdk)
                    rerun scene0000_00.rrd

                    效果如下:
                    考虑到部分同学配置环境可能会遇到一些问题,我们在AutoDL平台准备了SpatialLM的环境镜像,点击下方链接并直接创建Autodl示例即可。

                    https://www.codewithgpu.com/i/datawhalechina/self-llm/SpatialLM
                    本教程已经在self-llm项目中更新,欢迎来Star🌟!

                    项目地址:
                    https://github.com/datawhalechina/self-llm/tree/master/models/SpatialLM

                    点击阅读原文,即可跳转模型链接~
                    想了解更多SpatialLM工作
                    4月2日  20:00-21:30

                    AI模型社 | 群核科技空间理解模型 SpatialLM,让机器人“看懂”三维世界

                    点预约,不迷路👇 




                    👇点击关注ModelScope公众号获取
                    更多技术信息~


                    阅读原文

                    跳转微信打开

                    Fish AI Reader

                    Fish AI Reader

                    AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

                    FishAI

                    FishAI

                    鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

                    联系邮箱 441953276@qq.com

                    相关标签

                    SpatialLM 三维空间理解 部署教程 技术细节分享
                    相关文章