/ Модель

Характеристики

Лицензия
Apache 2.0
Базовая модель
stable-diffusion-xl-base-1.0
Опубликована
7 сен 2023

t2i-adapter-openpose-sdxl-1.0

Преобразование изображенийИзображение, текст → изображение3 профессии

Адаптер для Stable Diffusion XL, который управляет генерацией изображений по позе человека, заданной разметкой OpenPose.

1 632скачиваний за 30 дней54лайкавеса обновлены7 сен 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

T2I-Adapter-SDXL Openpose — адаптер Tencent ARC, созданный в сотрудничестве с Hugging Face для управления генерацией изображений Stable Diffusion XL по позе человека. Он принимает изображение с разметкой OpenPose как дополнительное условие и работает вместе с базовой моделью stabilityai/stable-diffusion-xl-base-1.0, формируя изображение по этому условию и текстовому запросу. Это diffusion-адаптер примерно на 77–79 млн параметров; базовая SDXL содержит 2,6 млрд параметров. Веса опубликованы в формате safetensors.

Модель предназначена для генерации изображений с контролируемым расположением и позами людей: например, для иллюстраций, концепт-арта и визуализации персонажей по скелетной разметке. Для работы нужны OpenPose-данные и совместимая базовая SDXL; адаптер сам по себе не является полноценной моделью генерации. В карточке указаны английский язык и лицензия Apache 2.0.

Сценарии применения

  • генерация персонажа в заданной позе по OpenPose-разметке
  • создание иллюстраций с контролируемым положением тела
  • визуализация персонажей по скелетной схеме
  • создание концепт-арта с повторяемой позой человека

Ограничения

Требует совместимую базовую модель Stable Diffusion XL и изображение с разметкой OpenPose; адаптер не предназначен для самостоятельной генерации без них.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

T2I-Adapter-SDXL - Openpose

T2I Adapter is a network providing additional conditioning to stable diffusion. Each t2i checkpoint takes a different type of conditioning as input and is used with a specific base stable diffusion checkpoint.

This checkpoint provides conditioning on openpose for the StableDiffusionXL checkpoint. This was a collaboration between Tencent ARC and Hugging Face.

Model Details

  • Developed by: T2I-Adapter: Learning Adapters to Dig out More Controllable Ability for Text-to-Image Diffusion Models

  • Model type: Diffusion-based text-to-image generation model

  • Language(s): English

  • License: Apache 2.0

  • Resources for more information: GitHub Repository, Paper.

  • Model complexity: | | SD-V1.4/1.5 | SD-XL | T2I-Adapter | T2I-Adapter-SDXL | | --- | --- |--- |--- |--- | | Parameters | 860M | 2.6B |77 M | 77/79 M | |

  • Cite as:

    @misc{ title={T2I-Adapter: Learning Adapters to Dig out More Controllable Ability for Text-to-Image Diffusion Models}, author={Chong Mou, Xintao Wang, Liangbin Xie, Yanze Wu, Jian Zhang, Zhongang Qi, Ying Shan, Xiaohu Qie}, year={2023}, eprint={2302.08453}, archivePrefix={arXiv}, primaryClass={cs.CV} }

Checkpoints

Model NameControl Image OverviewControl Image ExampleGenerated Image Example
TencentARC/t2i-adapter-canny-sdxl-1.0 Trained with canny edge detectionA monochrome image with white edges on a black background.
TencentARC/t2i-adapter-sketch-sdxl-1.0 Trained with PidiNet edge detectionA hand-drawn monochrome image with white outlines on a black background.
TencentARC/t2i-adapter-lineart-sdxl-1.0 Trained with lineart edge detectionA hand-drawn monochrome image with white outlines on a black background.
TencentARC/t2i-adapter-depth-midas-sdxl-1.0 Trained with Midas depth estimationA grayscale image with black representing deep areas and white representing shallow areas.
TencentARC/t2i-adapter-depth-zoe-sdxl-1.0 Trained with Zoe depth estimationA grayscale image with black representing deep areas and white representing shallow areas.
TencentARC/t2i-adapter-openpose-sdxl-1.0 Trained with OpenPose bone imageA OpenPose bone image.

Example

To get started, first install the required dependencies:

pip install -U git+https://github.com/huggingface/diffusers.git
pip install -U controlnet_aux==0.0.7 # for conditioning models and detectors
pip install transformers accelerate safetensors
  1. Images are first downloaded into the appropriate control image format.
  2. The control image and prompt are passed to the StableDiffusionXLAdapterPipeline.

Let's have a look at a simple example using the Openpose Adapter.

  • Dependency
from diffusers import StableDiffusionXLAdapterPipeline, T2IAdapter, EulerAncestralDiscreteScheduler, AutoencoderKL
from diffusers.utils import load_image, make_image_grid
from controlnet_aux import OpenposeDetector
import torch
import numpy as np
from PIL import Image

# load adapter
adapter = T2IAdapter.from_pretrained(
  "TencentARC/t2i-adapter-openpose-sdxl-1.0", torch_dtype=torch.float16
).to("cuda")

# load euler_a scheduler
model_id = 'stabilityai/stable-diffusion-xl-base-1.0'
euler_a = EulerAncestralDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler")
vae=AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16)
pipe = StableDiffusionXLAdapterPipeline.from_pretrained(
    model_id, vae=vae, adapter=adapter, scheduler=euler_a, torch_dtype=torch.float16, variant="fp16", 
).to("cuda")
pipe.enable_xformers_memory_efficient_attention()

open_pose = OpenposeDetector.from_pretrained("lllyasviel/Annotators")
  • Condition Image
url = "https://huggingface.co/Adapter/t2iadapter/resolve/main/people.jpg"
image = load_image(url)
image = open_pose(image, detect_resolution=512, image_resolution=1024)
image = np.array(image)[:, :, ::-1]           
image = Image.fromarray(np.uint8(image)) 

  • Generation
prompt = "A couple, 4k photo, highly detailed"
negative_prompt = "anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured"

gen_images = pipe(
  prompt=prompt,
  negative_prompt=negative_prompt,
  image=image,
  num_inference_steps=30,
  adapter_conditioning_scale=1,
  guidance_scale=7.5,  
).images[0]
gen_images.save('out_pose.png')

Training

Our training script was built on top of the official training script that we provide here.

The model is trained on 3M high-resolution image-text pairs from LAION-Aesthetics V2 with

  • Training steps: 35000
  • Batch size: Data parallel with a single gpu batch size of 16 for a total batch size of 256.
  • Learning rate: Constant learning rate of 1e-5.
  • Mixed precision: fp16

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Модели «картинка → картинка» пока не запускаются.

Ревизия весов
f909988

0 моделей