L'industrie de la mode est un affaire très lucrative, d'une valeur estimée à 2.1 billions de dollars d'ici 2025, selon la Banque mondiale. Ce domaine englobe un large éventail de segments, tels que la création, la fabrication, la distribution et la vente de vêtements, de chaussures et d'accessoires. L'industrie est en constante évolution, avec de nouveaux styles et tendances qui apparaissent fréquemment. Par conséquent, les entreprises de mode doivent être flexibles et capables de s'adapter afin de maintenir leur pertinence et de réussir sur le marché.
L'intelligence artificielle générative (IA) fait référence aux algorithmes d'IA conçus pour générer de nouveaux contenus, tels que des images, du texte, de l'audio ou de la vidéo, sur la base d'un ensemble de modèles et de données appris. Il peut être utilisé pour générer de nouveaux modèles de vêtements innovants tout en offrant une personnalisation et une rentabilité améliorées. Les outils de conception basés sur l'IA peuvent créer des conceptions de vêtements uniques basées sur des paramètres d'entrée ou des styles spécifiés par des clients potentiels via des invites textuelles. De plus, l'IA peut être utilisée pour personnaliser les conceptions selon les préférences du client. Par exemple, un client pourrait choisir parmi une variété de couleurs, de motifs et de styles, et les modèles d'IA généreraient un design unique en son genre basé sur ces sélections. L'adoption de l'IA dans l'industrie de la mode est actuellement entravée par divers défis techniques, de faisabilité et de coût. Cependant, ces obstacles peuvent désormais être atténués en utilisant des méthodes avancées d'IA générative telles que la segmentation sémantique d'images basée sur le langage naturel et la diffusion pour le style virtuel.
Cet article de blog détaille la mise en œuvre d'un style en ligne de mode assisté par l'IA générative à l'aide d'invites de texte. Les ingénieurs en apprentissage automatique (ML) peuvent affiner et déployer des modèles de segmentation texte-sémantique et d'in-painting basés sur CLIPSeq pré-formé et Stable Diffusion avec Amazon Sage Maker. Cela permet aux créateurs de mode et aux consommateurs de créer des images de modélisation virtuelles basées sur des invites de texte et de choisir leurs styles préférés.
Solutions IA génératives
Le CLIPSeg Le modèle a introduit une nouvelle méthode de segmentation sémantique des images vous permettant d'identifier facilement les articles de mode dans les images à l'aide de simples commandes de texte. Il utilise une invite de texte ou un encodeur d'image pour encoder des informations textuelles et visuelles dans un espace d'intégration multimodal, permettant une segmentation très précise des objets cibles en fonction de l'invite. Le modèle a été formé sur une grande quantité de données avec des techniques telles que le transfert à zéro, la supervision du langage naturel et l'apprentissage contrastif multimodal auto-supervisé. Cela signifie que vous pouvez utiliser un modèle pré-formé accessible au public par Timo Luddecke et al sans avoir besoin de personnalisation.
CLIPSeg est un modèle qui utilise un encodeur de texte et d'image pour encoder des informations textuelles et visuelles dans un espace d'intégration multimodal afin d'effectuer une segmentation sémantique basée sur une invite de texte. L'architecture de CLIPSeg se compose de deux composants principaux : un encodeur de texte et un encodeur d'image. L'encodeur de texte prend l'invite de texte et le convertit en une intégration de texte, tandis que l'encodeur d'image prend l'image et la convertit en une intégration d'image. Les deux intégrations sont ensuite concaténées et passées à travers une couche entièrement connectée pour produire le masque de segmentation final.
En termes de flux de données, le modèle est formé sur un ensemble de données d'images et d'invites de texte correspondantes, où les invites de texte décrivent l'objet cible à segmenter. Pendant le processus de formation, l'encodeur de texte et l'encodeur d'image sont optimisés pour apprendre le mappage entre les invites de texte et l'image afin de produire le masque de segmentation final. Une fois que le modèle est formé, il peut intégrer une nouvelle invite de texte et une nouvelle image et produire un masque de segmentation pour l'objet décrit dans l'invite.
La diffusion stable est une technique qui permet aux créateurs de mode de générer des images très réalistes en grande quantité uniquement sur la base de descriptions textuelles sans avoir besoin d'une personnalisation longue et coûteuse. Ceci est avantageux pour les designers qui souhaitent créer rapidement des styles à la mode et les fabricants qui souhaitent produire des produits personnalisés à moindre coût.
Le schéma suivant illustre l'architecture de diffusion stable et le flux de données.
Par rapport aux méthodes traditionnelles basées sur GAN, Stable Diffusion est une IA générative capable de produire des images plus stables et photoréalistes qui correspondent à la distribution de l'image d'origine. Le modèle peut être conditionné à un large éventail d'objectifs, tels que le texte pour la génération de texte à image, les cadres de délimitation pour la génération de mise en page à image, les images masquées pour la peinture et les images à basse résolution pour la super résolution. Les modèles de diffusion ont un large éventail d'applications commerciales et leurs utilisations pratiques continuent d'évoluer. Ces modèles profiteront grandement à diverses industries telles que la mode, la vente au détail et le commerce électronique, le divertissement, les médias sociaux, le marketing, etc.
Générer des masques à partir d'invites de texte à l'aide de CLIPSeg
Le style en ligne Vogue est un service qui permet aux clients de recevoir des conseils de mode et des recommandations de l'IA via une plateforme en ligne. Pour ce faire, il sélectionne des vêtements et des accessoires qui complètent l'apparence du client, correspondent à son budget et correspondent à ses préférences personnelles. Grâce à l'utilisation de l'IA générative, les tâches peuvent être accomplies plus facilement, ce qui entraîne une satisfaction accrue des clients et une réduction des dépenses.
La solution peut être déployée sur un Cloud de calcul élastique Amazon (EC2) Instance p3.2xlarge, qui possède un seul GPU V100 avec 16 Go de mémoire. Plusieurs techniques ont été utilisées pour améliorer les performances et réduire l'utilisation de la mémoire GPU, ce qui a permis d'accélérer la génération d'images. Celles-ci incluent l'utilisation de fp16 et l'activation de l'attention efficace en mémoire pour réduire la bande passante dans le bloc d'attention.
Nous avons commencé par demander à l'utilisateur de télécharger une image de mode, puis de télécharger et d'extraire le modèle pré-formé de CLIPSeq. L'image est ensuite normalisée et redimensionnée pour respecter la limite de taille. Stable Diffusion V2 prend en charge une résolution d'image jusqu'à 768 × 768 tandis que V1 prend en charge jusqu'à 512 × 512. Voir le code suivant :
from models.clipseg import CLIPDensePredT # The original image
image = download_image(img_url).resize((768, 768)) # Download pre-trained CLIPSeq model and unzip the pkg
! wget https://owncloud.gwdg.de/index.php/s/ioHbRzFx6th32hn/download -O weights.zip
! unzip -d weights -j weights.zip # Load CLIP model. Available models = ['RN50', 'RN101', 'RN50x4', # 'RN50x16', 'RN50x64', 'ViT-B/32', 'ViT-B/16', 'ViT-L/14', 'ViT-L/14@336px']
model = CLIPDensePredT(version='ViT-B/16', reduce_dim=64)
model.eval() # non-strict, because we only stored decoder weights (not CLIP weights)
model.load_state_dict(torch.load('weights/rd64-uni.pth', map_location=torch.device('cuda')), strict=False) # Image normalization and resizing
transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), transforms.Resize((768, 768)),
])
img = transform(image).unsqueeze(0)
Grâce à l'utilisation du modèle CLIPSeq pré-formé, nous sommes en mesure d'extraire l'objet cible d'une image à l'aide d'une invite de texte. Cela se fait en saisissant l'invite de texte dans l'encodeur de texte, qui le convertit en incorporation de texte. L'image est ensuite entrée dans l'encodeur d'image, qui la convertit en une image incorporée. Les deux incorporations sont ensuite concaténées et passées à travers une couche entièrement connectée pour produire le masque de segmentation final, qui met en évidence l'objet cible décrit dans l'invite de texte. Voir le code suivant :
# Text prompt
prompt = 'Get the dress only.' # predict
mask_image_filename = 'the_mask_image.png'
with torch.no_grad(): preds = model(img.repeat(4,1,1,1), prompt)[0] # save the mask image after computing the area under the standard # Gaussian probability density function and calculates the cumulative # distribution function of the normal distribution with ndtr. plt.imsave(mask_image_filename,torch.special.ndtr(preds[0][0]))
Avec l'image de masque précise de la segmentation sémantique, nous pouvons utiliser l'in-painting pour la substitution de contenu. L'in-painting est le processus d'utilisation d'un modèle génératif formé pour remplir les parties manquantes d'une image. En utilisant l'image du masque pour identifier l'objet cible, nous pouvons appliquer la technique d'in-painting pour remplacer l'objet cible par autre chose, comme un vêtement ou un accessoire différent. Le modèle Stable Diffusion V2 peut être utilisé à cette fin, car il est capable de produire des images photoréalistes à haute résolution qui correspondent à la distribution de l'image originale.
Réglage fin à partir de modèles pré-formés à l'aide de DreamBooth
Le réglage fin est un processus d'apprentissage en profondeur dans lequel un modèle pré-formé est davantage formé sur une nouvelle tâche en utilisant une petite quantité de données étiquetées. Plutôt que de former à partir de zéro, l'idée est de prendre un réseau qui a déjà été formé sur un grand ensemble de données pour une tâche similaire et de le former davantage sur un nouvel ensemble de données pour le rendre plus spécialisé pour cette tâche particulière.
Les créateurs de mode peuvent également utiliser un modèle de peinture à diffusion stable axé sur le sujet et affiné pour générer une classe de style spécifique, telle que des jupes longues décontractées pour dames. Pour ce faire, la première étape consiste à fournir un ensemble d'exemples d'images dans le domaine cible, environ 1 douzaines, avec des étiquettes de texte appropriées telles que les suivantes et à les lier à un identifiant unique qui fait référence au design, au style, à la couleur et au tissu. . L'étiquette sur le texte joue un rôle essentiel dans la détermination des résultats du modèle affiné. Il existe plusieurs façons d'améliorer le réglage fin grâce à une ingénierie rapide et voici quelques exemples.
Sample text prompts to descibe some of the most common design elements of casual long skirts for ladies: Design Style: A-line, wrap, maxi, mini, and pleated skirts are some of the most popular styles for casual wear. A-line skirts are fitted at the waist and flare out at the hem, creating a flattering silhouette. Wrap skirts have a wrap closure and can be tied at the waist for a customizable fit. Maxi skirts are long and flowy, while mini skirts are short and flirty. Pleated skirts have folds that add texture and movement to the garment.
Pattern: Casual skirts can feature a variety of patterns, including stripes, florals, polka dots, and solids. These patterns can range from bold and graphic to subtle and understated.
Colors: Casual skirts come in a range of colors, including neutral shades likeblack, white, and gray, as well as brighter hues like pink, red, and blue. Some skirts may also feature multiple colors in a single garment, such asa skirt with a bold pattern that incorporates several shades.
Fabrics: Common fabrics used in casual skirts include cotton, denim, linen, and rayon. These materials offer different levels of comfort and durability, making it easy to find a skirt that suits your personal style and needs.
L'utilisation d'un petit ensemble d'images pour affiner la diffusion stable peut entraîner un surajustement du modèle. DreamBooth[5] résout ce problème en utilisant une perte de préservation préalable spécifique à la classe. Il apprend à lier un identifiant unique à ce sujet spécifique en deux étapes. Tout d'abord, il affine le modèle basse résolution avec les images d'entrée associées à une invite de texte contenant un identifiant unique et le nom de la classe à laquelle appartient le sujet, comme "jupe". En pratique, cela signifie que le modèle ajuste simultanément les images et les images échantillonnées à partir du prior visuel de la classe non ajustée. Ces images à conservation préalable sont échantillonnées et étiquetées à l'aide de l'invite "nom de classe". Deuxièmement, il affinera les composants à très haute résolution en associant des images basse résolution et haute résolution à partir de l'ensemble d'images d'entrée, ce qui permet aux sorties du modèle affiné de maintenir la fidélité aux petits détails.
Le réglage fin d'un encodeur de texte en peinture pré-formé avec l'UNet pour des images de résolution 512 × 512 nécessite environ 22 Go de VRAM ou plus pour une résolution de 768 × 768. Idéalement, les échantillons de réglage fin doivent être redimensionnés pour correspondre à la résolution d'image de sortie souhaitée afin d'éviter une dégradation des performances. L'encodeur de texte produit des détails plus précis tels que les faces du modèle. Une option consiste à exécuter sur une seule instance AWS EC2 g5.2xlarge, désormais disponible dans huit régions ou utilisez Hugging Face Accelerate pour exécuter le code affiné dans une configuration distribuée. Pour des économies de mémoire supplémentaires, vous pouvez choisir une version découpée d'attention qui effectue le calcul par étapes au lieu de tout en une fois en modifiant simplement le script de formation de DreamBooth train_dreambooth_inpaint.py pour ajouter la fonction de pipeline enable_attention_slicing().
Accelerate est une bibliothèque qui permet d'exécuter un code de réglage fin sur n'importe quelle configuration distribuée. Présentation de Hugging Face et Amazon Conteneurs d'apprentissage profond (DLC) Hugging Face pour mettre à l'échelle les tâches de réglage fin sur plusieurs GPU et nœuds. Vous pouvez configurer la configuration de lancement pour Amazon SageMaker avec une seule commande CLI.
# From your aws account, install the sagemaker sdk for Accelerate
pip install "accelerate[sagemaker]" --upgrade # Configure the launch configuration for Amazon SageMaker accelerate config # List and verify Accelerate configuration
accelerate env # Make necessary modification of the training script as the following to save # output on S3, if needed
# - torch.save('/opt/ml/model`)
# + accelerator.save('/opt/ml/model')
Pour lancer une tâche de réglage fin, vérifiez la configuration d'Accelerate à l'aide de CLI et fournissez les arguments de formation nécessaires, puis utilisez le script shell suivant.
# Instance images — Custom images that represents the specific # concept for dreambooth training. You should collect # high #quality images based on your use cases.
# Class images — Regularization images for prior-preservation # loss to prevent overfitting. You should generate these # images directly from the base pre-trained model. # You can choose to generate them on your own or generate # them on the fly when running the training script.
# # You can access train_dreambooth_inpaint.py from huggingface/diffuser export MODEL_NAME="stabilityai/stable-diffusion-2-inpainting"
export INSTANCE_DIR="/data/fashion/gowns/highres/"
export CLASS_DIR="/opt/data/fashion/generated_gowns/imgs"
export OUTPUT_DIR="/opt/model/diffuser/outputs/inpainting/" accelerate launch train_dreambooth_inpaint.py --pretrained_model_name_or_path=$MODEL_NAME --train_text_encoder --instance_data_dir=$INSTANCE_DIR --class_data_dir=$CLASS_DIR --output_dir=$OUTPUT_DIR --with_prior_preservation --prior_loss_weight=1.0 --instance_prompt="A supermodel poses in long summer travel skirt, photorealistic" --class_prompt="A supermodel poses in skirt, photorealistic" --resolution=512 --train_batch_size=1 --use_8bit_adam --gradient_checkpointing --learning_rate=2e-6 --lr_scheduler="constant" --lr_warmup_steps=0 --num_class_images=200 --max_train_steps=800
Le modèle de peinture affiné permet la génération d'images plus spécifiques à la classe de mode décrite par l'invite de texte. Parce qu'il a été affiné avec un ensemble d'images haute résolution et d'invites de texte, le modèle peut générer des images plus adaptées à la classe, telles que des robes de soirée formelles. Il est important de noter que plus la classe est spécifique et plus les données utilisées pour le réglage fin sont nombreuses, plus les images de sortie seront précises et réalistes.
%tree -d ./finetuned-stable-diffusion-v2-1-inpainting
finetuned-stable-diffusion-v2-1-inpainting
├── 512-inpainting-ema.ckpt
├── feature_extractor
├── code
│ └──inference.py
│ ├──requirements.txt
├── scheduler
├── text_encoder ├── tokenizer
├── unet
└── vae
Déployez un modèle d'in-painting affiné à l'aide de SageMaker pour l'inférence
Avec Amazon SageMaker, vous pouvez déployer les modèles de diffusion stable affinés pour une inférence en temps réel. Pour télécharger le modèle sur Service de stockage simple d'Amazon (S3) pour le déploiement, une archive tar d'archive model.tar.gz doit être créée. Assurez-vous que l'archive inclut directement tous les fichiers, et non un dossier qui les contient. Le dossier d'archive de réglage fin de DreamBooth devrait apparaître comme suit après avoir éliminé les points de contrôle intermittents :
La première étape de la création de notre gestionnaire d'inférence implique la création du fichier inference.py. Ce fichier sert de plaque tournante centrale pour le chargement du modèle et la gestion de toutes les demandes d'inférence entrantes. Une fois le modèle chargé, la fonction model_fn() est exécutée. Lorsqu'il est nécessaire d'effectuer une inférence, la fonction predict_fn() est appelée. De plus, la fonction decode_base64() est utilisée pour convertir une chaîne JSON, contenue dans la charge utile, en un type de données d'image PIL.
%%writefile code/inference.py
import base64
import torch
from PIL import Image
from io import BytesIO
from diffusers import EulerDiscreteScheduler, StableDiffusionInpaintPipeline def decode_base64(base64_string): decoded_string = BytesIO(base64.b64decode(base64_string)) img = Image.open(decoded_string) return img def model_fn(model_dir): # Load stable diffusion and move it to the GPU scheduler = EulerDiscreteScheduler.from_pretrained(model_dir, subfolder="scheduler") pipe = StableDiffusionInpaintPipeline.from_pretrained(model_dir, scheduler=scheduler, revision="fp16", torch_dtype=torch.float16) pipe = pipe.to("cuda") pipe.enable_xformers_memory_efficient_attention() #pipe.enable_attention_slicing() return pipe def predict_fn(data, pipe): # get prompt & parameters prompt = data.pop("inputs", data) # Require json string input. Inference to convert imge to string. input_img = data.pop("input_img", data) mask_img = data.pop("mask_img", data) # set valid HP for stable diffusion num_inference_steps = data.pop("num_inference_steps", 25) guidance_scale = data.pop("guidance_scale", 6.5) num_images_per_prompt = data.pop("num_images_per_prompt", 2) image_length = data.pop("image_length", 512) # run generation with parameters generated_images = pipe( prompt, image = decode_base64(input_img), mask_image = decode_base64(mask_img), num_inference_steps=num_inference_steps, guidance_scale=guidance_scale, num_images_per_prompt=num_images_per_prompt, height=image_length, width=image_length, #)["images"] # for Stabel Diffusion v1.x ).images # create response encoded_images = [] for image in generated_images: buffered = BytesIO() image.save(buffered, format="JPEG") encoded_images.append(base64.b64encode(buffered.getvalue()).decode()) return {"generated_images": encoded_images}
Pour télécharger le modèle dans un compartiment Amazon S3, il est nécessaire de créer d'abord une archive model.tar.gz. Il est crucial de noter que l'archive doit être constituée directement des fichiers et non d'un dossier qui les contient. Par exemple, le fichier devrait apparaître comme suit :
import tarfile
import os # helper to create the model.tar.gz
def compress(tar_dir=None,output_file="model.tar.gz"): parent_dir=os.getcwd() os.chdir(tar_dir) with tarfile.open(os.path.join(parent_dir, output_file), "w:gz") as tar: for item in os.listdir('.'): print(item) tar.add(item, arcname=item) os.chdir(parent_dir) compress(str(model_tar)) # After we created the model.tar.gz archive we can upload it to Amazon S3. We will # use the sagemaker SDK to upload the model to our sagemaker session bucket.
from sagemaker.s3 import S3Uploader # upload model.tar.gz to s3
s3_model_uri=S3Uploader.upload(local_path="model.tar.gz", desired_s3_uri=f"s3://{sess.default_bucket()}/finetuned-stable-diffusion-v2-1-inpainting")
Une fois l'archive de modèle téléchargée, nous pouvons la déployer sur Amazon SageMaker à l'aide de HuggingfaceModel pour une inférence en temps réel. Vous pouvez héberger le point de terminaison à l'aide d'une instance g4dn.xlarge, qui est équipée d'un seul GPU NVIDIA Tesla T4 avec 16 Go de VRAM. La mise à l'échelle automatique peut être activée pour gérer les demandes de trafic variables. Pour plus d'informations sur l'intégration de l'autoscaling dans votre point de terminaison, consultez Mise en production : mise à l'échelle automatique des transformateurs Hugging Face avec Amazon SageMaker.
from sagemaker.huggingface.model import HuggingFaceModel # create Hugging Face Model Class
huggingface_model = HuggingFaceModel( model_data=s3_model_uri, # path to your model and script role=role, # iam role with permissions to create an Endpoint transformers_version="4.17", # transformers version used pytorch_version="1.10", # pytorch version used py_version='py38', # python version used
) # deploy the endpoint endpoint
predictor = huggingface_model.deploy( initial_instance_count=1, instance_type="ml.g4dn.xlarge" )
La méthode huggingface_model.deploy() renvoie un objet HuggingFacePredictor qui peut être utilisé pour demander une inférence. Le point de terminaison nécessite un JSON avec une clé d'entrée, qui représente l'invite d'entrée pour que le modèle génère une image. Vous pouvez également contrôler la génération avec des paramètres tels que num_inference_steps, guidance_scale et « num_images_per_prompt ». La fonction predictor.predict() renvoie un JSON avec une clé "generated_images", qui contient les quatre images générées sous forme de chaînes encodées en base64. Nous avons ajouté deux fonctions d'assistance, decode_base64_to_image et display_images, pour décoder la réponse et afficher les images respectivement. Le premier décode la chaîne encodée en base64 et renvoie un objet PIL.Image, et le second affiche une liste d'objets PIL.Image. Voir le code suivant :
import PIL
from io import BytesIO
from IPython.display import display
import base64
import matplotlib.pyplot as plt
import json # Encoder to convert an image to json string
def encode_base64(file_name): with open(file_name, "rb") as image: image_string = base64.b64encode(bytearray(image.read())).decode() return image_string # Decode to to convert a json str to an image def decode_base64_image(base64_string): decoded_string = BytesIO(base64.b64decode(base64_string)) img = PIL.Image.open(decoded_string) return img # display PIL images as grid
def display_images(images=None,columns=3, width=100, height=100): plt.figure(figsize=(width, height)) for i, image in enumerate(images): plt.subplot(int(len(images) / columns + 1), columns, i + 1) plt.axis('off') plt.imshow(image) # Display images in a row/col grid
def image_grid(imgs, rows, cols): assert len(imgs) == rows*cols w, h = imgs[0].size grid = PIL.Image.new('RGB', size=(cols*w, rows*h)) grid_w, grid_h = grid.size for i, img in enumerate(imgs): grid.paste(img, box=(i%cols*w, i//cols*h)) return grid
Avançons avec la tâche d'in-painting. Il a été estimé qu'il faudrait environ 15 secondes pour produire trois images, étant donné l'image d'entrée et le masque créé à l'aide de CLIPSeg avec l'invite de texte discutée précédemment. Voir le code suivant :
num_images_per_prompt = 3
prompt = "A female super-model poses in a casual long vacation skirt, with full body length, bright colors, photorealistic, high quality, highly detailed, elegant, sharp focus" # Convert image to string
input_image_filename = "./imgs/skirt-model-2.jpg"
encoded_input_image = encode_base64(input_image_filename)
encoded_mask_image = encode_base64("./imgs/skirt-model-2-mask.jpg") # Set in-painint parameters
guidance_scale = 6.7
num_inference_steps = 45 # run prediction
response = predictor.predict(data={ "inputs": prompt, "input_img": encoded_input_image, "mask_img": encoded_mask_image, "num_images_per_prompt" : num_images_per_prompt, "image_length": 768 }
) # decode images
decoded_images = [decode_base64_image(image) for image in response["generated_images"]] # visualize generation
display_images(decoded_images, columns=num_images_per_prompt, width=100, height=100) # insert initial image in the list so we can compare side by side
image = PIL.Image.open(input_image_filename).convert("RGB")
decoded_images.insert(0, image) # Display inpainting images in grid
image_grid(decoded_images, 1, num_images_per_prompt + 1)
Les images peintes peuvent être affichées avec l'image originale pour une comparaison visuelle. De plus, le processus d'in-painting peut être contraint à l'aide de divers paramètres tels que guidance_scale, qui contrôle la force de l'image de guidage pendant le processus d'in-painting. Cela permet à l'utilisateur d'ajuster l'image de sortie et d'obtenir les résultats souhaités.
Démarrage d'Amazon SageMaker propose des modèles de diffusion stable pour divers modèles, y compris la conversion texte-image et la mise à l'échelle. Pour plus d'informations, veuillez consulter SageMaker JumpStart propose désormais des modèles Stable Diffusion et Bloom. Des modèles Jumpstart supplémentaires seront disponibles prochainement.
Limites
Bien que CLIPSeg réussisse généralement bien à reconnaître des objets courants, il a du mal à effectuer des tâches plus abstraites ou systématiques telles que compter le nombre d'objets dans une image et des tâches plus complexes telles que prédire à quelle distance se trouve l'objet le plus proche tel qu'un sac à main sur une photo. CLIPSeq Zero-shot a également du mal par rapport aux modèles spécifiques à une tâche sur une classification très fine, comme faire la différence entre deux conceptions vagues, des variantes de robe ou une classification de style. CLIPSeq a également encore une mauvaise généralisation aux images non couvertes dans son ensemble de données de pré-formation. Enfin, il a été observé que les classificateurs instantanés de CLIP peuvent être sensibles à la formulation ou à la formulation et nécessitent parfois une « ingénierie rapide » d'essais et d'erreurs pour bien fonctionner. Passer à un modèle de segmentation sémantique différent pour le backbone de CLIPSeq, tel que BEIT, qui affiche un mIOU de 62.8 % sur l'ensemble de données ADE20K, pourrait potentiellement améliorer les résultats.
Les créations de mode générées à l'aide de Stable Diffusion se sont avérées limitées à des parties de vêtements qui sont au moins aussi prévisibles dans le contexte plus large des modèles de mode et qui sont conformes aux intégrations de haut niveau que vous pouvez raisonnablement vous attendre à trouver dans un ensemble de données à grande échelle utilisé lors de la formation du modèle pré-formé. La vraie limite de l'IA générative est que le modèle finira par produire des sorties totalement imaginaires et moins authentiques. Par conséquent, les créations de mode générées par l'IA peuvent ne pas être aussi variées ou uniques que celles créées par des créateurs humains.
Conclusion
L'IA générative offre au secteur de la mode la possibilité de transformer ses pratiques grâce à de meilleures expériences utilisateur et à des stratégies commerciales rentables. Dans cet article, nous montrons comment exploiter l'IA générative pour permettre aux créateurs de mode et aux consommateurs de créer des styles de mode personnalisés à l'aide de la modélisation virtuelle. Avec l'aide des modèles Amazon SageMaker Jumpstart existants et de ceux à venir, les utilisateurs peuvent rapidement adopter ces techniques avancées sans avoir besoin d'une expertise technique approfondie, tout en maintenant la polyvalence et en réduisant les dépenses.
Cette technologie innovante offre de nouvelles opportunités aux entreprises et aux professionnels impliqués dans la génération de contenu, dans divers secteurs. L'IA générative offre de nombreuses fonctionnalités pour améliorer et créer du contenu. Essayez les ajouts récents aux modèles Jumpstart dans votre Studio SageMaker, telles que le réglage fin du texte à l'image et les capacités de mise à l'échelle.
Nous tenons à remercier Li Zhang, Karl Albertsen, Kristine Pearce, Nikhil Velpanur, Aaron Sengstacken, James Wu et Neelam Koshiya pour leur soutien et leurs précieuses contributions qui ont contribué à améliorer ce travail.
À propos des auteurs
Alfred Shen est spécialiste senior IA/ML chez AWS. Il a travaillé dans la Silicon Valley, occupant des postes techniques et de direction dans divers secteurs, notamment la santé, la finance et la haute technologie. Il est un chercheur appliqué dédié à l'IA/ML, se concentrant sur le CV, la PNL et la multimodalité. Son travail a été présenté dans des publications telles que EMNLP, ICLR et Public Health.
Dr Vivek Madan est un scientifique appliqué au sein de l'équipe Amazon SageMaker JumpStart. Il a obtenu son doctorat à l'Université de l'Illinois à Urbana-Champaign et a été chercheur postdoctoral à Georgia Tech. Il est un chercheur actif en apprentissage automatique et en conception d'algorithmes et a publié des articles dans les conférences EMNLP, ICLR, COLT, FOCS et SODA.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- Capable
- A Propos
- RÉSUMÉ
- accélérer
- accélérateur
- accès
- accessoires
- accompli
- Compte
- Avec cette connaissance vient le pouvoir de prendre
- atteindre
- à travers
- infection
- adapter
- ajoutée
- Supplémentaire
- En outre
- ajouts
- adresses
- Adoption
- Avancée
- conseils
- Après
- AI
- AI / ML
- algorithme
- algorithmes
- Tous
- Permettre
- permet
- déjà
- Amazon
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- montant
- et les
- Vêtements
- apparaître
- applications
- appliqué
- Appliquer
- d'environ
- architecture
- Archive
- Réservé
- arguments
- artificiel
- intelligence artificielle
- ASA
- Assistance
- précaution
- acoustique
- Les Authentiques
- disponibles
- AWS
- Colonne vertébrale
- Bande passante
- Banque
- base
- basé
- car
- a commencé
- avantageux
- profiter
- Améliorée
- jusqu'à XNUMX fois
- lier
- propriétés de liant
- Block
- Blog
- Bloom
- Bleu
- bénéficie d'
- corps
- goupille
- boîtes
- Brillanti
- lumineux
- budget
- la performance des entreprises
- applications commerciales
- calcule
- appelé
- capacités
- capable
- cas
- occasionnel
- central
- globaux
- chances
- Change
- Selectionnez
- classe
- classification
- Fermer
- fermeture
- Vêtements
- le cloud
- code
- recueillir
- Couleur
- Colonnes
- comment
- confort
- Commun
- Sociétés
- comparer
- par rapport
- Comparaison
- Complément
- complexe
- composants électriques
- calcul
- calcul
- informatique
- concept
- configuration
- connecté
- constant
- Les consommateurs
- Conteneurs
- contient
- contenu
- Génération de contenu
- contexte
- continuer
- des bactéries
- contrôles
- convertir
- Correspondant
- Prix
- pourriez
- couvert
- engendrent
- créée
- La création
- création
- critique
- crucial
- Lecture
- Customiser
- des clients
- Satisfaction client
- Clients
- personnalisables
- personnalisation
- données
- diminuer
- dévoué
- profond
- l'apprentissage en profondeur
- demandes
- Jeans
- déployer
- déployé
- déploiement
- décrire
- décrit
- Conception
- un
- designers
- Avec nos Bagues Halo
- voulu
- détaillé
- détails
- détermination
- différence
- différent
- La diffusion
- directement
- discuté
- Commande
- affiche
- distribué
- distribution
- plusieurs
- domaine
- download
- des dizaines
- durabilité
- pendant
- e-commerce
- même
- Efficace
- efficace
- éléments
- l'élimination
- embrasser
- permettre
- permet
- permettant
- englobe
- Endpoint
- Les ingénieurs
- améliorer
- assurer
- Divertissement
- équipé
- erreur
- estimé
- soir
- faire une éventuelle
- évolue
- exemple
- exemples
- existant
- attendre
- dépenses
- cher
- Expériences
- nous a permis de concevoir
- Exporter
- extrait
- .
- textile
- Visage
- visages
- Mode
- plus rapide
- Fonctionnalité
- femelle
- few
- fidélité
- champ
- Déposez votre dernière attestation
- Fichiers
- remplir
- finale
- finalement
- finance
- Trouvez
- fin
- Prénom
- s'adapter
- éclater
- flexible
- flux
- Focus
- suivi
- Abonnement
- suit
- formel
- Ancien
- Avant
- trouvé
- fréquemment
- De
- plein
- d’étiquettes électroniques entièrement
- fonction
- fonctions
- plus
- En outre
- avenir
- habits
- générer
- généré
- génération
- génératif
- IA générative
- État de la Georgie
- obtenez
- donné
- GPU
- GPU
- Graphique
- gris
- plus grand
- considérablement
- Grille
- manipuler
- Maniabilité
- harnais
- ayant
- Santé
- la médecine
- la taille
- a aidé
- ici
- Haute
- de haut niveau
- haute résolution
- augmentation
- Faits saillants
- très
- tenue
- détient
- hôte
- Comment
- How To
- Cependant
- HTML
- HTTPS
- Moyeu
- Étreindre
- humain
- idée
- identifiant
- identifier
- Illinois
- image
- satellite
- imaginaire
- la mise en oeuvre
- importer
- important
- améliorer
- amélioré
- in
- en profondeur
- comprendre
- inclut
- Y compris
- Nouveau
- incorporation
- increased
- secteurs
- industrie
- d'information
- initiale
- technologie innovante
- contribution
- installer
- instance
- plutôt ;
- Intelligence
- introduit
- impliqué
- IT
- articles
- Emploi
- json
- ACTIVITES
- Libellé
- Etiquettes
- langue
- gros
- lancer
- couche
- conduisant
- APPRENTISSAGE
- savant
- apprentissage
- Longueur
- niveaux
- Li
- Bibliothèque
- LIMIT
- limité
- Liste
- charge
- chargement
- Location
- perte
- Réduction du coût
- lucratif
- click
- machine learning
- Entrée
- maintenir
- Maintenir
- a prendre une
- Fabrication
- en gestion
- Fabricants
- cartographie
- Marché
- Stratégie
- masque
- Masques
- Match
- matières premières.
- matplotlib
- veux dire
- Médias
- Mémoire
- méthode
- méthodes
- manquant
- ML
- modèle
- numériques jumeaux (digital twin models)
- PLUS
- (en fait, presque toutes)
- Bougez
- mouvement
- plusieurs
- prénom
- Nature
- Près
- nécessaire
- Besoin
- besoin
- Besoins
- réseau et
- Neutri
- Nouveauté
- nlp
- nœuds
- Ordinaire
- roman
- nombre
- Nvidia
- objet
- objets
- obstacles
- code
- offrant
- Offres Speciales
- ONE
- Unique en son genre
- en ligne
- Opportunités
- optimisé
- Option
- de commander
- original
- OS
- propre
- apparié
- appariement
- papiers
- paramètres
- particulier
- les pièces
- passé
- chemin
- Patron de Couture
- motifs
- Effectuer
- performant
- effectue
- autorisations
- personnel
- Personnalisation
- Personnaliser
- Personnalisé
- Photoréaliste
- PHOTOS
- pipe
- pipeline
- plateforme
- Platon
- Intelligence des données Platon
- PlatonDonnées
- veuillez cliquer
- pauvres
- Populaire
- pose
- positions
- Post
- défaillances
- l'éventualité
- Méthode
- pratique
- pratiques
- prévoir
- prévoir
- prédiction
- Predictor
- préférences
- préféré
- cadeaux
- empêcher
- précédemment
- Avant
- processus
- produire
- Vidéo
- Produits
- ,une équipe de professionnels qualifiés
- correct
- fournir
- fournit
- public
- santé publique
- publications
- publiquement
- publié
- purement
- but
- des fins
- Python
- pytorch
- qualité
- vite.
- gamme
- réal
- en temps réel
- réaliste
- recevoir
- récent
- recommandations
- Rouge
- réduire
- Prix Réduit
- se réfère
- pertinence
- Signalé
- représente
- nécessaire
- demandes
- exigent
- a besoin
- chercheur
- Résolution
- réponse
- résultat
- résultant
- Résultats
- détail
- retourner
- Retours
- RGB
- Rôle
- grossièrement
- Courir
- pour le running
- sagemaker
- vente
- client
- Épargnez
- Épargnes
- Escaliers intérieurs
- Scientifique
- Sdk
- Deuxièmement
- secondes
- secteur
- Secteurs
- segmentation
- segments
- la sélection
- supérieur
- sensible
- sert
- service
- Session
- set
- plusieurs
- net
- coquillage
- Shorts
- devrait
- vitrine
- côté
- Silicium
- Silicon Valley
- similaires
- étapes
- simplement
- simultanément
- unique
- Taille
- petit
- So
- Réseaux sociaux
- réseaux sociaux
- sur mesure
- quelques
- quelque chose
- Space
- spécial
- spécialiste
- spécialisé
- groupe de neurones
- spécifié
- stable
- Standard
- Région
- étapes
- Étapes
- Encore
- storage
- stockée
- les stratégies
- force
- Bandes
- Luttes
- Catégorie
- sujet
- succès
- tel
- été
- Supermodel
- surveillance
- Les soutiens
- Prenez
- prend
- Target
- Tâche
- tâches
- équipe
- technologie
- Technique
- techniques
- Technologie
- modèles
- conditions
- Tesla
- Le
- La Région
- le monde
- leur
- donc
- trois
- Avec
- Attaché
- à
- les outils
- torche
- TOTALEMENT
- traditionnel
- circulation
- Train
- qualifié
- Formation
- transférer
- Transformer
- transformateurs
- Voyage
- Trends
- procès
- Billion
- sous
- expérience unique et authentique
- université
- téléchargé
- Utilisation
- utilisé
- Utilisateur
- utilisateurs
- d'habitude
- utiliser
- utilisé
- utilise
- Utilisant
- vacances
- Vallée
- Précieux
- Plus-value
- variété
- divers
- Vaste
- vérifier
- version
- Vidéo
- Salle de conférence virtuelle
- W
- façons
- qui
- tout en
- blanc
- WHO
- large
- Large gamme
- plus large
- largeur
- sera
- dans les
- sans
- formulation
- activités principales
- travaillé
- world
- La Banque Mondiale
- pourra
- envelopper
- wu
- X
- Vous n'avez
- Votre
- zéphyrnet
- Zip