Buckets:

hf-doc-build/doc / diffusers /v0.43.0 /ru /api /image_processor.md
mishig's picture
|
download
raw
37.4 kB

Обработчик изображений VAE

Класс VaeImageProcessor предоставляет единый API для StableDiffusionPipeline, позволяющий готовить входные изображения для кодирования VAE и выполнять постобработку выходов после их декодирования. Сюда входят такие преобразования, как изменение размера, нормализация и конвертация между массивами PIL Image, PyTorch и NumPy.

Все пайплайны с VaeImageProcessor принимают в качестве входных изображений PIL Image, тензоры PyTorch или массивы NumPy и возвращают результат в соответствии с аргументом output_type, указанным пользователем. Вы можете передать закодированные латенты изображения напрямую в пайплайн и получить латенты из пайплайна в качестве конкретного вывода с помощью аргумента output_type (например, output_type="latent"). Это позволяет извлекать сгенерированные латенты из одного пайплайна и передавать их в другой пайплайн в качестве входа, не покидая латентное пространство. Кроме того, это значительно упрощает совместное использование нескольких пайплайнов за счёт прямой передачи тензоров PyTorch между различными пайплайнами.

VaeImageProcessor[[diffusers.VaeImageProcessor]]

diffusers.VaeImageProcessor[[diffusers.VaeImageProcessor]]

diffusers.VaeImageProcessor(do_resize: bool = True, vae_scale_factor: int = 8, vae_latent_channels: int = 4, resample: str = 'lanczos', reducing_gap: int | None = None, do_normalize: bool = True, do_binarize: bool = False, do_convert_rgb: bool = False, do_convert_grayscale: bool = False)

Источник

Параметры:

do_resize (bool, необязательный, по умолчанию True) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных vae_scale_factor. Может принимать аргументы height и width из метода image_processor.VaeImageProcessor.preprocess().

vae_scale_factor (int, optional, по умолчанию 8) : масштабный коэффициент VAE. Если do_resize равно True, изображение автоматически масштабируется до кратных этого коэффициента.

resample (str, необязательный, по умолчанию lanczos) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_normalize (bool, необязательный, по умолчанию True) : Нужно ли нормализовать изображение в диапазон [-1,1].

do_binarize (bool, необязательный, по умолчанию False) : Бинаризовать ли изображение в 0/1.

do_convert_rgb (bool, необязательный, по умолчанию False) : Преобразовать ли изображения в формат RGB.

do_convert_grayscale (bool, необязательный, по умолчанию False) : Преобразовать ли изображения в формат оттенков серого.

Обработчик изображений для VAE.

apply_overlay[[diffusers.VaeImageProcessor.apply_overlay]]

apply_overlay(mask: Image, init_image: Image, image: Image, crop_coords: tuple[int, int, int, int] | None = None)

Источник

Параметры:

mask (PIL.Image.Image) : маска, выделяющая области для наложения.

init_image (PIL.Image.Image) : исходное изображение, к которому применяется наложение.

image (PIL.Image.Image) : изображение, которое нужно наложить на исходное.

crop_coords (tuple[int, int, int, int], optional) : Координаты для обрезки изображения. Если указаны, изображение будет обрезано в соответствии с ними.

Возвращает: PIL.Image.Image

Итоговое изображение с наложенным оверлеем.

Наносит наложение маски и отредактированного изображения на исходное изображение.

бинаризация[[diffusers.VaeImageProcessor.binarize]]

binarize(image: Image)

Источник

Параметры:

image (PIL.Image.Image) : входное изображение, должно быть изображением в формате PIL.

Возвращает: PIL.Image.Image

Двоичное изображение. Значения, меньшие 0.5, устанавливаются в 0, значения, большие 0.5, устанавливаются в 1.

Создайте маску.

blur[[diffusers.VaeImageProcessor.blur]]

blur(image: Image, blur_factor: int = 4)

Источник

Параметры:

image (PIL.Image.Image) : Изображение PIL, которое нужно преобразовать в оттенки серого.

Возвращает: PIL.Image.Image

Изображение PIL, преобразованное в оттенки серого.

Применяет гауссово размытие к изображению.

convert_to_grayscale[[diffusers.VaeImageProcessor.convert_to_grayscale]]

convert_to_grayscale(image: Image)

Источник

Параметры:

image (PIL.Image.Image) : входное изображение для преобразования.

