CatVTON — это простая и эффективная виртуальная пробная диффузионная модель с 1) облегченной сетью (всего 899,06 млн параметров) , 2) обучением с эффективным использованием параметров (обучаемые 49,57 млн параметров) и 3) упрощенным выводом (< 8 ГБ видеопамяти для разрешения 1024X768) .
Обновления
2024/10/17
: Версия без маски ? CatVTON уже выпущен, попробуйте его в нашей онлайн-демо-версии .
2024/10/13
: Мы создали репозиторий Awesome-Try-On-Models , в котором основное внимание уделяется изображениям, видео и 3D-моделям, опубликованным после 2023 года, с целью дать представление о последних технологических тенденциях. Если вам интересно, не стесняйтесь внести свой вклад или поставить ему оценку ? звезда!
2024/08/13
: Мы локализуем DensePose и SCHP, чтобы избежать определенных проблем с средой.
2024/08/10
: Наши? HuggingFace Space уже доступен! Спасибо за грант от ZeroGPU !
2024/08/09
: Для расчета показателей предоставлен оценочный код .
2024/07/27
: Мы предоставляем код и рабочий процесс для развертывания CatVTON на ComfyUI ?.
2024/07/24
: Наша статья об ArXiv доступна ?!
2024/07/22
: Наш код приложения выпущен, разверните и наслаждайтесь CatVTON на своем компьютере ?!
2024/07/21
: Наш код вывода и веса ? выпущены.
2024/07/11
: Выпущена наша онлайн-демо ?.
Создайте среду conda и требования к установке
conda create -n catvton python==3.9.0 conda active catvtoncd CatVTON-main # или ваш путь к проекту CatVTON dirpip install -r require.txt
Мы изменили основной код, чтобы упростить развертывание CatVTON на ComfyUI. Из-за несовместимости структуры кода мы выпустили эту часть в Releases, которая включает в себя код, помещенный в custom_nodes
ComfyUI, и файлы JSON нашего рабочего процесса.
Чтобы развернуть CatVTON в вашем ComfyUI, выполните следующие действия:
Установите все требования для CatVTON и ComfyUI, см. Руководство по установке CatVTON и Руководство по установке ComfyUI.
Загрузите ComfyUI-CatVTON.zip
и разархивируйте его в папке custom_nodes
вашего проекта ComfyUI (клон из ComfyUI).
Запустите ComfyUI.
Загрузите catvton_workflow.json
, перетащите его на веб-страницу ComfyUI и наслаждайтесь ?!
Проблемы в ОС Windows, обратитесь к вопросу №8.
Когда вы запускаете рабочий процесс CatVTON в первый раз, файлы весов загружаются автоматически, что обычно занимает десятки минут.
Чтобы развернуть приложение Gradio для CatVTON на своем компьютере, выполните следующую команду, и контрольные точки будут автоматически загружены с HuggingFace.
CUDA_VISIBLE_DEVICES=0 python app.py --output_dir="resource/demo/output" --mixed_precision="bf16" --allow_tf32
При использовании точности bf16
для получения результатов с разрешением 1024x768
требуется всего около 8G
видеопамяти.
Прежде чем сделать вывод, вам необходимо загрузить набор данных VITON-HD или DressCode. После загрузки наборов данных структура папок должна выглядеть следующим образом:
├── VITON-HD | ├── test_pairs_unpaired.txt │ ├── test | | ├── image │ │ │ ├── [000006_00.jpg | 000008_00.jpg | ...] │ │ ├── cloth │ │ │ ├── [000006_00.jpg | 000008_00.jpg | ...] │ │ ├── agnostic-mask │ │ │ ├── [000006_00_mask.png | 000008_00.png | ...] ...
├── DressCode | ├── test_pairs_paired.txt | ├── test_pairs_unpaired.txt │ ├── [dresses | lower_body | upper_body] | | ├── test_pairs_paired.txt | | ├── test_pairs_unpaired.txt │ │ ├── images │ │ │ ├── [013563_0.jpg | 013563_1.jpg | 013564_0.jpg | 013564_1.jpg | ...] │ │ ├── agnostic_masks │ │ │ ├── [013563_0.png| 013564_0.png | ...] ...
Для набора данных DressCode мы предоставляем сценарий для предварительно обработанных агностических масок, выполните следующую команду:
CUDA_VISIBLE_DEVICES=0 python preprocess_agnostic_mask.py --data_root_path <ваш_путь_к_DressCode>
Чтобы выполнить вывод для набора данных DressCode или VITON-HD, выполните следующую команду, контрольные точки будут автоматически загружены из HuggingFace.
CUDA_VISIBLE_DEVICES=0 python inference.py --dataset [дресс-код | витонхд] --data_root_path <путь> --output_dir <путь> --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_precision [нет | фп16 | бф16] --allow_tf32 --перекрасить --eval_pair
После получения результатов вывода рассчитайте метрики с помощью следующей команды:
CUDA_VISIBLE_DEVICES=0 python eval.py --gt_folder <ваш_путь_к_gt_папке_изображения> --pred_folder <ваш_путь_к_предсказанной_папке_изображения> --paired --batch_size=16 --num_workers=16
--gt_folder
и --pred_folder
должны быть папками, содержащими только изображения .
Чтобы оценить результаты в парной настройке, используйте --paired
; для непарной настройки просто опустите ее.
--batch_size
и --num_workers
должны быть настроены в зависимости от вашей машины.
Наш код модифицирован на основе Diffusers. В качестве базовой модели мы используем окраску Stable Diffusion v1.5. Мы используем SCHP и DensePose для автоматического создания масок в нашем приложении Gradio и рабочем процессе ComfyUI. Спасибо всем участникам!
Все материалы, включая код, контрольные точки и демо, доступны по лицензии Creative Commons BY-NC-SA 4.0. Вы имеете право копировать, распространять, переделывать, преобразовывать и дополнять проект в некоммерческих целях при условии, что вы отдаете должное и распространяете свой вклад по той же лицензии.
@misc{chong2024catvtonconcatenationneedvirtual, title={CatVTON: конкатенация — это все, что вам нужно для виртуальной примерки диффузионных моделей}, автор={Чжэн Чун и Сяо Дун и Хаосян Ли и Шиюэ Чжан и Вэньцин Чжан и Сюцзе Чжан и Ханьцин Чжао и Сяодань Лян}, год={2024}, eprint={2407.15886}, archivePrefix={arXiv}, PrimaryClass={cs .CV}, URL={https://arxiv.org/abs/2407.15886}, }