Essayage virtuel - Amazon Nova

Essayage virtuel

L’essayage virtuel est un cas d’utilisation guidé par l’image de la retouche, dans lequel le contenu d’une image de référence est superposé à une image source en fonction des indications d’une image masque. Amazon Nova Canvas a été réglé pour les vêtements, les accessoires, les meubles et les objets connexes. Le modèle s’adapte également bien à d’autres cas, tels que l’ajout d’un logo ou d’un texte dans une image.

Vous pouvez générer jusqu’à cinq images avec l’API d’essayage virtuel. Par défaut, une seule image est générée.

Pour effectuer un essayage virtuel, vous devez fournir trois images :

  • Image source : l’image originale que vous voulez modifier. Il peut s’agir, par exemple, d’une image, d’une personne ou d’une pièce.

  • Image de référence : l’image contenant l’élément, l’objet ou l’article que vous voulez superposer à l’image source. Il peut s’agir, par exemple, d’une veste, d’un bol ou d’un canapé. Pour les vêtements, l’image de référence peut contenir des vêtements portés ou non et peut contenir plusieurs produits représentant des éléments distincts d’une tenue (tels que des chemises, des pantalons et des chaussures dans une seule image).

  • Image de masque : l’image qui définit la partie de la source que vous voulez modifier. Une image de masque est une image en noir et blanc utilisée pour définir la partie de l’image source qui doit être modifiée. Les pixels noirs indiquent la zone de l’image source à modifier, tandis que les pixels blancs indiquent les zones de l’image à conserver. Vous pouvez fournir votre propre image de masque ou laisser le modèle en créer une pour vous en fonction des autres paramètres d’entrée que vous fournissez.

    L’image de masque peut être renvoyée dans le cadre de la sortie si cela est spécifié.

Voici quelques exemples illustrant le fonctionnement du modèle.

Upper body clothing

Les images suivantes montrent un exemple de superposition d’un vêtement pour le haut du corps sur un modèle par Amazon Nova.

Image source

Image de référence

Sortie

Un homme portant des lunettes de soleil, regardant vers la gauche, vêtu d’une chemise bleue.
Une chemise boutonnée rose-rouge.
Un homme portant des lunettes de soleil, regardant vers la gauche, vêtu d’une chemise boutonnée rose-rouge.
Couch in a room

Les images suivantes illustrent un exemple de superposition d’un canapé dans une pièce meublée par Amazon Nova.

Image source

Image de référence

Sortie

Un canapé gris moderne du milieu du siècle dans une pièce entourée d’autres décorations.
Un canapé orange sur fond blanc.
Un canapé orange dans une pièce entourée d’autres décorations.

Contrairement aux autres types de tâches Amazon Nova Canvas, l’essayage virtuel ne prend pas en charge les invites textuelles ou les invites textuelles négatives.

Définition de l’image du masque

Vous pouvez soit fournir directement une image de masque en spécifiant maskType: "IMAGE", soit permettre au modèle de la calculer automatiquement à l’aide d’entrées auxiliaires telles que maskType: "GARMENT" ou maskType: "PROMPT".

Lorsqu’un type de masque "GARMENT" est spécifié, Amazon Nova Canvas crée un masque adapté au vêtement en fonction de la valeur du paramètre d’entrée garmentClass que vous spécifiez. Dans la plupart des cas, vous pouvez utiliser l’une des classes de vêtements de haut niveau suivantes :

  • "UPPER_BODY" : crée un masque qui inclut la longueur totale du bras.

  • "LOWER_BODY" : crée un masque qui inclut la longueur totale de la jambe sans espace entre les jambes.

  • "FOOTWEAR" : crée un masque qui s’adapte au profil de la chaussure présenté dans l’image source.

  • "FULL_BODY" : crée un masque équivalent à la combinaison de "UPPER_BODY" et "LOWER_BODY".

Vous pouvez utiliser le type de masque "PROMPT" pour décrire en langage naturel l’élément de l’image source que vous voulez remplacer. Cette fonctionnalité est utile pour les scénarios non liés aux vêtements. Elle utilise la même fonctionnalité de masquage automatique que celle qui existe dans le type de tâche "INPAINTING" via le paramètre maskPrompt.

Avertissement

Les masques créés avec le type de masque "PROMPT" épouseront parfaitement la forme de l’élément que vous décrivez. Cela peut poser problème dans de nombreux cas, car le produit que vous ajoutez peut ne pas avoir la même silhouette ou la même taille que l’élément que vous remplacez. C’est pourquoi l’API d’essayage virtuel fournit également un paramètre maskShape facultatif qui peut être défini sur "BOUNDING_BOX". Nous vous recommandons d’utiliser ce paramètre (qui est le paramètre par défaut) dans la plupart des cas lorsque vous utilisez le type de masque "PROMPT".

Génération de nouvelles poses, mains ou visages

Vous pouvez demander au modèle de conserver ou de régénérer la pose, les mains ou le visage de la personne dans l’image source. Lorsque vous choisissez de conserver ces éléments, ils sont automatiquement supprimés de l’image du masque, quel que soit le maskType que vous avez sélectionné.

