TaskMatrix menghubungkan ChatGPT dan serangkaian Model Visual Foundation untuk memungkinkan pengiriman dan penerimaan gambar selama mengobrol.
Lihat makalah kami: Obrolan VisualGPT: Berbicara, Menggambar, dan Mengedit dengan Model Visual Foundation
Sekarang TaskMatrix mendukung GroundingDINO dan mensegmentasikan apa saja! Terima kasih @jordddan atas usahanya. Untuk kasus pengeditan gambar, GroundingDINO
pertama-tama digunakan untuk menemukan kotak pembatas yang dipandu oleh teks tertentu, kemudian segment-anything
digunakan untuk menghasilkan topeng terkait, dan terakhir difusi stabil dalam pengecatan digunakan untuk mengedit gambar berdasarkan topeng.
python visual_chatgpt.py --load "Text2Box_cuda:0,Segmenting_cuda:0,Inpainting_cuda:0,ImageCaptioning_cuda:0"
find xxx in the image
atau segment xxx in the image
. xxx
adalah sebuah objek. TaskMatrix akan mengembalikan hasil deteksi atau segmentasi!Sekarang TaskMatrix dapat mendukung bahasa Mandarin! Terima kasih kepada @Wang-Xiaodong1899 atas usahanya.
Kami mengusulkan ide template di TaskMatrix!
template_model = True
Terima kasih kepada @ShengmingYin dan @thebestannie yang telah memberikan contoh template di kelas InfinityOutPainting
(lihat gif berikut)
python visual_chatgpt.py --load "Inpainting_cuda:0,ImageCaptioning_cuda:0,VisualQuestionAnswering_cuda:0"
extend the image to 2048x1024
ke TaskMatrix!InfinityOutPainting
, TaskMatrix dapat memperluas gambar dengan mulus ke ukuran apa pun melalui kolaborasi dengan model dasar ImageCaptioning
, Inpainting
, dan VisualQuestionAnswering
yang ada, tanpa memerlukan pelatihan tambahan .TaskMatrix membutuhkan upaya komunitas! Kami mendambakan kontribusi Anda untuk menambahkan fitur baru dan menarik!
Di satu sisi, ChatGPT (atau LLM) berfungsi sebagai antarmuka umum yang memberikan pemahaman luas dan beragam tentang berbagai topik. Di sisi lain, Model Fondasi berfungsi sebagai pakar domain dengan memberikan pengetahuan mendalam pada domain tertentu. Dengan memanfaatkan pengetahuan umum dan mendalam , kami bertujuan membangun AI yang mampu menangani berbagai tugas.
# 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"
Di sini kami mencantumkan penggunaan memori GPU dari setiap model landasan visual, Anda dapat menentukan mana yang Anda suka:
Model Fondasi | Memori GPU (MB) |
---|---|
Pengeditan Gambar | 3981 |
InstruksikanPix2Pix | 2827 |
Teks2Gambar | 3385 |
Keterangan Gambar | 1209 |
Gambar 2 Cerdik | 0 |
CannyText2Image | 3531 |
Gambar2Garis | 0 |
LineText2Image | 3529 |
Gambar2Hed | 0 |
Gambar HedText2 | 3529 |
Gambar2Coretan | 0 |
ScribbleText2Image | 3531 |
Gambar2Pose | 0 |
PoseText2Image | 3529 |
Gambar2Seg | 919 |
SegText2Image | 3529 |
Kedalaman Gambar2 | 0 |
KedalamanTeks2Gambar | 3531 |
Gambar2Normal | 0 |
NormalTeks2Gambar | 3529 |
VisualQuestionAnswering | 1495 |
Kami menghargai open source dari proyek-proyek berikut:
Memeluk Wajah LangChain Stabil Difusi ControlNet InstructPix2Pix CLIPSeg BLIP
Untuk bantuan atau masalah dalam menggunakan TaskMatrix, silakan kirimkan masalah GitHub.
Untuk komunikasi lainnya, silakan hubungi Chenfei WU ([email protected]) atau Nan DUAN ([email protected]).
Merek Dagang Proyek ini mungkin berisi merek dagang atau logo untuk proyek, produk, atau layanan. Penggunaan resmi atas merek dagang atau logo Microsoft tunduk dan harus mengikuti Pedoman Merek Dagang & Merek Microsoft. Penggunaan merek dagang atau logo Microsoft dalam versi modifikasi proyek ini tidak boleh menimbulkan kebingungan atau menyiratkan sponsor Microsoft. Segala penggunaan merek dagang atau logo pihak ketiga tunduk pada kebijakan pihak ketiga tersebut.
Model yang direkomendasikan dalam Repo ini hanyalah contoh, digunakan untuk penelitian ilmiah yang mengeksplorasi konsep otomatisasi tugas dan benchmarking dengan makalah yang diterbitkan di Visual ChatGPT: Talking, Drawing, dan Editing with Visual Foundation Models. Pengguna dapat mengganti model di Repo ini sesuai dengan kebutuhan risetnya. Saat menggunakan model yang direkomendasikan di Repo ini, Anda harus mematuhi lisensi masing-masing model tersebut. Microsoft tidak bertanggung jawab atas pelanggaran hak pihak ketiga apa pun yang diakibatkan oleh penggunaan Anda atas repo ini. Pengguna setuju untuk membela, mengganti kerugian, dan membebaskan Microsoft dari dan terhadap segala kerusakan, biaya, dan biaya pengacara sehubungan dengan klaim apa pun yang timbul dari Repo ini. Jika ada yang yakin bahwa Repo ini melanggar hak Anda, harap beri tahu email pemilik proyek.