Zirui Wang 1 ، 3 · Zhizhou Sha 2 ، 3 · Zheng Ding 3 · Yilin Wang 2 ، 3 · Zhuowen Tu
1 جامعة برينستون · 2 جامعة تسينغهوا · 3 جامعة كاليفورنيا ، سان دييغو
CVPR 2024
تم تنفيذ المشروع أثناء تدريب Zirui Wang و Zhizhou Sha و Yilin Wang في جامعة كاليفورنيا في سان دييغو.
إذا كنت تستخدم طريقتنا و/أو نموذجنا لمشروع البحث الخاص بك ، يسعدنا تقديم المرجع المتبادل هنا في التحديثات. سائدا
[04/04/2024] تم دمج منهجية التدريب الخاصة بنا في غيبوبة مما يوضح مهام سمة النص المحسنة.
[02/26/2024] يتم قبول tokencormose في CVPR 2024!
[02/20/2024] يتم استخدام tokencormose كنموذج أساسي من ورقة Realcompo لتعزيز التكوين.
نموذج انتشار مستقر مع مصطلحات الاتساق على مستوى الرمز المميز لتكوين مثيل متعدد الفئات محسّن والواقعية .

| طريقة | تكوين مثيل متعدد الفئات | الواقعية | كفاءة | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| دقة الكائن | كوكو | ADE20K | FID (COCO) | Fid (Flickr30k) | كمون | |||||||
| Mg2 | Mg3 | Mg4 | Mg5 | Mg2 | Mg3 | Mg4 | Mg5 | |||||
| SD 1.4 | 29.86 | 90.72 1.33 | 50.74 0.89 | 11.68 0.45 | 0.88 0.21 | 89.81 0.40 | 53.96 1.14 | 16.52 1.13 | 1.89 0.34 | 20.88 | 71.46 | 7.54 0.17 |
| قابلية للتأليف | 27.83 | 63.33 0.59 | 21.87 1.01 | 3.25 0.45 | 0.23 0.18 | 69.61 0.99 | 29.96 0.84 | 6.89 0.38 | 0.73 0.22 | - | 75.57 | 13.81 0.15 |
| تَخطِيط | 43.59 | 93.22 0.69 | 60.15 1.58 | 19.49 0.88 | 2.27 0.44 | 96.05 0.34 | 67.83 0.90 | 21.93 1.34 | 2.35 0.41 | - | 74.00 | 18.89 0.20 |
| منظم | 29.64 | 90.40 1.06 | 48.64 1.32 | 10.71 0.92 | 0.68 0.25 | 89.25 0.72 | 53.05 1.20 | 15.76 0.86 | 1.74 0.49 | 21.13 | 71.68 | 7.74 0.17 |
| ATTN-EXCT | 45.13 | 93.64 0.76 | 65.10 1.24 | 28.01 0.90 | 6.01 0.61 | 91.74 0.49 | 62.51 0.94 | 26.12 0.78 | 5.89 0.40 | - | 71.68 | 25.43 4.89 |
| Tokencormose (لنا) | 52.15 | 98.08 0.40 | 76.16 1.04 | 28.81 0.95 | 3.28 0.48 | 97.75 0.34 | 76.93 1.09 | 33.92 1.47 | 6.21 0.62 | 20.19 | 71.13 | 7.56 0.14 |
| نسخة انتشار مستقر | نقطة التفتيش 1 | نقطة التفتيش 2 |
|---|---|---|
| v1.4 | tokencompose_SD14_A | tokencompose_SD14_B |
| v2.1 | tokencompose_sd21_a | tokencompose_SD21_B |
لا تحتوي نماذجنا التي تم تحريكها على أي وحدات إضافية ويمكن استخدامها مباشرة في مكتبة نموذج نشر قياسية (على سبيل المثال ، نشرات Huggingface) عن طريق استبدال الشبكة U المسبق مع شبكة U الخاصة بنا بطريقة توصيل وتشغيل. نحن نقدم دفتر Noteber Jupyter التجريبي الذي يستخدم نقطة تفتيش النموذج لدينا لإنشاء الصور.
يمكنك أيضًا استخدام الكود التالي لتنزيل نقاط التفتيش الخاصة بنا وإنشاء الصور:
import torch
from diffusers import StableDiffusionPipeline
model_id = "mlpc-lab/TokenCompose_SD14_A"
device = "cuda"
pipe = StableDiffusionPipeline . from_pretrained ( model_id , torch_dtype = torch . float32 )
pipe = pipe . to ( device )
prompt = "A cat and a wine glass"
image = pipe ( prompt ). images [ 0 ]
image . save ( "cat_and_wine_glass.png" )انظر Multigen للحصول على التفاصيل.
| طريقة | كوكو | ADE20K | ||||||
|---|---|---|---|---|---|---|---|---|
| Mg2 | Mg3 | Mg4 | Mg5 | Mg2 | Mg3 | Mg4 | Mg5 | |
| SD 1.4 | 90.72 1.33 | 50.74 0.89 | 11.68 0.45 | 0.88 0.21 | 89.81 0.40 | 53.96 1.14 | 16.52 1.13 | 1.89 0.34 |
| قابلية للتأليف | 63.33 0.59 | 21.87 1.01 | 3.25 0.45 | 0.23 0.18 | 69.61 0.99 | 29.96 0.84 | 6.89 0.38 | 0.73 0.22 |
| تَخطِيط | 93.22 0.69 | 60.15 1.58 | 19.49 0.88 | 2.27 0.44 | 96.05 0.34 | 67.83 0.90 | 21.93 1.34 | 2.35 0.41 |
| منظم | 90.40 1.06 | 48.64 1.32 | 10.71 0.92 | 0.68 0.25 | 89.25 0.72 | 53.05 1.20 | 15.76 0.86 | 1.74 0.49 |
| ATTN-EXCT | 93.64 0.76 | 65.10 1.24 | 28.01 0.90 | 6.01 0.61 | 91.74 0.49 | 62.51 0.94 | 26.12 0.78 | 5.89 0.40 |
| لنا | 98.08 0.40 | 76.16 1.04 | 28.81 0.95 | 3.28 0.48 | 97.75 0.34 | 76.93 1.09 | 33.92 1.47 | 6.21 0.62 |
بالنسبة لأولئك الذين يرغبون في استخدام قاعدة الشفرة الخاصة بنا لتدريب نماذج الانتشار الخاصة بك بأهداف على مستوى الرمز المميز ، اتبع الإرشادات أدناه:
conda create -n TokenCompose python=3.8.5
conda activate TokenCompose
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
pip install -r requirements.txtلقد تحققنا من إعداد البيئة باستخدام إصدارات الحزمة المحددة هذه ، لكننا نتوقع أن يعمل أيضًا مع إصدارات أحدث أيضًا!
إذا كنت ترغب في استخدام بياناتك الخاصة ، فيرجى الرجوع إلى Preprocess_Data للحصول على التفاصيل.
إذا كنت ترغب في استخدام بيانات التدريب الخاصة بنا كأمثلة أو لأغراض البحث ، فيرجى اتباع التعليمات أدناه:
cd train/data
# download COCO train2017
wget http://images.cocodataset.org/zips/train2017.zip
unzip train2017.zip
rm train2017.zip
bash coco_data_setup.sh بعد هذه الخطوة ، يجب أن يكون لديك الهيكل التالي ضمن دليل train/data :
train/data/
coco_gsam_img/
train/
000000000142.jpg
000000000370.jpg
...
قم بتنزيل بيانات تجزئة Coco من Google Drive ووضعها ضمن دليل train/data .
بعد هذه الخطوة ، يجب أن يكون لديك الهيكل التالي ضمن دليل train/data :
train/data/
coco_gsam_img/
train/
000000000142.jpg
000000000370.jpg
...
coco_gsam_seg.tar
ثم ، قم بتشغيل الأمر التالي لفك ضغط بيانات التجزئة:
cd train/data
tar -xvf coco_gsam_seg.tar
rm coco_gsam_seg.tar بعد الإعداد ، يجب أن يكون لديك الهيكل التالي ضمن دليل train/data :
train/data/
coco_gsam_img/
train/
000000000142.jpg
000000000370.jpg
...
coco_gsam_seg/
000000000142/
mask_000000000142_bananas.png
mask_000000000142_bread.png
...
000000000370/
mask_000000000370_bananas.png
mask_000000000370_bread.png
...
...
نستخدم Wandb لتسجيل بعض المنحنيات والتصورات. تسجيل الدخول إلى Wandb قبل تشغيل البرامج النصية.
wandb loginثم ، لتشغيل tokencormose ، استخدم الأمر التالي:
cd train
bash train.sh سيتم حفظ النتائج تحت دليل train/results .
يتم إصدار هذا المستودع بموجب ترخيص Apache 2.0.
تم بناء الكود الخاص بنا على الناشرين ، ومرحلة إلى التعبير ، وقناع ، أي شيء على أساس أي شيء ، ومقطع. نشكر جميع هؤلاء المؤلفين على رمزهم المفتوح بشكل جيد ومساهماتهم الكبيرة في المجتمع.
إذا وجدت عملنا مفيدًا ، فيرجى التفكير في:
@InProceedings { Wang2024TokenCompose ,
author = { Wang, Zirui and Sha, Zhizhou and Ding, Zheng and Wang, Yilin and Tu, Zhuowen } ,
title = { TokenCompose: Text-to-Image Diffusion with Token-level Supervision } ,
booktitle = { Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) } ,
month = { June } ,
year = { 2024 } ,
pages = { 8553-8564 }
}