Modeindustrien er en meget lukrativ forretning, med en anslået værdi på 2.1 billioner dollars i 2025, som rapporteret af Verdensbanken. Dette felt omfatter en bred vifte af segmenter, såsom skabelse, fremstilling, distribution og salg af tøj, sko og tilbehør. Branchen er i konstant forandring, med nye stilarter og trends, der ofte dukker op. Derfor skal modevirksomheder være fleksible og tilpasse sig for at bevare deres relevans og opnå succes på markedet.
Generativ kunstig intelligens (AI) refererer til AI-algoritmer designet til at generere nyt indhold, såsom billeder, tekst, lyd eller video, baseret på et sæt indlærte mønstre og data. Det kan bruges til at generere nye og innovative beklædningsdesigns og samtidig tilbyde forbedret personalisering og omkostningseffektivitet. AI-drevne designværktøjer kan skabe unikke beklædningsdesign baseret på inputparametre eller stilarter specificeret af potentielle kunder via tekstprompter. Desuden kan AI bruges til at tilpasse design til kundens præferencer. For eksempel kan en kunde vælge mellem en række forskellige farver, mønstre og stilarter, og AI-modeller vil generere et unikt design baseret på disse valg. Indførelsen af kunstig intelligens i modeindustrien er i øjeblikket hæmmet af forskellige tekniske, gennemførligheds- og omkostningsmæssige udfordringer. Imidlertid kan disse forhindringer nu afbødes ved at bruge avancerede generative AI-metoder såsom naturligt sprogbaseret billedsemantisk segmentering og diffusion til virtuel styling.
Dette blogindlæg beskriver implementeringen af generativ AI-assisteret mode online styling ved hjælp af tekstprompter. Maskinlæringsingeniører (ML) kan finjustere og implementere tekst-til-semantisk-segmentering og in-painting-modeller baseret på forudtrænede CLIPSeq og Stable Diffusion med Amazon SageMaker. Dette gør det muligt for modedesignere og forbrugere at skabe virtuelle modelleringsbilleder baseret på tekstprompter og vælge deres foretrukne stilarter.
Generative AI-løsninger
CLIPSeg model introducerede en ny billedsemantisk segmenteringsmetode, der giver dig mulighed for nemt at identificere modegenstande i billeder ved hjælp af simple tekstkommandoer. Den bruger en tekstprompt eller en billedkoder til at indkode tekst- og visuel information i et multimodalt indlejringsrum, hvilket muliggør meget nøjagtig segmentering af målobjekter baseret på prompten. Modellen er blevet trænet på en stor mængde data med teknikker som nul-skudsoverførsel, naturligt sprogsupervision og multimodal selvovervåget kontrastiv læring. Det betyder, at du kan bruge en præ-trænet model, der er offentligt tilgængelig af Timo Lüddecke et al uden behov for tilpasning.
CLIPSeg er en model, der bruger en tekst- og billedkoder til at indkode tekst- og visuel information i et multimodalt indlejringsrum for at udføre semantisk segmentering baseret på en tekstprompt. CLIPSegs arkitektur består af to hovedkomponenter: en tekstkoder og en billedkoder. Tekstkoderen tager tekstprompten ind og konverterer den til en tekstindlejring, mens billedkoderen tager billedet ind og konverterer det til en billedindlejring. Begge indlejringer sammenkædes derefter og føres gennem et fuldt forbundet lag for at fremstille den endelige segmenteringsmaske.
Med hensyn til dataflow trænes modellen på et datasæt af billeder og tilsvarende tekstprompter, hvor tekstprompterne beskriver målobjektet, der skal segmenteres. Under træningsprocessen optimeres tekstkoderen og billedkoderen til at lære kortlægningen mellem tekstprompterne og billedet for at producere den endelige segmenteringsmaske. Når modellen er trænet, kan den tage en ny tekstprompt og billede ind og producere en segmenteringsmaske for objektet beskrevet i prompten.
Stable Diffusion er en teknik, der gør det muligt for modedesignere at generere meget realistiske billeder i store mængder udelukkende baseret på tekstbeskrivelser uden behov for langvarig og dyr tilpasning. Dette er en fordel for designere, der ønsker at skabe modestile hurtigt, og producenter, der ønsker at producere personlige produkter til en lavere pris.
Følgende diagram illustrerer den stabile diffusionsarkitektur og dataflow.
Sammenlignet med traditionelle GAN-baserede metoder er Stable Diffusion en generativ AI, der er i stand til at producere mere stabile og fotorealistiske billeder, der matcher distributionen af det originale billede. Modellen kan betinges af en lang række formål, såsom tekst til tekst-til-billede generering, afgrænsningsfelter til layout-til-billede generering, maskerede billeder til in-painting og lavere opløsning billeder til super-opløsning. Diffusionsmodeller har en bred vifte af forretningsapplikationer, og deres praktiske anvendelser fortsætter med at udvikle sig. Disse modeller vil i høj grad gavne forskellige industrier såsom mode, detailhandel og e-handel, underholdning, sociale medier, marketing og meget mere.
Generer masker fra tekstprompter ved hjælp af CLIPSeg
Vogue online styling er en tjeneste, der gør det muligt for kunder at modtage moderådgivning og anbefalinger fra AI gennem en online platform. Det gør den ved at vælge tøj og tilbehør, der komplementerer kundens udseende, passer til deres budget og matcher deres personlige præferencer. Med brugen af generativ AI kan opgaver udføres med større lethed, hvilket fører til øget kundetilfredshed og reducerede udgifter.
Løsningen kan implementeres på en Amazon Elastic Compute Cloud (EC2) p3.2xlarge instans, som har én enkelt V100 GPU med 16G hukommelse. Adskillige teknikker blev brugt til at forbedre ydeevnen og reducere brugen af GPU-hukommelse, hvilket resulterede i hurtigere billedgenerering. Disse inkluderer brug af fp16 og muliggør hukommelseseffektiv opmærksomhed for at reducere båndbredden i opmærksomhedsblokken.
Vi startede med at lade brugeren uploade et modebillede, efterfulgt af at downloade og udtrække den fortrænede model fra CLIPSeq. Billedet normaliseres derefter og størrelsen ændres for at overholde størrelsesgrænsen. Stable Diffusion V2 understøtter billedopløsning op til 768×768, mens V1 understøtter op til 512×512. Se følgende kode:
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 brugen af den forudtrænede CLIPSeq-model er vi i stand til at udtrække målobjektet fra et billede ved hjælp af en tekstprompt. Dette gøres ved at indtaste tekstprompten i tekstkoderen, som konverterer den til en tekstindlejring. Billedet indlæses derefter i billedkoderen, som konverterer det til en billedindlejring. Begge indlejringer sammenkædes derefter og føres gennem et fuldt forbundet lag for at producere den endelige segmenteringsmaske, som fremhæver målobjektet beskrevet i tekstprompten. Se følgende kode:
# 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 det nøjagtige maskebillede fra semantisk segmentering kan vi bruge in-painting til indholdssubstitution. In-painting er processen med at bruge en trænet generativ model til at udfylde manglende dele af et billede. Ved at bruge maskebilledet til at identificere målobjektet, kan vi anvende in-painting-teknikken til at erstatte målobjektet med noget andet, såsom et andet tøj eller tilbehør. Modellen Stable Diffusion V2 kan bruges til dette formål, fordi den er i stand til at producere fotorealistiske billeder i høj opløsning, der matcher distributionen af det originale billede.
Finjustering fra fortrænede modeller ved hjælp af DreamBooth
Finjustering er en proces i dyb læring, hvor en præ-trænet model trænes videre på en ny opgave ved hjælp af en lille mængde mærkede data. I stedet for at træne fra bunden er ideen at tage et netværk, der allerede er blevet trænet på et stort datasæt til en lignende opgave, og videreuddanne det på et nyt datasæt for at gøre det mere specialiseret til netop den opgave.
Modedesignere kan også bruge en emnedrevet, finjusteret stabil diffusions-model til at skabe en bestemt stilklasse, såsom afslappede lange nederdele til damer. For at gøre dette er det første trin at levere et sæt prøvebilleder i måldomænet, ca. 1 dusin, med korrekte tekstetiketter såsom følgende og binde dem til en unik identifikator, der refererer til design, stil, farve og stof . Etiketten på teksten spiller en afgørende rolle for at bestemme resultaterne af den finjusterede model. Der er flere måder at forbedre finjustering gennem effektiv hurtig ingeniørarbejde og her er et par eksempler.
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.
Brug af et lille sæt billeder til at finjustere stabil diffusion kan resultere i overtilpasning af modellen. DreamBooth[5] løser dette ved at bruge et klassespecifikt tab af forudgående bevaring. Den lærer at binde en unik identifikator med det specifikke emne i to trin. Først finjusterer den lavopløsningsmodellen med inputbillederne parret med en tekstprompt, der indeholder en unik identifikator og navnet på den klasse, emnet tilhører, såsom "nederdel". I praksis betyder det, at modellen skal passe til billeder og billederne er samplet fra den visuelle prior af den ikke-finjusterede klasse samtidigt. Disse tidligere bevarede billeder er samplet og mærket ved hjælp af "klassenavneord"-prompten. For det andet vil den finjustere komponenterne med superhøj opløsning ved at parre billeder med lav opløsning og høj opløsning fra inputbilledsættet, hvilket gør det muligt for udgangene fra den finjusterede model at bevare troskaben til små detaljer.
Finjustering af en fortrænet tekstindkoder med UNet til billeder i opløsning på 512×512 kræver cirka 22 GB VRAM eller højere for en opløsning på 768×768. Ideelt set bør finjustering af prøver ændres for at matche den ønskede outputbilledopløsning for at undgå forringelse af ydeevnen. Tekstkoderen producerer mere nøjagtige detaljer såsom modelansigter. En mulighed er at køre på en enkelt AWS EC2 g5.2xlarge instans, nu tilgængelig i otte regioner eller brug Hugging Face Accelerate til at køre den finjusterede kode på tværs af en distribueret konfiguration. For yderligere hukommelsesbesparelser kan du vælge en opdelt version af opmærksomhed, der udfører beregningen i trin i stedet for alle på én gang ved blot at ændre DreamBooths træningsscript train_dreambooth_inpaint.py for at tilføje pipeline enable_attention_slicing()-funktionen.
Accelerate er et bibliotek, der gør det muligt at køre én finjusteringskode på tværs af enhver distribueret konfiguration. Hugging Face og Amazon introduceret Hugging Face Deep Learning Containers (DLC'er) at skalere finjusteringsopgaver på tværs af flere GPU'er og noder. Du kan konfigurere startkonfigurationen for Amazon SageMaker med en enkelt 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')
For at starte et finjusteringsjob skal du bekræfte Accelerates konfiguration vha CLI og angiv de nødvendige træningsargumenter, og brug derefter følgende shell-script.
# 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 finjusterede in-painting model giver mulighed for generering af mere specifikke billeder til modeklassen beskrevet af tekstprompten. Fordi den er blevet finjusteret med et sæt billeder i høj opløsning og tekstmeddelelser, kan modellen generere billeder, der er mere skræddersyet til klassen, såsom formelle aftenkjoler. Det er vigtigt at bemærke, at jo mere specifik klassen er og jo flere data, der bruges til finjustering, jo mere nøjagtige og realistiske vil outputbillederne være.
%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
Implementer en finjusteret in-painting-model ved hjælp af SageMaker til inferens
Med Amazon SageMaker kan du implementere de finjusterede stabile diffusionsmodeller til real-tim inferens. For at uploade modellen til Amazon Simple Storage-tjeneste (S3) til udrulning skal der oprettes en model.tar.gz arkiv tarball. Sørg for, at arkivet direkte inkluderer alle filer, ikke en mappe, der indeholder dem. DreamBooth finjusteringsarkivmappen skulle vises som følger efter eliminering af de intermitterende kontrolpunkter:
Det indledende trin i oprettelsen af vores inference handler involverer oprettelsen af filen inference.py. Denne fil fungerer som det centrale knudepunkt for indlæsning af modellen og håndtering af alle indkommende slutningsanmodninger. Efter at modellen er indlæst, udføres model_fn()-funktionen. Når behovet opstår for at udføre inferens, kaldes funktionen predict_fn(). Derudover bruges funktionen decode_base64() til at konvertere en JSON-streng, der er indeholdt i nyttelasten, til en PIL-billeddatatype.
%%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}
For at uploade modellen til en Amazon S3-bøtte er det nødvendigt først at oprette et model.tar.gz-arkiv. Det er afgørende at bemærke, at arkivet skal bestå af filerne direkte og ikke en mappe, der indeholder dem. For eksempel skal filen se ud som følger:
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 at modelarkivet er uploadet, kan vi implementere det på Amazon SageMaker ved hjælp af HuggingfaceModel til realtidsslutning. Du kan hoste slutpunktet ved hjælp af en g4dn.xlarge-instans, som er udstyret med en enkelt NVIDIA Tesla T4 GPU med 16 GB VRAM. Autoskalering kan aktiveres for at håndtere varierende trafikbehov. For oplysninger om inkorporering af autoskalering i dit slutpunkt, se Igangværende produktion: Automatisk skalering af 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" )
Huggingface_model.deploy()-metoden returnerer et HuggingFacePredictor-objekt, der kan bruges til at anmode om inferens. Slutpunktet kræver en JSON med en inputnøgle, som repræsenterer inputprompten for modellen til at generere et billede. Du kan også styre genereringen med parametre som num_inference_steps, guidance_scale og "num_images_per_prompt". Funktionen predictor.predict() returnerer en JSON med en "generated_images"-nøgle, som holder de fire genererede billeder som base64-kodede strenge. Vi tilføjede to hjælpefunktioner, decode_base64_to_image og display_images, for at afkode henholdsvis svaret og vise billederne. Førstnævnte afkoder den base64-kodede streng og returnerer et PIL.Image-objekt, og sidstnævnte viser en liste over PIL.Image-objekter. Se følgende kode:
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
Lad os komme videre med maleropgaven. Det er blevet anslået, at det vil tage omkring 15 sekunder at producere tre billeder, givet inputbilledet og masken, der er oprettet ved hjælp af CLIPSeg med den tekstprompt, der blev diskuteret tidligere. Se følgende kode:
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 ind-malede billeder kan vises sammen med det originale billede til visuel sammenligning. Derudover kan in-painting-processen begrænses ved hjælp af forskellige parametre såsom guidance_scale, som styrer styrken af vejledningsbilledet under in-painting-processen. Dette giver brugeren mulighed for at justere outputbilledet og opnå de ønskede resultater.
Amazon SageMaker Jumpstart tilbyder stabil diffusionsskabeloner til forskellige modeller, herunder tekst-til-billede og opskalering. For mere information henvises til SageMaker JumpStart leverer nu stabil diffusions- og blomstringsmodeller. Yderligere Jumpstart-skabeloner vil være tilgængelige i den nærmeste fremtid.
Begrænsninger
Selvom CLIPSeg normalt klarer sig godt til at genkende almindelige objekter, kæmper det med mere abstrakte eller systematiske opgaver såsom at tælle antallet af objekter i et billede og på mere komplekse opgaver som at forudsige, hvor tæt det nærmeste objekt som sådan en håndtaske er på et billede. Zero-shot CLIPSeq kæmper også sammenlignet med opgavespecifikke modeller på meget finkornet klassificering, såsom at fortælle forskellen mellem to vage designs, varianter af kjole eller stilklassifikation. CLIPSeq har også stadig dårlig generalisering til billeder, der ikke er dækket af dets præ-træningsdatasæt. Endelig er det blevet observeret, at CLIP's zero-shot klassifikatorer kan være følsomme over for ordlyd eller frasering og nogle gange kræver trial and error "prompt engineering" for at fungere godt. Skift til en anden semantisk segmenteringsmodel for CLIPSeqs rygrad, som f.eks Være det, som kan prale af en 62.8 % mIOU på ADE20K-datasættet, kunne potentielt forbedre resultaterne.
Modedesign genereret ved brug af Stable Diffusion har vist sig at være begrænset til dele af beklædningsgenstande, der er mindst lige så forudsigeligt placeret i den bredere kontekst af modemodellerne, og som er i overensstemmelse med indlejringer på højt niveau, som du med rimelighed kunne forvente at finde i et hyperskala-datasæt, der bruges under træning af den præ-trænede model. Den egentlige grænse for generativ AI er, at modellen i sidste ende vil producere totalt imaginære og mindre autentiske output. Derfor er modedesigns, der genereres af AI, muligvis ikke så varierede eller unikke som dem, der er skabt af menneskelige designere.
Konklusion
Generativ AI giver modesektoren en mulighed for at transformere deres praksis gennem bedre brugeroplevelser og omkostningseffektive forretningsstrategier. I dette indlæg viser vi, hvordan man udnytter generativ AI for at gøre det muligt for modedesignere og forbrugere at skabe personlige modestile ved hjælp af virtuel modellering. Med hjælp fra eksisterende Amazon SageMaker Jumpstart-skabeloner og dem, der kommer, kan brugere hurtigt omfavne disse avancerede teknikker uden at have behov for dybdegående teknisk ekspertise, alt imens de bevarer alsidighed og sænker omkostningerne.
Denne innovative teknologi giver nye chancer for virksomheder og fagfolk, der er involveret i indholdsgenerering, på tværs af forskellige brancher. Generativ AI giver rigelige muligheder for at forbedre og skabe indhold. Prøv de seneste tilføjelser til Jumpstart-skabelonerne i din SageMaker Studio, såsom finjustering af tekst-til-billede og opskalere funktioner.
Vi vil gerne takke Li Zhang, Karl Albertsen, Kristine Pearce, Nikhil Velpanur, Aaron Sengstacken, James Wu og Neelam Koshiya for deres støtte og værdifulde input, der hjalp med at forbedre dette arbejde.
Om forfatterne
Alfred Shen er Senior AI/ML Specialist hos AWS. Han har arbejdet i Silicon Valley, hvor han har haft tekniske og ledelsesmæssige stillinger i forskellige sektorer, herunder sundhedspleje, finans og højteknologi. Han er en dedikeret anvendt AI/ML-forsker, der koncentrerer sig om CV, NLP og multimodalitet. Hans arbejde er blevet fremvist i publikationer som EMNLP, ICLR og Public Health.
Dr. Vivek Madan er en anvendt videnskabsmand hos Amazon SageMaker JumpStart-teamet. Han fik sin ph.d. fra University of Illinois i Urbana-Champaign og var postdoktor ved Georgia Tech. Han er en aktiv forsker i maskinlæring og algoritmedesign og har publiceret artikler i EMNLP, ICLR, COLT, FOCS og SODA konferencer
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- I stand
- Om
- ABSTRACT
- fremskynde
- accelerator
- adgang
- tilbehør
- gennemført
- Konto
- præcis
- opnå
- tværs
- aktiv
- tilpasse
- tilføjet
- Yderligere
- Derudover
- tilføjelser
- adresser
- Vedtagelse
- fremskreden
- rådgivning
- Efter
- AI
- AI / ML
- algoritme
- algoritmer
- Alle
- tillade
- tillader
- allerede
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- beløb
- ,
- Beklædning
- vises
- applikationer
- anvendt
- Indløs
- cirka
- arkitektur
- Arkiv
- OMRÅDE
- argumenter
- kunstig
- kunstig intelligens
- ASA
- Assistance
- opmærksomhed
- lyd
- Autentisk
- til rådighed
- AWS
- Backbone
- båndbredde
- Bank
- bund
- baseret
- fordi
- begyndte
- gavnlig
- gavner det dig
- Bedre
- mellem
- binde
- binding
- Bloker
- Blog
- Bloom
- Blå
- prale af
- krop
- pin
- kasser
- Bright
- lysere
- budget
- virksomhed
- Business Applications
- beregner
- kaldet
- kapaciteter
- stand
- tilfælde
- afslappet
- central
- udfordringer
- odds
- lave om
- Vælg
- klasse
- klassificering
- Luk
- lukning
- Tøj
- Cloud
- kode
- indsamler
- farve
- Kolonner
- Kom
- komfort
- Fælles
- Virksomheder
- sammenligne
- sammenlignet
- sammenligning
- komplement
- komplekse
- komponenter
- beregning
- Compute
- computing
- Konceptet
- Konfiguration
- tilsluttet
- konstant
- Forbrugere
- Beholdere
- indeholder
- indhold
- Indholdsgenerering
- sammenhæng
- fortsæt
- kontrol
- kontrol
- konvertere
- Tilsvarende
- Koste
- kunne
- dækket
- skabe
- oprettet
- Oprettelse af
- skabelse
- kritisk
- afgørende
- For øjeblikket
- skik
- kunde
- Kundetilfredshed
- Kunder
- tilpasses
- tilpasning
- data
- falde
- dedikeret
- dyb
- dyb læring
- krav
- Denim
- indsætte
- indsat
- implementering
- beskrive
- beskrevet
- Design
- konstrueret
- designere
- designs
- ønskes
- detaljeret
- detaljer
- bestemmelse
- forskel
- forskellige
- Broadcasting
- direkte
- drøftet
- Skærm
- displays
- distribueret
- fordeling
- forskelligartede
- domæne
- downloade
- snesevis
- holdbarhed
- i løbet af
- e-handel
- nemt
- Effektiv
- effektiv
- elementer
- eliminere
- omfavne
- muliggøre
- muliggør
- muliggør
- vedrører generelt
- Endpoint
- Ingeniører
- styrke
- sikre
- Underholdning
- udstyret
- fejl
- anslået
- aften
- til sidst
- udvikle sig
- eksempel
- eksempler
- eksisterende
- forvente
- udgifter
- dyrt
- Oplevelser
- ekspertise
- eksport
- ekstrakt
- stof
- stoffer
- Ansigtet
- ansigter
- Mode
- hurtigere
- Feature
- kvinde
- få
- troskab
- felt
- File (Felt)
- Filer
- udfylde
- endelige
- Endelig
- finansiere
- Finde
- ende
- Fornavn
- passer
- flare
- fleksibel
- flow
- Fokus
- efterfulgt
- efter
- følger
- formel
- Tidligere
- Videresend
- fundet
- hyppigt
- fra
- fuld
- fuldt ud
- funktion
- funktioner
- yderligere
- Endvidere
- fremtiden
- tøj
- generere
- genereret
- generation
- generative
- Generativ AI
- Georgien
- få
- given
- GPU
- GPU'er
- Grafisk
- grå
- større
- stærkt
- Grid
- håndtere
- Håndtering
- seletøj
- have
- Helse
- sundhedspleje
- højde
- hjulpet
- link.
- Høj
- højt niveau
- høj opløsning
- højere
- højdepunkter
- stærkt
- bedrift
- besidder
- host
- Hvordan
- How To
- Men
- HTML
- HTTPS
- Hub
- KrammerFace
- menneskelig
- idé
- identifikator
- identificere
- Illinois
- billede
- billeder
- imaginær
- implementering
- importere
- vigtigt
- Forbedre
- forbedret
- in
- dybdegående
- omfatter
- omfatter
- Herunder
- Indgående
- inkorporering
- øget
- industrier
- industrien
- oplysninger
- initial
- innovativ
- indgang
- installere
- instans
- i stedet
- Intelligens
- introduceret
- involverede
- IT
- Varer
- Job
- json
- Nøgle
- etiket
- Etiketter
- Sprog
- stor
- lancere
- lag
- førende
- LÆR
- lærte
- læring
- Længde
- niveauer
- Li
- Bibliotek
- GRÆNSE
- Limited
- Liste
- belastning
- lastning
- Lang
- off
- Sænkning
- lukrative
- maskine
- machine learning
- Main
- vedligeholde
- Vedligeholdelse
- lave
- Making
- ledelsesmæssige
- Producenter
- kortlægning
- Marked
- Marketing
- maske
- Masker
- Match
- materialer
- matplotlib
- midler
- Medier
- Hukommelse
- metode
- metoder
- mangler
- ML
- model
- modeller
- mere
- mest
- bevæge sig
- bevægelse
- flere
- navn
- Natural
- I nærheden af
- nødvendig
- Behov
- behøve
- behov
- netværk
- Neutral
- Ny
- NLP
- noder
- normal
- roman
- nummer
- Nvidia
- objekt
- objekter
- forhindringer
- tilbyde
- tilbyde
- Tilbud
- ONE
- Enestående
- online
- Opportunity
- optimeret
- Option
- ordrer
- original
- OS
- egen
- parret
- parring
- papirer
- parametre
- særlig
- dele
- Bestået
- sti
- Mønster
- mønstre
- Udfør
- ydeevne
- udfører
- Tilladelser
- personale
- Personalisering
- Tilpas
- Personlig
- fotorealistisk
- Billeder
- rør
- pipeline
- perron
- plato
- Platon Data Intelligence
- PlatoData
- Vær venlig
- fattige
- Populær
- udgør
- positioner
- Indlæg
- potentiale
- potentielt
- Praktisk
- praksis
- praksis
- forudsige
- forudsige
- forudsigelse
- Predictor
- præferencer
- foretrækkes
- gaver
- forhindre
- tidligere
- Forud
- behandle
- producere
- produktion
- Produkter
- professionelle partnere
- passende
- give
- giver
- offentlige
- folkesundheden
- publikationer
- offentligt
- offentliggjort
- rent
- formål
- formål
- Python
- pytorch
- kvalitet
- hurtigt
- rækkevidde
- ægte
- realtid
- realistisk
- modtage
- nylige
- anbefalinger
- Rød
- reducere
- Reduceret
- referencer
- refererer
- relevans
- rapporteret
- repræsenterer
- anmode
- anmodninger
- kræver
- Kræver
- forsker
- Løsning
- svar
- resultere
- resulterer
- Resultater
- detail
- afkast
- afkast
- RGB
- roller
- groft
- Kør
- kører
- sagemaker
- salg
- tilfredshed
- Gem
- Besparelser
- Scale
- Videnskabsmand
- SDK
- Anden
- sekunder
- sektor
- Sektorer
- segmentering
- segmenter
- udvælgelse
- senior
- følsom
- tjener
- tjeneste
- Session
- sæt
- flere
- skarp
- Shell
- Kort
- bør
- udstillingsvindue
- side
- Silicon
- Silicon Valley
- lignende
- Simpelt
- ganske enkelt
- samtidigt
- enkelt
- Størrelse
- lille
- So
- Social
- sociale medier
- løsninger
- nogle
- noget
- Space
- særligt
- specialist
- specialiserede
- specifikke
- specificeret
- stabil
- standard
- Tilstand
- Trin
- Steps
- Stadig
- opbevaring
- opbevaret
- strategier
- styrke
- Striber
- kampe
- stil
- emne
- succes
- sådan
- sommer
- Supermodel
- tilsyn
- Understøtter
- skræddersyet
- Tag
- tager
- mål
- Opgaver
- opgaver
- hold
- tech
- Teknisk
- teknikker
- Teknologier
- skabeloner
- vilkår
- Tesla
- Området
- verdenen
- deres
- derfor
- tre
- Gennem
- Tied
- til
- værktøjer
- fakkel
- HELT
- traditionelle
- Trafik
- Tog
- uddannet
- Kurser
- overførsel
- Transform
- transformers
- rejse
- Tendenser
- retssag
- trillion
- under
- enestående
- universitet
- uploadet
- Brug
- brug
- Bruger
- brugere
- sædvanligvis
- udnytte
- udnyttet
- udnytter
- Ved hjælp af
- ferie
- Dal
- Værdifuld
- værdi
- række
- forskellige
- Vast
- verificere
- udgave
- video
- Virtual
- W
- måder
- som
- mens
- hvid
- WHO
- bred
- Bred rækkevidde
- bredere
- bredde
- vilje
- inden for
- uden
- formulering
- Arbejde
- arbejdede
- world
- Verdensbanken
- ville
- wrap
- wu
- X
- Du
- Din
- zephyrnet
- Zip