Bilel Benjdira, Anis Koubaa 및 Anas M. Ali
로봇 공학 및 사물 인터넷 실험실 (Riotu Lab), 프린스 술탄 대학교 사우디 아라비아
Rosgpt에서 영감을 얻었습니다. 두 프로젝트 모두 로봇 공학, 자연어 이해 및 이미지 분석 간의 격차를 해소하는 것을 목표로합니다.
이 프로젝트에 참여하고자하는 공동 작업자는 매우 환영합니다.
rosgpt_vision의 예시적인 비디오 데모가 제공됩니다.
ROSGPT_VISION은 로봇이 자연 언어를 통해 시각적 데이터와 인식, 해석 및 상호 작용할 수있는 통합 플랫폼을 제공합니다. 프레임 워크는 이미지 데이터에 대한 고급 추론을 용이하게하기 위해 LLAVA, MINIGPT-4 및 CAPTON-ANTHING을 포함한 최첨단 언어 모델을 활용합니다. 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 Clone 저장소를 복제하여 파이썬 환경을 만들고 다음 명령을 통해이를 배치하십시오.
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. 필요한 종속성을 설치하십시오
llava, minigpt-4 및 caption-antho에서 필요한 모든 종속성을 설치하여 image_semantics.py를 실행할 수 있습니다.
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의 구성 파일의 경로를 지정합니다.
온도 _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 International License에 따라 라이센스가 부여됩니다. 원래 저자와 소스에 귀속을 제공하는 한 비상업적 목적 으로이 자료를 자유롭게 사용, 공유 및 조정할 수 있습니다.
코드는 Rosgpt, Llava, Minigpt-4, Caption-anthing 및 Sam을 기반으로합니다. 라이센스도 팔로우하십시오. 그들의 멋진 작품에 감사드립니다.
이 프로젝트가 여전히 진행 중이므로 기부금을 환영합니다! 기여하려면 다음 단계를 따르십시오.
풀 요청을 제출하기 전에 변경 사항이 빌드를 중단하지 않고 프로젝트의 코딩 스타일을 준수하지 않도록하십시오.
질문이나 제안이 있으시면 Github 문제 추적기에 대한 문제를 열어주십시오.