A indústria da moda é uma negócio altamente lucrativo, com um valor estimado de US$ 2.1 trilhões até 2025, conforme relatado pelo Banco Mundial. Essa área abrange diversos segmentos, como criação, fabricação, distribuição e comercialização de roupas, calçados e acessórios. A indústria está em constante mudança, com novos estilos e tendências aparecendo com frequência. Portanto, as empresas de moda devem ser flexíveis e capazes de se adaptar para manter sua relevância e alcançar o sucesso no mercado.
Inteligência artificial generativa (IA) refere-se a algoritmos de IA projetados para gerar novos conteúdos, como imagens, texto, áudio ou vídeo, com base em um conjunto de padrões e dados aprendidos. Ele pode ser utilizado para gerar designs de vestuário novos e inovadores, oferecendo personalização e economia aprimoradas. As ferramentas de design orientadas por IA podem criar designs de vestuário exclusivos com base em parâmetros de entrada ou estilos especificados por clientes em potencial por meio de prompts de texto. Além disso, a IA pode ser utilizada para personalizar designs de acordo com as preferências do cliente. Por exemplo, um cliente pode selecionar entre uma variedade de cores, padrões e estilos, e os modelos de IA gerariam um design único com base nessas seleções. Atualmente, a adoção da IA na indústria da moda é prejudicada por vários desafios técnicos, de viabilidade e de custo. No entanto, esses obstáculos agora podem ser mitigados utilizando métodos avançados de IA generativa, como segmentação semântica de imagem baseada em linguagem natural e difusão para estilo virtual.
Esta postagem do blog detalha a implementação do estilo on-line de moda generativo assistido por IA usando prompts de texto. Os engenheiros de aprendizado de máquina (ML) podem ajustar e implantar a segmentação de texto para semântica e modelos de pintura com base em CLIPSeq pré-treinado e difusão estável com Amazon Sage Maker. Isso permite que designers de moda e consumidores criem imagens de modelagem virtual com base em prompts de texto e escolham seus estilos preferidos.
Soluções de IA generativa
A CLIPSeg model introduziu um novo método de segmentação semântica de imagem que permite identificar facilmente itens de moda em imagens usando comandos de texto simples. Ele utiliza um prompt de texto ou um codificador de imagem para codificar informações textuais e visuais em um espaço de incorporação multimodal, permitindo uma segmentação altamente precisa de objetos de destino com base no prompt. O modelo foi treinado em uma grande quantidade de dados com técnicas como transferência zero-shot, supervisão de linguagem natural e aprendizagem contrastiva multimodal auto-supervisionada. Isso significa que você pode utilizar um modelo pré-treinado que está disponível publicamente por Timo Luddecke et al sem a necessidade de personalização.
O CLIPSeg é um modelo que usa um codificador de texto e imagem para codificar informações textuais e visuais em um espaço de incorporação multimodal para realizar a segmentação semântica com base em um prompt de texto. A arquitetura do CLIPSeg consiste em dois componentes principais: um codificador de texto e um codificador de imagem. O codificador de texto recebe o prompt de texto e o converte em uma incorporação de texto, enquanto o codificador de imagem recebe a imagem e a converte em uma incorporação de imagem. Ambas as incorporações são então concatenadas e passadas por uma camada totalmente conectada para produzir a máscara de segmentação final.
Em termos de fluxo de dados, o modelo é treinado em um conjunto de dados de imagens e prompts de texto correspondentes, onde os prompts de texto descrevem o objeto de destino a ser segmentado. Durante o processo de treinamento, o codificador de texto e o codificador de imagem são otimizados para aprender o mapeamento entre os prompts de texto e a imagem para produzir a máscara de segmentação final. Depois que o modelo é treinado, ele pode receber um novo prompt de texto e imagem e produzir uma máscara de segmentação para o objeto descrito no prompt.
A difusão estável é uma técnica que permite aos designers de moda gerar imagens altamente realistas em grandes quantidades puramente com base em descrições de texto sem a necessidade de personalização longa e cara. Isso é benéfico para designers que desejam criar estilos de moda rapidamente e fabricantes que desejam produzir produtos personalizados a um custo menor.
O diagrama a seguir ilustra a arquitetura Stable Diffusion e o fluxo de dados.
Comparado aos métodos tradicionais baseados em GAN, o Stable Diffusion é uma IA generativa capaz de produzir imagens mais estáveis e fotorrealistas que correspondem à distribuição da imagem original. O modelo pode ser condicionado a uma ampla variedade de finalidades, como texto para geração de texto para imagem, caixas delimitadoras para geração de layout para imagem, imagens mascaradas para pintura interna e imagens de resolução mais baixa para super-resolução. Os modelos de difusão têm uma ampla gama de aplicações de negócios e seus usos práticos continuam a evoluir. Esses modelos beneficiarão grandemente vários setores, como moda, varejo e comércio eletrônico, entretenimento, mídia social, marketing e muito mais.
Gere máscaras a partir de prompts de texto usando o CLIPSeg
O estilo online da Vogue é um serviço que permite aos clientes receber conselhos e recomendações de moda da IA por meio de uma plataforma online. Ele faz isso selecionando roupas e acessórios que complementam a aparência do cliente, cabem em seu orçamento e combinam com suas preferências pessoais. Com a utilização da IA generativa, as tarefas podem ser realizadas com maior facilidade, levando ao aumento da satisfação do cliente e à redução das despesas.
A solução pode ser implantada em um Amazon Elastic Compute Cloud (EC2) instância p3.2xlarge, que possui uma única GPU V100 com 16G de memória. Várias técnicas foram empregadas para melhorar o desempenho e reduzir o uso de memória da GPU, resultando em geração de imagens mais rápida. Isso inclui o uso de fp16 e habilitação de atenção com eficiência de memória para diminuir a largura de banda no bloco de atenção.
Começamos fazendo o usuário carregar uma imagem de moda, baixando e extraindo o modelo pré-treinado do CLIPSeq. A imagem é então normalizada e redimensionada para cumprir o limite de tamanho. Stable Diffusion V2 suporta resolução de imagem de até 768 × 768 enquanto V1 suporta até 512 × 512. Veja o seguinte 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)
Com o uso do modelo CLIPSeq pré-treinado, podemos extrair o objeto de destino de uma imagem usando um prompt de texto. Isso é feito inserindo o prompt de texto no codificador de texto, que o converte em uma incorporação de texto. A imagem é então inserida no codificador de imagem, que a converte em uma incorporação de imagem. Ambas as incorporações são concatenadas e passadas por uma camada totalmente conectada para produzir a máscara de segmentação final, que destaca o objeto de destino descrito no prompt de texto. Veja o seguinte 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]))
Com a imagem de máscara precisa da segmentação semântica, podemos usar pintura interna para substituição de conteúdo. A pintura interna é o processo de usar um modelo generativo treinado para preencher as partes que faltam em uma imagem. Ao usar a imagem da máscara para identificar o objeto alvo, podemos aplicar a técnica de pintura interna para substituir o objeto alvo por outra coisa, como um item de roupa ou acessório diferente. O modelo Stable Diffusion V2 pode ser usado para essa finalidade, pois é capaz de produzir imagens fotorrealistas de alta resolução que correspondem à distribuição da imagem original.
Ajuste fino de modelos pré-treinados usando o DreamBooth
O ajuste fino é um processo de aprendizado profundo em que um modelo pré-treinado é treinado em uma nova tarefa usando uma pequena quantidade de dados rotulados. Em vez de treinar do zero, a ideia é pegar uma rede que já foi treinada em um grande conjunto de dados para uma tarefa semelhante e treiná-la ainda mais em um novo conjunto de dados para torná-la mais especializada para essa tarefa específica.
Os designers de moda também podem usar um modelo de pintura Stable Diffusion bem ajustado e direcionado ao assunto para gerar uma classe específica de estilo, como saias longas casuais para mulheres. Para fazer isso, a primeira etapa é fornecer um conjunto de imagens de amostra no domínio de destino, cerca de 1 dúzia, com rótulos de texto adequados, como os seguintes, e vinculá-los a um identificador exclusivo que faz referência ao design, estilo, cor e tecido . O rótulo no texto desempenha um papel crítico na determinação dos resultados do modelo ajustado. Existem várias maneiras de aprimorar o ajuste fino por meio de engenharia imediata e aqui estão alguns exemplos.
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.
Usar um pequeno conjunto de imagens para ajustar a difusão estável pode resultar em superajuste do modelo. DreamBooth[5] aborda isso usando uma perda de preservação prévia específica de classe. Ele aprende a vincular um identificador exclusivo a esse assunto específico em duas etapas. Primeiro, ele ajusta o modelo de baixa resolução com as imagens de entrada emparelhadas com um prompt de texto que contém um identificador exclusivo e o nome da classe à qual o sujeito pertence, como “saia”. Na prática, isso significa fazer com que o modelo ajuste as imagens e as imagens amostradas do visual anterior da classe não ajustada simultaneamente. Essas imagens de preservação prévia são amostradas e rotuladas usando o prompt “class noun”. Em segundo lugar, ele ajustará os componentes de altíssima resolução ao emparelhar imagens de baixa e alta resolução do conjunto de imagens de entrada, o que permite que as saídas do modelo de ajuste fino mantenham a fidelidade aos pequenos detalhes.
O ajuste fino de um codificador de texto de pintura pré-treinado com a UNet para imagens com resolução de 512 × 512 requer aproximadamente 22 GB de VRAM ou superior para resolução de 768 × 768. Idealmente, as amostras de ajuste fino devem ser redimensionadas para corresponder à resolução de imagem de saída desejável para evitar a degradação do desempenho. O codificador de texto produz detalhes mais precisos, como faces do modelo. Uma opção é executar em uma única instância AWS EC2 g5.2xlarge, agora disponível em oito regiões ou use o Hugging Face Accelerate para executar o código ajustado em uma configuração distribuída. Para economia de memória adicional, você pode escolher uma versão fatiada de atenção que executa a computação em etapas, em vez de uma vez, simplesmente modificando o script de treinamento train_dreambooth_inpaint.py do DreamBooth para adicionar a função enable_attention_slicing() do pipeline.
Accelerate é uma biblioteca que permite que um código de ajuste fino seja executado em qualquer configuração distribuída. Hugging Face e Amazon são lançados Abraçando os Contêineres de Aprendizado Profundo (DLCs) do Face para dimensionar tarefas de ajuste fino em várias GPUs e nós. Você pode definir a configuração de inicialização do Amazon SageMaker com um único comando da 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 um trabalho de ajuste fino, verifique a configuração do Accelerate usando CLI e forneça os argumentos de treinamento necessários e, em seguida, use o script de shell a seguir.
# 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
O modelo de pintura ajustado permite a geração de imagens mais específicas para a classe de moda descrita pelo prompt de texto. Por ter sido ajustado com um conjunto de imagens de alta resolução e prompts de texto, o modelo pode gerar imagens mais adaptadas à classe, como vestidos de noite formais. É importante observar que quanto mais específica for a classe e quanto mais dados forem usados para ajuste fino, mais precisas e realistas serão as imagens de saída.
%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
Implante um modelo de pintura aprimorado usando o SageMaker para inferência
Com o Amazon SageMaker, você pode implantar os modelos Stable Diffusion ajustados para inferência em tempo real. Para carregar o modelo para Serviço Amazon Simple Storage (S3) para implantação, um tarball de arquivo model.tar.gz deve ser criado. Certifique-se de que o arquivo inclua diretamente todos os arquivos, não uma pasta que os contenha. A pasta de arquivo de ajuste fino do DreamBooth deve aparecer da seguinte forma após a eliminação dos pontos de verificação intermitentes:
A etapa inicial na criação de nosso manipulador de inferência envolve a criação do arquivo inference.py. Esse arquivo serve como hub central para carregar o modelo e lidar com todas as solicitações de inferência recebidas. Depois que o modelo é carregado, a função model_fn() é executada. Quando surge a necessidade de realizar inferência, a função predict_fn() é chamada. Além disso, a função decode_base64() é utilizada para converter uma string JSON, contida na carga útil, em um tipo de dados de imagem 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 carregar o modelo em um bucket do Amazon S3, é necessário primeiro criar um arquivo model.tar.gz. É crucial observar que o arquivo deve consistir diretamente nos arquivos e não em uma pasta que os contenha. Por exemplo, o arquivo deve aparecer da seguinte forma:
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")
Após o upload do arquivo do modelo, podemos implantá-lo no Amazon SageMaker usando HuggingfaceModel para inferência em tempo real. Você pode hospedar o endpoint usando uma instância g4dn.xlarge, equipada com uma única GPU NVIDIA Tesla T4 com 16 GB de VRAM. O escalonamento automático pode ser ativado para lidar com diferentes demandas de tráfego. Para obter informações sobre como incorporar o escalonamento automático em seu endpoint, consulte Produção em andamento: Transformadores de rosto de abraço com dimensionamento automático com o 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" )
O método huggingface_model.deploy() retorna um objeto HuggingFacePredictor que pode ser usado para solicitar inferência. O endpoint requer um JSON com uma chave de entradas, que representa o prompt de entrada para o modelo gerar uma imagem. Você também pode controlar a geração com parâmetros como num_inference_steps, guidance_scale e “num_images_per_prompt”. A função predictor.predict() retorna um JSON com uma chave “generated_images”, que contém as quatro imagens geradas como strings codificadas em base64. Adicionamos duas funções auxiliares, decode_base64_to_image e display_images, para decodificar a resposta e exibir as imagens, respectivamente. O primeiro decodifica a string codificada em base64 e retorna um objeto PIL.Image, e o último exibe uma lista de objetos PIL.Image. Veja o seguinte 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
Vamos avançar com a tarefa de pintura interna. Estima-se que levará cerca de 15 segundos para produzir três imagens, dada a imagem de entrada e a máscara criada usando o CLIPSeg com o prompt de texto discutido anteriormente. Veja o seguinte 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)
As imagens pintadas podem ser exibidas junto com a imagem original para comparação visual. Além disso, o processo de pintura interna pode ser restringido usando vários parâmetros, como guidance_scale, que controla a força da imagem de orientação durante o processo de pintura interna. Isso permite que o usuário ajuste a imagem de saída e alcance os resultados desejados.
Início rápido do Amazon SageMaker oferece modelos de difusão estável para vários modelos, incluindo conversão de texto em imagem e upscaling. Para mais informações, consulte O SageMaker JumpStart agora fornece modelos de difusão estável e Bloom. Modelos adicionais do Jumpstart estarão disponíveis em um futuro próximo.
Limitações
Embora o CLIPSeg geralmente tenha um bom desempenho no reconhecimento de objetos comuns, ele se esforça em tarefas mais abstratas ou sistemáticas, como contar o número de objetos em uma imagem e em tarefas mais complexas, como prever o quão próximo o objeto mais próximo de uma bolsa está em uma foto. O CLIPSeq zero-shot também sofre em comparação com modelos específicos de tarefas em classificação muito refinada, como dizer a diferença entre dois designs vagos, variantes de vestimenta ou classificação de estilo. O CLIPSeq também ainda possui generalização ruim para imagens não cobertas em seu conjunto de dados de pré-treinamento. Por fim, observou-se que os classificadores de tiro zero do CLIP podem ser sensíveis a palavras ou frases e, às vezes, requerem tentativa e erro de "engenharia imediata" para funcionar bem. Mudar para um modelo de segmentação semântica diferente para o backbone do CLIPSeq, como BEiT, que possui um mIOU de 62.8% no conjunto de dados ADE20K, poderia melhorar os resultados.
Verificou-se que os designs de moda gerados pelo uso da difusão estável são limitados a partes de roupas que são pelo menos tão previsivelmente colocadas no contexto mais amplo dos modelos de moda e que estão em conformidade com incorporações de alto nível que você poderia razoavelmente esperar encontrar em um conjunto de dados de hiperescala usado durante o treinamento do modelo pré-treinado. O limite real da IA generativa é que o modelo eventualmente produzirá saídas totalmente imaginárias e menos autênticas. Portanto, os designs de moda gerados pela IA podem não ser tão variados ou únicos quanto os criados por designers humanos.
Conclusão
A IA generativa oferece ao setor da moda uma oportunidade de transformar suas práticas por meio de melhores experiências do usuário e estratégias de negócios econômicas. Nesta postagem, mostramos como aproveitar a IA generativa para permitir que estilistas e consumidores criem estilos de moda personalizados usando modelagem virtual. Com a ajuda dos modelos existentes e futuros do Amazon SageMaker Jumpstart, os usuários podem adotar rapidamente essas técnicas avançadas sem precisar de conhecimento técnico aprofundado, mantendo a versatilidade e reduzindo as despesas.
Esta tecnologia inovadora apresenta novas oportunidades para empresas e profissionais envolvidos na geração de conteúdo, em vários setores. A IA generativa fornece amplos recursos para aprimorar e criar conteúdo. Experimente as adições recentes aos modelos Jumpstart em seu Estúdio SageMaker, como ajuste fino de texto para imagem e recursos de upscale.
Gostaríamos de agradecer a Li Zhang, Karl Albertsen, Kristine Pearce, Nikhil Velpanur, Aaron Sengstacken, James Wu e Neelam Koshiya por seu apoio e contribuições valiosas que ajudaram a melhorar este trabalho.
Sobre os autores
Alfred Shen é um especialista sênior em IA/ML da AWS. Ele trabalhou no Vale do Silício, ocupando cargos técnicos e gerenciais em diversos setores, incluindo saúde, finanças e alta tecnologia. Ele é um pesquisador dedicado de AI/ML aplicado, concentrando-se em CV, PNL e multimodalidade. Seu trabalho foi apresentado em publicações como EMNLP, ICLR e Public Health.
Vivek Madan é um cientista aplicado da equipe Amazon SageMaker JumpStart. Ele obteve seu doutorado na Universidade de Illinois em Urbana-Champaign e foi pesquisador de pós-doutorado na Georgia Tech. Ele é um pesquisador ativo em aprendizado de máquina e design de algoritmos e publicou artigos nas conferências EMNLP, ICLR, COLT, FOCS e SODA
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- Capaz
- Sobre
- RESUMO
- acelerar
- acelerador
- Acesso
- acessórios.
- realizado
- Conta
- preciso
- Alcançar
- em
- ativo
- adaptar
- adicionado
- Adicional
- Adicionalmente
- Adicionais
- endereços
- Adoção
- avançado
- conselho
- Depois de
- AI
- AI / ML
- algoritmo
- algoritmos
- Todos os Produtos
- Permitindo
- permite
- já
- Amazon
- Amazon Sage Maker
- JumpStart do Amazon SageMaker
- quantidade
- e
- Vestuário
- aparecer
- aplicações
- aplicado
- Aplicar
- aproximadamente
- arquitetura
- arquivo
- ÁREA
- argumentos
- artificial
- inteligência artificial
- ASA
- Assistência
- por WhatsApp.
- auditivo
- Autêntico
- disponível
- AWS
- Espinha dorsal
- Largura de Banda
- Bank
- base
- baseado
- Porque
- começou
- benéfico
- beneficiar
- Melhor
- entre
- vincular
- obrigatório
- Bloquear
- Blog
- Florescer
- Azul
- ostenta
- corpo
- pino
- caixas
- Brilhante
- mais brilhante
- orçamento
- negócio
- Aplicações de Negócio
- calcula
- chamado
- capacidades
- capaz
- casos
- casual
- central
- desafios
- chances
- alterar
- Escolha
- classe
- classificação
- Fechar
- encerramento
- Vestuário
- Na nuvem
- código
- coletar
- cor
- colunas
- como
- conforto
- comum
- Empresas
- comparar
- comparado
- comparação
- Complemento
- integrações
- componentes
- computação
- Computar
- computação
- conceito
- Configuração
- conectado
- constante
- Consumidores
- Containers
- contém
- conteúdo
- Geração de Conteúdo
- contexto
- continuar
- ao controle
- controles
- converter
- Correspondente
- Custo
- poderia
- coberto
- crio
- criado
- Criar
- criação
- crítico
- crucial
- Atualmente
- personalizadas
- cliente
- A satisfação do cliente
- Clientes
- personalizável
- personalização
- dados,
- diminuir
- dedicado
- profundo
- deep learning
- demandas
- brim
- implantar
- implantado
- desenvolvimento
- descreve
- descrito
- Design
- projetado
- desenhadores
- projetos
- desejado
- detalhado
- detalhes
- determinando
- diferença
- diferente
- Distribuição
- diretamente
- discutido
- Ecrã
- monitores
- distribuído
- distribuição
- diferente
- domínio
- download
- dezenas
- durabilidade
- durante
- e-commerce,
- facilmente
- Eficaz
- eficiente
- elementos
- eliminando
- abraços
- permitir
- permite
- permitindo
- engloba
- Ponto final
- Engenheiros
- aprimorando
- garantir
- Entretenimento
- equipado
- erro
- estimado
- noite
- eventualmente
- evolui
- exemplo
- exemplos
- existente
- esperar
- despesas
- caro
- Experiências
- experiência
- exportar
- extrato
- tecidos
- tecidos
- Rosto
- rostos
- Moda
- mais rápido
- Característica
- feminina
- poucos
- fidelidade
- campo
- Envie o
- Arquivos
- preencher
- final
- Finalmente
- financiar
- Encontre
- final
- Primeiro nome
- caber
- alargamento
- flexível
- fluxo
- Foco
- seguido
- seguinte
- segue
- formal
- Antigo
- para a frente
- encontrado
- freqüentemente
- da
- cheio
- totalmente
- função
- funções
- mais distante
- Além disso
- futuro
- roupas
- gerar
- gerado
- geração
- generativo
- IA generativa
- ter
- dado
- GPU
- GPUs
- Designer
- cinza
- maior
- grandemente
- Grade
- manipular
- Manipulação
- arreios
- ter
- Saúde
- saúde
- altura
- ajudou
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Alta
- de alto nível
- de alta resolução
- superior
- destaques
- altamente
- segurando
- detém
- hospedeiro
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- HTTPS
- Hub
- Abraçando o Rosto
- humano
- idéia
- identificador
- identificar
- Illinois
- imagem
- imagens
- imaginário
- implementação
- importar
- importante
- melhorar
- melhorado
- in
- em profundidade
- incluir
- inclui
- Incluindo
- Entrada
- incorporando
- aumentou
- indústrias
- indústria
- INFORMAÇÕES
- do estado inicial,
- inovadores
- entrada
- instalar
- instância
- em vez disso
- Inteligência
- introduzido
- envolvido
- IT
- Unid
- Trabalho
- json
- Chave
- O rótulo
- Rótulos
- língua
- grande
- lançamento
- camada
- principal
- APRENDER
- aprendido
- aprendizagem
- Comprimento
- níveis
- Li
- Biblioteca
- LIMITE
- Limitado
- Lista
- carregar
- carregamento
- longo
- fora
- Baixa
- lucrativo
- máquina
- aprendizado de máquina
- a Principal
- a manter
- Manter
- fazer
- Fazendo
- gerencial
- Fabricantes
- mapeamento
- mercado
- Marketing
- máscara
- Máscaras
- Match
- materiais
- matplotlib
- significa
- Mídia
- Memória
- método
- métodos
- desaparecido
- ML
- modelo
- modelos
- mais
- a maioria
- mover
- movimento
- múltiplo
- nome
- natural
- Perto
- necessário
- você merece...
- necessitando
- Cria
- rede
- Neutro
- Novo
- PNL
- nós
- normal
- romance
- número
- Nvidia
- objeto
- objetos
- obstáculos
- oferecer
- oferecendo treinamento para distância
- Oferece
- ONE
- Um de cada tipo
- online
- Oportunidade
- otimizado
- Opção
- ordem
- original
- OS
- próprio
- emparelhado
- emparelhamento
- papéis
- parâmetros
- particular
- peças
- passou
- caminho
- padrão
- padrões
- Realizar
- atuação
- executa
- permissões
- pessoal
- Personalização
- Personalizar
- Personalizado
- Fotorrealista
- FOTOS
- tubo
- oleoduto
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- por favor
- pobre
- Popular
- coloca
- abertas
- Publique
- potencial
- potencialmente
- Prática
- prática
- práticas
- predizer
- prevendo
- predição
- Predictor
- preferências
- preferido
- presentes
- evitar
- anteriormente
- Prévio
- processo
- produzir
- Produção
- Produtos
- adequado
- fornecer
- fornece
- público
- saúde pública
- publicações
- publicamente
- publicado
- puramente
- propósito
- fins
- Python
- pytorch
- qualidade
- rapidamente
- alcance
- reais
- em tempo real
- realista
- receber
- recentemente
- recomendações
- Vermelho
- reduzir
- Reduzido
- referências
- refere-se
- relevância
- Informou
- representa
- solicitar
- pedidos
- requerer
- exige
- investigador
- Resolução
- resposta
- resultar
- resultando
- Resultados
- varejo
- retorno
- Retorna
- RGB
- Tipo
- grosseiramente
- Execute
- corrida
- sábio
- vendas
- satisfação
- Salvar
- Poupança
- Escala
- Cientista
- Sdk
- Segundo
- segundo
- setor
- Setores
- segmentação
- segmentos
- selecionando
- senior
- sensível
- serve
- serviço
- Sessão
- conjunto
- vários
- afiado
- concha
- Baixo
- rede de apoio social
- mostrar
- lado
- Silício
- Vale do Silício
- semelhante
- simples
- simplesmente
- simultaneamente
- solteiro
- Tamanho
- pequeno
- So
- Redes Sociais
- meios de comunicação social
- solução
- alguns
- algo
- Espaço
- especial
- especialista
- especializado
- específico
- especificada
- estável
- padrão
- Estado
- Passo
- Passos
- Ainda
- armazenamento
- armazenadas
- estratégias
- força
- Stripes
- Lutas
- estilo
- sujeito
- sucesso
- tal
- verão
- Supermodel
- supervisão
- suportes
- adaptados
- Tire
- toma
- Target
- Tarefa
- tarefas
- Profissionais
- tecnologia
- Dados Técnicos:
- técnicas
- Tecnologia
- modelos
- condições
- Tesla
- A
- A área
- o mundo
- deles
- assim sendo
- três
- Através da
- Amarrado
- para
- ferramentas
- tocha
- TOTALMENTE
- tradicional
- tráfego
- Trem
- treinado
- Training
- transferência
- Transformar
- transformadores
- viagens
- Tendências
- julgamento
- Trilhão
- para
- único
- universidade
- carregado
- Uso
- usar
- Utilizador
- usuários
- geralmente
- utilizar
- utilizado
- utiliza
- Utilizando
- férias
- Vale
- Valioso
- valor
- variedade
- vário
- Grande
- verificar
- versão
- Vídeo
- Virtual
- W
- maneiras
- qual
- enquanto
- branco
- QUEM
- Largo
- Ampla variedade
- mais largo
- largura
- precisarão
- dentro
- sem
- redação
- Atividades:
- trabalhou
- mundo
- Banco Mundial
- seria
- embrulho
- wu
- X
- Vocês
- investimentos
- zefirnet
- Zip