Project Icon

alfred

视觉语言导航家庭任务智能代理基准

ALFRED是一个用于训练和评估智能代理的基准数据集,模拟家庭环境中的日常任务。它结合自然语言指令和第一人称视觉信息,包含长序列操作和不可逆状态变化,更贴近真实场景。项目提供数据集、代码和工具,支持视觉语言导航和任务完成系统的研发。ALFRED还维护公开排行榜,便于研究人员比较不同模型的性能。

ALFRED

日常任务中解释基于场景指令的基准测试
Mohit Shridhar, Jesse Thomason, Daniel Gordon, Yonatan Bisk,
Winson Han, Roozbeh Mottaghi, Luke Zettlemoyer, Dieter Fox
CVPR 2020

ALFREDAction Learning From Realistic Environments and Directives,从真实环境和指令中学习行动)是一个新的基准测试,用于学习从自然语言指令和自我中心视觉到家庭任务的动作序列的映射。我们包含了具有不可逆状态变化的长期组合推演,以缩小研究基准与真实世界应用之间的差距。

获取最新更新,请访问:askforalfred.com

**还有什么?**查看ALFWorld – ALFRED场景的交互式TextWorld环境!

快速开始

克隆仓库:

$ git clone https://github.com/askforalfred/alfred.git alfred
$ export ALFRED_ROOT=$(pwd)/alfred

安装依赖:

$ virtualenv -p $(which python3) --system-site-packages alfred_env # 或使用您喜欢的其他包管理器
$ source alfred_env/bin/activate

$ cd $ALFRED_ROOT
$ pip install --upgrade pip
$ pip install -r requirements.txt

下载轨迹JSON和Resnet特征(约17GB):

$ cd $ALFRED_ROOT/data
$ sh download_data.sh json_feat

训练模型:

$ cd $ALFRED_ROOT
$ python models/train/train_seq2seq.py --data data/json_feat_2.1.0 --model seq2seq_im_mask --dout exp/model:{model},name:pm_and_subgoals_01 --splits data/splits/oct21.json --gpu --batch 8 --pm_aux_loss_wt 0.1 --subgoal_aux_loss_wt 0.1

更多信息

  • 数据集:下载完整数据集、文件夹结构、JSON结构。
  • 模型:训练和评估、文件结构、预训练模型。
  • 数据生成:生成、回放检查、数据增强(高分辨率、深度、分割掩码等)。
  • 勘误表:Goto子目标评估的更新数据。
  • THOR 2.1.0 文档:Ai2-THOR 2.1.0版本的弃用文档。
  • 常见问题:常见问题解答。

最先进的模型

优于ALFRED中Seq2Seq基线的开源模型:

面向指令跟随智能体的上下文感知规划和环境感知记忆
Byeonghwi Kim, Jinyeon Kim, Yuyeong Kim, Cheolhong Min, Jonghyun Choi
论文, 代码

用于交互式指令跟随的多级组合推理
Suvaansh Bhambri*, Byeonghwi Kim*, Jonghyun Choi
论文, 代码

具有全局视野的智能体:感知周围环境以进行交互式指令跟随
Byeonghwi Kim, Suvaansh Bhambri, Kunal Pratap Singh, Roozbeh Mottaghi, Jonghyun Choi
论文, 代码

FILM:使用模块化方法跟随语言指令
So Yeon Min, Devendra Singh Chaplot, Pradeep Ravikumar, Yonatan Bisk, Ruslan Salakhutdinov
论文, 代码

用于高级自然语言指令执行的持久空间语义表示
Valts Blukis, Chris Paxton, Dieter Fox, Animesh Garg, Yoav Artzi
论文, 代码

使用统一Transformer和自我监控从语言指令中进行分层任务学习
Yichi Zhang, Joyce Chai
论文, 代码

用于视觉和语言导航的情景Transformer
Alexander Pashevich, Cordelia Schmid, Chen Sun
论文, 代码

MOCA:用于交互式指令跟随的模块化以物体为中心的方法
Kunal Pratap Singh*, Suvaansh Bhambri*, Byeonghwi Kim*, Roozbeh Mottaghi, Jonghyun Choi
论文, 代码

Embodied BERT:用于具身、语言引导的视觉任务完成的Transformer模型
Alessandro Suglia, Qiaozi Gao, Jesse Thomason, Govind Thattai, Gaurav Sukhatme
论文, 代码

联系Mohit以在此处添加您的模型。

先决条件

  • Python 3
  • PyTorch 1.1.0
  • Torchvision 0.3.0
  • AI2THOR 2.1.0

查看requirements.txt获取所有先决条件

硬件

测试环境:

  • GPU - GTX 1080 Ti (12GB)
  • CPU - Intel Xeon(四核)
  • 内存 - 16GB
  • 操作系统 - Ubuntu 16.04

排行榜

在测试集(见过和未见过的场景)上运行您的模型,并创建智能体的动作序列转储:

$ cd $ALFRED_ROOT
$ python models/eval/leaderboard.py --model_path <model_path>/model.pth --model models.model.seq2seq_im_mask --data data/json_feat_2.1.0 --gpu --num_threads 5

