La industria de la moda es una negocio muy lucrativo, con un valor estimado de 2.1 billones de dólares para 2025, según informa el Banco Mundial. Este campo abarca una amplia gama de segmentos, como la creación, fabricación, distribución y venta de ropa, zapatos y accesorios. La industria está en constante cambio, con nuevos estilos y tendencias que aparecen con frecuencia. Por lo tanto, las empresas de moda deben ser flexibles y capaces de adaptarse para mantener su relevancia y lograr el éxito en el mercado.
La inteligencia artificial generativa (IA) se refiere a los algoritmos de IA diseñados para generar contenido nuevo, como imágenes, texto, audio o video, en función de un conjunto de patrones y datos aprendidos. Se puede utilizar para generar diseños de ropa nuevos e innovadores al tiempo que ofrece una mejor personalización y rentabilidad. Las herramientas de diseño impulsadas por IA pueden crear diseños de ropa únicos basados en parámetros de entrada o estilos especificados por clientes potenciales a través de mensajes de texto. Además, la IA se puede utilizar para personalizar los diseños según las preferencias del cliente. Por ejemplo, un cliente podría seleccionar entre una variedad de colores, patrones y estilos, y los modelos de IA generarían un diseño único basado en esas selecciones. La adopción de la IA en la industria de la moda actualmente se ve obstaculizada por varios desafíos técnicos, de viabilidad y de costos. Sin embargo, estos obstáculos ahora se pueden mitigar mediante la utilización de métodos generativos avanzados de inteligencia artificial, como la difusión y segmentación semántica de imágenes basadas en lenguaje natural para el estilo virtual.
Esta publicación de blog detalla la implementación del estilo generativo en línea de moda asistido por IA mediante indicaciones de texto. Los ingenieros de aprendizaje automático (ML, por sus siglas en inglés) pueden ajustar e implementar modelos integrados y de segmentación de texto a semántico basados en CLIPSeq y Stable Diffusion previamente capacitados con Amazon SageMaker. Esto permite a los diseñadores de moda y a los consumidores crear imágenes de modelos virtuales basadas en indicaciones de texto y elegir sus estilos preferidos.
Soluciones de IA generativa
La CLIPSeg model introdujo un nuevo método de segmentación semántica de imágenes que le permite identificar fácilmente artículos de moda en imágenes usando comandos de texto simples. Utiliza un mensaje de texto o un codificador de imagen para codificar información textual y visual en un espacio de incrustación multimodal, lo que permite una segmentación muy precisa de los objetos de destino en función del mensaje. El modelo ha sido entrenado en una gran cantidad de datos con técnicas como la transferencia de disparo cero, la supervisión del lenguaje natural y el aprendizaje contrastivo autosupervisado multimodal. Esto significa que puede utilizar un modelo previamente entrenado que está disponible públicamente por Timo Luddecke et al sin necesidad de personalización.
CLIPSeg es un modelo que utiliza un codificador de texto e imágenes para codificar información textual y visual en un espacio de incrustación multimodal para realizar una segmentación semántica basada en un mensaje de texto. La arquitectura de CLIPSeg consta de dos componentes principales: un codificador de texto y un codificador de imágenes. El codificador de texto toma el mensaje de texto y lo convierte en una incrustación de texto, mientras que el codificador de imagen toma la imagen y la convierte en una incrustación de imagen. Luego, ambas incrustaciones se concatenan y pasan a través de una capa completamente conectada para producir la máscara de segmentación final.
En términos de flujo de datos, el modelo se entrena en un conjunto de datos de imágenes y las indicaciones de texto correspondientes, donde las indicaciones de texto describen el objeto de destino que se segmentará. Durante el proceso de entrenamiento, el codificador de texto y el codificador de imágenes se optimizan para aprender la asignación entre las indicaciones de texto y la imagen para producir la máscara de segmentación final. Una vez que se entrena el modelo, puede tomar una nueva imagen y un mensaje de texto y producir una máscara de segmentación para el objeto descrito en el mensaje.
Stable Diffusion es una técnica que permite a los diseñadores de moda generar imágenes muy realistas en grandes cantidades basadas únicamente en descripciones de texto sin necesidad de una personalización larga y costosa. Esto es beneficioso para los diseñadores que desean crear estilos de moda rápidamente y los fabricantes que desean producir productos personalizados a un costo menor.
El siguiente diagrama ilustra la arquitectura de difusión estable y el flujo de datos.
En comparación con los métodos tradicionales basados en GAN, Stable Diffusion es una IA generativa capaz de producir imágenes más estables y fotorrealistas que coinciden con la distribución de la imagen original. El modelo se puede condicionar en una amplia gama de propósitos, como texto para la generación de texto a imagen, cuadros delimitadores para la generación de diseño a imagen, imágenes enmascaradas para pintar e imágenes de menor resolución para superresolución. Los modelos de difusión tienen una amplia gama de aplicaciones comerciales y sus usos prácticos continúan evolucionando. Estos modelos beneficiarán en gran medida a diversas industrias, como la moda, el comercio minorista y el comercio electrónico, el entretenimiento, las redes sociales, el marketing y más.
Genere máscaras a partir de mensajes de texto con CLIPSeg
El estilo en línea de Vogue es un servicio que permite a los clientes recibir consejos y recomendaciones de moda de AI a través de una plataforma en línea. Lo hace seleccionando ropa y accesorios que complementan la apariencia del cliente, se ajustan a su presupuesto y coinciden con sus preferencias personales. Con la utilización de la IA generativa, las tareas se pueden realizar con mayor facilidad, lo que lleva a una mayor satisfacción del cliente y a una reducción de los gastos.
La solución se puede implementar en un Nube informática elástica de Amazon (EC2) Instancia p3.2xlarge, que tiene una sola GPU V100 con memoria de 16G. Se emplearon varias técnicas para mejorar el rendimiento y reducir el uso de la memoria de la GPU, lo que resultó en una generación de imágenes más rápida. Estos incluyen el uso de fp16 y la habilitación de la atención eficiente de la memoria para disminuir el ancho de banda en el bloque de atención.
Comenzamos haciendo que el usuario cargara una imagen de moda, luego descargamos y extrajimos el modelo previamente entrenado de CLIPSeq. Luego, la imagen se normaliza y se redimensiona para cumplir con el límite de tamaño. Stable Diffusion V2 admite una resolución de imagen de hasta 768 × 768, mientras que V1 admite una resolución de hasta 512 × 512. Ver el siguiente código:
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)
Con el uso del modelo CLIPSeq previamente entrenado, podemos extraer el objeto de destino de una imagen mediante un mensaje de texto. Esto se hace ingresando el indicador de texto en el codificador de texto, que lo convierte en una incrustación de texto. Luego, la imagen se ingresa en el codificador de imágenes, que la convierte en una imagen incrustada. Luego, ambas incrustaciones se concatenan y se pasan a través de una capa completamente conectada para producir la máscara de segmentación final, que resalta el objeto de destino descrito en el mensaje de texto. Ver el siguiente código:
# 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]))
Con la imagen de máscara precisa de la segmentación semántica, podemos usar la pintura interna para la sustitución de contenido. La pintura interna es el proceso de usar un modelo generativo entrenado para completar las partes faltantes de una imagen. Al usar la imagen de la máscara para identificar el objeto de destino, podemos aplicar la técnica de pintura interna para sustituir el objeto de destino con otra cosa, como una prenda de vestir o un accesorio diferente. El modelo Stable Diffusion V2 se puede utilizar para este propósito, ya que es capaz de producir imágenes fotorrealistas de alta resolución que coinciden con la distribución de la imagen original.
Ajuste fino a partir de modelos previamente entrenados usando DreamBooth
El ajuste fino es un proceso de aprendizaje profundo en el que un modelo previamente entrenado se entrena aún más en una nueva tarea utilizando una pequeña cantidad de datos etiquetados. En lugar de entrenar desde cero, la idea es tomar una red que ya ha sido entrenada en un gran conjunto de datos para una tarea similar y capacitarla aún más en un nuevo conjunto de datos para que sea más especializada para esa tarea en particular.
Los diseñadores de moda también pueden usar un modelo de pintura de difusión estable ajustado y centrado en el tema para generar una clase específica de estilo, como faldas largas informales para damas. Para hacer esto, el primer paso es proporcionar un conjunto de imágenes de muestra en el dominio de destino, aproximadamente 1 docena, con etiquetas de texto adecuadas como las siguientes y vincularlas a un identificador único que haga referencia al diseño, estilo, color y tejido. . La etiqueta en el texto juega un papel fundamental en la determinación de los resultados del modelo ajustado. Hay varias formas de mejorar el ajuste fino a través de pronta ingenieria y aquí hay algunos ejemplos.
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.
El uso de un pequeño conjunto de imágenes para ajustar con precisión la difusión estable puede provocar un ajuste excesivo del modelo. DreamBooth[5] aborda este problema mediante el uso de una pérdida de conservación previa específica de la clase. Aprende a vincular un identificador único con ese tema específico en dos pasos. Primero, ajusta el modelo de baja resolución con las imágenes de entrada combinadas con un mensaje de texto que contiene un identificador único y el nombre de la clase a la que pertenece el sujeto, como "falda". En la práctica, esto significa que el modelo se ajuste a las imágenes y las imágenes se muestreen de la vista previa de la clase sin ajuste fino simultáneamente. Estas imágenes de conservación anterior se muestrean y etiquetan utilizando el indicador de "sustantivo de clase". En segundo lugar, ajustará los componentes de súper alta resolución emparejando imágenes de baja y alta resolución del conjunto de imágenes de entrada, lo que permite que las salidas del modelo ajustado mantengan la fidelidad a los pequeños detalles.
El ajuste fino de un codificador de texto en pintura previamente entrenado con UNet para imágenes con una resolución de 512 × 512 requiere aproximadamente 22 GB de VRAM o más para una resolución de 768 × 768. Idealmente, las muestras de ajuste fino deben redimensionarse para que coincidan con la resolución de imagen de salida deseable para evitar la degradación del rendimiento. El codificador de texto produce detalles más precisos, como caras de modelos. Una opción es ejecutar en una sola instancia de AWS EC2 g5.2xlarge, ahora disponible en ocho regiones o use Hugging Face Accelerate para ejecutar el código ajustado en una configuración distribuida. Para ahorrar más memoria, puede elegir una versión dividida de atención que realiza el cálculo en pasos en lugar de hacerlo todo a la vez simplemente modificando el script de entrenamiento de DreamBooth train_dreambooth_inpaint.py para agregar la función de canalización enable_attention_slicing().
Accelerate es una biblioteca que permite ejecutar un código de ajuste fino en cualquier configuración distribuida. Hugging Face y Amazon presentados Contenedores de aprendizaje profundo (DLC) Hugging Face para escalar tareas de ajuste fino en múltiples GPU y nodos. Puede configurar la configuración de lanzamiento para Amazon SageMaker con un solo comando 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')
Para iniciar un trabajo de ajuste fino, verifique la configuración de Accelerate usando CLI y proporcione los argumentos de entrenamiento necesarios, luego use el siguiente script de shell.
# 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
El modelo de pintura interno perfeccionado permite la generación de imágenes más específicas para la clase de moda descrita por el mensaje de texto. Debido a que se ha ajustado con un conjunto de imágenes de alta resolución e indicaciones de texto, el modelo puede generar imágenes que se adaptan más a la clase, como vestidos de noche formales. Es importante tener en cuenta que cuanto más específica sea la clase y más datos se utilicen para el ajuste fino, más precisas y realistas serán las imágenes de salida.
%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
Implemente un modelo de pintura interno perfeccionado con SageMaker para la inferencia
Con Amazon SageMaker, puede implementar los modelos de difusión estable ajustados para la inferencia en tiempo real. Para subir el modelo a Servicio de almacenamiento simple de Amazon (S3) para la implementación, se debe crear un tarball de archivo model.tar.gz. Asegúrese de que el archivo incluya directamente todos los archivos, no una carpeta que los contenga. La carpeta del archivo de ajuste fino de DreamBooth debería aparecer de la siguiente manera después de eliminar los puntos de control intermitentes:
El paso inicial para crear nuestro controlador de inferencia implica la creación del archivo inference.py. Este archivo sirve como eje central para cargar el modelo y manejar todas las solicitudes de inferencia entrantes. Después de cargar el modelo, se ejecuta la función model_fn(). Cuando surge la necesidad de realizar una inferencia, se llama a la función predict_fn(). Además, la función decode_base64() se utiliza para convertir una cadena JSON, contenida dentro de la carga útil, en un tipo de datos de imagen 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}
Para cargar el modelo en un depósito de Amazon S3, primero es necesario crear un archivo model.tar.gz. Es crucial tener en cuenta que el archivo debe consistir en los archivos directamente y no en una carpeta que los contenga. Por ejemplo, el archivo debería aparecer de la siguiente manera:
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")
Después de cargar el archivo del modelo, podemos implementarlo en Amazon SageMaker usando HuggingfaceModel para la inferencia en tiempo real. Puede hospedar el punto final mediante una instancia g4dn.xlarge, que está equipada con una sola GPU NVIDIA Tesla T4 con 16 GB de VRAM. El ajuste de escala automático se puede activar para manejar las diferentes demandas de tráfico. Para obtener información sobre cómo incorporar el ajuste de escala automático en su terminal, consulte Pasando a la producción: Transformadores Hugging Face de escalado automático con 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" )
El método huggingface_model.deploy() devuelve un objeto HuggingFacePredictor que se puede usar para solicitar una inferencia. El punto final requiere un JSON con una clave de entrada, que representa la solicitud de entrada para que el modelo genere una imagen. También puede controlar la generación con parámetros como num_inference_steps, guide_scale y "num_images_per_prompt". La función predictor.predict() devuelve un JSON con una clave "generated_images", que contiene las cuatro imágenes generadas como cadenas codificadas en base64. Agregamos dos funciones auxiliares, decode_base64_to_image y display_images, para decodificar la respuesta y mostrar las imágenes respectivamente. El primero decodifica la cadena codificada en base64 y devuelve un objeto PIL.Image, y el segundo muestra una lista de objetos PIL.Image. Ver el siguiente código:
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
Sigamos adelante con la tarea de pintura interior. Se ha estimado que tomará aproximadamente 15 segundos producir tres imágenes, dada la imagen de entrada y la máscara creada usando CLIPSeg con el mensaje de texto discutido anteriormente. Ver el siguiente código:
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)
Las imágenes pintadas se pueden mostrar junto con la imagen original para una comparación visual. Además, el proceso de pintura interna se puede restringir utilizando varios parámetros, como la escala_orientación, que controla la intensidad de la imagen de guía durante el proceso de pintura interna. Esto permite al usuario ajustar la imagen de salida y lograr los resultados deseados.
Inicio rápido de Amazon SageMaker ofrece plantillas de difusión estable para varios modelos, incluidos texto a imagen y ampliación. Para obtener más información, consulte SageMaker JumpStart ahora proporciona modelos Stable Diffusion y Bloom. Próximamente estarán disponibles plantillas adicionales de Jumpstart.
Limitaciones
Aunque CLIPSeg suele funcionar bien en el reconocimiento de objetos comunes, tiene dificultades en tareas más abstractas o sistemáticas, como contar la cantidad de objetos en una imagen, y en tareas más complejas, como predecir qué tan cerca está el objeto más cercano, como un bolso, en una foto. CLIPSeq Zero-shot también tiene dificultades en comparación con los modelos específicos de tareas en una clasificación muy detallada, como distinguir entre dos diseños vagos, variantes de vestimenta o clasificación de estilo. CLIPSeq también tiene una generalización deficiente a las imágenes que no están cubiertas en su conjunto de datos previo al entrenamiento. Finalmente, se ha observado que los clasificadores de disparo cero de CLIP pueden ser sensibles a la redacción o la redacción y, a veces, requieren "ingeniería rápida" de prueba y error para funcionar bien. Cambiar a un modelo de segmentación semántica diferente para la columna vertebral de CLIPSeq, como BEIT, que cuenta con un mIOU del 62.8 % en el conjunto de datos ADE20K, podría mejorar potencialmente los resultados.
Se ha descubierto que los diseños de moda generados mediante el uso de difusión estable se limitan a partes de prendas que se colocan al menos de forma tan predecible en el contexto más amplio de los modelos de moda, y que se ajustan a incrustaciones de alto nivel que razonablemente podría esperar encontrar en un conjunto de datos de hiperescala utilizado durante el entrenamiento del modelo preentrenado. El límite real de la IA generativa es que el modelo eventualmente producirá resultados totalmente imaginarios y menos auténticos. Por lo tanto, los diseños de moda generados por IA pueden no ser tan variados o únicos como los creados por diseñadores humanos.
Conclusión
La IA generativa brinda al sector de la moda la oportunidad de transformar sus prácticas a través de mejores experiencias de usuario y estrategias comerciales rentables. En esta publicación, mostramos cómo aprovechar la IA generativa para permitir que los diseñadores de moda y los consumidores creen estilos de moda personalizados utilizando modelos virtuales. Con la ayuda de las plantillas Jumpstart de Amazon SageMaker existentes y las que están por venir, los usuarios pueden adoptar rápidamente estas técnicas avanzadas sin necesidad de conocimientos técnicos profundos, al mismo tiempo que mantienen la versatilidad y reducen los gastos.
Esta tecnología innovadora presenta nuevas oportunidades para las empresas y los profesionales involucrados en la generación de contenido, en diversas industrias. La IA generativa proporciona amplias capacidades para mejorar y crear contenido. Pruebe las adiciones recientes a las plantillas de Jumpstart en su Estudio SageMaker, como el ajuste fino de texto a imagen y capacidades mejoradas.
Nos gustaría agradecer a Li Zhang, Karl Albertsen, Kristine Pearce, Nikhil Velpanur, Aaron Sengstacken, James Wu y Neelam Koshiya por su apoyo y sus valiosos aportes que ayudaron a mejorar este trabajo.
Acerca de los autores
alfredo shen es especialista sénior en IA/ML en AWS. Ha trabajado en Silicon Valley, ocupando cargos técnicos y gerenciales en diversos sectores, incluidos el de la salud, las finanzas y la alta tecnología. Es un investigador dedicado de AI/ML aplicado, que se concentra en CV, NLP y multimodalidad. Su trabajo ha sido exhibido en publicaciones como EMNLP, ICLR y Public Health.
Dr. Vivek Madan es un científico aplicado del equipo JumpStart de Amazon SageMaker. Obtuvo su doctorado en la Universidad de Illinois en Urbana-Champaign y fue investigador posdoctoral en Georgia Tech. Es un investigador activo en aprendizaje automático y diseño de algoritmos y ha publicado artículos en conferencias EMNLP, ICLR, COLT, FOCS y SODA.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- Poder
- Nuestra Empresa
- RESUMEN
- acelerar
- acelerador
- de la máquina
- accesorios
- logrado
- Mi Cuenta
- preciso
- Lograr
- a través de
- lector activo
- adaptar
- adicional
- Adicionales
- Adicionalmente
- Adiciones
- direcciones
- Adopción
- avanzado
- consejos
- Después
- AI
- AI / ML
- algoritmo
- algoritmos
- Todos
- Permitir
- permite
- ya haya utilizado
- Amazon
- Amazon SageMaker
- JumpStart de Amazon SageMaker
- cantidad
- y
- Ropa
- Aparecer
- aplicaciones
- aplicada
- Aplicá
- aproximadamente
- arquitectura
- Archive
- Reservada
- argumentos
- artificial
- inteligencia artificial
- ASA
- Ayuda
- audio
- Auténticos
- Hoy Disponibles
- AWS
- Columna vertebral
- Ancho de banda
- Banca
- bases
- basado
- porque
- comenzó
- beneficioso
- es el beneficio
- mejores
- entre
- se unen
- uniéndose
- Bloquear
- Blog
- Florecer (bloom)
- Azul
- Se jacta
- cuerpo
- cajas
- Brillante
- brillante
- presupuesto
- Aplicaciones empresariales
- calcula
- , que son
- capacidades
- capaz
- cases
- casual
- central
- retos
- posibilidades
- el cambio
- Elige
- clase
- clasificación
- Cerrar
- cierre
- Ropa
- Soluciones
- código
- recoger
- Color
- Columnas
- cómo
- la comodidad
- Algunos
- Empresas
- comparar
- en comparación con
- comparación
- Complemento
- integraciones
- componentes
- cálculo
- Calcular
- informática
- concepto
- Configuración
- conectado
- constante
- Clientes
- Contenedores
- contiene
- contenido
- Generación de contenido
- contexto
- continue
- control
- controles
- convertir
- Correspondiente
- Cost
- podría
- cubierto
- Para crear
- creado
- Creamos
- creación
- crítico
- crucial
- En la actualidad
- personalizado
- cliente
- Satisfacción del cliente
- Clientes
- personalizable
- personalización
- datos
- disminuir
- a dedicados
- profundo
- deep learning
- demandas
- Denim
- desplegar
- desplegado
- despliegue
- describir
- descrito
- Diseño
- diseñado
- diseñadores
- diseños
- deseado
- detallado
- detalles
- determinar
- un cambio
- una experiencia diferente
- Difusión
- directamente
- discutido
- Pantalla
- distribuidos
- diverso
- dominio
- descargar
- decenas
- durabilidad
- durante
- comercio electrónico
- pasan fácilmente
- Eficaz
- eficiente
- elementos
- eliminando
- Abrazar
- habilitar
- permite
- permitiendo
- engloba
- Punto final
- certificados
- mejorar
- garantizar
- Entretenimiento
- equipado
- error
- estimado
- tarde
- finalmente
- evoluciona
- ejemplo
- ejemplos
- existente
- esperar
- gastos
- costoso
- Experiencias
- Experiencia
- exportar
- extraerlos
- material
- telas,
- Cara
- caras
- Moda
- más rápida
- Feature
- hembra
- pocos
- fidelidad
- campo
- Archive
- archivos
- llenar
- final
- Finalmente
- financiar
- Encuentre
- en fin
- Nombre
- cómodo
- llamarada
- flexible
- de tus señales
- Focus
- seguido
- siguiendo
- siguiente
- formal
- Ex
- adelante
- encontrado
- frecuentemente
- Desde
- ser completados
- completamente
- función
- funciones
- promover
- Además
- futuras
- vestidos
- generar
- generado
- generación de AHSS
- generativo
- IA generativa
- Georgia
- obtener
- dado
- GPU
- GPU
- Gráfico
- gris
- mayor
- muy
- Cuadrícula
- encargarse de
- Manejo
- aprovechar
- es
- Salud
- la salud
- altura
- ayudado
- esta página
- Alta
- de alto nivel
- de alta resolución
- más alto
- destacados
- altamente
- tenencia
- mantiene
- fortaleza
- Cómo
- Como Hacer
- Sin embargo
- HTML
- HTTPS
- Bujes
- AbrazandoCara
- humana
- idea
- identificador
- Identifique
- Illinois
- imagen
- imágenes
- imaginario
- implementación
- importar
- importante
- mejorar
- mejorado
- in
- a fondo
- incluir
- incluye
- Incluye
- Entrante
- incorporando
- aumentado
- industrias
- energético
- información
- inicial
- originales
- Las opciones de entrada
- instalar
- ejemplo
- Intelligence
- Introducido
- involucra
- IT
- artículos
- Trabajos
- json
- Clave
- Label
- Etiquetas
- idioma
- large
- lanzamiento
- .
- líder
- APRENDE:
- aprendido
- aprendizaje
- Longitud Mínima
- Li
- Biblioteca
- LIMITE LAS
- Limitada
- Lista
- carga
- carga
- Largo
- de
- Bajando
- lucrativo
- máquina
- máquina de aprendizaje
- Inicio
- mantener
- Mantener los
- para lograr
- Realizar
- directivo
- Fabricantes
- cartografía
- Mercado
- Marketing
- máscara
- Mascarillas
- Match
- materiales
- matplotlib
- significa
- Medios
- Salud Cerebral
- Método
- métodos
- que falta
- ML
- modelo
- modelos
- más,
- MEJOR DE TU
- movimiento
- movimiento
- múltiples
- nombre
- Natural
- Cerca
- necesario
- ¿ Necesita ayuda
- necesidad
- del sistema,
- Neutro
- Nuevo
- nlp
- nodos
- normal
- novela
- número
- Nvidia
- objeto
- objetos
- obstáculos
- LANZAMIENTO
- que ofrece
- Ofertas
- ONE
- Único en su clase
- en línea
- Oportunidad
- optimizado
- Optión
- solicite
- reconocida por
- OS
- EL DESARROLLADOR
- emparejado
- emparejamiento
- papeles
- parámetros
- particular
- partes
- pasado
- camino
- Patrón de Costura
- .
- (PDF)
- Realizar
- actuación
- realiza
- permisos
- con
- personalización
- personalizar
- Personalizado
- Fotorrealista
- Fotos
- tubo
- industrial
- plataforma
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- Por favor
- pobre
- Popular
- plantea
- abiertas
- Publicación
- posible
- la posibilidad
- Metodología
- prácticas
- predecir
- predecir
- predicción
- Predictor
- preferencias
- preferido
- regalos
- evitar
- previamente
- Anterior
- producir
- Producción
- Productos
- profesionales
- apropiado
- proporcionar
- proporciona un
- público
- salud pública
- publicaciones
- en público
- publicado
- puramente
- propósito
- fines
- Python
- piñón
- calidad
- con rapidez
- distancia
- real
- en tiempo real
- realista
- recepción
- reciente
- recomendaciones
- Rojo
- reducir
- Reducción
- referencias
- se refiere
- la relevancia
- reportado
- representa
- solicita
- solicitudes
- exigir
- requiere
- investigador
- Resolución
- respuesta
- resultado
- resultante
- Resultados
- el comercio minorista
- volvemos
- devoluciones
- RGB
- Función
- aproximadamente
- Ejecutar
- correr
- sabio
- ventas
- satisfacción
- Guardar
- Ahorros
- Escala
- Científico
- Sdk
- Segundo
- segundos
- sector
- Sectores
- segmentación
- segmentos
- seleccionar
- mayor
- sensible
- sirve
- de coches
- Sesión
- set
- Varios
- agudo
- Cáscara
- En Corto
- tienes
- mostrar
- lado
- Silicio
- Silicon Valley
- similares
- sencillos
- simplemente
- simultáneamente
- soltero
- Tamaño
- chica
- So
- Social
- redes sociales
- a medida
- algo
- algo
- Espacio
- especial
- especialista
- especializado
- soluciones y
- especificado
- estable
- estándar
- Estado
- paso
- pasos
- Sin embargo
- STORAGE
- almacenados
- estrategias
- fuerza
- Rayas
- Luchas
- papa
- sujeto
- comercial
- tal
- verano
- Supermodel
- supervisión
- soportes
- adaptado
- ¡Prepárate!
- toma
- Target
- Tarea
- tareas
- equipo
- tecnología
- Técnico
- técnicas
- Tecnología
- plantillas
- términos
- Tesla
- La
- El Área
- el mundo
- su
- por lo tanto
- Tres
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- Atado
- a
- antorcha
- TOTALMENTE
- tradicional
- tráfico
- Entrenar
- entrenado
- Formación
- transferir
- Transformar
- transformers
- viajes
- Tendencias
- juicio
- Trillones
- bajo
- único
- universidad
- subido
- Uso
- utilizan el
- Usuario
- usuarios
- generalmente
- utilizar
- utilizado
- utiliza
- Utilizando
- vacaciones
- Valle
- Valioso
- propuesta de
- variedad
- diversos
- Vasto
- verificar
- versión
- Video
- Virtual
- W
- formas
- que
- mientras
- complejo de salvador blanco
- QUIENES
- amplio
- Amplia gama
- más ancho
- anchura
- seguirá
- dentro de
- sin
- fraseología
- Actividades:
- trabajado
- mundo
- Banco Mundial
- se
- envolver
- wu
- X
- Usted
- tú
- zephyrnet
- Zip