Zirui Wang 1, 3 · Zhizhou Sha 2, 3 · Zheng Ding 3 · Yilin Wang 2, 3 · Zhuowen Tu 3
1 Принстонский университет · 2 Университета Цинхуа · 3 Университет Калифорнии, Сан -Диего
CVPR 2024
Проект выполнен, в то время как Зируи Ван, Чжижоу Ша и Йилин Ван стажировались в Калифорнийском университете в Сан -Диего.
Если вы используете наш метод и/или модель для своего исследовательского проекта, мы рады предоставить перекрестные ссылки здесь, в обновлениях. :)
[04/04/2024] Наша методология обучения включена в COMAT, который показывает усиленные задания атрибута текста к изображению.
[26.02.2024] Tokencompose принимается в CVPR 2024!
[20.02.2024] Tokencompose используется в качестве базовой модели из Realcompo Paper для повышения композиции.
Стабильная диффузионная модель, созданная с терминами согласованности на уровне токена для улучшенного состава экземпляров и фотореализма с несколькими категориями .

| Метод | Многокатегорий экземпляра | Фотореализм | Эффективность | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Точность объекта | Коко | ADE20K | Фид (Коко) | Фид (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 |
| Tokencompose (наш) | 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-Net на нашей Manetuned U-Net в подключаемом манере. Мы предоставляем демо -ноутбук 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" )Смотрите Multicen для деталей.
| Метод | Коко | 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Затем, чтобы запустить Tokencompose, используйте следующую команду:
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 }
}