การดำเนินการอย่างเป็นทางการของ Vision-Language Interpreter (ViLaIn) ดูเอกสารของเราสำหรับรายละเอียดเพิ่มเติม
การใช้งานนี้ต้องใช้ Python>=3.10
และ torch>=2.0.0
หากต้องการติดตั้ง PyTorch โปรดปฏิบัติตามคำแนะนำใน https://pytorch.org/
ติดตั้งแบบรวดเร็วและ VAL ตามคำแนะนำในการสร้าง หลังจากการติดตั้ง ให้คัดลอกไบนารี validate
ภายใต้ไดเร็กทอรี downward
ติดตั้ง Grounding 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}
}