
Matterport3DSimulator 是一个专门用于视觉语言导航(Visual Language Navigation, VLN)任务研究的仿真平台,它提供了丰富的三维场景和物理交互功能。然而,由于其安装过程的复杂性以及所需数据集的庞大,这为初学者设置了较高的使用门槛。
Docker 是一个开源的容器化平台,它能够简化应用程序及其依赖环境的打包和运行过程,从而在不同系统上实现 Matterport3DSimulator 的快速部署和体验。本文旨在介绍如何利用 Docker 快速部署 Matterport3DSimulator,以便用户能够直观地体验该平台,并帮助初学者在 VLN 领域建立信心。
以下是使用Docker快速体验Matterport3DSimulator的步骤:
0. 准备一台Ubuntu系统的电脑或者虚拟机
(如果Ubuntu服务器在远程,需要使用Mobaxterm远程登录,并开放6080端口。)
1. 安装Docker
首先,你需要在你的计算机上安装 Docker。根据你的操作系统,执行以下命令:
sudo apt-get update
sudo apt-get install -y docker.io
使用docker命令时,如提示权限不足,需要用sudo,则执行以下命令:
sudo groupadd docker # 这一步如报错可忽略
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
安装完成后,使用以下命令验证是否安装成功:
# 显示当前正在运行的容器
docker ps

2. 拉取 Matterport3DSimulator的Docker镜像
由于官方提供的镜像,还需要执行很多操作,例如数据处理、程序编译等,且可视化比较麻烦,为了简化这些步骤,我们提供了一个开箱即用的Docker镜像,方便大家一键体验。
打开终端或命令提示符,输入以下命令来拉取镜像:
docker pull hccz95/mattersim:webvnc
PS: 如果由于网络问题无法拉去,可以使用我们的阿里云镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/hccz95/mattersim:webvnc
docker tag registry.cn-hangzhou.aliyuncs.com/hccz95/mattersim:webvnc hccz95/mattersim:webvnc
查看是否拉取成功
docker images
如果能够看见hccz95/mattersim:webvnc
,则说明拉取成功:

3. 运行 Matterport3DSimulator 容器
拉取完镜像后,输入以下命令来启动容器:
docker run --rm -p 6080:80 hccz95/mattersim:webvnc
这将会启动一个容器,并将容器内的 80 端口映射到宿主机的 6080 端口。
4. 访问仿真平台
打开你的浏览器,访问:
http://localhost:6080
你应该会看到操作系统的界面。

5. 体验仿真平台
在左下角打开系统终端

进入Matterport3DSimulator目录并执行C++ Demo:
cd /root/mount/Matterport3DSimulator
./build/mattersim_main
画面如图:

C++ demo窗口会展示每个episode的动画:

随后执行Python Demo:
python3 src/driver/driver.py
画面如图:

选中Python RGB窗口,将输入法切换到英文输入模式。你可以体验人机交互操作:
- 使用"W"、"A"、"S"、"D"按键控制画面的上下左右移动。

- 画面出现"1"、"2"等数字时,直接用数字按键选择相应数字控制画面移动。

注意事项
本教程仅用于快速体验Matterport3DSimulator,镜像中包含的数据集有限,也没有使用GPU进行加速,如需要在研究或者工程中使用Matterport3DSimulator,请期待我们后续文章。
总结
利用 Docker 技术,用户能够迅速部署 Matterport3DSimulator 并进行体验,无需面对环境配置和依赖性安装的挑战。这对于初学者和研究人员而言,无疑是一个极具便利性的工具。
本文旨在为读者提供指导和帮助。在实践操作过程中,若遇到任何疑问或困难,欢迎在文章下方的评论区提出。
