当前位置: 首页 > news >正文

【机器人】复现 SG-Nav 具身导航 | 零样本对象导航的 在线3D场景图提示

SG-Nav提出了一种新的零样本物体导航框架,用三维场景图来表示观察到的场景。

并设计了一个分层的思路链提示,帮助LLM通过遍历节点和边,根据场景上下文推理目标位置。

本文分享SG-Nav复现和模型推理的过程~

下面是一个查找椅子示例:

1、创建Conda环境

首先创建一个Conda环境,名字为SG_Nav,python版本为3.9

进行SG_Nav环境

conda create -n SG_Nav python==3.9

然后下载代码,进入代码工程:https://github.com/bagh2178/SG-Nav

git clone https://github.com/bagh2178/SG-Nav.git
cd SG-Nav/

2、安装habitat模拟器

我需要安装habitat-sim==0.2.4 和habitat-lab

conda install habitat-sim==0.2.4 -c conda-forge -c aihabitat
cd habitat-lab
pip install -e .

等待安装完成~

用我们的存储库中的替换agent/agent.py已安装的habitat-sim 包tools/agent.py

cd ../
HABITAT_SIM_PATH=$(pip show habitat_sim | grep 'Location:' | awk '{print $2}')
cp tools/agent.py ${HABITAT_SIM_PATH}/habitat_sim/agent/

3、安装pytorch和pytorch3d

先安装 faiss 和pytorch<=1.9

conda install -c pytorch faiss-gpu=1.8.0
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html

等待安装完成~

 再安装其他依赖库和 pytorch3d

pip install -r requirements.txt
pip install "git+https://github.com/facebookresearch/pytorch3d.git"

安装成功打印信息:

  Building wheel for iopath (setup.py) ... doneCreated wheel for iopath: filename=iopath-0.1.10-py3-none-any.whl size=31599 sha256=fe751fc6548263cba1f98191a183c067ae0a992892481d81de1d2a3f6f61b12cStored in directory: /home/lgp/.cache/pip/wheels/c1/13/6d/441d8f2af76ee6d2a3e67eebb1d0c556fefcee0a8b32266a8e
Successfully built pytorch3d iopath
Installing collected packages: portalocker, iopath, pytorch3d
Successfully installed iopath-0.1.10 portalocker-3.1.1 pytorch3d-0.7.8

4、安装segment_anything

执行下面命令进行安装,并下载segment_anything的预训练模型权重

下载好的权重存放在data/models目录中~

cd segment_anything
pip install -e .
cd ../
mkdir -p data/models
wget -O data/models/sam_vit_h_4b8939.pth https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth

打印信息:

(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ 
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ cd segment_anything
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/segment_anything$ pip install -e .
Obtaining file:///home/lgp/2025_project/SG-Nav/segment_anythingPreparing metadata (setup.py) ... done
Installing collected packages: segment_anythingDEPRECATION: Legacy editable install of segment_anything==1.0 from file:///home/lgp/2025_project/SG-Nav/segment_anything (setup.py develop) is deprecated. pip 25.3 will enforce this behaviour change. A possible replacement is to add a pyproject.toml or enable --use-pep517, and use setuptools >= 64. If the resulting installation is not behaving as expected, try using --config-settings editable_mode=compat. Please consult the setuptools documentation for more information. Discussion can be found at https://github.com/pypa/pip/issues/11457Running setup.py develop for segment_anything
Successfully installed segment_anything
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/segment_anything$ cd ../
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ mkdir -p data/models
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ wget -O data/models/sam_vit_h_4b8939.pth https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
--2025-05-13 21:38:09--  https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
正在连接 127.0.0.1:7890... 已连接。
已发出 Proxy 请求,正在等待回应... 200 OK
长度: 2564550879 (2.4G) [binary/octet-stream]
正在保存至: “data/models/sam_vit_h_4b8939.pth”data/models/sam_vit_h 100%[=========================>]   2.39G  71.1MB/s    用时 35s   2025-05-13 21:38:44 (70.0 MB/s) - 已保存 “data/models/sam_vit_h_4b8939.pth” [2564550879/2564550879])(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ 

 5、安装GroundingDINO

执行下面命令进行安装,并下载GroundingDINO的预训练模型权重

cd GroundingDINO
pip install --no-build-isolation -e .
cd ../
wget -O data/models/groundingdino_swint_ogc.pth https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth

6、安装GLIP 

执行下面命令进行安装:

cd GLIP
python setup.py build develop --user
mkdir MODEL
cd MODEL
wget https://huggingface.co/GLIPModel/GLIP/resolve/main/glip_large_model.pth
cd ../../

打印信息:

(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ 
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ cd GLIP
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/GLIP$ python setup.py build develop --user
running build
running build_py
creating build/lib.linux-x86_64-cpython-39/maskrcnn_benchmark
copying maskrcnn_benchmark/__init__.py -> build/lib.linux-x86_64-cpython-39/maskrcnn_benchmark
creating build/lib.linux-x86_64-cpython-39/maskrcnn_benchmark/engine
copying maskrcnn_benchmark/engine/trainer.py -> build/lib.linux-x86_64-cpython-39/maskrcnn_benchmark/engine
copying maskrcnn_benchmark/engine/singlepath_trainer.py -> build/lib.linux-x86_64-cpython-39/maskrcnn_benchmark/engine
....
running build_ext
copying build/lib.linux-x86_64-cpython-39/maskrcnn_benchmark/_C.cpython-39-x86_64-linux-gnu.so -> maskrcnn_benchmark
Creating /home/lgp/.local/lib/python3.9/site-packages/maskrcnn-benchmark.egg-link (link to .)
Adding maskrcnn-benchmark 0.0.0 to easy-install.pth fileInstalled /home/lgp/2025_project/SG-Nav/GLIP
Processing dependencies for maskrcnn-benchmark==0.0.0
Finished processing dependencies for maskrcnn-benchmark==0.0.0
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/GLIP$ 
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/GLIP$ 
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/GLIP$ mkdir MODEL
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/GLIP$ cd MODEL
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/GLIP/MODEL$ wget https://huggingface.co/GLIPModel/GLIP/resolve/main/glip_large_model.pth
--2025-05-13 21:44:07--  https://huggingface.co/GLIPModel/GLIP/resolve/main/glip_large_model.pth
正在连接 127.0.0.1:7890... 已连接。
已发出 Proxy 请求,正在等待回应... 302 Found正在连接 127.0.0.1:7890... 已连接。
已发出 Proxy 请求,正在等待回应... 200 OK
长度: 6896153761 (6.4G) [binary/octet-stream]
正在保存至: “glip_large_model.pth”glip_large_model.pth  100%[=========================>]   6.42G  69.8MB/s    用时 93s   2025-05-13 21:45:41 (70.7 MB/s) - 已保存 “glip_large_model.pth” [6896153761/6896153761])(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/GLIP/MODEL$ 
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav/GLIP/MODEL$ cd ../../
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ 
(SG_Nav) lgp@lgp-MS-7E07:~/2025_project/SG-Nav$ 

7、安装Ollama,配置LLM

执行下面命令进行安装:

curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.2-vision

安装成功打印信息:

8、下载MatterPort3D数据集

下载地址:https://cloud.tsinghua.edu.cn/f/03e0ca1430a344efa72b/?dl=1

数据集的结构概述如下:

MatterPort3D/
├── mp3d/
│   ├── 2azQ1b91cZZ/
│   │   └── 2azQ1b91cZZ.glb
│   ├── 8194nk5LbLH/
│   │   └── 8194nk5LbLH.glb
│   └── ...
└── objectnav/
    └── mp3d/
        └── v1/
            └── val/
                ├── content/
                │   ├── 2azQ1b91cZZ.json.gz
                │   ├── 8194nk5LbLH.json.gz
                │   └── ...
                └── val.json.gz

对应的配置文件:configs/challenge_objectnav2021.local.rgbd.yaml

9、进行模型推理

执行下面命令:

python SG_Nav.py --visualize

运行结果示例:

分享完成~

相关文章推荐:

UniGoal 具身导航 | 通用零样本目标导航 CVPR 2025-CSDN博客

【机器人】复现 UniGoal 具身导航 | 通用零样本目标导航 CVPR 2025-CSDN博客

【机器人】复现 ECoT 具身思维链推理-CSDN博客

http://www.xdnf.cn/news/438769.html

相关文章:

  • ​​开放传神创始人论道AI未来|“广发证券—国信中数人工智能赛道专家交流论坛“落幕
  • MySQL——九、锁
  • 【Linux】Ext系列文件系统
  • 卷积神经网络全连接层详解:特征汇总、FCN替代与性能影响分析
  • SRM电子采购管理系统:Java+Vue,集成供应商管理,实现采购流程数字化与协同优化
  • PyQt5完整指南:从入门到实践
  • 刘强东 “猪猪侠” 营销:重构创始人IP的符号革命|创客匠人热点评述
  • 如何创建自动工作流程拆分Google Drive中的PDF文件
  • iOS视频编码详细步骤(视频编码器,基于 VideoToolbox,支持硬件编码 H264/H265)
  • 深度学习基础知识
  • RK3588 串行解串板,支持8路GMSL相机
  • 嵌入式Linux Qt开发:1、搭建基于ubuntu18.04的Qt开发环境及测试(解决Qt creator输入法问题)
  • python三方库sqlalchemy
  • 【网络协议】TCP、HTTP、MQTT 和 WebSocket 对比
  • 内存虚拟盘(RAMDisk)是什么?
  • Axure设计之轮播图——案例“一图一轮播”
  • 基于策略的强化学习方法之策略梯度(Policy Gradient)详解
  • 如何高效集成MySQL数据到金蝶云星空
  • TAOCMS漏洞代码学习及分析
  • 嵌入式自学第二十一天(5.14)
  • JVM 与云原生的完美融合:引领技术潮流
  • 【SpringBoot实战指南】集成Easy ES
  • OpenCV实现数字水印的相关函数和示例代码
  • QListWedget控件使用指南
  • 50. Pow(x, n)
  • 网络互联技术深度解析:理论、实践与进阶指南
  • stm32之FLASH
  • C++效率掌握之STL库:map set底层剖析及迭代器万字详解
  • 【node】如何把包发布到npm上
  • 3D 数据可视化系统是什么?具体应用在哪方面?