Возвращает: PIL.Image.Image

Изображение, преобразованное в оттенки серого.

Преобразует заданное изображение PIL в оттенки серого.

convert_to_rgb[[diffusers.VaeImageProcessor.convert_to_rgb]]

convert_to_rgb(image: Image)

Источник

Параметры:

image (PIL.Image.Image) : Изображение PIL, которое нужно преобразовать в RGB.

Возвращает: PIL.Image.Image

Изображение PIL, преобразованное в RGB.

Преобразует изображение PIL в формат RGB.

denormalize[[diffusers.VaeImageProcessor.denormalize]]

denormalize(images: typing.Union[numpy.ndarray, torch.Tensor])

Источник

Параметры:

images (np.ndarray или torch.Tensor) : Массив изображения для денормализации.

Возвращает: np.ndarray или torch.Tensor

Массив денормализованного изображения.

Разнормализовать массив изображения до [0,1].

get_crop_region[[diffusers.VaeImageProcessor.get_crop_region]]

get_crop_region(mask_image: Image, width: int, height: int, pad = 0)

Источник

Параметры:

mask_image (PIL.Image.Image) : Изображение маски.

width (int) : Ширина обрабатываемого изображения.

height (int) : Высота обрабатываемого изображения.

pad (int, optional) : Отступ, добавляемый к области обрезки. По умолчанию 0.

Возвращает: tuple

(x1, y1, x2, y2) представляют прямоугольную область, содержащую все замаскированные области на изображении и соответствующую исходному соотношению сторон.

Находит прямоугольную область, содержащую все замаскированные области на изображении, и расширяет её до соотношения сторон исходного изображения; например, если пользователь нарисовал маску в области 128x32, а размеры для обработки составляют 512x512, область будет расширена до 128x128.

get_default_height_width[[diffusers.VaeImageProcessor.get_default_height_width]]

get_default_height_width(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor], height: int | None = None, width: int | None = None)

Источник

Параметры:

image (PIL.Image.Image | np.ndarray | torch.Tensor) : Входное изображение, которое может быть изображением PIL, массивом NumPy или тензором PyTorch. Если это массив NumPy, его форма должна быть [batch, height, width] или [batch, height, width, channels]. Если это тензор PyTorch, его форма должна быть [batch, channels, height, width].

height (int | None, необязательный, по умолчанию None) : Высота предобработанного изображения. Если None, будет использована высота входного image.

width (int | None, необязательный, по умолчанию None) : Ширина предобработанного изображения. Если None, будет использована ширина входного image.

Возвращает: tuple[int, int]

Кортеж, содержащий высоту и ширину, обе из которых изменены до ближайшего целого кратного vae_scale_factor.

Возвращает высоту и ширину изображения, уменьшенные до ближайшего целого кратного vae_scale_factor.

normalize[[diffusers.VaeImageProcessor.normalize]]

normalize(images: typing.Union[numpy.ndarray, torch.Tensor])

Источник

Параметры:

images (np.ndarray или torch.Tensor) : Массив изображения для нормализации.

Возвращает: np.ndarray или torch.Tensor

Нормализованный массив изображения.

Нормализовать массив изображения до [-1,1].

numpy_to_pil[[diffusers.VaeImageProcessor.numpy_to_pil]]

numpy_to_pil(images: ndarray)

Источник

Параметры:

images (np.ndarray) : Массив изображения для преобразования в формат PIL.

Возвращает: list[PIL.Image.Image]

Список изображений PIL.

Преобразование изображения numpy или пакета изображений в изображение PIL.

numpy_to_pt[[diffusers.VaeImageProcessor.numpy_to_pt]]

numpy_to_pt(images: ndarray)

Источник

Параметры:

images (np.ndarray) : Массив изображения NumPy для преобразования в формат PyTorch.

Возвращает: torch.Tensor

Представление изображений в виде тензора PyTorch.

Преобразование изображения NumPy в тензор PyTorch.

pil_to_numpy[[diffusers.VaeImageProcessor.pil_to_numpy]]

pil_to_numpy(images: list[PIL.Image.Image] | PIL.Image.Image)

Источник

Параметры:

images (PIL.Image.Image или list[PIL.Image.Image]) : Изображение PIL или список изображений для преобразования в формат NumPy.

Возвращает: np.ndarray

