Билель Бендждира, Анис Кубаа и Анас М. Али
Robotics and Internet of Things Lab (Riotu Lab), Университет принца Султана, Саудовская Аравия
Вдохновленный Rosgpt. Оба проекта направлены на то, чтобы преодолеть разрыв между робототехникой, пониманием естественного языка и анализом изображений.
Сотрудники, которые хотят участвовать в этом проекте, очень приветствуются.
Иллюстративная видео демонстрация rosgpt_vision представлена:
ROSGPT_Vision предлагает унифицированную платформу, которая позволяет роботам воспринимать, интерпретировать и взаимодействовать с визуальными данными через естественный язык. В рамках используются самые современные языковые модели, включая Llava, Minigpt-4 и заголовок, для облегчения расширенных рассуждений о данных изображения. Langchain используется для легкой настройки подсказок. Предоставленная реализация включает в себя приложение Carmate , систему мониторинга водителя и помощи, предназначенную для обеспечения безопасного и эффективного опыта вождения.
** Для получения дополнительной информации перейти к
Carmate - это полное приложение для мониторинга поведения драйверов, которое было разработано, просто установив два подсказки в файле YAML. Он автоматически анализирует входное видео, используя визуальную подсказку, анализирует то, что следует сделать, используя подсказку LLM, и дает мгновенное оповещение для драйвера, когда это необходимо.
Это подсказки, используемые для разработки приложения, без необходимости дополнительного кода:
Визуальная подсказка:
Visual prompt: "Describe the driver’s current level of focus
on driving based on the visual cues, Answer with one short sentence."
Подсказка 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."
Мы можем увидеть три примера сценариев, получили во время вождения:
В верхнем поле мы можем увидеть описание, сгенерированное модулем семантики изображения для входного изображения, используя визуальную подсказку. Между тем, вторая коробка генерирует предупреждение, которое следует давать водителю, используя подсказку LLM.
1. Подготовьте код и среду
GIT клонировать наш репозиторий, создавая среду Python и атавируйте ее по следующей команде
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. Установите требуемые зависимости
Вы можете запустить image_semantics.py, установив все необходимые зависимости от Llava, Minigpt-4 и подписки.
Убедитесь, что установка всех необходимых зависимостей для ROS2.
YAML содержит 6 основных разделов параметров конфигураций:
Task_name : в этом поле указывается имя задачи, которую настраивается система ROS для выполнения.
Rosgpt_vision_camera_node : этот раздел содержит конфигурацию для rosgpt_vision_camera_node.
Image_description_method : это поле указывает метод, используемый узлом для генерации описаний из изображений. Это может быть один из в настоящее время разработанных методов: minigpt4, llava или sam. Конфигурации, необходимые для каждого из них, помещаются отдельно в конце этого файла.
Vision_prompt : в этом поле указывается приглашение, используемое для руководства процессом описания изображения.
Output_video : Это поле указывает путь или имя, где сохранить выходной видеофайл.
Gpt_consultation_node : этот раздел содержит конфигурацию для GPT_Consultation_Node.
LLM_PROMPT : в этом поле указывается приглашение, используемое для руководства языковой моделью.
GPT_TEMPERATURE : Это поле указывает параметр температуры для модели GPT, который управляет случайностью выхода модели.
Minigpt4_parameters : этот раздел содержит конфигурацию для модели Minigpt4. Это должно быть четко установлено, если модель используется в этой задаче, в противном случае она может быть пустой.
Конфигурация : это поле указывает путь для файла конфигурации Minigpt4.
Demport_minigpt4 : Это поле указывает параметр температуры для модели Minigpt4.
llava_parameters : этот раздел содержит конфигурацию для модели Llava (если используется).
SAM_PARAMETERS : В этом разделе содержится конфигурация для модели 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}
}
Этот проект лицензирован по международной лицензии Creative Commons Attribution-Noncommercial 4.0. Вы можете свободно использовать, делиться и адаптировать этот материал для некоммерческих целей, если вы предоставляете атрибуцию оригинальным авторам и источнику.
Коды основаны на Rosgpt, Llava, Minigpt-4, подготовительном порядке и Sam. Пожалуйста, также следуйте их лицензиям. Спасибо за их потрясающие работы.
Поскольку этот проект все еще находится в стадии разработки, взносы приветствуются! Чтобы внести свой вклад, следуйте этим шагам:
Прежде чем отправить запрос на привлечение, убедитесь, что ваши изменения не нарушают сборку и не придерживаются стиля кодирования проекта.
По любым вопросам или предложениям, пожалуйста, откройте проблему на трекере выпуска GitHub.