Vous pouvez vouloir conserver la pose, les mains ou le visage dans les situations suivantes :

  • Vous développez une application qui permet aux utilisateurs finaux de dessiner leurs propres masques. La conservation de ces caractéristiques empêche les utilisateurs finaux d’inclure accidentellement les mains ou le visage dans le masque.

  • Vous utilisez maskShape: BOUNDING_BOX mais ne voulez pas générer de nouvelles mains ou un nouveau visage. Avec preserveFace: ON ou preserveHands: ON, ces caractéristiques sont automatiquement supprimées du masque.

  • Vous utilisez maskType:GARMENT et maskShape: BOUNDING_BOX avec un modèle qui n’est pas en position verticale. Dans ce cas, le masque du cadre de sélection peut chevaucher le visage et nous vous recommandons d’utiliser preserveFace: ON.

À l’inverse, vous pouvez vouloir régénérer la pose, les mains ou le visage dans les situations suivantes :

  • Pour les vêtements qui couvrent le cou, preserveFace: ON peut exclure une partie suffisante du cou pour avoir un impact négatif sur le résultat.

  • Lorsque le modèle porte des chaussures à talons hauts et que l’image de référence montre des chaussures à talons plats, ou vice versa. Dans ce cas, le fait de conserver la pose du corps donne des résultats peu naturels.

  • Comme dans le point précédent, lorsque vous essayez des sacs à main ou d’autres accessoires, la génération de nouvelles poses ou mains peut donner des résultats plus naturels.

Indications de style

Le paramètre garmentStyling vous permet de conserver ou de modifier certaines indications de style spécifiques que vous pourriez trouver dans une séance photo. Par exemple, Amazon Nova Canvas peut modifier le style d’une chemise afin que ses manches soient retroussées ou baissées, ou il peut modifier la chemise afin qu’elle soit rentrée ou non. Les options suivantes sont disponibles :

  • "longSleeveStyle" : contrôle si les manches d’une chemise à manches longues sont retroussées ou baissées.

    • "SLEEVE_DOWN" : peut être appliqué lorsque l’image source montre une chemise à manches longues (manches relevées ou baissées), une chemise à manches courtes ou une chemise sans manches.

    • "SLEEVE_UP" : peut être appliqué lorsque l’image source montre une chemise à manches longues avec les manches relevées, une chemise à manches courtes ou une chemise sans manches.

  • "tuckingStyle" : contrôle si un vêtement du haut du corps apparaît rentré ou ample.

    • "UNTUCKED" : peut être appliqué que l’image source présente une chemise rentrée ou non.

    • "TUCKED" : peut être appliqué lorsque l’image source présente une chemise rentrée.

  • "outerLayerStyle" : contrôle si un vêtement du haut du corps est ouvert ou fermé. La valeur par défaut est "CLOSED", qui convient à la plupart des vêtements (tels que les chemises et les pulls). Pour les vêtements d’extérieur, comme les vestes, le fait de définir cette valeur sur "OPEN" garantit que le vêtement du haut du corps d’origine de l’image source sera conservé et que le nouveau vêtement d’extérieur sera superposé. L’utilisation de la valeur "CLOSED" avec un vêtement d’extérieur peut ne pas toujours rendre le vêtement fermé. En effet, la valeur "CLOSED" garantit uniquement que tous les vêtements du haut du corps de l’image source seront remplacés, ce qui peut parfois donner lieu à une couche extérieure ouverte laissant apparaître la nouvelle couche inférieure.

    • "CLOSED"

    • "OPEN"

Pour plus d’informations, consultez les paramètres garmentStyling dans Structure de demande et de réponse pour la génération d’images.

Assemblage des images

L’essayage virtuel vous permet de déterminer comment les images sont assemblées pour créer l’image finale. Vous pouvez choisir parmi "BALANCED", "SEAMLESS" et "DETAILED". Chaque style de fusion adopte une approche différente pour assembler les éléments afin de créer l’image finale, chacun présentant ses propres avantages et inconvénients.

  • "BALANCED" : protège tous les pixels non masqués de l’image d’origine, garantissant qu’ils restent fidèles à 100 % à l’original. Dans certains cas, il peut y avoir un léger décalage perceptible au niveau de la couleur ou de la texture dans l’image finale, qui se présente comme une sorte d’image « fantôme » de la forme du masque. Ce phénomène est plus susceptible de se produire lorsque l’image représente une personne debout devant un arrière-plan de couleur unie ou de texture uniforme. Pour éviter cela, vous pouvez utiliser le style de fusion "SEAMLESS" à la place.

  • "SEAMLESS" : garantit qu’il n’y aura jamais de jointure visible entre les zones masquées et non masquées de l’image finale. Le compromis est que tous les pixels de l’image changent légèrement et que parfois, les détails fins sont atténués dans les zones non masquées de l’image.

  • "DETAILED" : peut considérablement améliorer les détails fins tels que les logos et le texte, en particulier lorsque la zone masquée est relativement petite par rapport à l’image globale. Le modèle y parvient en effectuant un remplissage sur une version fortement recadrée et à plus haute résolution de l’image originale, qui ne comprend que la zone masquée. Il fusionne ensuite le résultat avec l’image originale. Comme pour le mode "BALANCED", ce mode peut parfois entraîner une jointure visible.