Diffusers documentation

Procesador de imágenes VAE

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Procesador de imágenes VAE

El VaeImageProcessor proporciona una API unificada para los StableDiffusionPipeline con el fin de preparar las entradas de imagen para la codificación con VAE y realizar el posprocesado de las salidas una vez que se han decodificado. Esto incluye transformaciones como el redimensionado, la normalización y la conversión entre imágenes PIL, PyTorch y matrices NumPy.

Todos los pipelines con VaeImageProcessor aceptan imágenes PIL, tensores de PyTorch o matrices de NumPy como entradas de imagen y devuelven salidas basadas en el argumento output_type del usuario. Puede pasar latentes de imagen codificados directamente al pipeline y obtener latentes del pipeline como una salida específica con el argumento output_type (por ejemplo, output_type="latent"). Esto le permite tomar los latentes generados de un pipeline y pasarlos a otro pipeline como entrada sin salir del espacio latente. También facilita mucho el uso de varios pipelines juntos al pasar tensores de PyTorch directamente entre diferentes pipelines.

VaeImageProcessor

clase diffusers.VaeImageProcessor

< >

( 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, valor predeterminado True) — Indica si se deben reducir las dimensiones (altura, ancho) de la imagen a múltiplos de vae_scale_factor. Puede aceptar los argumentos height y width del método image_processor.VaeImageProcessor.preprocess().
  • vae_scale_factor (int, opcional, valor predeterminado 8) — Factor de escala del VAE. Si do_resize es True, la imagen se redimensiona automáticamente a múltiplos de este factor.
  • resample (str, opcional, valor predeterminado lanczos) — Filtro de remuestreo que se utilizará al redimensionar la imagen.
  • do_normalize (bool, opcional, valor predeterminado True) — Si se debe normalizar la imagen a [-1,1].
  • do_binarize (bool, opcional, valor predeterminado False) — Si se debe binarizar la imagen a 0/1.
  • do_convert_rgb (bool, opcional, por defecto False) — Si se deben convertir las imágenes al formato RGB.
  • do_convert_grayscale (bool, opcional, valor predeterminado False) — Si se deben convertir las imágenes al formato de escala de grises.

Procesador de imágenes para VAE.

apply_overlay

< >

( mask: Imageinit_image: Imageimage: Imagecrop_coords: tuple[int, int, int, int] | None = None ) → PIL.Image.Image

Parámetros

  • mask (PIL.Image.Image) — La imagen de máscara que resalta las regiones a superponer.
  • init_image (PIL.Image.Image) — La imagen original a la que se aplica la superposición.
  • image (PIL.Image.Image) — La imagen que se superpondrá sobre la original.
  • crop_coords (tuple[int, int, int, int], opcional) — Coordenadas para recortar la imagen. Si se proporcionan, la imagen se recortará en consecuencia.

Devuelve

PIL.Image.Image

La imagen final con la superposición aplicada.

Aplica una superposición de la máscara y la imagen reparada sobre la imagen original.

binarize

< >

( image: Image ) → PIL.Image.Image

Parámetros

  • image (PIL.Image.Image) — La imagen de entrada, debe ser una imagen PIL.

Devuelve

PIL.Image.Image

La imagen binarizada. Los valores menores que 0.5 se establecen en 0, y los valores mayores que 0.5 se establecen en 1.

Crea una máscara.

desenfoque

< >

( image: Imageblur_factor: int = 4 ) → PIL.Image.Image

Parámetros

  • image (PIL.Image.Image) — La imagen PIL que se convertirá a escala de grises.

Devuelve

PIL.Image.Image

La imagen PIL convertida a escala de grises.

Aplica un desenfoque gaussiano a una imagen.

convert_to_grayscale

< >

( image: Image ) → PIL.Image.Image

Parámetros

  • image (PIL.Image.Image) — La imagen de entrada a convertir.

Devuelve

PIL.Image.Image

La imagen convertida a escala de grises.

Convierte una imagen PIL dada a escala de grises.

convert_to_rgb

< >

( image: Image ) → PIL.Image.Image

Parámetros

  • image (PIL.Image.Image) — La imagen PIL que se convertirá a RGB.

Devuelve

PIL.Image.Image

La imagen PIL convertida a RGB.

Convierte una imagen PIL al formato RGB.

denormalizar

< >

( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor

Parámetros

  • images (np.ndarray o torch.Tensor) — El array de imágenes a denormalizar.

Devuelve

np.ndarray o torch.Tensor

El array de imagen denormalizado.

Denormalizar un array de imagen a [0,1].

get_crop_region

< >

( mask_image: Imagewidth: intheight: intpad = 0 ) → tuple

Parámetros

  • mask_image (PIL.Image.Image) — Imagen de máscara.
  • width (int) — Ancho de la imagen que se va a procesar.
  • height (int) — Altura de la imagen a procesar.
  • pad (int, opcional) — Relleno que se añadirá a la región de recorte. El valor predeterminado es 0.

Devuelve

tuple

(x1, y1, x2, y2) representa una región rectangular que contiene todas las áreas enmascaradas de una imagen y coincide con la relación de aspecto original.

Encuentra una región rectangular que contenga todas las áreas enmascaradas de una imagen y expande la región para que coincida con la relación de aspecto de la imagen original; por ejemplo, si el usuario dibujó la máscara en una región de 128x32 y las dimensiones para el procesamiento son 512x512, la región se expandirá a 128x128.

get_default_height_width

< >

( 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) — La entrada de imagen, que puede ser una imagen PIL, un array de NumPy o un tensor de PyTorch. Si es un array de NumPy, su forma debe ser [batch, height, width] o [batch, height, width, channels]. Si es un tensor de PyTorch, su forma debe ser [batch, channels, height, width].
  • height (int | None, opcional, valor predeterminado None) — La altura de la imagen preprocesada. Si es None, se utilizará la altura de la entrada image.
  • width (int | None, opcional, valor predeterminado None) — El ancho de la imagen preprocesada. Si es None, se utilizará el ancho de la entrada image.

Devuelve

tuple[int, int]

Una tupla que contiene la altura y el ancho, ambos redimensionados al múltiplo entero más cercano de vae_scale_factor.

Devuelve la altura y el ancho de la imagen, reducidos al siguiente múltiplo entero de vae_scale_factor.

normalize

< >

( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor

Parámetros

  • images (np.ndarray o torch.Tensor) — El array de imágenes a normalizar.

Devuelve

np.ndarray o torch.Tensor

El array de imagen normalizado.

Normalizar un array de imagen a [-1,1].

numpy_to_pil

< >

( images: ndarray ) → list[PIL.Image.Image]

Parámetros

  • images (np.ndarray) — El array de imágenes para convertir al formato PIL.

Devuelve

list[PIL.Image.Image]

Una lista de imágenes PIL.

Convierte una imagen de numpy o un lote de imágenes en una imagen de PIL.

numpy_to_pt

< >

( images: ndarray ) → torch.Tensor

Parámetros

  • images (np.ndarray) — El array de imagen de NumPy que se convertirá al formato de PyTorch.

Devuelve

torch.Tensor

Una representación de las imágenes como tensor de PyTorch.

Convierte una imagen de NumPy en un tensor de PyTorch.

pil_to_numpy

< >

( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray

Parámetros

  • images (PIL.Image.Image o list[PIL.Image.Image]) — La imagen PIL o lista de imágenes que se convertirá al formato NumPy.

Devuelve

np.ndarray

Una representación de las imágenes como un array de NumPy.

Convierte una imagen PIL o una lista de imágenes PIL en matrices NumPy.

postprocess

< >

( image: Tensoroutput_type: str = 'pil'do_denormalize: list[bool] | None = None ) → PIL.Image.Image, np.ndarray or torch.Tensor

Parámetros

  • image (torch.Tensor) — La entrada de imagen, debe ser un tensor de PyTorch con forma B x C x H x W.
  • output_type (str, opcional, valor predeterminado pil) — El tipo de salida de la imagen, puede ser uno de pil, np, pt, latent.
  • do_denormalize (list[bool], opcional, valor predeterminado None) — Si se debe denormalizar la imagen a [0,1]. Si es None, se usará el valor de do_normalize en la configuración de VaeImageProcessor.

Devuelve

PIL.Image.Image, np.ndarray o torch.Tensor

La imagen procesada.

Postprocesa la imagen de salida de tensor a output_type.

preprocesar

< >

( 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) — La entrada de imagen, los formatos aceptados son imágenes PIL, matrices NumPy, tensores de PyTorch; también se acepta una lista de formatos admitidos.
  • height (int, opcional) — La altura en la imagen preprocesada. Si es None, se usará get_default_height_width() para obtener la altura predeterminada.
  • width (int, opcional) — El ancho en preprocesado. Si es None, se usará get_default_height_width()` para obtener el ancho predeterminado.
  • resize_mode (str, opcional, valor predeterminado default) — El modo de redimensionado, puede ser default o fill. Si es default, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, y es posible que no se mantenga la relación de aspecto original. Si es fill, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, manteniendo la relación de aspecto, y luego se centrará la imagen dentro de las dimensiones, rellenando los espacios vacíos con datos de la imagen. Si es crop, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, manteniendo la relación de aspecto, y luego se centrará la imagen dentro de las dimensiones, recortando el exceso. Tenga en cuenta que resize_mode fill y crop solo se admiten para entradas de imagen PIL.
  • crops_coords (list[tuple[int, int, int, int]], opcional, valor predeterminado None) — Las coordenadas de recorte para cada imagen del lote. Si es None, no se recortará la imagen.

Devuelve

torch.Tensor

La imagen preprocesada.

Preprocesa la entrada de imagen.

pt_to_numpy

< >

( images: Tensor ) → np.ndarray

Parámetros

  • images (torch.Tensor) — El tensor de PyTorch que se convertirá al formato de NumPy.

Devuelve

np.ndarray

Una representación de las imágenes como un array de NumPy.

Convierte un tensor de PyTorch en una imagen de NumPy.

resize

< >

( 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.ndarray o torch.Tensor) — La imagen de entrada, puede ser una imagen PIL, un array de numpy o un tensor de pytorch.
  • height (int) — La altura a la que se debe redimensionar.
  • width (int) — El ancho al que se debe redimensionar.
  • resize_mode (str, opcional, valor predeterminado default) — El modo de redimensionado a utilizar, puede ser default o fill. Si es default, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, y es posible que no se mantenga la relación de aspecto original. Si es fill, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, manteniendo la relación de aspecto, y luego se centrará la imagen dentro de las dimensiones, rellenando los espacios vacíos con datos de la imagen. Si es crop, se redimensionará la imagen para que quepa dentro del ancho y alto especificados, manteniendo la relación de aspecto, y luego se centrará la imagen dentro de las dimensiones, recortando el exceso. Tenga en cuenta que resize_mode fill y crop solo se admiten para entradas de imagen PIL.

Devuelve

PIL.Image.Image, np.ndarray o torch.Tensor

La imagen redimensionada.

Redimensionar imagen.

InpaintProcessor

El InpaintProcessor acepta las entradas mask y image y las procesa juntas. Opcionalmente, puede aceptar padding_mask_crop y aplicar una superposición de máscara.

clase diffusers.InpaintProcessor

< >

( 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 )

Procesador de imágenes para inpainting de imagen y máscara.

postprocess

< >

( 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 )

Postprocesa la imagen y aplica opcionalmente una superposición de máscara

preprocesar

< >

( image: Imagemask: PIL.Image.Image | None = Noneheight: int | None = Nonewidth: int | None = Nonepadding_mask_crop: int | None = None )

Preprocesa la imagen y la máscara.

VaeImageProcessorLDM3D

El VaeImageProcessorLDM3D acepta entradas RGB y de profundidad y devuelve salidas RGB y de profundidad.

clase diffusers.VaeImageProcessorLDM3D

< >

( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = True )

Parámetros

  • do_resize (bool, opcional, valor predeterminado True) — Si se debe reducir las dimensiones (altura, ancho) de la imagen a múltiplos de vae_scale_factor.
  • vae_scale_factor (int, opcional, valor predeterminado 8) — Factor de escala del VAE. Si do_resize es True, la imagen se redimensiona automáticamente a múltiplos de este factor.
  • resample (str, opcional, valor predeterminado lanczos) — Filtro de remuestreo que se utilizará al redimensionar la imagen.
  • do_normalize (bool, opcional, valor predeterminado True) — Si se debe normalizar la imagen a [-1,1].

Procesador de imágenes para VAE LDM3D.

depth_pil_to_numpy

< >

( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray

Parámetros

  • images (list[PIL.Image.Image, PIL.Image.Image]) — La imagen de entrada o lista de imágenes que se van a convertir.

Devuelve

np.ndarray

Un array de NumPy con las imágenes convertidas.

Convierte una imagen PIL o una lista de imágenes PIL en matrices NumPy.

numpy_to_depth

< >

( images: ndarray ) → list[PIL.Image.Image]

Parámetros

  • images (np.ndarray) — El array de entrada de NumPy con imágenes de profundidad, que puede ser una sola imagen o un lote.

Devuelve

list[PIL.Image.Image]

Una lista de imágenes PIL convertidas desde las imágenes de profundidad de entrada de NumPy.

Convierte una imagen de profundidad de NumPy o un lote de imágenes en una lista de imágenes PIL.

numpy_to_pil

< >

( images: ndarray ) → list[PIL.Image.Image]

Parámetros

  • images (np.ndarray) — El array de entrada de NumPy con las imágenes, que puede ser una sola imagen o un lote.

Devuelve

list[PIL.Image.Image]

Una lista de imágenes PIL convertidas desde la entrada de un array de NumPy.

Convierte una imagen de NumPy o un lote de imágenes en una lista de imágenes PIL.

preprocesar

< >

( 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) — La imagen de entrada RGB, que puede ser una sola imagen o un lote.
  • depth (torch.Tensor | PIL.Image.Image | np.ndarray) — La imagen de profundidad de entrada, que puede ser una sola imagen o un lote.
  • height (int | None, opcional, valor predeterminado None) — La altura deseada de la imagen procesada. Si es None, el valor predeterminado es la altura de la imagen de entrada.
  • width (int | None, opcional, valor predeterminado None) — El ancho deseado de la imagen procesada. Si es None, el valor predeterminado es el ancho de la imagen de entrada.
  • target_res (int | None, opcional, valor predeterminado None) — Resolución objetivo para redimensionar las imágenes. Si se especifica, tiene prioridad sobre la altura y el ancho.

Devuelve

tuple[torch.Tensor, torch.Tensor]

Una tupla que contiene las imágenes RGB y de profundidad procesadas como tensores de PyTorch.

Preprocesa la entrada de imagen. Los formatos aceptados son imágenes PIL, matrices NumPy o tensores de PyTorch.

rgblike_to_depthmap

< >

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

Convierte una imagen de profundidad similar a RGB en un mapa de profundidad.

PixArtImageProcessor

clase diffusers.PixArtImageProcessor

< >

( 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, valor predeterminado True) — Indica si se deben reducir las dimensiones (altura, ancho) de la imagen a múltiplos de vae_scale_factor. Puede aceptar los argumentos height y width del método image_processor.VaeImageProcessor.preprocess().
  • vae_scale_factor (int, opcional, valor predeterminado 8) — Factor de escala del VAE. Si do_resize es True, la imagen se redimensiona automáticamente a múltiplos de este factor.
  • resample (str, opcional, valor predeterminado lanczos) — Filtro de remuestreo que se utilizará al redimensionar la imagen.
  • do_normalize (bool, opcional, valor predeterminado True) — Si se debe normalizar la imagen a [-1,1].
  • do_binarize (bool, opcional, valor predeterminado False) — Si se debe binarizar la imagen a 0/1.
  • do_convert_rgb (bool, opcional, por defecto False) — Si se deben convertir las imágenes al formato RGB.
  • do_convert_grayscale (bool, opcional, valor predeterminado False) — Si se deben convertir las imágenes al formato de escala de grises.

Procesador de imágenes para redimensionar y recortar imágenes de PixArt.

classify_height_width_bin

< >

( height: intwidth: intratios: dict ) → tuple[int, int]

Parámetros

  • height (int) — La altura de la imagen.
  • width (int) — El ancho de la imagen.
  • ratios (dict) — Un diccionario donde las claves son las relaciones de aspecto y los valores son tuplas de (altura, ancho).

Devuelve

tuple[int, int]

La altura y el ancho más cercanos en bins.

Devuelve la altura y el ancho binados en función de la relación de aspecto.

resize_and_crop_tensor

< >

( samples: Tensornew_width: intnew_height: int ) → torch.Tensor

Parámetros

  • samples (torch.Tensor) — Un tensor de forma (N, C, H, W) donde N es el tamaño del lote, C es el número de canales, H es la altura y W es el ancho.
  • new_width (int) — El ancho deseado de las imágenes de salida.
  • new_height (int) — La altura deseada de las imágenes de salida.

Devuelve

torch.Tensor

Un tensor que contiene las imágenes redimensionadas y recortadas.

Redimensiona y recorta un tensor de imágenes a las dimensiones especificadas.

IPAdapterMaskProcessor

clase diffusers.IPAdapterMaskProcessor

< >

( 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, valor predeterminado True) — Si se debe reducir las dimensiones (altura, ancho) de la imagen a múltiplos de vae_scale_factor.
  • vae_scale_factor (int, opcional, valor predeterminado 8) — Factor de escala del VAE. Si do_resize es True, la imagen se redimensiona automáticamente a múltiplos de este factor.
  • resample (str, opcional, valor predeterminado lanczos) — Filtro de remuestreo que se utilizará al redimensionar la imagen.
  • do_normalize (bool, opcional, valor predeterminado False) — Si se debe normalizar la imagen a [-1,1].
  • do_binarize (bool, opcional, valor predeterminado True) — Si se debe binarizar la imagen a 0/1.
  • do_convert_grayscale (bool, opcional, valor predeterminado True) — Si se convierten las imágenes al formato de escala de grises.

Procesador de imágenes para máscaras de imagen de IP Adapter.

downsample

< >

( mask: Tensorbatch_size: intnum_queries: intvalue_embed_dim: int ) → torch.Tensor

Parámetros

  • mask (torch.Tensor) — El tensor de máscara de entrada generado con IPAdapterMaskProcessor.preprocess().
  • batch_size (int) — El tamaño del lote.
  • num_queries (int) — El número de consultas.
  • value_embed_dim (int) — La dimensionalidad de las incrustaciones de valor.

Devuelve

torch.Tensor

El tensor de máscara con muestreo descendente.

Realiza el downsampling del tensor de máscara proporcionado para que coincida con las dimensiones esperadas para la atención de producto punto escalado. Si la relación de aspecto de la máscara no coincide con la relación de aspecto de la imagen de salida, se emite una advertencia.

Update on GitHub