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}
}