这将在<model_path>文件夹内创建一个JSON文件,例如task_results_20191218_081448_662435.json。在此处提交此JSON文件:AI2 ALFRED 排行榜。有关规则和限制,请参阅入门页面规则:

  1. 你只能使用 RGB语言指令(目标和步骤说明)作为代理的输入。在测试已见和未见场景时,你不能使用模拟器中的额外深度、掩码、元数据等信息。但在训练过程中,你可以使用额外信息来计算辅助损失等。
  2. 在评估过程中,代理被限制为max_steps=1000max_fails=10。不要在排行榜脚本中更改这些设置;这些修改不会在评估服务器中生效。
  3. :exclamation:不要通过反复提交(使用不同的电子邮件账户)来在测试集上进行优化,从而滥用排行榜。微调应该只在验证集上进行,而不是在排行榜测试集上。
  4. 为提交选择一个易读的模型名称。仅仅"baseline"不够描述性。
  5. 所有提交必须是尝试解决ALFRED数据集的方案。
  6. 在描述中回答以下问题:a. 在测试时你是否使用了来自THOR的额外感知信息作为输入,例如:深度、分割掩码、类别掩码、全景图像等?如果是,请报告它们。b. 你是否在训练或测试中使用了步骤说明与专家动作序列之间的对齐?(默认为否;说明被序列化为单个句子)
  7. 分享你是谁:提供一个团队名称和所属机构。
  8. (可选) 分享你是如何解决的:如果可能,分享关于如何解决任务的信息。如果是公开的,请链接学术论文或代码仓库。
  9. 只提交你自己的工作:你可以在验证集上评估任何模型,但对测试集的评估必须只提交你自己的工作。

Docker 设置

安装 DockerNVIDIA Docker

根据需要修改 docker_build.pydocker_run.py

构建

构建镜像:

$ python scripts/docker_build.py 

运行(本地)

对于本地机器:

$ python scripts/docker_run.py
 
  source ~/alfred_env/bin/activate
  cd $ALFRED_ROOT

运行(无头)

对于无头虚拟机和云实例:

$ python scripts/docker_run.py --headless 

  # 在 docker 内
  tmux new -s startx  # 启动新的 tmux 会话

  # 启动 nvidia-xconfig
  sudo nvidia-xconfig -a --use-display-device=None --virtual=1280x1024

  # 在 DISPLAY 0 上启动 X 服务器
  # 单个 X 服务器应足以支持多个 THOR 实例
  sudo python ~/alfred/scripts/startx.py 0  # 如果出现错误,例如 "(EE) Server terminated with error (1)" 或 "(EE) already running ...",请尝试大于 0 的显示器

  # 从 tmux shell 中分离
  # Ctrl+b 然后 d

  # 激活环境
  source ~/alfred_env/bin/activate
  
  # 设置 DISPLAY 变量以匹配 X 服务器
  export DISPLAY=:0

  # 检查 THOR
  cd $ALFRED_ROOT
  python scripts/check_thor.py

  ###############
  ## (300, 300, 3)
  ## 一切正常!!!

你可能需要根据使用的显示器修改 gen/constants.py 中的 X_DISPLAY

云实例

ALFRED 可以在无头机器上设置,如 AWS 或 Google Cloud 实例。 主要要求是你能访问支持 OpenGL 渲染的 GPU 机器。在 tmux shell 中运行 startx.py:

# 启动 tmux 会话
$ tmux new -s startx 

# 在 DISPLAY 0 上启动 X 服务器
# 单个 X 服务器应足以支持多个 THOR 实例
$ sudo python $ALFRED_ROOT/scripts/startx.py 0  # 如果出现错误,例如 "(EE) Server terminated with error (1)" 或 "(EE) already running ...",请尝试大于 0 的显示器

# 从 tmux shell 中分离
# Ctrl+b 然后 d

# 设置 DISPLAY 变量以匹配 X 服务器
$ export DISPLAY=:0

# 检查 THOR
$ cd $ALFRED_ROOT
$ python scripts/check_thor.py

###############
## (300, 300, 3)
## 一切正常!!!

你可能需要根据使用的显示器修改 gen/constants.py 中的 X_DISPLAY

另外,请查看这个指南: 在 Google Cloud 上设置 THOR

引用

如果你发现数据集或代码有用,请引用:

@inproceedings{ALFRED20,
  title ={{ALFRED: A Benchmark for Interpreting Grounded
           Instructions for Everyday Tasks}},
  author={Mohit Shridhar and Jesse Thomason and Daniel Gordon and Yonatan Bisk and
          Winson Han and Roozbeh Mottaghi and Luke Zettlemoyer and Dieter Fox},
  booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year = {2020},
  url  = {https://arxiv.org/abs/1912.01734}
}

许可证

MIT 许可证

更新日志

2020年10月14日:

  • Goto 子目标评估添加了勘误表

2020年10月28日:

  • 添加了 --use_templated_goals 选项,用于使用模板化目标而不是人工标注的目标描述进行训练。

2020年10月26日:

  • 修复了 Modeling Quickstart 数据集(json_feat_2.1.0.zip)中缺失的停止帧。

2020年4月7日:

  • 更新了下载链接。从 Google Cloud 切换到 AWS。旧的下载链接将被停用。

2020年3月28日:

  • 更新了掩码交互 API,使用 IoU 分数而不是最大像素计数来选择对象。
  • 论文中的结果表将用新数据更新。

联系方式

有问题或疑问?请联系 askforalfred@googlegroups.com

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号