Diffusers documentation
Processador de Imagem VAE
Processador de Imagem VAE
O VaeImageProcessor fornece uma API unificada para StableDiffusionPipelines prepararem as entradas de imagem para a codificação por VAE e processarem as saídas após a decodificação. Isso inclui transformações como redimensionamento, normalização e conversão entre PIL Image, PyTorch e arrays NumPy.
Todos os pipelines com VaeImageProcessor aceitam PIL Image, tensor do PyTorch ou arrays NumPy como entradas de imagem e retornam saídas com base no argumento output_type definido pelo usuário. Você pode passar latentes de imagem codificados diretamente para o pipeline e retornar latentes do pipeline como uma saída específica com o argumento output_type (por exemplo, output_type="latent"). Isso permite pegar os latentes gerados de um pipeline e passá-los para outro pipeline como entrada, sem sair do espaço latente. Também facilita muito o uso de vários pipelines juntos, passando tensores do PyTorch diretamente entre diferentes pipelines.
VaeImageProcessor
classe diffusers.VaeImageProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8vae_latent_channels: int = 4resample: str = 'lanczos'reducing_gap: int | None = Nonedo_normalize: bool = Truedo_binarize: bool = Falsedo_convert_rgb: bool = Falsedo_convert_grayscale: bool = False )
Parâmetros
- do_resize (
bool, opcional, padrãoTrue) — Se as dimensões (altura, largura) da imagem devem ser reduzidas para múltiplos devae_scale_factor. Pode aceitar os argumentosheightewidthdo método image_processor.VaeImageProcessor.preprocess(). - vae_scale_factor (
int, opcional, padrão8) — Fator de escala do VAE. Sedo_resizeforTrue, a imagem será redimensionada automaticamente para múltiplos deste fator. - resample (
str, opcional, padrãolanczos) — Filtro de reamostragem a ser usado ao redimensionar a imagem. - do_normalize (
bool, opcional, padrãoTrue) — Se a imagem deve ser normalizada para [-1,1]. - do_binarize (
bool, opcional, padrãoFalse) — Se deve binarizar a imagem para 0/1. - do_convert_rgb (
bool, opcional, padrãoFalse) — Se as imagens devem ser convertidas para o formato RGB. - do_convert_grayscale (
bool, opcional, padrãoFalse) — Se as imagens devem ser convertidas para o formato de escala de cinza.
Processador de imagem para VAE.
apply_overlay
< source >( mask: Imageinit_image: Imageimage: Imagecrop_coords: tuple[int, int, int, int] | None = None ) → PIL.Image.Image
Parâmetros
- mask (
PIL.Image.Image) — A imagem de máscara que destaca as regiões a serem sobrepostas. - init_image (
PIL.Image.Image) — A imagem original à qual a sobreposição é aplicada. - image (
PIL.Image.Image) — A imagem a ser sobreposta à original. - crop_coords (
tuple[int, int, int, int], opcional) — Coordenadas para recortar a imagem. Se fornecidas, a imagem será recortada de acordo.
Retorna
PIL.Image.Image
A imagem final com a sobreposição aplicada.
Aplica uma sobreposição da máscara e da imagem reparada sobre a imagem original.
binarizar
< source >( image: Image ) → PIL.Image.Image
Crie uma máscara.
desfocar
< source >( image: Imageblur_factor: int = 4 ) → PIL.Image.Image
Aplica um desfoque gaussiano a uma imagem.
convert_to_grayscale
< source >( image: Image ) → PIL.Image.Image
Converte uma imagem PIL fornecida para escala de cinza.
convert_to_rgb
< source >( image: Image ) → PIL.Image.Image
Converte uma imagem PIL para o formato RGB.
desnormalizar
< source >( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor
Desnormalize um array de imagem para [0,1].
get_crop_region
< source >( mask_image: Imagewidth: intheight: intpad = 0 ) → tuple
Parâmetros
- mask_image (PIL.Image.Image) — Imagem de máscara.
- width (int) — Largura da imagem a ser processada.
- height (int) — Altura da imagem a ser processada.
- pad (int, opcional) — Preenchimento a ser adicionado à região de recorte. O valor padrão é 0.
Retorna
tuple
(x1, y1, x2, y2) representam uma região retangular que contém todas as áreas mascaradas em uma imagem e corresponde à proporção original.
Encontra uma região retangular que contém todas as áreas mascaradas em uma imagem e expande a região para corresponder à proporção da imagem original; por exemplo, se o usuário desenhou a máscara em uma região de 128x32 e as dimensões para processamento são 512x512, a região será expandida para 128x128.
get_default_height_width
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: int | None = Nonewidth: int | None = None ) → tuple[int, int]
Parâmetros
- image (
PIL.Image.Image | np.ndarray | torch.Tensor) — A entrada de imagem, que pode ser uma imagem PIL, um array NumPy ou um tensor PyTorch. Se for um array NumPy, ele deve ter a forma[batch, height, width]ou[batch, height, width, channels]. Se for um tensor PyTorch, ele deve ter a forma[batch, channels, height, width]. - height (
int | None, opcional, padrãoNone) — A altura da imagem pré-processada. SeNone, a altura da entradaimageserá utilizada. - width (
int | None, opcional, padrãoNone) — A largura da imagem pré-processada. SeNone, a largura da entradaimageserá utilizada.
Retorna
tuple[int, int]
Uma tupla contendo a altura e a largura, ambas redimensionadas para o múltiplo inteiro mais próximo de
vae_scale_factor.
Retorna a altura e a largura da imagem, reduzidas para o próximo múltiplo inteiro de vae_scale_factor.
normalize
< source >( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor
Normalizar um array de imagem para [-1,1].
numpy_to_pil
< source >( images: ndarray ) → list[PIL.Image.Image]
Converte uma imagem numpy ou um lote de imagens para uma imagem PIL.
numpy_to_pt
< source >( images: ndarray ) → torch.Tensor
Converte uma imagem do NumPy para um tensor do PyTorch.
pil_to_numpy
< source >( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray
Converte uma imagem PIL ou uma lista de imagens PIL para arrays NumPy.
postprocess
< source >( image: Tensoroutput_type: str = 'pil'do_denormalize: list[bool] | None = None ) → PIL.Image.Image, np.ndarray or torch.Tensor
Parâmetros
- image (
torch.Tensor) — A entrada de imagem, deve ser um tensor do PyTorch com formaB x C x H x W. - output_type (
str, opcional, padrãopil) — O tipo de saída da imagem, pode ser um depil,np,pt,latent. - do_denormalize (
list[bool], opcional, padrãoNone) — Se deve denormalizar a imagem para [0,1]. SeNone, usará o valor dedo_normalizena configuração doVaeImageProcessor.
Retorna
PIL.Image.Image, np.ndarray ou torch.Tensor
A imagem pós-processada.
Pós-processe a imagem de saída do tensor para output_type.
pré-processamento
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]height: int | None = Nonewidth: int | None = Noneresize_mode: str = 'default'crops_coords: tuple[int, int, int, int] | None = None ) → torch.Tensor
Parâmetros
- image (
PipelineImageInput) — A entrada de imagem, os formatos aceitos são imagens PIL, arrays NumPy, tensores PyTorch; também aceita lista de formatos suportados. - height (
int, opcional) — A altura na imagem pré-processada. SeNone, usará oget_default_height_width()para obter a altura padrão. - width (
int, opcional) — A largura pré-processada. SeNone, usará get_default_height_width()` para obter a largura padrão. - resize_mode (
str, opcional, padrãodefault) — O modo de redimensionamento, pode serdefaultoufill. Sedefault, redimensiona a imagem para caber dentro da largura e altura especificadas, e pode não manter a proporção original. Sefill, redimensiona a imagem para caber dentro da largura e altura especificadas, mantendo a proporção, e então centraliza a imagem dentro das dimensões, preenchendo o espaço vazio com dados da imagem. Secrop, redimensiona a imagem para caber dentro da largura e altura especificadas, mantendo a proporção, e então centraliza a imagem dentro das dimensões, cortando o excesso. Observe que resize_modefillecropsão suportados apenas para entrada de imagem PIL. - crops_coords (
list[tuple[int, int, int, int]], opcional, padrãoNone) — As coordenadas de recorte para cada imagem no lote. SeNone, a imagem não será recortada.
Retorna
torch.Tensor
A imagem pré-processada.
Pré-processa a entrada de imagem.
pt_to_numpy
< source >( images: Tensor ) → np.ndarray
Converte um tensor do PyTorch para uma imagem do NumPy.
resize
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: intwidth: intresize_mode: str = 'default' ) → PIL.Image.Image, np.ndarray or torch.Tensor
Parâmetros
- image (
PIL.Image.Image,np.ndarrayoutorch.Tensor) — A imagem de entrada, pode ser uma imagem PIL, um array numpy ou um tensor pytorch. - height (
int) — A altura para redimensionar. - width (
int) — A largura para redimensionar. - resize_mode (
str, opcional, padrãodefault) — O modo de redimensionamento a ser usado, pode serdefaultoufill. Sedefault, a imagem será redimensionada para caber dentro da largura e altura especificadas, e pode não manter a proporção original. Sefill, a imagem será redimensionada para caber dentro da largura e altura especificadas, mantendo a proporção, e então a imagem será centralizada dentro das dimensões, preenchendo o espaço vazio com dados da imagem. Secrop, a imagem será redimensionada para caber dentro da largura e altura especificadas, mantendo a proporção, e então a imagem será centralizada dentro das dimensões, cortando o excesso. Observe que resize_modefillecropsão suportados apenas para entrada de imagem PIL.
Retorna
PIL.Image.Image, np.ndarray ou torch.Tensor
A imagem redimensionada.
Redimensionar imagem.
InpaintProcessor
O InpaintProcessor aceita entradas mask e image e as processa juntas. Opcionalmente, pode aceitar padding_mask_crop e aplicar sobreposição de máscara.
classe diffusers.InpaintProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8vae_latent_channels: int = 4resample: str = 'lanczos'reducing_gap: int | None = Nonedo_normalize: bool = Truedo_binarize: bool = Falsedo_convert_grayscale: bool = Falsemask_do_normalize: bool = Falsemask_do_binarize: bool = Truemask_do_convert_grayscale: bool = True )
Processador de imagem para inpainting de imagem e máscara.
postprocess
< source >( image: Tensoroutput_type: str = 'pil'original_image: PIL.Image.Image | None = Noneoriginal_mask: PIL.Image.Image | None = Nonecrops_coords: tuple[int, int, int, int] | None = None )
Pós-processa a imagem, aplicando opcionalmente a sobreposição da máscara
pré-processamento
< source >( image: Imagemask: PIL.Image.Image | None = Noneheight: int | None = Nonewidth: int | None = Nonepadding_mask_crop: int | None = None )
Pré-processa a imagem e a máscara.
VaeImageProcessorLDM3D
O VaeImageProcessorLDM3D aceita entradas RGB e de profundidade e retorna saídas RGB e de profundidade.
classe diffusers.VaeImageProcessorLDM3D
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = True )
Parâmetros
- do_resize (
bool, opcional, padrãoTrue) — Se as dimensões (altura, largura) da imagem devem ser reduzidas para múltiplos devae_scale_factor. - vae_scale_factor (
int, opcional, padrão8) — Fator de escala do VAE. Sedo_resizeforTrue, a imagem será redimensionada automaticamente para múltiplos deste fator. - resample (
str, opcional, padrãolanczos) — Filtro de reamostragem a ser usado ao redimensionar a imagem. - do_normalize (
bool, opcional, padrãoTrue) — Se a imagem deve ser normalizada para [-1,1].
Processador de imagem para VAE LDM3D.
depth_pil_to_numpy
< source >( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray
Converte uma imagem PIL ou uma lista de imagens PIL para arrays NumPy.
numpy_to_depth
< source >( images: ndarray ) → list[PIL.Image.Image]
Converte uma imagem de profundidade NumPy ou um lote de imagens em uma lista de imagens PIL.
numpy_to_pil
< source >( images: ndarray ) → list[PIL.Image.Image]
Converte uma imagem NumPy ou um lote de imagens em uma lista de imagens PIL.
pré-processamento
< source >( rgb: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray]depth: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray]height: int | None = Nonewidth: int | None = Nonetarget_res: int | None = None ) → tuple[torch.Tensor, torch.Tensor]
Parâmetros
- rgb (
torch.Tensor | PIL.Image.Image | np.ndarray) — A imagem de entrada RGB, que pode ser uma única imagem ou um lote. - depth (
torch.Tensor | PIL.Image.Image | np.ndarray) — A imagem de profundidade de entrada, que pode ser uma única imagem ou um lote. - height (
int | None, opcional, padrãoNone) — A altura desejada da imagem processada. SeNone, o padrão é a altura da imagem de entrada. - width (
int | None, opcional, padrãoNone) — A largura desejada da imagem processada. SeNone, o padrão é a largura da imagem de entrada. - target_res (
int | None, opcional, padrãoNone) — Resolução de destino para redimensionar as imagens. Se especificado, substitui a altura e a largura.
Retorna
tuple[torch.Tensor, torch.Tensor]
Uma tupla contendo as imagens RGB e de profundidade processadas como tensores do PyTorch.
Pré-processa a entrada de imagem. Os formatos aceitos são imagens PIL, arrays NumPy ou tensores PyTorch.
Converte uma imagem de profundidade em formato RGB para um mapa de profundidade.
PixArtImageProcessor
classe diffusers.PixArtImageProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Truedo_binarize: bool = Falsedo_convert_grayscale: bool = False )
Parâmetros
- do_resize (
bool, opcional, padrãoTrue) — Se as dimensões (altura, largura) da imagem devem ser reduzidas para múltiplos devae_scale_factor. Pode aceitar os argumentosheightewidthdo método image_processor.VaeImageProcessor.preprocess(). - vae_scale_factor (
int, opcional, padrão8) — Fator de escala do VAE. Sedo_resizeforTrue, a imagem será redimensionada automaticamente para múltiplos deste fator. - resample (
str, opcional, padrãolanczos) — Filtro de reamostragem a ser usado ao redimensionar a imagem. - do_normalize (
bool, opcional, padrãoTrue) — Se a imagem deve ser normalizada para [-1,1]. - do_binarize (
bool, opcional, padrãoFalse) — Se deve binarizar a imagem para 0/1. - do_convert_rgb (
bool, opcional, padrãoFalse) — Se as imagens devem ser convertidas para o formato RGB. - do_convert_grayscale (
bool, opcional, padrãoFalse) — Se as imagens devem ser convertidas para o formato de escala de cinza.
Processador de imagem para redimensionar e recortar imagens do PixArt.
classify_height_width_bin
< source >( height: intwidth: intratios: dict ) → tuple[int, int]
Retorna a altura e a largura em intervalos com base na proporção de aspecto.
resize_and_crop_tensor
< source >( samples: Tensornew_width: intnew_height: int ) → torch.Tensor
Parâmetros
- samples (
torch.Tensor) — Um tensor de forma (N, C, H, W), onde N é o tamanho do lote, C é o número de canais, H é a altura e W é a largura. - new_width (
int) — A largura desejada das imagens de saída. - new_height (
int) — A altura desejada das imagens de saída.
Retorna
torch.Tensor
Um tensor contendo as imagens redimensionadas e recortadas.
Redimensiona e recorta um tensor de imagens para as dimensões especificadas.
IPAdapterMaskProcessor
classe diffusers.IPAdapterMaskProcessor
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Falsedo_binarize: bool = Truedo_convert_grayscale: bool = True )
Parâmetros
- do_resize (
bool, opcional, padrãoTrue) — Se as dimensões (altura, largura) da imagem devem ser reduzidas para múltiplos devae_scale_factor. - vae_scale_factor (
int, opcional, padrão8) — Fator de escala do VAE. Sedo_resizeforTrue, a imagem será redimensionada automaticamente para múltiplos deste fator. - resample (
str, opcional, padrãolanczos) — Filtro de reamostragem a ser usado ao redimensionar a imagem. - do_normalize (
bool, opcional, padrãoFalse) — Se a imagem deve ser normalizada para [-1,1]. - do_binarize (
bool, opcional, padrãoTrue) — Se deve binarizar a imagem para 0/1. - do_convert_grayscale (
bool, opcional, padrãoTrue) — Se as imagens devem ser convertidas para o formato de escala de cinza.
Processador de imagem para máscaras de imagem do IP Adapter.
downsample
< source >( mask: Tensorbatch_size: intnum_queries: intvalue_embed_dim: int ) → torch.Tensor
Parâmetros
- mask (
torch.Tensor) — O tensor de máscara de entrada gerado comIPAdapterMaskProcessor.preprocess(). - batch_size (
int) — O tamanho do lote. - num_queries (
int) — O número de consultas. - value_embed_dim (
int) — A dimensionalidade dos embeddings de valor.
Retorna
torch.Tensor
O tensor de máscara com amostragem reduzida.
Reduz a dimensão do tensor de máscara fornecido para corresponder às dimensões esperadas para a atenção de produto escalar. Se a proporção da máscara não corresponder à proporção da imagem de saída, um aviso é emitido.