Представление изображений в виде массива NumPy.

Преобразовать изображение PIL или список изображений PIL в массивы NumPy.

postprocess[[diffusers.VaeImageProcessor.postprocess]]

postprocess(image: Tensor, output_type: str = 'pil', do_denormalize: list[bool] | None = None)

Источник

Параметры:

image (torch.Tensor) : Входное изображение, должно быть тензором PyTorch с формой B x C x H x W.

output_type (str, необязательный, по умолчанию pil) : Тип выходного изображения, может быть одним из pil, np, pt, latent.

do_denormalize (list[bool], необязательный, по умолчанию None) : Нужно ли денормализовать изображение до [0,1]. Если None, будет использовано значение do_normalize из конфигурации VaeImageProcessor.

Возвращает: PIL.Image.Image, np.ndarray или torch.Tensor

Обработанное изображение.

Постобработка изображения: преобразование из тензора в output_type.

preprocess[[diffusers.VaeImageProcessor.preprocess]]

preprocess(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], height: int | None = None, width: int | None = None, resize_mode: str = 'default', crops_coords: tuple[int, int, int, int] | None = None)

Источник

Параметры:

image (PipelineImageInput) : входное изображение, поддерживаемые форматы: изображения PIL, массивы NumPy, тензоры PyTorch; также принимается список поддерживаемых форматов.

height (int, optional) : Высота в пикселях предобработанного изображения. Если None, будет использована get_default_height_width() для получения значения по умолчанию.

