Diffusers documentation

Processeur d'images 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

Processeur d'images VAE

Le VaeImageProcessor fournit une API unifiée pour les StableDiffusionPipeline afin de préparer les entrées d’images pour l’encodage VAE et de post-traiter les sorties une fois qu’elles sont décodées. Cela inclut des transformations telles que le redimensionnement, la normalisation et la conversion entre images PIL, tableaux PyTorch et tableaux NumPy.

Tous les pipelines utilisant VaeImageProcessor acceptent des images PIL, des tenseurs PyTorch ou des tableaux NumPy en entrée et retournent des sorties en fonction de l'argument output_type fourni par l'utilisateur. Vous pouvez transmettre directement des latents d'image encodés au pipeline et récupérer des latents en sortie via l'argument output_type (par exemple output_type="latent"). Cela permet de récupérer les latents générés par un pipeline et de les transmettre à un autre pipeline en entrée, sans quitter l'espace latent. Cela facilite également grandement l'utilisation de plusieurs pipelines ensemble en transmettant directement des tenseurs PyTorch entre les différents pipelines.

VaeImageProcessor

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

Paramètres

  • do_resize (bool, facultatif, par défaut True) — Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples de vae_scale_factor. Peut accepter les arguments height et width de la méthode image_processor.VaeImageProcessor.preprocess().
  • vae_scale_factor (int, facultatif, valeur par défaut 8) — Facteur d'échelle du VAE. Si do_resize est True, l'image est redimensionnée automatiquement en multiples de ce facteur.
  • resample (str, facultatif, par défaut lanczos) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image.
  • do_normalize (bool, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'image dans l'intervalle [-1,1].
  • do_binarize (bool, facultatif, par défaut False) — Indique s'il faut binariser l'image en 0/1.
  • do_convert_rgb (bool, facultatif, valeur par défaut False) — Indique s'il faut convertir les images au format RGB.
  • do_convert_grayscale (bool, facultatif, valeur par défaut False) — Indique s'il faut convertir les images au format niveaux de gris.

Processeur d'images pour le VAE.

apply_overlay

< >

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

Paramètres

  • mask (PIL.Image.Image) — L’image de masque qui met en évidence les régions à superposer.
  • init_image (PIL.Image.Image) — L'image d'origine sur laquelle le calque est appliqué.
  • image (PIL.Image.Image) — The image to overlay onto the original.
  • crop_coords (tuple[int, int, int, int], facultatif) — Coordonnées pour recadrer l'image. Si fournies, l'image sera recadrée en conséquence.

Retourne

PIL.Image.Image

L'image finale avec le calque appliqué.

Applique un calque du masque et de l'image retouchée sur l'image d'origine.

binarize

< >

( image: Image ) → PIL.Image.Image

Paramètres

  • image (PIL.Image.Image) — L’image en entrée, doit être une image PIL.

Retourne

PIL.Image.Image

L'image binarisée. Les valeurs inférieures à 0,5 sont définies à 0, les valeurs supérieures à 0,5 sont définies à 1.

Créer un masque.

flou

< >

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

Paramètres

  • image (PIL.Image.Image) — L’image PIL à convertir en niveaux de gris.

Retourne

PIL.Image.Image

L'image PIL convertie en niveaux de gris.

Applique un flou gaussien à une image.

convert_to_grayscale

< >

( image: Image ) → PIL.Image.Image

Paramètres

  • image (PIL.Image.Image) — L'image d'entrée à convertir.

Retourne

PIL.Image.Image

L'image convertie en niveaux de gris.

Convertit une image PIL donnée en niveaux de gris.

convert_to_rgb

< >

( image: Image ) → PIL.Image.Image

Paramètres

  • image (PIL.Image.Image) — L’image PIL à convertir en RGB.

Retourne

PIL.Image.Image

L'image PIL convertie en RGB.

Convertit une image PIL au format RGB.

denormalize

< >

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

Paramètres

  • images (np.ndarray or torch.Tensor) — The image array to denormalize.

Retourne

np.ndarray ou torch.Tensor

Le tableau d'images dénormalisé.

Dénormaliser un tableau d'image vers [0,1].

get_crop_region

< >

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

Paramètres

  • mask_image (PIL.Image.Image) — Image du masque.
  • width (int) — Largeur de l'image à traiter.
  • height (int) — Hauteur de l'image à traiter.
  • pad (int, optionnel) — Rembourrage à ajouter à la zone de recadrage. Valeur par défaut : 0.

Retourne

tuple

(x1, y1, x2, y2) représentent une région rectangulaire qui contient toutes les zones masquées dans une image et qui correspond au ratio d'aspect d'origine.

Trouve une région rectangulaire contenant toutes les zones masquées d'une image, puis agrandit la région pour correspondre au ratio d'aspect de l'image d'origine ; par exemple, si l'utilisateur a dessiné un masque dans une région de 128x32 et que les dimensions de traitement sont 512x512, la région sera agrandie à 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]

Paramètres

  • image (PIL.Image.Image | np.ndarray | torch.Tensor) — L’entrée image, qui peut être une image PIL, un tableau NumPy ou un tenseur PyTorch. S’il s’agit d’un tableau NumPy, sa forme doit être [batch, height, width] ou [batch, height, width, channels]. S’il s’agit d’un tenseur PyTorch, sa forme doit être [batch, channels, height, width].
  • height (int | None, facultatif, par défaut None) — La hauteur de l'image prétraitée. Si None, la hauteur de l'entrée image sera utilisée.
  • width (int | None, facultatif, par défaut None) — La largeur de l'image prétraitée. Si None, la largeur de l'entrée image sera utilisée.

Retourne

tuple[int, int]

Un tuple contenant la hauteur et la largeur, toutes deux redimensionnées au multiple entier le plus proche de vae_scale_factor.

Retourne la hauteur et la largeur de l'image, redimensionnées au multiple entier supérieur de vae_scale_factor.

normalize

< >

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

Paramètres

  • images (np.ndarray or torch.Tensor) — The image array to normalize.

Retourne

np.ndarray ou torch.Tensor

Le tableau d'images normalisé.

Normaliser un tableau d'image dans l'intervalle [-1,1].

numpy_to_pil

< >

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

Paramètres

  • images (np.ndarray) — The image array to convert to PIL format.

Retourne

list[PIL.Image.Image]

Une liste d'images PIL.

Convertir une image numpy ou un lot d'images en image PIL.

numpy_to_pt

< >

( images: ndarray ) → torch.Tensor

Paramètres

  • images (np.ndarray) — The NumPy image array to convert to PyTorch format.

Retourne

torch.Tensor

Représentation des images sous forme de tenseur PyTorch.

Convertir une image NumPy en tenseur PyTorch.

pil_to_numpy

< >

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

Paramètres

  • images (PIL.Image.Image ou list[PIL.Image.Image]) — L’image PIL ou la liste d’images à convertir au format NumPy.

Retourne

np.ndarray

Représentation des images sous forme de tableau NumPy.

Convertit une image PIL ou une liste d'images PIL en tableaux NumPy.

postprocess

< >

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

Paramètres

  • image (torch.Tensor) — L'entrée image, doit être un tenseur pytorch de forme B x C x H x W.
  • output_type (str, facultatif, par défaut pil) — Le type de sortie de l'image, peut être l'un des éléments suivants : pil, np, pt, latent.
  • do_denormalize (list[bool], facultatif, valeur par défaut None) — Indique s'il faut dénormaliser l'image vers [0,1]. Si None, utilise la valeur de do_normalize dans la configuration de VaeImageProcessor.

Retourne

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

L'image après post-traitement.

Post-traitez l'image en sortie, de tensor vers output_type.

prétraiter

< >

( 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

Paramètres

  • image (PipelineImageInput) — L’entrée image, les formats acceptés sont les images PIL, les tableaux NumPy, les tenseurs PyTorch ; accepte également une liste de formats pris en charge.
  • height (int, facultatif) — La hauteur de l'image prétraitée. Si None, la fonction get_default_height_width() est utilisée pour obtenir la hauteur par défaut.
  • width (int, facultatif) — La largeur en pixels prétraités. Si None, utilise get_default_height_width()` pour obtenir la largeur par défaut.
  • resize_mode (str, facultatif, par défaut default) — Le mode de redimensionnement, peut être default ou fill. Si default, l’image est redimensionnée pour s’adapter à la largeur et à la hauteur spécifiées, sans nécessairement conserver le ratio d’aspect d’origine. Si fill, l’image est redimensionnée pour s’adapter à la largeur et à la hauteur spécifiées en conservant le ratio d’aspect, puis centrée dans les dimensions, les espaces vides étant remplis avec des données issues de l’image. Si crop, l’image est redimensionnée pour s’adapter à la largeur et à la hauteur spécifiées en conservant le ratio d’aspect, puis centrée dans les dimensions, l’excédent étant rogné. Notez que resize_mode fill et crop ne sont pris en charge que pour une entrée d’image PIL.
  • crops_coords (list[tuple[int, int, int, int]], facultatif, par défaut None) — Les coordonnées de recadrage pour chaque image du lot. Si None, l'image ne sera pas recadrée.

Retourne

torch.Tensor

L'image prétraitée.

Prétraitez l'entrée image.

pt_to_numpy

< >

( images: Tensor ) → np.ndarray

Paramètres

  • images (torch.Tensor) — Le tenseur PyTorch à convertir au format NumPy.

Retourne

np.ndarray

Représentation des images sous forme de tableau NumPy.

Convertir un tenseur PyTorch en image NumPy.

redimensionner

< >

( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor]height: intwidth: intresize_mode: str = 'default' ) → PIL.Image.Image, np.ndarray or torch.Tensor

Paramètres

  • image (PIL.Image.Image, np.ndarray ou torch.Tensor) — L’image en entrée, qui peut être une image PIL, un tableau numpy ou un tenseur pytorch.
  • height (int) — La hauteur de redimensionnement.
  • width (int) — La largeur de redimensionnement.
  • resize_mode (str, facultatif, par défaut default) — Le mode de redimensionnement à utiliser, peut être default ou fill. Si default, l’image est redimensionnée pour s’adapter aux largeur et hauteur spécifiées, sans nécessairement conserver le ratio d’aspect d’origine. Si fill, l’image est redimensionnée pour s’adapter aux largeur et hauteur spécifiées en conservant le ratio d’aspect, puis centrée dans les dimensions, les espaces vides étant remplis avec des données issues de l’image. Si crop, l’image est redimensionnée pour s’adapter aux largeur et hauteur spécifiées en conservant le ratio d’aspect, puis centrée dans les dimensions, l’excédent étant rogné. Notez que resize_mode fill et crop ne sont pris en charge que pour une entrée d’image PIL.

Retourne

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

L'image redimensionnée.

Redimensionner l'image.

InpaintProcessor

Le InpaintProcessor accepte les entrées mask et image et les traite ensemble. Facultativement, il peut accepter padding_mask_crop et appliquer un calque de masque.

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

Processeur d'images pour l'inpainting d'une image et d'un masque.

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 )

Post-traiter l'image, appliquer éventuellement un masque en superposition

prétraiter

< >

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

Prétraitez l'image et le masque.

VaeImageProcessorLDM3D

Le VaeImageProcessorLDM3D accepte des entrées RGB et de profondeur et renvoie des sorties RGB et de profondeur.

classe diffusers.VaeImageProcessorLDM3D

< >

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

Paramètres

  • do_resize (bool, facultatif, par défaut True) — Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples de vae_scale_factor.
  • vae_scale_factor (int, facultatif, valeur par défaut 8) — Facteur d'échelle du VAE. Si do_resize est True, l'image est redimensionnée automatiquement en multiples de ce facteur.
  • resample (str, facultatif, par défaut lanczos) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image.
  • do_normalize (bool, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'image dans l'intervalle [-1,1].

Processeur d'images pour VAE LDM3D.

depth_pil_to_numpy

< >

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

Paramètres

  • images (list[PIL.Image.Image, PIL.Image.Image]) — L'image d'entrée ou la liste d'images à convertir.

Retourne

np.ndarray

Un tableau NumPy des images converties.

Convertit une image PIL ou une liste d'images PIL en tableaux NumPy.

numpy_to_depth

< >

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

Paramètres

  • images (np.ndarray) — Tableau NumPy d'entrée contenant des images de profondeur, pouvant s'agir d'une seule image ou d'un lot.

Retourne

list[PIL.Image.Image]

Une liste d'images PIL converties à partir des images de profondeur NumPy d'entrée.

Convertir une image de profondeur NumPy ou un lot d'images en une liste d'images PIL.

numpy_to_pil

< >

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

Paramètres

  • images (np.ndarray) — Le tableau NumPy d'images en entrée, qui peut être une image unique ou un lot.

Retourne

list[PIL.Image.Image]

Une liste d'images PIL converties depuis le tableau NumPy d'entrée.

Convertir une image NumPy ou un lot d'images en une liste d'images PIL.

prétraiter

< >

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

Paramètres

  • rgb (torch.Tensor | PIL.Image.Image | np.ndarray) — L’image d’entrée RGB, qui peut être une image unique ou un lot.
  • depth (torch.Tensor | PIL.Image.Image | np.ndarray) — L’image d’entrée de profondeur, qui peut être une image unique ou un lot.
  • height (int | None, facultatif, par défaut None) — La hauteur souhaitée de l’image traitée. Si None, la hauteur de l’image d’entrée est utilisée par défaut.
  • width (int | None, facultatif, par défaut None) — La largeur souhaitée de l’image traitée. Si None, la largeur de l’image d’entrée est utilisée par défaut.
  • target_res (int | None, facultatif, par défaut None) — Résolution cible pour le redimensionnement des images. Si spécifiée, remplace la hauteur et la largeur.

Retourne

tuple[torch.Tensor, torch.Tensor]

Un tuple contenant les images RGB et de profondeur traitées sous forme de tenseurs PyTorch.

Prétraitez l’entrée image. Les formats acceptés sont les images PIL, les tableaux NumPy ou les tenseurs PyTorch.

rgblike_to_depthmap

< >

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

Convertir une image de profondeur de type RGB en carte de profondeur.

PixArtImageProcessor

classe diffusers.PixArtImageProcessor

< >

( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = Truedo_binarize: bool = Falsedo_convert_grayscale: bool = False )

Paramètres

  • do_resize (bool, facultatif, par défaut True) — Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples de vae_scale_factor. Peut accepter les arguments height et width de la méthode image_processor.VaeImageProcessor.preprocess().
  • vae_scale_factor (int, facultatif, valeur par défaut 8) — Facteur d'échelle du VAE. Si do_resize est True, l'image est redimensionnée automatiquement en multiples de ce facteur.
  • resample (str, facultatif, par défaut lanczos) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image.
  • do_normalize (bool, facultatif, valeur par défaut True) — Indique s'il faut normaliser l'image dans l'intervalle [-1,1].
  • do_binarize (bool, facultatif, par défaut False) — Indique s'il faut binariser l'image en 0/1.
  • do_convert_rgb (bool, facultatif, valeur par défaut False) — Indique s'il faut convertir les images au format RGB.
  • do_convert_grayscale (bool, facultatif, valeur par défaut False) — Indique s'il faut convertir les images au format niveaux de gris.

Processeur d’images pour le redimensionnement et le recadrage des images PixArt.

classify_height_width_bin

< >

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

Paramètres

  • height (int) — La hauteur de l'image.
  • width (int) — La largeur de l'image.
  • ratios (dict) — Un dictionnaire dont les clés sont des rapports d’aspect et les valeurs des tuples (hauteur, largeur).

Retourne

tuple[int, int]

La hauteur et la largeur binées les plus proches.

Retourne la hauteur et la largeur binées en fonction du ratio d'aspect.

resize_and_crop_tensor

< >

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

Paramètres

  • samples (torch.Tensor) — Un tenseur de forme (N, C, H, W) où N est la taille du lot, C est le nombre de canaux, H est la hauteur et W est la largeur.
  • new_width (int) — Largeur souhaitée des images de sortie.
  • new_height (int) — La hauteur souhaitée des images de sortie.

Retourne

torch.Tensor

Un tenseur contenant les images redimensionnées et recadrées.

Redimensionne et recadre un tenseur d'images aux dimensions spécifiées.

IPAdapterMaskProcessor

classe diffusers.IPAdapterMaskProcessor

< >

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

Paramètres

  • do_resize (bool, facultatif, par défaut True) — Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples de vae_scale_factor.
  • vae_scale_factor (int, facultatif, valeur par défaut 8) — Facteur d'échelle du VAE. Si do_resize est True, l'image est redimensionnée automatiquement en multiples de ce facteur.
  • resample (str, facultatif, par défaut lanczos) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image.
  • do_normalize (bool, facultatif, valeur par défaut False) — Indique s'il faut normaliser l'image dans l'intervalle [-1,1].
  • do_binarize (bool, facultatif, par défaut True) — Indique s'il faut binariser l'image en 0/1.
  • do_convert_grayscale (bool, facultatif, valeur par défaut True) — Indique s'il faut convertir les images au format niveaux de gris.

Processeur d'images pour les masques d'images IP Adapter.

downsample

< >

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

Paramètres

  • mask (torch.Tensor) — Le tenseur de masque d'entrée généré avec IPAdapterMaskProcessor.preprocess().
  • batch_size (int) — La taille du lot.
  • num_queries (int) — Le nombre de requêtes.
  • value_embed_dim (int) — La dimension des embeddings de valeur.

Retourne

torch.Tensor

Le tenseur de masque sous-échantillonné.

Effectue un sous-échantillonnage du tenseur de masque fourni afin de correspondre aux dimensions attendues pour l'attention à produit scalaire mis à l'échelle. Si le rapport d'aspect du masque ne correspond pas au rapport d'aspect de l'image de sortie, un avertissement est émis.

Update on GitHub