Diffusers documentation
Processeur d'images VAE
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
< 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 )
Paramètres
- do_resize (
bool, facultatif, par défautTrue) — Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples devae_scale_factor. Peut accepter les argumentsheightetwidthde la méthode image_processor.VaeImageProcessor.preprocess(). - vae_scale_factor (
int, facultatif, valeur par défaut8) — Facteur d'échelle du VAE. Sido_resizeestTrue, l'image est redimensionnée automatiquement en multiples de ce facteur. - resample (
str, facultatif, par défautlanczos) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image. - do_normalize (
bool, facultatif, valeur par défautTrue) — Indique s'il faut normaliser l'image dans l'intervalle [-1,1]. - do_binarize (
bool, facultatif, par défautFalse) — Indique s'il faut binariser l'image en 0/1. - do_convert_rgb (
bool, facultatif, valeur par défautFalse) — Indique s'il faut convertir les images au format RGB. - do_convert_grayscale (
bool, facultatif, valeur par défautFalse) — Indique s'il faut convertir les images au format niveaux de gris.
Processeur d'images pour le VAE.
apply_overlay
< source >( 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
< source >( image: Image ) → PIL.Image.Image
Créer un masque.
flou
< source >( image: Imageblur_factor: int = 4 ) → PIL.Image.Image
Applique un flou gaussien à une image.
convert_to_grayscale
< source >( image: Image ) → PIL.Image.Image
Convertit une image PIL donnée en niveaux de gris.
convert_to_rgb
< source >( image: Image ) → PIL.Image.Image
Convertit une image PIL au format RGB.
denormalize
< source >( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor
Dénormaliser un tableau d'image vers [0,1].
get_crop_region
< source >( 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
< source >( 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éfautNone) — La hauteur de l'image prétraitée. SiNone, la hauteur de l'entréeimagesera utilisée. - width (
int | None, facultatif, par défautNone) — La largeur de l'image prétraitée. SiNone, la largeur de l'entréeimagesera 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
< source >( images: typing.Union[numpy.ndarray, torch.Tensor] ) → np.ndarray or torch.Tensor
Normaliser un tableau d'image dans l'intervalle [-1,1].
numpy_to_pil
< source >( images: ndarray ) → list[PIL.Image.Image]
Convertir une image numpy ou un lot d'images en image PIL.
numpy_to_pt
< source >( images: ndarray ) → torch.Tensor
Convertir une image NumPy en tenseur PyTorch.
pil_to_numpy
< source >( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray
Convertit une image PIL ou une liste d'images PIL en tableaux NumPy.
postprocess
< source >( 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 formeB x C x H x W. - output_type (
str, facultatif, par défautpil) — 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éfautNone) — Indique s'il faut dénormaliser l'image vers [0,1]. SiNone, utilise la valeur dedo_normalizedans la configuration deVaeImageProcessor.
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
< 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
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. SiNone, la fonctionget_default_height_width()est utilisée pour obtenir la hauteur par défaut. - width (
int, facultatif) — La largeur en pixels prétraités. SiNone, utilise get_default_height_width()` pour obtenir la largeur par défaut. - resize_mode (
str, facultatif, par défautdefault) — Le mode de redimensionnement, peut êtredefaultoufill. Sidefault, 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. Sifill, 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. Sicrop, 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_modefilletcropne sont pris en charge que pour une entrée d’image PIL. - crops_coords (
list[tuple[int, int, int, int]], facultatif, par défautNone) — Les coordonnées de recadrage pour chaque image du lot. SiNone, l'image ne sera pas recadrée.
Retourne
torch.Tensor
L'image prétraitée.
Prétraitez l'entrée image.
pt_to_numpy
< source >( images: Tensor ) → np.ndarray
Convertir un tenseur PyTorch en image NumPy.
redimensionner
< 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
Paramètres
- image (
PIL.Image.Image,np.ndarrayoutorch.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éfautdefault) — Le mode de redimensionnement à utiliser, peut êtredefaultoufill. Sidefault, 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. Sifill, 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. Sicrop, 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_modefilletcropne 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
< 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 )
Processeur d'images pour l'inpainting d'une image et d'un masque.
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 )
Post-traiter l'image, appliquer éventuellement un masque en superposition
prétraiter
< source >( 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
< source >( do_resize: bool = Truevae_scale_factor: int = 8resample: str = 'lanczos'do_normalize: bool = True )
Paramètres
- do_resize (
bool, facultatif, par défautTrue) — Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples devae_scale_factor. - vae_scale_factor (
int, facultatif, valeur par défaut8) — Facteur d'échelle du VAE. Sido_resizeestTrue, l'image est redimensionnée automatiquement en multiples de ce facteur. - resample (
str, facultatif, par défautlanczos) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image. - do_normalize (
bool, facultatif, valeur par défautTrue) — Indique s'il faut normaliser l'image dans l'intervalle [-1,1].
Processeur d'images pour VAE LDM3D.
depth_pil_to_numpy
< source >( images: list[PIL.Image.Image] | PIL.Image.Image ) → np.ndarray
Convertit une image PIL ou une liste d'images PIL en tableaux NumPy.
numpy_to_depth
< source >( images: ndarray ) → list[PIL.Image.Image]
Convertir une image de profondeur NumPy ou un lot d'images en une liste d'images PIL.
numpy_to_pil
< source >( images: ndarray ) → list[PIL.Image.Image]
Convertir une image NumPy ou un lot d'images en une liste d'images PIL.
prétraiter
< 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]
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éfautNone) — La hauteur souhaitée de l’image traitée. SiNone, la hauteur de l’image d’entrée est utilisée par défaut. - width (
int | None, facultatif, par défautNone) — La largeur souhaitée de l’image traitée. SiNone, la largeur de l’image d’entrée est utilisée par défaut. - target_res (
int | None, facultatif, par défautNone) — 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.
Convertir une image de profondeur de type RGB en carte de profondeur.
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 )
Paramètres
- do_resize (
bool, facultatif, par défautTrue) — Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples devae_scale_factor. Peut accepter les argumentsheightetwidthde la méthode image_processor.VaeImageProcessor.preprocess(). - vae_scale_factor (
int, facultatif, valeur par défaut8) — Facteur d'échelle du VAE. Sido_resizeestTrue, l'image est redimensionnée automatiquement en multiples de ce facteur. - resample (
str, facultatif, par défautlanczos) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image. - do_normalize (
bool, facultatif, valeur par défautTrue) — Indique s'il faut normaliser l'image dans l'intervalle [-1,1]. - do_binarize (
bool, facultatif, par défautFalse) — Indique s'il faut binariser l'image en 0/1. - do_convert_rgb (
bool, facultatif, valeur par défautFalse) — Indique s'il faut convertir les images au format RGB. - do_convert_grayscale (
bool, facultatif, valeur par défautFalse) — 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
< source >( height: intwidth: intratios: dict ) → tuple[int, int]
Retourne la hauteur et la largeur binées en fonction du ratio d'aspect.
resize_and_crop_tensor
< source >( 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
< source >( 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éfautTrue) — Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples devae_scale_factor. - vae_scale_factor (
int, facultatif, valeur par défaut8) — Facteur d'échelle du VAE. Sido_resizeestTrue, l'image est redimensionnée automatiquement en multiples de ce facteur. - resample (
str, facultatif, par défautlanczos) — Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image. - do_normalize (
bool, facultatif, valeur par défautFalse) — Indique s'il faut normaliser l'image dans l'intervalle [-1,1]. - do_binarize (
bool, facultatif, par défautTrue) — Indique s'il faut binariser l'image en 0/1. - do_convert_grayscale (
bool, facultatif, valeur par défautTrue) — Indique s'il faut convertir les images au format niveaux de gris.
Processeur d'images pour les masques d'images IP Adapter.
downsample
< source >( 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é avecIPAdapterMaskProcessor.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.