width (int, optional) : Ширина в предобработанном виде. Если None, будет использована get_default_height_width()` для получения ширины по умолчанию.

resize_mode (str, optional, по умолчанию default) : Режим изменения размера, может быть default или fill. Если default, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, при этом исходное соотношение сторон может не сохраняться. Если fill, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, при этом пустые области заполняются данными из изображения. Если crop, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, с обрезкой лишних частей. Обратите внимание, что resize_mode fill и crop поддерживаются только для входных изображений PIL.

crops_coords (list[tuple[int, int, int, int]], необязательный, по умолчанию None) : Координаты обрезки для каждого изображения в батче. Если None, изображение не будет обрезано.

Возвращает: torch.Tensor

Предобработанное изображение.

Предобработка входных изображений.

pt_to_numpy[[diffusers.VaeImageProcessor.pt_to_numpy]]

pt_to_numpy(images: Tensor)

Источник

Параметры:

images (torch.Tensor) : Тензор PyTorch, который нужно преобразовать в формат NumPy.

Возвращает: np.ndarray

Представление изображений в виде массива NumPy.

Преобразование тензора PyTorch в изображение NumPy.

resize[[diffusers.VaeImageProcessor.resize]]

resize(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor], height: int, width: int, resize_mode: str = 'default')

Источник

Параметры:

image (PIL.Image.Image, np.ndarray или torch.Tensor) : Входное изображение, может быть изображением PIL, массивом numpy или тензором pytorch.

height (int) : Высота, к которой нужно изменить размер.

width (int) : Ширина, к которой нужно изменить размер.

resize_mode (str, необязательный, по умолчанию default) : Режим изменения размера, может быть default или fill. Если default, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, при этом исходное соотношение сторон может не сохраняться. Если fill, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, при этом пустые области заполняются данными из изображения. Если crop, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, с обрезкой лишних частей. Обратите внимание, что resize_mode fill и crop поддерживаются только для входных изображений PIL.

Возвращает: PIL.Image.Image, np.ndarray или torch.Tensor

Изображение изменённого размера.

Изменение размера изображения.

InpaintProcessor[[diffusers.InpaintProcessor]]

InpaintProcessor принимает на вход mask и image и обрабатывает их совместно. По желанию он может принимать padding_mask_crop и применять наложение маски.

diffusers.InpaintProcessor[[diffusers.InpaintProcessor]]

diffusers.InpaintProcessor(do_resize: bool = True, vae_scale_factor: int = 8, vae_latent_channels: int = 4, resample: str = 'lanczos', reducing_gap: int | None = None, do_normalize: bool = True, do_binarize: bool = False, do_convert_grayscale: bool = False, mask_do_normalize: bool = False, mask_do_binarize: bool = True, mask_do_convert_grayscale: bool = True)

Источник

Обработчик изображений для инпейнтинга изображения и маски.

postprocess[[diffusers.InpaintProcessor.postprocess]]

postprocess(image: Tensor, output_type: str = 'pil', original_image: PIL.Image.Image | None = None, original_mask: PIL.Image.Image | None = None, crops_coords: tuple[int, int, int, int] | None = None)

Источник

Постобработка изображения, при необходимости наложение маски

preprocess[[diffusers.InpaintProcessor.preprocess]]

preprocess(image: Image, mask: PIL.Image.Image | None = None, height: int | None = None, width: int | None = None, padding_mask_crop: int | None = None)

Источник

Предобработка изображения и маски.

VaeImageProcessorLDM3D[[diffusers.VaeImageProcessorLDM3D]]

Класс VaeImageProcessorLDM3D принимает на вход RGB-изображения и карты глубины и возвращает RGB-изображения и карты глубины.

diffusers.VaeImageProcessorLDM3D[[diffusers.VaeImageProcessorLDM3D]]

diffusers.VaeImageProcessorLDM3D(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = True)

Источник

Параметры:

do_resize (bool, необязательный, по умолчанию True) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных vae_scale_factor.

vae_scale_factor (int, optional, по умолчанию 8) : масштабный коэффициент VAE. Если do_resize равно True, изображение автоматически масштабируется до кратных этого коэффициента.

resample (str, необязательный, по умолчанию lanczos) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_normalize (bool, необязательный, по умолчанию True) : Нужно ли нормализовать изображение в диапазон [-1,1].

Обработчик изображений для VAE LDM3D.

depth_pil_to_numpy[[diffusers.VaeImageProcessorLDM3D.depth_pil_to_numpy]]

depth_pil_to_numpy(images: list[PIL.Image.Image] | PIL.Image.Image)

Источник

Параметры:

images (list[PIL.Image.Image, PIL.Image.Image]) : входное изображение или список изображений для преобразования.

Возвращает: np.ndarray

Массив NumPy с преобразованными изображениями.

Преобразовать изображение PIL или список изображений PIL в массивы NumPy.

numpy_to_depth[[diffusers.VaeImageProcessorLDM3D.numpy_to_depth]]

numpy_to_depth(images: ndarray)

Источник

Параметры:

images (np.ndarray) : Входной массив NumPy с изображениями глубины, который может быть одним изображением или батчем.

Возвращает: list[PIL.Image.Image]

Список изображений PIL, преобразованных из входных изображений глубины NumPy.

Преобразовать изображение глубины NumPy или пакет изображений в список изображений PIL.

numpy_to_pil[[diffusers.VaeImageProcessorLDM3D.numpy_to_pil]]

numpy_to_pil(images: ndarray)

Источник

Параметры:

images (np.ndarray) : Входной массив NumPy с изображениями, который может содержать одно изображение или пакет.

Возвращает: list[PIL.Image.Image]

Список изображений PIL, преобразованных из входного массива NumPy.

Преобразовать изображение NumPy или пакет изображений в список изображений PIL.

preprocess[[diffusers.VaeImageProcessorLDM3D.preprocess]]

preprocess(rgb: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray], depth: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray], height: int | None = None, width: int | None = None, target_res: int | None = None)

Источник

Параметры:

rgb (torch.Tensor | PIL.Image.Image | np.ndarray) : входное изображение в формате RGB, которое может быть одиночным изображением или батчем.

depth (torch.Tensor | PIL.Image.Image | np.ndarray) : входное изображение глубины, которое может быть одиночным изображением или батчем.

height (int | None, необязательный, по умолчанию None) : Желаемая высота обработанного изображения. Если None, по умолчанию используется высота входного изображения.

width (int | None, необязательный, по умолчанию None) : Желаемая ширина обработанного изображения. Если None, по умолчанию используется ширина входного изображения.

target_res (int | None, необязательный, по умолчанию None) : Целевое разрешение для изменения размера изображений. Если указано, переопределяет height и width.

Возвращает: tuple[torch.Tensor, torch.Tensor]

Кортеж, содержащий обработанные RGB- и глубинные изображения в виде тензоров PyTorch.

Предобработка входных изображений. Поддерживаемые форматы: изображения PIL, массивы NumPy или тензоры PyTorch.

rgblike_to_depthmap[[diffusers.VaeImageProcessorLDM3D.rgblike_to_depthmap]]

rgblike_to_depthmap(image: typing.Union[numpy.ndarray, torch.Tensor])

Источник

Преобразование изображения глубины в формате RGB в карту глубины.

PixArtImageProcessor[[diffusers.PixArtImageProcessor]]

diffusers.PixArtImageProcessor[[diffusers.PixArtImageProcessor]]

diffusers.PixArtImageProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = True, do_binarize: bool = False, do_convert_grayscale: bool = False)

Источник

Параметры:

do_resize (bool, необязательный, по умолчанию True) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных vae_scale_factor. Может принимать аргументы height и width из метода image_processor.VaeImageProcessor.preprocess().

vae_scale_factor (int, optional, по умолчанию 8) : масштабный коэффициент VAE. Если do_resize равно True, изображение автоматически масштабируется до кратных этого коэффициента.

resample (str, необязательный, по умолчанию lanczos) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_normalize (bool, необязательный, по умолчанию True) : Нужно ли нормализовать изображение в диапазон [-1,1].

do_binarize (bool, необязательный, по умолчанию False) : Бинаризовать ли изображение в 0/1.

do_convert_rgb (bool, необязательный, по умолчанию False) : Преобразовать ли изображения в формат RGB.

do_convert_grayscale (bool, необязательный, по умолчанию False) : Преобразовать ли изображения в формат оттенков серого.

Обработчик изображений для изменения размера и обрезки изображений PixArt.

classify_height_width_bin[[diffusers.PixArtImageProcessor.classify_height_width_bin]]

classify_height_width_bin(height: int, width: int, ratios: dict)

Источник

Параметры:

height (int) : Высота изображения.

width (int) : Ширина изображения.

ratios (dict) : Словарь, где ключи — это соотношения сторон, а значения — кортежи (height, width).

Возвращает: tuple[int, int]

Ближайшие бинные значения высоты и ширины.

Возвращает бинированные высоту и ширину на основе соотношения сторон.

resize_and_crop_tensor[[diffusers.PixArtImageProcessor.resize_and_crop_tensor]]

resize_and_crop_tensor(samples: Tensor, new_width: int, new_height: int)

Источник

Параметры:

samples (torch.Tensor) : тензор формы (N, C, H, W), где N — размер батча, C — количество каналов, H — высота, а W — ширина.

new_width (int) : Желаемая ширина выходных изображений.

new_height (int) : Желаемая высота выходных изображений.

Возвращает: torch.Tensor

Тензор, содержащий изображения после изменения размера и обрезки.

Изменяет размер и обрезает тензор изображений до указанных размеров.

IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

diffusers.IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

diffusers.IPAdapterMaskProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = False, do_binarize: bool = True, do_convert_grayscale: bool = True)

Источник

Параметры:

do_resize (bool, необязательный, по умолчанию True) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных vae_scale_factor.

vae_scale_factor (int, optional, по умолчанию 8) : масштабный коэффициент VAE. Если do_resize равно True, изображение автоматически масштабируется до кратных этого коэффициента.

resample (str, необязательный, по умолчанию lanczos) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_normalize (bool, необязательный, по умолчанию False) : Нужно ли нормализовать изображение в диапазон [-1,1].

do_binarize (bool, необязательный, по умолчанию True) : Бинаризовать ли изображение в 0/1.

do_convert_grayscale (bool, необязательный, по умолчанию True) : Преобразовать ли изображения в формат оттенков серого.

Обработчик изображений для масок изображений IP Adapter.

downsample[[diffusers.IPAdapterMaskProcessor.downsample]]

downsample(mask: Tensor, batch_size: int, num_queries: int, value_embed_dim: int)

Источник

Параметры:

mask (torch.Tensor) : входной тензор маски, созданный с помощью IPAdapterMaskProcessor.preprocess().

batch_size (int) : Размер батча.

num_queries (int) : Количество запросов.

value_embed_dim (int) : размерность векторов значений.

Возвращает: torch.Tensor

Тензор маски после уменьшения разрешения.

Уменьшает размер предоставленного тензора маски до ожидаемых размерностей для масштабированного внимания на основе скалярного произведения. Если соотношение сторон маски не совпадает с соотношением сторон выходного изображения, выводится предупреждение.

Xet Storage Details

Size:
37.4 kB
·
Xet hash:
767150a4d797567e3c66f1eb3bdef43e6bd5d57dbb480f289c18ce21c541f4ab

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.