TaskMatrix는 ChatGPT와 일련의 Visual Foundation Model을 연결하여 채팅 중에 이미지를 보내고 받을 수 있도록 합니다.
논문을 참조하세요: Visual ChatGPT: Visual Foundation 모델을 사용한 말하기, 그리기 및 편집
이제 TaskMatrix는 GroundingDINO와 모든 세그먼트를 지원합니다! @jordddan 의 노력에 감사드립니다. 이미지 편집의 경우 먼저 GroundingDINO
사용하여 주어진 텍스트에 따라 안내되는 경계 상자를 찾은 다음 segment-anything
사용하여 관련 마스크를 생성하고 마지막으로 안정적인 확산 인페인팅을 사용하여 마스크를 기반으로 이미지를 편집합니다.
python visual_chatgpt.py --load "Text2Box_cuda:0,Segmenting_cuda:0,Inpainting_cuda:0,ImageCaptioning_cuda:0"
실행합니다.find xxx in the image
거나 segment xxx in the image
찾으라고 말합니다. xxx
객체입니다. TaskMatrix는 감지 또는 분할 결과를 반환합니다!이제 TaskMatrix에서 중국어를 지원할 수 있습니다! 그의 노력에 대해 @Wang-Xiaodong1899 에게 감사드립니다.
TaskMatrix에서 템플릿 아이디어를 제안합니다!
template_model = True
속성을 가진 클래스를 추가하기만 하면 됩니다. InfinityOutPainting
클래스에서 템플릿 예제를 제공한 @ShengmingYin 및 @thebestannie 에게 감사드립니다(다음 gif 참조)
python visual_chatgpt.py --load "Inpainting_cuda:0,ImageCaptioning_cuda:0,VisualQuestionAnswering_cuda:0"
실행합니다.extend the image to 2048x1024
가정해 보겠습니다.InfinityOutPainting
템플릿을 생성함으로써 TaskMatrix는 추가 교육 없이도 기존 ImageCaptioning
, Inpainting
및 VisualQuestionAnswering
기반 모델과의 협업을 통해 이미지를 모든 크기로 원활하게 확장할 수 있습니다.TaskMatrix에는 커뮤니티의 노력이 필요합니다! 새롭고 흥미로운 기능을 추가하는 데 여러분의 기여를 간절히 바랍니다!
한편, ChatGPT(또는 LLM)는 광범위한 주제에 대한 광범위하고 다양한 이해를 제공하는 일반 인터페이스 역할을 합니다. 반면, Foundation Model은 특정 도메인에 대한 깊은 지식을 제공하여 도메인 전문가 역할을 합니다. 일반 지식과 심층 지식을 모두 활용하여 다양한 작업을 처리할 수 있는 AI 구축을 목표로 합니다.
# clone the repo
git clone https://github.com/microsoft/TaskMatrix.git
# Go to directory
cd visual-chatgpt
# create a new environment
conda create -n visgpt python=3.8
# activate the new environment
conda activate visgpt
# prepare the basic environments
pip install -r requirements.txt
pip install git+https://github.com/IDEA-Research/GroundingDINO.git
pip install git+https://github.com/facebookresearch/segment-anything.git
# prepare your private OpenAI key (for Linux)
export OPENAI_API_KEY={Your_Private_Openai_Key}
# prepare your private OpenAI key (for Windows)
set OPENAI_API_KEY={Your_Private_Openai_Key}
# Start TaskMatrix !
# You can specify the GPU/CPU assignment by "--load", the parameter indicates which
# Visual Foundation Model to use and where it will be loaded to
# The model and device are separated by underline '_', the different models are separated by comma ','
# The available Visual Foundation Models can be found in the following table
# For example, if you want to load ImageCaptioning to cpu and Text2Image to cuda:0
# You can use: "ImageCaptioning_cpu,Text2Image_cuda:0"
# Advice for CPU Users
python visual_chatgpt.py --load ImageCaptioning_cpu,Text2Image_cpu
# Advice for 1 Tesla T4 15GB (Google Colab)
python visual_chatgpt.py --load "ImageCaptioning_cuda:0,Text2Image_cuda:0"
# Advice for 4 Tesla V100 32GB
python visual_chatgpt.py --load "Text2Box_cuda:0,Segmenting_cuda:0,
Inpainting_cuda:0,ImageCaptioning_cuda:0,
Text2Image_cuda:1,Image2Canny_cpu,CannyText2Image_cuda:1,
Image2Depth_cpu,DepthText2Image_cuda:1,VisualQuestionAnswering_cuda:2,
InstructPix2Pix_cuda:2,Image2Scribble_cpu,ScribbleText2Image_cuda:2,
SegText2Image_cuda:2,Image2Pose_cpu,PoseText2Image_cuda:2,
Image2Hed_cpu,HedText2Image_cuda:3,Image2Normal_cpu,
NormalText2Image_cuda:3,Image2Line_cpu,LineText2Image_cuda:3"
여기에는 각 시각적 기반 모델의 GPU 메모리 사용량이 나열되어 있으며 원하는 모델을 지정할 수 있습니다.
기초 모델 | GPU 메모리(MB) |
---|---|
이미지편집 | 3981 |
지시Pix2Pix | 2827 |
텍스트2이미지 | 3385 |
이미지캡션 | 1209 |
이미지2캐니 | 0 |
CannyText2이미지 | 3531 |
이미지2라인 | 0 |
LineText2이미지 | 3529 |
Image2Hed | 0 |
HedText2Image | 3529 |
Image2스크리블 | 0 |
낙서텍스트2이미지 | 3531 |
Image2Pose | 0 |
포즈텍스트2이미지 | 3529 |
이미지2세그 | 919 |
세그먼트텍스트2이미지 | 3529 |
이미지2깊이 | 0 |
깊이텍스트2이미지 | 3531 |
이미지2일반 | 0 |
NormalText2이미지 | 3529 |
시각적 질문답변 | 1495 |
우리는 다음 프로젝트의 오픈 소스에 감사드립니다.
포옹 얼굴 LangChain 안정적인 확산 ControlNet InstructPix2Pix CLIPSeg BLIP
TaskMatrix 사용에 도움이 필요하거나 문제가 있는 경우 GitHub 문제를 제출해 주세요.
기타 문의사항은 Chenfei WU([email protected]) 또는 Nan DUAN([email protected])에게 문의하세요.
상표 이 프로젝트에는 프로젝트, 제품 또는 서비스에 대한 상표나 로고가 포함될 수 있습니다. Microsoft 상표 또는 로고의 승인된 사용에는 Microsoft의 상표 및 브랜드 지침이 적용되며 이를 따라야 합니다. 이 프로젝트의 수정된 버전에 Microsoft 상표 또는 로고를 사용하면 혼동을 일으키거나 Microsoft 후원을 암시해서는 안 됩니다. 제3자 상표 또는 로고의 사용에는 해당 제3자의 정책이 적용됩니다.
이 리포지토리의 권장 모델은 Visual ChatGPT: Visual Foundation 모델을 사용한 말하기, 그리기 및 편집에 게시된 논문을 통해 작업 자동화 및 벤치마킹의 개념을 탐색하는 과학 연구에 사용되는 예일 뿐입니다. 사용자는 연구 필요에 따라 이 Repo의 모델을 교체할 수 있습니다. 본 Repo에서 권장 모델을 사용하는 경우 해당 모델의 라이선스를 각각 준수해야 합니다. Microsoft는 귀하가 이 리포지토리를 사용함으로써 발생하는 제3자 권리 침해에 대해 책임을 지지 않습니다. 사용자는 본 저장소에서 발생하는 모든 청구와 관련된 모든 손해, 비용 및 변호사 수임료로부터 Microsoft를 변호하고 면책하며 피해가 없도록 하는 데 동의합니다. 이 저장소가 귀하의 권리를 침해한다고 생각하는 경우 프로젝트 소유자에게 이메일로 알려주십시오.