ViLaIn
1.0.0
Vision-Language Interpreter (ViLaIn) 的正式实现。请参阅我们的论文了解更多详细信息。
此实现需要Python>=3.10
和torch>=2.0.0
。要安装 PyTorch,请按照 https://pytorch.org/ 中的说明进行操作。
按照构建说明安装 fast-downward 和 VAL。安装完成后,将validate
二进制文件复制到downward
目录下。
按照说明安装接地 DINO。
data
包含 PDDL 文件、观察结果和三个领域的指令,我们在论文中将其表示为 ProDG 数据集。该目录还包含annotated_bboxes
中带注释的边界框。目录结构如下:
data
└─domains
└─domain.pddl (A PDDL domain file)
└─problems (PDDL problem files)
└─problem*.pddl
└─observations (Observations for the initial state)
└─problem*.jpg
└─instructions (Linguistic instructions)
└─problem*.txt
└─annotated_bboxes (Annotated bounding boxes)
└─problem*.json
results/reported_results
包含生成的 PDDL 问题以及论文中报告的发现计划。在该目录中,每个域还包含三个子目录:
plain
:没有纠正重新提示的结果refine_once
:通过对plain
问题进行纠正性重新提示得到的结果refine_twice
:对refine_once
中的问题应用纠正性重新提示的结果要检测带有边界框的对象并生成标题,请运行:
export domain=cooking
export grounding_dino_dir=./GroundingDINO
export result_dir=./results/temp/${domain}
python scripts/main.py
--data_dir "./data/${domain}"
--result_dir ${result_dir}
--grounding_dino_dir ${grounding_dino_dir}
--predict_bboxes
此步骤应在 PDDL 问题生成之前完成。
要根据预测的边界框和标题生成 PDDL 问题并查找计划,请运行:
export domain=cooking
export downward_dir=./downward
export result_dir=./results/temp/${domain}
export num_repeat=2
export num_examples=3
python scripts/main.py
--downward_dir ${downward_dir}
--data_dir "./data/${domain}"
--result_dir "${result_dir}"
--num_repeat ${num_repeat}
--num_examples ${num_examples}
--gen_step "plain"
--generate_problem
--find_plan
要评估生成的 PDDL 问题并验证找到的计划,请运行:
export domain=cooking
export downward_dir=./downward
export result_dir=./results/temp/${domain}
export num_repeat=2
python scripts/evaluate.py
--downward_dir ${downward_dir}
--data_dir "./data/${domain}"
--result_dir "${result_dir}"
--num_repeat ${num_repeat}
--gen_step "plain"
要通过纠正性重新提示来优化生成的 PDDL 问题,请运行:
export domain=cooking
export downward_dir=./downward
export result_dir=./results/temp/${domain}
export num_repeat=2
python scripts/main.py
--downward_dir ${downward_dir}
--data_dir "./data/${domain}"
--result_dir "${result_dir}"
--num_repeat ${num_repeat}
--gen_step "refine_once"
--prev_gen_step "plain"
--refine_problem
--use_cot
--find_plan
@misc{shirai2023visionlanguage,
title={Vision-Language Interpreter for Robot Task Planning},
author={Keisuke Shirai and Cristian C. Beltran-Hernandez and Masashi Hamaya and Atsushi Hashimoto and Shohei Tanaka and Kento Kawaharazuka and Kazutoshi Tanaka and Yoshitaka Ushiku and Shinsuke Mori},
year={2023},
eprint={2311.00967},
archivePrefix={arXiv},
primaryClass={cs.RO}
}