Modebranschen är en mycket lukrativ verksamhet, med ett uppskattat värde på 2.1 biljoner dollar till 2025, enligt rapporter från Världsbanken. Detta område omfattar en mängd olika segment, såsom skapandet, tillverkningen, distributionen och försäljningen av kläder, skor och accessoarer. Branschen är i ett konstant tillstånd av förändring, med nya stilar och trender som dyker upp ofta. Därför måste modeföretag vara flexibla och kunna anpassa sig för att behålla sin relevans och nå framgång på marknaden.
Generativ artificiell intelligens (AI) hänvisar till AI-algoritmer utformade för att generera nytt innehåll, såsom bilder, text, ljud eller video, baserat på en uppsättning inlärda mönster och data. Den kan användas för att skapa nya och innovativa kläddesigner samtidigt som den erbjuder förbättrad personalisering och kostnadseffektivitet. AI-drivna designverktyg kan skapa unika kläddesigner baserat på indataparametrar eller stilar som specificeras av potentiella kunder genom textuppmaningar. Dessutom kan AI användas för att anpassa design efter kundens önskemål. Till exempel kan en kund välja från en mängd olika färger, mönster och stilar, och AI-modeller skulle generera en unik design baserad på dessa val. Antagandet av AI i modebranschen hindras för närvarande av olika tekniska, genomförbarhets- och kostnadsutmaningar. Men dessa hinder kan nu mildras genom att använda avancerade generativa AI-metoder som naturligt språkbaserad bildsemantisk segmentering och diffusion för virtuell styling.
Det här blogginlägget beskriver implementeringen av generativ AI-assisterad mode onlinestyling med hjälp av textuppmaningar. Maskininlärningsingenjörer (ML) kan finjustera och distribuera text-till-semantisk segmentering och in-painting-modeller baserade på förutbildade CLIPSeq och Stable Diffusion med Amazon SageMaker. Detta gör det möjligt för modedesigners och konsumenter att skapa virtuella modelleringsbilder baserade på textuppmaningar och välja sina föredragna stilar.
Generativa AI-lösningar
Smakämnen CLIPSeg Model introducerade en ny semantisk segmenteringsmetod för bild som gör att du enkelt kan identifiera modeartiklar i bilder med enkla textkommandon. Den använder en textprompt eller en bildkodare för att koda textuell och visuell information till ett multimodalt inbäddningsutrymme, vilket möjliggör mycket exakt segmentering av målobjekt baserat på prompten. Modellen har tränats på en stor mängd data med tekniker som nollskottsöverföring, övervakning av naturligt språk och multimodal självövervakad kontrastiv inlärning. Det innebär att du kan använda en förutbildad modell som är allmänt tillgänglig av Timo Lüddecke et al utan behov av anpassning.
CLIPSeg är en modell som använder en text- och bildkodare för att koda textuell och visuell information till ett multimodalt inbäddningsutrymme för att utföra semantisk segmentering baserat på en textprompt. CLIPSegs arkitektur består av två huvudkomponenter: en textkodare och en bildkodare. Textkodaren tar in textuppmaningen och konverterar den till en textinbäddning, medan bildkodaren tar in bilden och konverterar den till en bildinbäddning. Båda inbäddningarna sammanfogas sedan och passerar genom ett helt anslutet lager för att producera den slutliga segmenteringsmasken.
När det gäller dataflöde tränas modellen på en datauppsättning av bilder och motsvarande textprompter, där textprompterna beskriver målobjektet som ska segmenteras. Under utbildningsprocessen optimeras textkodaren och bildkodaren för att lära sig mappningen mellan textmeddelandena och bilden för att producera den slutliga segmenteringsmasken. När modellen väl har tränats kan den ta in en ny textprompt och bild och producera en segmenteringsmask för objektet som beskrivs i prompten.
Stable Diffusion är en teknik som gör det möjligt för modedesigners att generera högst realistiska bilder i stora kvantiteter enbart baserat på textbeskrivningar utan behov av långa och dyra anpassningar. Detta är fördelaktigt för designers som snabbt vill skapa modestilar och tillverkare som vill producera personliga produkter till en lägre kostnad.
Följande diagram illustrerar den stabila diffusionsarkitekturen och dataflödet.
Jämfört med traditionella GAN-baserade metoder är Stable Diffusion en generativ AI som kan producera mer stabila och fotorealistiska bilder som matchar distributionen av originalbilden. Modellen kan betingas av ett brett spektrum av syften, såsom text för text-till-bild-generering, begränsningsrutor för layout-till-bild-generering, maskerade bilder för in-painting och lägre upplösta bilder för superupplösning. Diffusionsmodeller har ett brett utbud av affärsapplikationer och deras praktiska användningsområden fortsätter att utvecklas. Dessa modeller kommer att gynna olika branscher som mode, detaljhandel och e-handel, underhållning, sociala medier, marknadsföring med mera.
Generera masker från textmeddelanden med CLIPSeg
Vogue online styling är en tjänst som gör det möjligt för kunder att få moderåd och rekommendationer från AI via en onlineplattform. Den gör detta genom att välja kläder och accessoarer som kompletterar kundens utseende, passar inom deras budget och matchar deras personliga preferenser. Med användning av generativ AI kan uppgifter utföras med större lätthet, vilket leder till ökad kundnöjdhet och minskade kostnader.
Lösningen kan distribueras på en Amazon Elastic Compute Cloud (EC2) p3.2xlarge-instans, som har en enda V100 GPU med 16G-minne. Flera tekniker användes för att förbättra prestandan och minska GPU-minnesanvändningen, vilket resulterade i snabbare bildgenerering. Dessa inkluderar att använda fp16 och möjliggöra minneseffektiv uppmärksamhet för att minska bandbredden i uppmärksamhetsblocket.
Vi började med att låta användaren ladda upp en modebild, följt av att ladda ner och extrahera den förtränade modellen från CLIPSeq. Bilden normaliseras sedan och storleksändras för att överensstämma med storleksgränsen. Stable Diffusion V2 stöder bildupplösning upp till 768×768 medan V1 stöder upp till 512×512. Se följande kod:
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)
Med hjälp av den förtränade CLIPSeq-modellen kan vi extrahera målobjektet från en bild med hjälp av en textprompt. Detta görs genom att mata in textprompten i textkodaren, som konverterar den till en textinbäddning. Bilden matas sedan in i bildkodaren, som omvandlar den till en bildinbäddning. Båda inbäddningarna sammanfogas sedan och passeras genom ett helt anslutet lager för att producera den slutliga segmenteringsmasken, som framhäver målobjektet som beskrivs i textuppmaningen. Se följande kod:
# 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]))
Med den exakta maskbilden från semantisk segmentering kan vi använda in-painting för innehållsersättning. In-painting är processen att använda en tränad generativ modell för att fylla i saknade delar av en bild. Genom att använda maskbilden för att identifiera målobjektet kan vi tillämpa in-painting-tekniken för att ersätta målobjektet med något annat, till exempel ett annat klädesplagg eller accessoar. Modellen Stable Diffusion V2 kan användas för detta ändamål, eftersom den kan producera högupplösta, fotorealistiska bilder som matchar distributionen av originalbilden.
Finjustering från förtränade modeller med DreamBooth
Finjustering är en process inom djupinlärning där en förtränad modell tränas vidare på en ny uppgift med hjälp av en liten mängd märkt data. Istället för att träna från grunden är tanken att ta ett nätverk som redan har tränats på en stor datauppsättning för en liknande uppgift och vidareutbilda den på en ny datauppsättning för att göra den mer specialiserad för just den uppgiften.
Modedesigners kan också använda en motivdriven, finjusterad Stable Diffusion in-painting-modell för att skapa en specifik stilklass, som avslappnade långa kjolar för damer. För att göra detta är det första steget att tillhandahålla en uppsättning exempelbilder i måldomänen, ungefär ett dussintal, med korrekta textetiketter som följande och binda dem till en unik identifierare som refererar till design, stil, färg och tyg. . Etiketten på texten spelar en avgörande roll för att bestämma resultaten av den finjusterade modellen. Det finns flera sätt att förbättra finjusteringen genom effektiv snabb ingenjörskonst och här är några exempel.
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.
Att använda en liten uppsättning bilder för att finjustera stabil diffusion kan leda till att modellen överpassas. DreamBooth[5] åtgärdar detta genom att använda en klassspecifik förlust av tidigare bevarande. Den lär sig att binda en unik identifierare med det specifika ämnet i två steg. Först finjusterar den lågupplösta modellen med ingångsbilderna parade med en textprompt som innehåller en unik identifierare och namnet på klassen ämnet tillhör, till exempel "kjol". I praktiken innebär detta att modellen passar till bilder och bilderna samplade från den visuella priorn av den icke finjusterade klassen samtidigt. Dessa tidigare bevarade bilder är samplade och märkta med hjälp av "klasssubstantiv"-prompten. För det andra kommer den att finjustera de superhögupplösta komponenterna genom att para ihop lågupplösta och högupplösta bilder från ingångsbilduppsättningen, vilket gör att utgångarna från den finjusterade modellen kan bibehålla troheten till små detaljer.
Att finjustera en förtränad in-painting textkodare med UNet för upplösning 512×512 bilder kräver ungefär 22 GB VRAM eller högre för 768×768 upplösning. Helst bör finjustera prover storleksändras för att matcha den önskvärda bildupplösningen för att undvika prestandaförsämring. Textkodaren producerar mer exakta detaljer såsom modellansikter. Ett alternativ är att köra på en enda AWS EC2 g5.2xlarge-instans, nu tillgänglig i åtta regioner eller använd Hugging Face Accelerate för att köra den finjusterade koden över en distribuerad konfiguration. För ytterligare minnesbesparingar kan du välja en skivad version av uppmärksamhet som utför beräkningen i steg istället för allt på en gång genom att helt enkelt modifiera DreamBooths träningsskript train_dreambooth_inpaint.py för att lägga till pipeline-funktionen enable_attention_slicing() .
Accelerate är ett bibliotek som gör att en finjusteringskod kan köras över alla distribuerade konfigurationer. Hugging Face och Amazon introducerades Hugging Face Deep Learning Containers (DLC) för att skala finjusteringsuppgifter över flera GPU:er och noder. Du kan konfigurera startkonfigurationen för Amazon SageMaker med ett enda CLI-kommando.
# 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')
För att starta ett finjusteringsjobb, verifiera Accelerates konfiguration med CLI och tillhandahåll de nödvändiga träningsargumenten, använd sedan följande skalskript.
# 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
Den finjusterade in-painting-modellen möjliggör generering av mer specifika bilder till den modeklass som beskrivs av textuppmaningen. Eftersom den har finjusterats med en uppsättning högupplösta bilder och textuppmaningar, kan modellen generera bilder som är mer anpassade för klassen, till exempel formella aftonklänningar. Det är viktigt att notera att ju mer specifik klassen är och ju mer data som används för finjustering, desto mer exakta och realistiska blir de utgående bilderna.
%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
Distribuera en finjusterad in-painting-modell med SageMaker för slutledning
Med Amazon SageMaker kan du distribuera de finjusterade stabila diffusionsmodellerna för slutledning i realtid. För att ladda upp modellen till Amazon Simple Storage-tjänst (S3) för distribution måste en model.tar.gz arkiv-tarball skapas. Se till att arkivet direkt inkluderar alla filer, inte en mapp som innehåller dem. DreamBooths finjusteringsarkivmapp bör visas enligt följande efter att ha eliminerat de intermittenta kontrollpunkterna:
Det första steget i att skapa vår slutledningshanterare innefattar skapandet av filen inference.py. Den här filen fungerar som det centrala navet för att ladda modellen och hantera alla inkommande slutledningsförfrågningar. Efter att modellen har laddats exekveras funktionen model_fn(). När behovet uppstår att utföra slutledning anropas funktionen predict_fn(). Dessutom används funktionen decode_base64() för att konvertera en JSON-sträng, som finns i nyttolasten, till en PIL-bilddatatyp.
%%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}
För att ladda upp modellen till en Amazon S3-hink är det nödvändigt att först skapa ett model.tar.gz-arkiv. Det är viktigt att notera att arkivet bör bestå av filerna direkt och inte en mapp som innehåller dem. Till exempel bör filen se ut så här:
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")
Efter att modellarkivet har laddats upp kan vi distribuera det på Amazon SageMaker med HuggingfaceModel för slutledning i realtid. Du kan vara värd för slutpunkten med en g4dn.xlarge-instans, som är utrustad med en enda NVIDIA Tesla T4 GPU med 16 GB VRAM. Autoskalning kan aktiveras för att hantera varierande trafikbehov. För information om hur du införlivar automatisk skalning i din slutpunkt, se Pågående produktion: Automatisk skalning av Hugging Face Transformers med 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" )
Metoden huggingface_model.deploy() returnerar ett HuggingFacePredictor-objekt som kan användas för att begära slutledning. Slutpunkten kräver en JSON med en ingångsnyckel, som representerar ingångsuppmaningen för modellen att generera en bild. Du kan också styra genereringen med parametrar som num_inference_steps, guidance_scale och "num_images_per_prompt". Funktionen predictor.predict() returnerar en JSON med en "generated_images"-nyckel, som håller de fyra genererade bilderna som base64-kodade strängar. Vi lade till två hjälpfunktioner, decode_base64_to_image och display_images, för att avkoda svaret respektive visa bilderna. Den förra avkodar den base64-kodade strängen och returnerar ett PIL.Image-objekt, och den senare visar en lista med PIL.Image-objekt. Se följande kod:
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
Låt oss gå vidare med målningsuppgiften. Det har uppskattats att det kommer att ta ungefär 15 sekunder att producera tre bilder, givet ingångsbilden och masken som skapats med CLIPSeg med textprompten som diskuterats tidigare. Se följande kod:
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)
De målade bilderna kan visas tillsammans med originalbilden för visuell jämförelse. Dessutom kan in-painting-processen begränsas med hjälp av olika parametrar såsom guidance_scale, som styr styrkan på vägledningsbilden under in-painting-processen. Detta gör att användaren kan justera utdatabilden och uppnå önskat resultat.
Amazon SageMaker Jumpstart erbjuder stabila diffusionsmallar för olika modeller, inklusive text-till-bild och uppskalning. För mer information, se SageMaker JumpStart tillhandahåller nu stabila diffusions- och blommodeller. Ytterligare Jumpstart-mallar kommer att finnas tillgängliga inom en snar framtid.
Begränsningar
Även om CLIPSeg vanligtvis presterar bra när det gäller att känna igen vanliga objekt, kämpar det för mer abstrakta eller systematiska uppgifter som att räkna antalet objekt i en bild och med mer komplexa uppgifter som att förutsäga hur nära det närmaste föremålet en sådan handväska är i ett foto. Zero-shot CLIPSeq kämpar också jämfört med uppgiftsspecifika modeller med mycket finkornig klassificering, som att se skillnaden mellan två vaga mönster, varianter av klänning eller stilklassificering. CLIPSeq har också fortfarande dålig generalisering till bilder som inte täcks av dess förträningsdatauppsättning. Slutligen har det observerats att CLIP:s nollbildsklassificerare kan vara känsliga för formuleringar eller fraser och ibland kräver trial and error "prompt engineering" för att fungera bra. Att byta till en annan semantisk segmenteringsmodell för CLIPSeqs ryggrad, som t.ex BEiT, som har en 62.8 % mIOU på ADE20K-datauppsättningen, kan potentiellt förbättra resultaten.
Modedesign som skapats med hjälp av Stable Diffusion har visat sig vara begränsad till delar av plagg som är minst lika förutsägbart placerade i modemodellernas bredare sammanhang och som överensstämmer med inbäddningar på hög nivå som du rimligen kan förvänta dig att hitta i en hyperskalig datauppsättning som används under träning av den förtränade modellen. Den verkliga gränsen för generativ AI är att modellen så småningom kommer att producera helt imaginära och mindre autentiska utdata. Därför kanske modedesignerna som genereras av AI inte är lika varierande eller unika som de som skapats av mänskliga designers.
Slutsats
Generativ AI ger modesektorn en möjlighet att förändra sina metoder genom bättre användarupplevelser och kostnadseffektiva affärsstrategier. I det här inlägget visar vi hur man utnyttjar generativ AI för att göra det möjligt för modedesigners och konsumenter att skapa personliga modestilar med hjälp av virtuell modellering. Med hjälp av befintliga Amazon SageMaker Jumpstart-mallar och de som kommer, kan användare snabbt anamma dessa avancerade tekniker utan att behöva djupgående teknisk expertis, allt samtidigt som de behåller mångsidigheten och sänker kostnaderna.
Denna innovativa teknik ger nya möjligheter för företag och yrkesverksamma som är involverade i innehållsgenerering, inom olika branscher. Generativ AI ger gott om möjligheter för att förbättra och skapa innehåll. Prova de senaste tilläggen till Jumpstart-mallarna i din SageMaker Studio, till exempel finjustering av text-till-bild och exklusiva funktioner.
Vi vill tacka Li Zhang, Karl Albertsen, Kristine Pearce, Nikhil Velpanur, Aaron Sengstacken, James Wu och Neelam Koshiya för deras stöd och värdefulla input som hjälpte till att förbättra detta arbete.
Om författarna
Alfred Shen är senior AI/ML-specialist på AWS. Han har arbetat i Silicon Valley och innehaft tekniska och ledande befattningar inom olika sektorer inklusive hälsovård, finans och högteknologi. Han är en hängiven tillämpad AI/ML-forskare, med fokus på CV, NLP och multimodalitet. Hans arbete har visats i publikationer som EMNLP, ICLR och Public Health.
Dr. Vivek Madan är en tillämpad forskare med Amazon SageMaker JumpStart-teamet. Han tog sin doktorsexamen från University of Illinois i Urbana-Champaign och var postdoktor vid Georgia Tech. Han är en aktiv forskare inom maskininlärning och algoritmdesign och har publicerat artiklar i EMNLP, ICLR, COLT, FOCS och SODA-konferenser
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- Able
- Om Oss
- SAMMANDRAG
- accelerera
- accelerator
- tillgång
- tillbehör
- åstadkommit
- Konto
- exakt
- Uppnå
- tvärs
- aktiv
- anpassa
- lagt till
- Annat
- Dessutom
- tillsatser
- adresser
- Antagande
- avancerat
- rådgivning
- Efter
- AI
- AI / ML
- algoritm
- algoritmer
- Alla
- tillåta
- tillåter
- redan
- amason
- Amazon SageMaker
- Amazon SageMaker JumpStart
- mängd
- och
- Kläder
- visas
- tillämpningar
- tillämpas
- Ansök
- cirka
- arkitektur
- arkiv
- OMRÅDE
- argument
- konstgjord
- artificiell intelligens
- ASA
- Bistånd
- uppmärksamhet
- audio
- Äkta
- tillgänglig
- AWS
- Backbone
- Bandbredd
- Bank
- bas
- baserat
- därför att
- började
- fördelaktigt
- fördel
- Bättre
- mellan
- binda
- bindande
- Blockera
- Blogg
- Bloom
- Blå
- ståtar
- kropp
- nål
- boxar
- Bright
- ljusare
- budget
- företag
- Business Applications
- beräknar
- kallas
- kapacitet
- kapabel
- fall
- avslappnad
- centrala
- utmaningar
- chanser
- byta
- Välja
- klass
- klassificering
- Stäng
- förslutning
- Kläder
- cloud
- koda
- samla
- färg
- Kolonner
- komma
- bekvämlighet
- Gemensam
- Företag
- jämföra
- jämfört
- jämförelse
- Komplement
- komplex
- komponenter
- beräkning
- Compute
- databehandling
- begrepp
- konfiguration
- anslutna
- konstant
- konsumenter
- Behållare
- innehåller
- innehåll
- Innehållsgenerering
- sammanhang
- fortsätta
- kontroll
- kontroller
- konvertera
- Motsvarande
- Pris
- kunde
- omfattas
- skapa
- skapas
- Skapa
- skapande
- kritisk
- avgörande
- För närvarande
- beställnings
- kund
- Kundnöjdhet
- Kunder
- anpassningsbar
- anpassning
- datum
- minskning
- dedicerad
- djup
- djupt lärande
- krav
- Denim
- distribuera
- utplacerade
- utplacering
- beskriva
- beskriven
- Designa
- utformade
- konstruktörer
- mönster
- önskas
- detaljerad
- detaljer
- bestämmande
- Skillnaden
- olika
- Diffusion
- direkt
- diskuteras
- Visa
- displayer
- distribueras
- fördelning
- flera
- domän
- ladda ner
- dussintals
- hållbarhet
- under
- e-handel
- lätt
- Effektiv
- effektiv
- element
- eliminera
- omfamna
- möjliggöra
- möjliggör
- möjliggör
- omfattar
- Slutpunkt
- Ingenjörer
- förbättra
- säkerställa
- Underhållning
- utrustad
- fel
- beräknad
- kväll
- så småningom
- utvecklas
- exempel
- exempel
- befintliga
- förvänta
- kostnader
- dyra
- Erfarenheter
- expertis
- export
- extrahera
- tyg
- tyger
- Ansikte
- ytorna
- Mode
- snabbare
- Leverans
- kvinna
- få
- trohet
- fält
- Fil
- Filer
- fylla
- slutlig
- Slutligen
- finansiering
- hitta
- änden
- Förnamn
- passa
- blossa
- flexibel
- flöda
- Fokus
- följt
- efter
- följer
- formell
- Tidigare
- Framåt
- hittade
- ofta
- från
- full
- fullständigt
- fungera
- funktioner
- ytterligare
- Vidare
- framtida
- plagg
- generera
- genereras
- generering
- generativ
- Generativ AI
- georgien
- skaffa sig
- ges
- GPU
- GPUs
- Grafisk
- grå
- större
- kraftigt
- Rutnät
- hantera
- Arbetsmiljö
- sele
- har
- Hälsa
- hälso-och sjukvård
- höjd
- hjälpte
- här.
- Hög
- högnivå
- hög upplösning
- högre
- höjdpunkter
- höggradigt
- innehav
- innehar
- värd
- Hur ser din drömresa ut
- How To
- Men
- html
- HTTPS
- Nav
- Kramar ansikte
- humant
- Tanken
- identifierare
- identifiera
- Illinois
- bild
- bilder
- imaginär
- genomförande
- importera
- med Esport
- förbättra
- förbättras
- in
- djupgående
- innefattar
- innefattar
- Inklusive
- Inkommande
- införlivande
- ökat
- industrier
- industrin
- informationen
- inledande
- innovativa
- ingång
- installera
- exempel
- istället
- Intelligens
- introducerade
- involverade
- IT
- artikel
- Jobb
- json
- Nyckel
- etikett
- Etiketter
- språk
- Large
- lansera
- lager
- ledande
- LÄRA SIG
- lärt
- inlärning
- Längd
- nivåer
- Li
- Bibliotek
- BEGRÄNSA
- Begränsad
- Lista
- läsa in
- läser in
- Lång
- förlust
- sänkning
- lukrativ
- Maskinen
- maskininlärning
- Huvudsida
- bibehålla
- upprätthålla
- göra
- Framställning
- chefs
- Tillverkare
- kartläggning
- marknad
- Marknadsföring
- mask
- Masker
- Match
- material
- matplotlib
- betyder
- Media
- Minne
- metod
- metoder
- saknas
- ML
- modell
- modeller
- mer
- mest
- flytta
- rörelse
- multipel
- namn
- Natural
- Nära
- nödvändigt för
- Behöver
- behöver
- behov
- nät
- Neutral
- Nya
- nlp
- noder
- normala
- roman
- antal
- Nvidia
- objektet
- objekt
- hinder
- erbjudanden
- erbjuda
- Erbjudanden
- ONE
- Unik
- nätet
- Möjlighet
- optimerad
- Alternativet
- beställa
- ursprungliga
- OS
- egen
- parade
- ihopkoppling
- papper
- parametrar
- särskilt
- reservdelar till din klassiker
- Godkänd
- bana
- Mönster
- mönster
- Utföra
- prestanda
- utför
- behörigheter
- personlig
- personalisering
- personifiera
- personlig
- Fotorealistisk
- Bilder
- Röret
- rörledning
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- snälla du
- dålig
- Populära
- utgör
- positioner
- Inlägg
- potentiell
- potentiellt
- Praktisk
- praktiken
- praxis
- förutse
- förutsäga
- förutsägelse
- Predictor
- preferenser
- föredragen
- presenterar
- förhindra
- tidigare
- Innan
- process
- producera
- Produktion
- Produkter
- yrkesmän/kvinnor
- rätt
- ge
- ger
- allmän
- folkhälsan
- publikationer
- publicly
- publicerade
- rent
- Syftet
- syfte
- Python
- pytorch
- kvalitet
- snabbt
- område
- verklig
- realtid
- realistisk
- motta
- senaste
- rekommendationer
- Red
- minska
- Minskad
- referenser
- hänvisar
- relevans
- Rapporterad
- representerar
- begära
- förfrågningar
- kräver
- Kräver
- forskaren
- Upplösning
- respons
- resultera
- resulterande
- Resultat
- detaljhandeln
- avkastning
- återgår
- RGB
- Roll
- ungefär
- Körning
- rinnande
- sagemaker
- försäljning
- tillfredsställande
- Save
- Besparingar
- Skala
- Forskare
- sDK
- Andra
- sekunder
- sektor
- Sektorer
- segmentering
- segment
- väljer
- senior
- känslig
- serverar
- service
- session
- in
- flera
- skarp
- Shell
- Kort
- skall
- visa
- sida
- Kisel
- Silicon Valley
- liknande
- Enkelt
- helt enkelt
- samtidigt
- enda
- Storlek
- Small
- So
- Social hållbarhet
- sociala medier
- lösning
- några
- något
- Utrymme
- speciell
- specialist
- specialiserad
- specifik
- specificerade
- stabil
- standard
- Ange
- Steg
- Steg
- Fortfarande
- förvaring
- lagras
- strategier
- hållfasthet
- Stripes
- Struggles
- stil
- ämne
- framgång
- sådana
- sommar
- super
- övervakning
- Stöder
- skräddarsydd
- Ta
- tar
- Målet
- uppgift
- uppgifter
- grupp
- tech
- Teknisk
- tekniker
- Teknologi
- mallar
- villkor
- Tesla
- Smakämnen
- Området
- världen
- deras
- därför
- tre
- Genom
- Bunden
- till
- verktyg
- brännaren
- TOTALT
- traditionell
- trafik
- Tåg
- tränad
- Utbildning
- överföring
- Förvandla
- transformatorer
- färdas
- Trender
- rättegång
- Biljon
- under
- unika
- universitet
- uppladdad
- Användning
- användning
- Användare
- användare
- vanligen
- utnyttja
- utnyttjas
- Återvinnare
- Använda
- semester
- Dal
- Värdefulla
- värde
- mängd
- olika
- Omfattande
- verifiera
- version
- Video
- Virtuell
- W
- sätt
- som
- medan
- vit
- VEM
- bred
- Brett utbud
- bredare
- bredd
- kommer
- inom
- utan
- formulering
- Arbete
- arbetade
- världen
- VÄRLDSBANKEN
- skulle
- linda
- wu
- X
- Om er
- Din
- zephyrnet
- Postnummer