资讯动态

VLN论文复现——VLFM(ICRA最佳论文)

发布时间:2026/10/28 1:18:23 来源:尧图企业网站定制
VLN论文复现——VLFMICRA最佳论文从零开始复现 VLFMVLFM论文依赖于habitat模拟器通过 introduction语言和环境交互Vision and Action完成指定的导航任务。本文主要记录博主如何从零开始复现 VLFM模型。一、habitat模拟器安装Habitat 是一个具体人工智能研究平台包括Habitat-Sim一种灵活的高性能 3D 模拟器具有可配置代理、多个传感器和通用 3D 数据集处理内置对 MatterPort3D、 Gibson和其他数据集的支持。Habitat-Sim 通常与 Habitat-Lab一起使用Habitat-Lab 是一个模块化高级库用于嵌入式 AI 中的端到端实验 - 定义具身 AI 任务例如导航、指令跟踪、问答、训练代理通过模仿或强化学习或者像经典的 SensePlanAct 管道那样根本不学习并使用标准指标对定义的任务的性能进行基准测试。Habitat Lab用于具身智能端到端开发的模块化高级库 - 定义嵌入式人工智能任务例如导航、指令遵循、问答、配置嵌入式代理物理形式、传感器、功能、训练这些代理通过模仿或强化学习或者像经典 SLAM 那样根本不学习并使用标准指标在定义的任务上对他们的表现进行基准测试。综上我们需要下载这两样东西。habitat-sim官方地址https://github.com/facebookresearch/habitat-simhabitat-lab官方地址https://github.com/facebookresearch/habitat-lab本人模拟器的安装都是根据官方给的README.md文件进行的以及结合github上issues。这里我们按照论文要求使用habitat0.2.4版本准备conda环境假设您已经安装了conda让我们准备一个 conda 环境# We require python3.9 and cmake3.14conda create-n habitat python3.9cmake3.14.0conda activate habitat我们按照官方给的进行就行。conda 安装habitat-sim安装带物理引擎withbullet且无头headless的habitat-sim这里本人我是在远程服务器且没有显示器的情况下安装的conda install habitat-sim0.2.4withbullet-c conda-forge-c aihabitat别的情况请按照官方给的案例操作进行我这里只针对远程服务器且没有显示的情况下。下载habitat使用的3D场景数据集3.1 下载测试3D场景python-m habitat_sim.utils.datasets_download--uids habitat_test_scenes--data-path/path/to/data//path/to/data/ 这里替换成你自己的路径。3.2 下载示例对象python-m habitat_sim.utils.datasets_download--uids habitat_example_objects--data-path/path/to/data//path/to/data/ 这里替换成你自己的路径。交互式测试这里我们按照官网进行测试的话大家应该也会遇到这样的错误#C# ./build/viewer if compiling locallyhabitat-viewer/path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb#Python#NOTE: depending on your choice of installation, you may need to add /path/to/habitat-sim to your PYTHONPATH.#e.g. from habitat-sim/ directory run export PYTHONPATH$(pwd)python examples/viewer.py--scene/path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb如果选择的是没有headless进行安装的话EGL: Failed to get EGL display: Success Platform::GlfwApplication::tryCreate(): cannot create a window with core OpenGL context, falling back to compatibility context EGL: Failed to get EGL display: Success Platform::GlfwApplication::tryCreate(): cannot create a window with OpenGL context May I ask how to solve this problem? Could you please tell me that this problem has been bothering me for a long time, thank you very much.如果选择的是有headless进行安装的话when i run the command: python examples/viewer.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb there will be an error: Traceback (most recent call last): File /data/nvme2/dky/lc/habitat-sim/examples/viewer.py, line 19, in from magnum import shaders, text ImportError: cannot import name text from magnum (/XX/miniconda3/envs/habitat/lib/python3.9/site-packages/magnum/init.py)如果遇到这两个问题直接选择忽视就行因为我也没有解决。如果遇到缺包或者版本不对的情况我建议直接把错误复制给deepseek或者chatgpt去解决这里我不会细讲。其他的情况就具体去看habitat-sim官方github上的issues去查阅吧上面安装的是habitat-sim环境之后我们再安装habitat-lab环境在这之前我们先把habitat-sim和habitat-lab的官方代码复制到我们服务器上这里我建议不git clone 直接去官方去下载因为我们要下载对应版本的0.2.4找到0.2.4的版本下载。habitat-sim同理​之后运行下面的指令在服务器上cd habitat-lab pip install -e habitat-lab # install habitat_lab pip install -e habitat-baselines # install habitat_baselines之后你就pip list检查下 habitat-lab habitat-baselines habitat-sim 这三个包是不是0.2.4版本的下载用于测试场景的点目标导航剧集为什么没有下载下载测试3D场景因为上面我们已经下载了python -m habitat_sim.utils.datasets_download --uids habitat_test_pointnav_dataset --data-path data/非交互式测试python examples/example.py打印输出有这个就行就算安装成功Agent acting inside environment. Episode finished after 200 steps.综上我们就实现了habitat-sim和habitat-lab的环境安装了。大的来了二、habitat模拟器安装上面我们已经创建了一个habitat的conda环境所以之后的操作我们都在这个环境下进行。conda_env_namevlfm # 这些操作都不要 conda create -n $conda_env_name python3.9 -y # 这些操作都不要 conda activate $conda_env_name # 这些操作都不要 pip install torch1.12.1cu113 torchvision0.13.1cu113 -f https://download.pytorch.org/whl/torch_stable.html pip install githttps://github.com/IDEA-Research/GroundingDINO.giteeba084341aaa454ce13cb32fa7fd9282fc73a67 salesforce-lavis1.0.2 # git的下载按照我上面clash的配置就能正常下载安装完上面的依赖库之后我们pip list就能看到groundingdino这个版本号0.1.0如果您正在使用habitat并正在进行模拟实验请使用以下命令将此repo安装到您的环境中cd vlfm # 先进入到vlfm这个目录里 pip install -e . # 这个指令其实就是运行setup.py文件去下载相对应的依赖这里为什么我运行**pip install -e .**没有和官方的一样因为我们前面已经安装好了habitat环境。这个是pyproject.toml正确配置的注意在下载vlfm的环境依赖时也要实时开着clash因为他也会下载一些git来的项目做完上述操作就执行下面git clone gitgithub.com:WongKinYiu/yolov7.git有些你没有的文件是因为我这个是已经运行完成之后的配置了你只需要关注有没有git clone yolov7这个项目下来到vlfm这个目录里。下载HM3D数据集了首先安装时设置以下变量不需要放入.bashrc中MATTERPORT_TOKEN_IDFILL IN FROM YOUR ACCOUNT INFO IN MATTERPORT # 需要你去MATTERPORT官网去申请 MATTERPORT_TOKEN_SECRETFILL IN FROM YOUR ACCOUNT INFO IN MATTERPORT # 需要你去MATTERPORT官网去申请 DATA_DIR/path/to/vlfm/data 你保存数据集的文件路径这个只是过渡用的 # Link to the HM3D ObjectNav episodes dataset, listed here: # https://github.com/facebookresearch/habitat-lab/blob/main/DATASETS.md#task-datasets # From the above page, locate the link to the HM3D ObjectNav dataset. # Verify that it is the same as the next two lines. HM3D_OBJECTNAVhttps://dl.fbaipublicfiles.com/habitat/data/datasets/objectnav/hm3d/v1/objectnav_hm3d_v1.zip这里我直接把我自己给你们也行MATTERPORT_TOKEN_ID 77107088c97315a0MATTERPORT_TOKEN_SECRETcaa9f0e19d6dac735b988215198d93c3# Download HM3D 3D scans (scenes_dataset) python -m habitat_sim.utils.datasets_download \ --username $MATTERPORT_TOKEN_ID --password $MATTERPORT_TOKEN_SECRET \ --uids hm3d_train_v0.2 \ --data-path $DATA_DIR python -m habitat_sim.utils.datasets_download \ --username $MATTERPORT_TOKEN_ID --password $MATTERPORT_TOKEN_SECRET \ --uids hm3d_val_v0.2 \ --data-path $DATA_DIR # Download HM3D ObjectNav dataset episodes wget $HM3D_OBJECTNAV unzip objectnav_hm3d_v1.zip mkdir -p $DATA_DIR/datasets/objectnav/hm3d # 注意更改自己文件目录 我的是保存到 vlfm/data下面 mv objectnav_hm3d_v1 $DATA_DIR/datasets/objectnav/hm3d/v1 # 注意更改自己文件目录 我的是保存到 vlfm/data下面 rm objectnav_hm3d_v1.zipMobileSAM、GroundingDINO 和 PointNav 的权重必须保存到此data/目录中。权重可从以下链接下载mobile_sam.pt: https://github.com/ChaoningZhang/MobileSAMgroundingdino_swint_ogc.pthhttps://github.com/IDEA-Research/GroundingDINOyolov7-e6e.pthttps://github.com/WongKinYiu/yolov7pointnav_weights.pth包含在数据子目录中这个就自己下吧路径都对。最终结果和我上面的图片一致就行上述就是完成了数据集的下载正常不会遇到问题至少我没有。要运行评估必须先在后台加载各种模型。只需运行以下命令即可完成一次./scripts/launch_vlm_servers.sh您可能需要chmod x先运行此文件。此命令将创建一个 tmux 会话该会话将开始加载用于 VLFM 的各种模型并通过 提供服务flask。完成后请务必终止 tmux 会话以释放您的 GPU。你在运行这个指令后也会下载很多外网的项目依赖还是要挂着clash进行就可以。注意这里可能会遇到这个问题系统中缺少GLIBCXX_3.4.29版本的 C 标准库 (libstdc.so.6)导致无法加载kiwisolver模块matplotlib的依赖项。# 先运行这个查找你有没有 C 标准库 find /data/home/2024/zhanglongjia/anaconda3 -name libstdc.so.6* # 之后运行这个看你有没有GLIBCXX_3.4.29 strings /data/home/2024/zhanglongjia/anaconda3/envs/habitat/lib/libstdc.so.6 | grep GLIBCXX这里可以看到我的系统里是有的至于你们系统有没有我就不知道了我觉得系统本身就有只是没有export出去系统环境中没有所以我们执行这个就行export LD_LIBRARY_PATH/data/home/2024/zhanglongjia/anaconda3/envs/habitat/lib之后运行./scripts/launch_vlm_servers.sh就能成功了。其余的问题都是下载的问题你正确配置好clash就没问题。运行以下命令在 HM3D 数据集上进行评估python -m vlfm.run \ habitat_baselines.evaluateTrue \ habitat_baselines.eval.video_option[disk]运行这个指令就能在headless下保存运行结果的视频了下面是我跑实验成功的截图只是评估

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