Bilel Benjdira, Anis Koubaa dan Anas M. Ali
Robotika dan Internet Things Lab (Riotu Lab), Universitas Pangeran Sultan, Arab Saudi
Terinspirasi oleh Rosgpt. Kedua proyek bertujuan untuk menjembatani kesenjangan antara robotika, pemahaman bahasa alami, dan analisis gambar.
Kolaborator yang ingin berpartisipasi dalam proyek ini, sangat disambut.
Demonstrasi video ilustratif ROSGPT_VISION disediakan:
ROSGPT_VISION menawarkan platform terpadu yang memungkinkan robot memahami, menafsirkan, dan berinteraksi dengan data visual melalui bahasa alami. Kerangka kerja ini memanfaatkan model bahasa canggih, termasuk LLAVA, Minigpt-4, dan Keterangan-Apa, untuk memfasilitasi penalaran lanjutan tentang data gambar. Langchain digunakan untuk penyesuaian petunjuk yang mudah. Implementasi yang disediakan termasuk Aplikasi Carmate , sistem pemantauan dan bantuan pengemudi yang dirancang untuk memastikan pengalaman berkendara yang aman dan efisien.
** Untuk informasi lebih lanjut, kunjungi
Carmate adalah aplikasi lengkap untuk memantau perilaku driver yang dikembangkan hanya dengan mengatur dua petunjuk dalam file YAML. Ini secara otomatis menganalisis video input menggunakan prompt visual, menganalisis apa yang harus dilakukan dengan menggunakan prompt LLM, dan memberikan peringatan instan kepada driver saat diperlukan.
Ini adalah prompt yang digunakan untuk mengembangkan aplikasi, tanpa perlu kode tambahan:
Prompt visual:
Visual prompt: "Describe the driver’s current level of focus
on driving based on the visual cues, Answer with one short sentence."
Prompt LLM:
LLM prompt:"Consider the following ontology: You must write your Reply
with one short sentence. Behave as a carmate that surveys the driver
and gives him advice and instruction to drive safely. You will be given
human language prompts describing an image. Your task is to provide
appropriate instructions to the driver based on the description."
Kita dapat melihat tiga contoh skenario, dapatkan selama mengemudi:
Kita dapat melihat di dalam kotak atas deskripsi yang dihasilkan oleh modul Image Semantics untuk gambar input menggunakan prompt visual. Sementara itu, kotak kedua menghasilkan peringatan yang harus diberikan kepada pengemudi menggunakan prompt LLM.
1. Mempersiapkan kode dan lingkungan
Git mengkloning repositori kami, menciptakan lingkungan python dan atiate melalui perintah berikut
git clone https://github.com/bilel-bj/ROSGPT_Vision.git
cd ROSGPT_Vision
git clone https://github.com/Vision-CAIR/MiniGPT-4.git
git clone https://github.com/haotian-liu/LLaVA.git
conda env create -f environment.yml
conda activate ROSGPT_Vision
2. Pasang dependensi yang diperlukan
Anda dapat menjalankan Image_semantics.py dengan menginstal semua dependensi yang diperlukan dari LLAVA, MINIGPT-4 dan Caption-Anything.
Pastikan pemasangan semua dependensi yang diperlukan untuk ROS2.
YAML berisi 6 bagian utama parameter konfigurasi:
Task_name : Bidang ini menentukan nama tugas yang dikonfigurasi oleh sistem ROS.
ROSGPT_VISION_CAMERA_NODE : Bagian ini berisi konfigurasi untuk rosgpt_vision_camera_node.
Image_description_method : Bidang ini menentukan metode yang digunakan oleh node untuk menghasilkan deskripsi dari gambar. Ini bisa menjadi salah satu metode yang saat ini dikembangkan: MiniGpt4, LLAVA, atau SAM. Konfigurasi yang diperlukan untuk semua orang di antaranya diletakkan secara terpisah di akhir file ini.
Vision_prompt : Bidang ini menentukan prompt yang digunakan untuk memandu proses deskripsi gambar.
Output_video : Bidang ini menentukan jalur atau nama tempat menyimpan file video output.
Gpt_consultation_node : Bagian ini berisi konfigurasi untuk gpt_consultation_node.
LLM_PROMPT : Bidang ini menentukan prompt yang digunakan untuk memandu model bahasa.
GPT_TEMPERATURE : Bidang ini menentukan parameter suhu untuk model GPT, yang mengontrol keacakan output model.
Minigpt4_parameters : Bagian ini berisi konfigurasi untuk model minigpt4. Itu harus diatur dengan jelas jika model digunakan dalam tugas ini, jika tidak itu bisa kosong.
Konfigurasi : Bidang ini menentukan jalur untuk file konfigurasi minigpt4.
suhu_minigpt4 : Bidang ini menentukan parameter suhu untuk model minigpt4.
llava_parameters : Bagian ini berisi konfigurasi untuk model LLAVA (jika digunakan).
SAM_PARAMETER : Bagian ini berisi konfigurasi untuk model SAM.
colcon build --packages-select rosgpt_vision
source install/setup.bash
python3 src/rosgpt_vision/rosgpt_vision/rosgpt_vision_node_web_cam.py
python3 src/rosgpt_vision/rosgpt_vision/ROSGPT_Vision_Camera_Node.py /home/anas/ros2_ws/src/rosgpt_vision/rosgpt_vision/cfg/driver_phone_usage.yaml
colcon build --packages-select rosgpt_vision
source install/setup.bash
python3 src/rosgpt_vision/rosgpt_vision/ROSGPT_Vision_GPT_Consultation_Node.py /home/anas/ros2_ws/src/rosgpt_vision/rosgpt_vision/cfg/driver_phone_usage.yaml
bash ros2 topic echo /Image_Description
bash ros2 topic echo /GPT_Consultation
@misc{benjdira2023rosgptvision,
title={ROSGPT_Vision: Commanding Robots Using Only Language Models' Prompts},
author={Bilel Benjdira and Anis Koubaa and Anas M. Ali},
year={2023},
eprint={2308.11236},
archivePrefix={arXiv},
primaryClass={cs.RO}
}
Proyek ini dilisensikan di bawah Lisensi Internasional Atribusi Creative Commons-nonkomersial 4.0. Anda bebas menggunakan, berbagi, dan mengadaptasi materi ini untuk tujuan non-komersial, selama Anda memberikan atribusi kepada penulis asli dan sumbernya.
Kode-kode tersebut didasarkan pada rosgpt, llava, minigpt-4, caption-anything dan sam. Tolong ikuti lisensi mereka juga. Terima kasih atas pekerjaan luar biasa mereka.
Karena proyek ini masih dalam proses, kontribusi dipersilakan! Untuk berkontribusi, silakan ikuti langkah -langkah ini:
Sebelum mengirimkan permintaan tarik Anda, harap pastikan bahwa perubahan Anda tidak merusak build dan mematuhi gaya pengkodean proyek.
Untuk pertanyaan atau saran apa pun, buka masalah pada pelacak masalah GitHub.