Moteindustrien er en svært lukrativ virksomhet, med en estimert verdi på 2.1 billioner dollar innen 2025, som rapportert av Verdensbanken. Dette feltet omfatter et mangfold av segmenter, for eksempel produksjon, produksjon, distribusjon og salg av klær, sko og tilbehør. Bransjen er i en konstant endring, med nye stiler og trender som dukker opp ofte. Derfor må motebedrifter være fleksible og tilpasse seg for å opprettholde sin relevans og oppnå suksess i markedet.
Generativ kunstig intelligens (AI) refererer til AI-algoritmer designet for å generere nytt innhold, for eksempel bilder, tekst, lyd eller video, basert på et sett med lærte mønstre og data. Den kan brukes til å generere nye og innovative klesdesign samtidig som den tilbyr forbedret personalisering og kostnadseffektivitet. AI-drevne designverktøy kan lage unike klesdesign basert på inndataparametere eller stiler spesifisert av potensielle kunder gjennom tekstmeldinger. Videre kan AI brukes til å tilpasse design til kundens preferanser. For eksempel kan en kunde velge fra en rekke farger, mønstre og stiler, og AI-modeller vil generere et unikt design basert på disse valgene. Adopsjonen av AI i moteindustrien er for tiden hindret av ulike tekniske, gjennomførbarhets- og kostnadsutfordringer. Imidlertid kan disse hindringene nå reduseres ved å bruke avanserte generative AI-metoder som naturlig språkbasert bildesemantisk segmentering og diffusjon for virtuell styling.
Dette blogginnlegget beskriver implementeringen av generativ AI-assistert mote-styling på nett ved hjelp av tekstmeldinger. Maskinlæringsingeniører (ML) kan finjustere og distribuere tekst-til-semantisk-segmentering og in-painting-modeller basert på forhåndstrente CLIPSeq og Stable Diffusion med Amazon SageMaker. Dette gjør det mulig for motedesignere og forbrukere å lage virtuelle modelleringsbilder basert på tekstmeldinger og velge deres foretrukne stiler.
Generative AI-løsninger
De CLIPSeg modell introduserte en ny bildesemantisk segmenteringsmetode som lar deg enkelt identifisere moteartikler i bilder ved hjelp av enkle tekstkommandoer. Den bruker en tekstmelding eller en bildekoder for å kode tekstlig og visuell informasjon inn i et multimodalt innebyggingsområde, noe som muliggjør svært nøyaktig segmentering av målobjekter basert på ledeteksten. Modellen har blitt trent på en enorm mengde data med teknikker som nullskuddsoverføring, naturlig språktilsyn og multimodal selvovervåket kontrastiv læring. Dette betyr at du kan bruke en forhåndsopplært modell som er offentlig tilgjengelig av Timo Lüddecke et al uten behov for tilpasning.
CLIPSeg er en modell som bruker en tekst- og bildekoder for å kode tekstlig og visuell informasjon inn i et multimodalt innebyggingsrom for å utføre semantisk segmentering basert på en tekstmelding. Arkitekturen til CLIPSeg består av to hovedkomponenter: en tekstkoder og en bildekoder. Tekstkoderen tar inn tekstmeldingen og konverterer den til en tekstinnbygging, mens bildekoderen tar inn bildet og konverterer det til en bildeinnbygging. Begge innstøpingene blir deretter sammenkoblet og ført gjennom et fullstendig sammenkoblet lag for å produsere den endelige segmenteringsmasken.
Når det gjelder dataflyt, er modellen trent på et datasett med bilder og tilsvarende tekstmeldinger, hvor tekstmeldingene beskriver målobjektet som skal segmenteres. Under opplæringsprosessen optimaliseres tekstkoderen og bildekoderen for å lære kartleggingen mellom tekstmeldingene og bildet for å produsere den endelige segmenteringsmasken. Når modellen er opplært, kan den ta inn en ny tekstmelding og bilde og produsere en segmenteringsmaske for objektet som er beskrevet i ledeteksten.
Stable Diffusion er en teknikk som lar motedesignere generere svært realistiske bilder i store mengder utelukkende basert på tekstbeskrivelser uten behov for langvarig og kostbar tilpasning. Dette er gunstig for designere som ønsker å lage vogue stiler raskt, og produsenter som ønsker å produsere personlige produkter til en lavere pris.
Følgende diagram illustrerer den stabile diffusjonsarkitekturen og dataflyten.
Sammenlignet med tradisjonelle GAN-baserte metoder, er Stable Diffusion en generativ AI som er i stand til å produsere mer stabile og fotorealistiske bilder som matcher distribusjonen til originalbildet. Modellen kan betinges av et bredt spekter av formål, for eksempel tekst for tekst-til-bilde generering, avgrensningsbokser for layout-til-bilde generering, maskerte bilder for in-painting og lavere oppløsningsbilder for superoppløsning. Diffusjonsmodeller har et bredt spekter av forretningsapplikasjoner, og deres praktiske bruksområder fortsetter å utvikle seg. Disse modellene vil ha stor nytte av ulike bransjer som mote, detaljhandel og e-handel, underholdning, sosiale medier, markedsføring og mer.
Generer masker fra tekstmeldinger ved å bruke CLIPSeg
Vogue online styling er en tjeneste som gjør det mulig for kunder å motta moteråd og anbefalinger fra AI gjennom en nettplattform. Den gjør dette ved å velge klær og tilbehør som utfyller kundens utseende, passer innenfor budsjettet og matcher deres personlige preferanser. Med bruk av generativ AI kan oppgaver utføres med større letthet, noe som fører til økt kundetilfredshet og reduserte utgifter.
Løsningen kan distribueres på en Amazon Elastic Compute Cloud (EC2) p3.2xlarge-forekomst, som har én enkelt V100 GPU med 16G-minne. Flere teknikker ble brukt for å forbedre ytelsen og redusere bruken av GPU-minne, noe som resulterte i raskere bildegenerering. Disse inkluderer bruk av fp16 og muliggjør minneeffektiv oppmerksomhet for å redusere båndbredden i oppmerksomhetsblokken.
Vi begynte med å la brukeren laste opp et motebilde, etterfulgt av å laste ned og trekke ut den ferdigtrente modellen fra CLIPSeq. Bildet blir deretter normalisert og endret størrelse for å overholde størrelsesgrensen. Stable Diffusion V2 støtter bildeoppløsning opptil 768×768 mens V1 støtter opptil 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 bruk av den forhåndstrente CLIPSeq-modellen, er vi i stand til å trekke ut målobjektet fra et bilde ved hjelp av en tekstmelding. Dette gjøres ved å legge inn tekstprompten i tekstkoderen, som konverterer den til en tekstinnbygging. Bildet legges deretter inn i bildekoderen, som konverterer det til en bildeinnbygging. Begge innebyggingene blir deretter sammenkoblet og ført gjennom et fullstendig sammenkoblet lag for å produsere den endelige segmenteringsmasken, som fremhever målobjektet beskrevet i tekstmeldingen. 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øyaktige maskebildet fra semantisk segmentering kan vi bruke in-painting for innholdserstatning. In-painting er prosessen med å bruke en opplært generativ modell for å fylle ut manglende deler av et bilde. Ved å bruke maskebildet til å identifisere målobjektet, kan vi bruke in-painting-teknikken for å erstatte målobjektet med noe annet, for eksempel et annet klesplagg eller tilbehør. Stable Diffusion V2-modellen kan brukes til dette formålet, fordi den er i stand til å produsere høyoppløselige, fotorealistiske bilder som samsvarer med distribusjonen til originalbildet.
Finjustering fra forhåndstrente modeller ved hjelp av DreamBooth
Finjustering er en prosess i dyp læring der en forhåndstrent modell videreutdannes på en ny oppgave ved å bruke en liten mengde merkede data. I stedet for å trene fra bunnen av, er ideen å ta et nettverk som allerede har blitt trent på et stort datasett for en lignende oppgave og trene det videre på et nytt datasett for å gjøre det mer spesialisert for den aktuelle oppgaven.
Motedesignere kan også bruke en motivdrevet, finjustert stabil diffusjonsmodell for å generere en bestemt stilklasse, for eksempel uformelle lange skjørt for damer. For å gjøre dette er det første trinnet å gi et sett med eksempelbilder i måldomenet, omtrent 1 dusin, med riktige tekstetiketter som følgende og binde dem til en unik identifikator som refererer til design, stil, farge og stoff. . Etiketten på teksten spiller en avgjørende rolle for å bestemme resultatene av den finjusterte modellen. Det er flere måter å forbedre finjustering gjennom effektiv rask prosjektering og her er noen 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.
Bruk av et lite sett med bilder for å finjustere stabil diffusjon kan føre til at modellen blir overtilpasset. DreamBooth[5] løser dette ved å bruke et klassespesifikt tap for tidligere bevaring. Den lærer å binde en unik identifikator med det spesifikke emnet i to trinn. Først finjusterer den lavoppløsningsmodellen med inngangsbildene sammen med en tekstmelding som inneholder en unik identifikator og navnet på klassen faget tilhører, for eksempel "skjørt". I praksis betyr dette å ha modellen tilpasset bilder og bildene samplet fra den visuelle prioren til den ikke-finjusterte klassen samtidig. Disse tidligere bevarte bildene er samplet og merket ved å bruke ledeteksten "klassesubstantiv". For det andre vil den finjustere de superhøyoppløselige komponentene ved å pare lavoppløselige og høyoppløselige bilder fra inngangsbildesettet, noe som gjør at utgangene til den finjusterte modellen opprettholder troskap til små detaljer.
Finjustering av en forhåndstrent in-painting tekstkoder med UNet for oppløsning 512×512 bilder krever omtrent 22 GB VRAM eller høyere for 768×768 oppløsning. Ideelt sett bør finjustere prøver endres for å matche ønsket utgangsbildeoppløsning for å unngå ytelsesforringelse. Tekstkoderen produserer mer nøyaktige detaljer som modellansikter. Ett alternativ er å kjøre på en enkelt AWS EC2 g5.2xlarge-instans, nå tilgjengelig i åtte regioner eller bruk Hugging Face Accelerate for å kjøre den finjusterte koden på tvers av en distribuert konfigurasjon. For ytterligere minnebesparelser kan du velge en oppskåret versjon av oppmerksomhet som utfører beregningen i trinn i stedet for alt på en gang ved ganske enkelt å modifisere DreamBooths treningsskript train_dreambooth_inpaint.py for å legge til pipeline enable_attention_slicing()-funksjonen.
Accelerate er et bibliotek som gjør det mulig å kjøre én finjusteringskode på tvers av alle distribuerte konfigurasjoner. Hugging Face og Amazon introdusert Hugging Face Deep Learning Containers (DLC) for å skalere finjusteringsoppgaver på tvers av flere GPUer og noder. Du kan konfigurere lanseringskonfigurasjonen 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 å starte en finjusteringsjobb, kontroller Accelerates konfigurasjon ved å bruke CLI og oppgi de nødvendige treningsargumentene, bruk deretter 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 finjusterte in-painting-modellen gir mulighet for generering av mer spesifikke bilder til moteklassen beskrevet av tekstmeldingen. Fordi den har blitt finjustert med et sett med høyoppløselige bilder og tekstmeldinger, kan modellen generere bilder som er mer skreddersydd for klassen, for eksempel formelle aftenkjoler. Det er viktig å merke seg at jo mer spesifikk klassen er og jo flere data som brukes til finjustering, desto mer nøyaktige og realistiske vil utdatabildene 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
Distribuer en finjustert malingsmodell ved å bruke SageMaker for slutninger
Med Amazon SageMaker kan du distribuere de finjusterte Stable Diffusion-modellene for sanntidsslutning. For å laste opp modellen til Amazon Simple Storage-tjeneste (S3) for distribusjon må en model.tar.gz arkiv tarball opprettes. Sørg for at arkivet inkluderer alle filer direkte, ikke en mappe som inneholder dem. DreamBooth finjusteringsarkivmappen skal vises som følger etter å ha eliminert de intermitterende sjekkpunktene:
Det første trinnet i å lage slutningsbehandleren vår involverer opprettelsen av filen inference.py. Denne filen fungerer som det sentrale knutepunktet for lasting av modellen og håndtering av alle innkommende slutningsforespørsler. Etter at modellen er lastet, utføres modell_fn()-funksjonen. Når behovet oppstår for å utføre inferens, kalles predict_fn() funksjonen. I tillegg brukes decode_base64()-funksjonen til å konvertere en JSON-streng, inneholdt i nyttelasten, til en PIL-bildedatatype.
%%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 å laste opp modellen til en Amazon S3-bøtte, er det nødvendig å først opprette et model.tar.gz-arkiv. Det er viktig å merke seg at arkivet skal bestå av filene direkte og ikke en mappe som inneholder dem. For eksempel skal filen vises 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")
Etter at modellarkivet er lastet opp, kan vi distribuere det på Amazon SageMaker ved å bruke HuggingfaceModel for sanntidsslutning. Du kan være vert for endepunktet ved å bruke en g4dn.xlarge-instans, som er utstyrt med en enkelt NVIDIA Tesla T4 GPU med 16 GB VRAM. Autoskalering kan aktiveres for å håndtere varierende trafikkbehov. For informasjon om å inkorporere autoskalering i endepunktet ditt, se Produksjon i gang: Automatisk skalering 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" )
Huggingface_model.deploy()-metoden returnerer et HuggingFacePredictor-objekt som kan brukes til å be om inferens. Endepunktet krever en JSON med en inngangsnøkkel, som representerer inndatameldingen for at modellen skal generere et bilde. Du kan også kontrollere genereringen med parametere som num_inference_steps, guidance_scale og "num_images_per_prompt". Predictor.predict()-funksjonen returnerer en JSON med en «generated_images»-nøkkel, som holder de fire genererte bildene som base64-kodede strenger. Vi la til to hjelpefunksjoner, decode_base64_to_image og display_images, for å dekode henholdsvis responsen og vise bildene. Førstnevnte dekoder den base64-kodede strengen og returnerer et PIL.Image-objekt, og sistnevnte 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
La oss gå videre med malingsoppgaven. Det har blitt anslått at det vil ta omtrent 15 sekunder å produsere tre bilder, gitt inngangsbildet og masken som er opprettet ved hjelp av CLIPSeg med teksten som ble diskutert 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 malte bildene kan vises sammen med originalbildet for visuell sammenligning. I tillegg kan in-painting-prosessen begrenses ved å bruke ulike parametere som guidance_scale, som kontrollerer styrken på veiledningsbildet under in-painting-prosessen. Dette lar brukeren justere utdatabildet og oppnå de ønskede resultatene.
Amazon SageMaker Jumpstart tilbyr stabile diffusjonsmaler for ulike modeller, inkludert tekst-til-bilde og oppskalering. For mer informasjon, se SageMaker JumpStart tilbyr nå modeller for stabil diffusjon og blomst. Ytterligere Jumpstart-maler vil være tilgjengelige i nær fremtid.
Begrensninger
Selv om CLIPSeg vanligvis fungerer godt på å gjenkjenne vanlige objekter, sliter det med mer abstrakte eller systematiske oppgaver som å telle antall objekter i et bilde og på mer komplekse oppgaver som å forutsi hvor nært det nærmeste objektet en slik veske er i et bilde. Zero-shot CLIPSeq sliter også sammenlignet med oppgavespesifikke modeller med veldig finkornet klassifisering, for eksempel å fortelle forskjellen mellom to vage design, varianter av kjole eller stilklassifisering. CLIPSeq har også fortsatt dårlig generalisering til bilder som ikke er dekket i datasettet før trening. Til slutt har det blitt observert at CLIPs nullskuddsklassifiserere kan være følsomme for ordlyd eller frasering og noen ganger krever prøving og feiling "prompt engineering" for å gi gode resultater. Bytte til en annen semantisk segmenteringsmodell for CLIPSeqs ryggrad, som f.eks BEiT, som har en 62.8 % mIOU på ADE20K-datasettet, kan potensielt forbedre resultatene.
Motedesign generert ved bruk av stabil diffusjon har vist seg å være begrenset til deler av plaggene som er minst like forutsigbart plassert i den bredere konteksten av motemodellene, og som samsvarer med innbygging på høyt nivå som du med rimelighet kunne forvente å finne i et hyperskala datasett som brukes under opplæring av den forhåndstrente modellen. Den virkelige grensen for generativ AI er at modellen til slutt vil produsere totalt imaginære og mindre autentiske utdata. Derfor kan det hende at motedesignene generert av AI ikke er så varierte eller unike som de som er laget av menneskelige designere.
konklusjonen
Generativ AI gir motesektoren en mulighet til å transformere sin praksis gjennom bedre brukeropplevelser og kostnadseffektive forretningsstrategier. I dette innlegget viser vi frem hvordan du kan utnytte generativ AI for å gjøre det mulig for motedesignere og forbrukere å lage personlige motestiler ved hjelp av virtuell modellering. Ved hjelp av eksisterende Amazon SageMaker Jumpstart-maler og de som kommer, kan brukere raskt omfavne disse avanserte teknikkene uten å trenge inngående teknisk ekspertise, samtidig som de opprettholder allsidighet og reduserer utgiftene.
Denne innovative teknologien gir nye sjanser for bedrifter og fagfolk som er involvert i innholdsgenerering, på tvers av ulike bransjer. Generativ AI gir rikelig med muligheter for å forbedre og lage innhold. Prøv de siste tilleggene til Jumpstart-malene i din SageMaker Studio, for eksempel finjustering av tekst-til-bilde og oppskalere funksjoner.
Vi vil gjerne takke Li Zhang, Karl Albertsen, Kristine Pearce, Nikhil Velpanur, Aaron Sengstacken, James Wu og Neelam Koshiya for deres støtte og verdifulle innspill som bidro til å forbedre dette arbeidet.
Om forfatterne
Alfred Shen er senior AI/ML-spesialist hos AWS. Han har jobbet i Silicon Valley, og har hatt tekniske og lederstillinger i forskjellige sektorer, inkludert helsevesen, finans og høyteknologi. Han er en dedikert anvendt AI/ML-forsker, som konsentrerer seg om CV, NLP og multimodalitet. Arbeidet hans har blitt vist frem i publikasjoner som EMNLP, ICLR og Public Health.
Dr. Vivek Madan er en Applied Scientist med Amazon SageMaker JumpStart-teamet. Han fikk sin doktorgrad fra University of Illinois i Urbana-Champaign og var postdoktor ved Georgia Tech. Han er en aktiv forsker innen maskinlæring og algoritmedesign og har publisert artikler i EMNLP, ICLR, COLT, FOCS og SODA-konferanser
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. Tilgang 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 oss
- ABSTRACT
- akselerere
- akselerator
- adgang
- tilbehør
- oppnådd
- Logg inn
- nøyaktig
- Oppnå
- tvers
- aktiv
- tilpasse
- la til
- Ytterligere
- I tillegg
- tilleggene
- adresser
- Adopsjon
- avansert
- råd
- Etter
- AI
- AI / ML
- algoritme
- algoritmer
- Alle
- tillate
- tillater
- allerede
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- beløp
- og
- Klær og tilbehør
- vises
- søknader
- anvendt
- Påfør
- ca
- arkitektur
- Arkiv
- AREA
- argumenter
- kunstig
- kunstig intelligens
- ASA
- Assistanse
- oppmerksomhet
- lyd
- Autentisk
- tilgjengelig
- AWS
- Backbone
- Båndbredde
- Bank
- basen
- basert
- fordi
- begynte
- gunstig
- nytte
- Bedre
- mellom
- binde
- bindende
- Blokker
- Blogg
- Bloom
- Blå
- skryte
- kroppen
- pin
- bokser
- Bright
- lysere
- budsjett
- virksomhet
- Business Applications
- beregner
- som heter
- evner
- stand
- saker
- tilfeldig
- sentral
- utfordringer
- sjansene
- endring
- Velg
- klasse
- klassifisering
- Lukke
- nedleggelse
- Klær
- Cloud
- kode
- samle
- farge
- kolonner
- Kom
- komfort
- Felles
- Selskaper
- sammenligne
- sammenlignet
- sammenligning
- Kompletter
- komplekse
- komponenter
- beregningen
- Beregn
- databehandling
- konsept
- Konfigurasjon
- tilkoblet
- konstant
- Forbrukere
- Containere
- inneholder
- innhold
- Innholdsgenerering
- kontekst
- fortsette
- kontroll
- kontroller
- konvertere
- Tilsvarende
- Kostnad
- kunne
- dekket
- skape
- opprettet
- Opprette
- skaperverket
- kritisk
- avgjørende
- I dag
- skikk
- kunde
- Kundetilfredshet
- Kunder
- tilpasses
- tilpasning
- dato
- redusere
- dedikert
- dyp
- dyp læring
- krav
- Denim
- utplassere
- utplassert
- distribusjon
- beskrive
- beskrevet
- utforming
- designet
- designere
- design
- ønsket
- detaljert
- detaljer
- bestemme
- forskjell
- forskjellig
- kringkasting
- direkte
- diskutert
- Vise
- skjermer
- distribueres
- distribusjon
- diverse
- domene
- nedlasting
- dusinvis
- slitestyrke
- under
- e-handel
- lett
- Effektiv
- effektiv
- elementer
- eliminere
- omfavne
- muliggjøre
- muliggjør
- muliggjør
- Omfatter
- Endpoint
- Ingeniører
- styrke
- sikre
- Entertainment
- utstyrt
- feil
- anslått
- kveld
- etter hvert
- utvikle seg
- eksempel
- eksempler
- eksisterende
- forvente
- utgifter
- dyrt
- Erfaringer
- ekspertise
- eksportere
- trekke ut
- stoff
- stoffer
- Face
- ansikter
- Mote
- raskere
- Trekk
- hunn
- Noen få
- fidelity
- felt
- filet
- Filer
- fyll
- slutt~~POS=TRUNC
- Endelig
- finansiere
- Finn
- slutt
- Først
- passer
- bluss
- fleksibel
- flyten
- Fokus
- fulgt
- etter
- følger
- formell
- Tidligere
- Forward
- funnet
- ofte
- fra
- fullt
- fullt
- funksjon
- funksjoner
- videre
- Dess
- framtid
- plagg
- generere
- generert
- generasjonen
- generative
- Generativ AI
- Georgia
- få
- gitt
- GPU
- GPU
- Grafisk
- grå
- større
- sterkt
- Grid
- håndtere
- Håndtering
- seletøy
- å ha
- Helse
- helsetjenester
- høyde
- hjulpet
- her.
- Høy
- høyt nivå
- høy oppløsning
- høyere
- striper
- svært
- holder
- holder
- vert
- Hvordan
- Hvordan
- Men
- HTML
- HTTPS
- Hub
- Klem ansikt
- menneskelig
- Tanken
- identifikator
- identifisere
- Illinois
- bilde
- bilder
- innbilt
- gjennomføring
- importere
- viktig
- forbedre
- forbedret
- in
- dyptgående
- inkludere
- inkluderer
- Inkludert
- Innkommende
- innlemme
- økt
- bransjer
- industri
- informasjon
- innledende
- innovative
- inngang
- installere
- f.eks
- i stedet
- Intelligens
- introdusert
- involvert
- IT
- varer
- Jobb
- JSON
- nøkkel
- Etiketten
- etiketter
- Språk
- stor
- lansere
- lag
- ledende
- LÆRE
- lært
- læring
- Lengde
- nivåer
- Li
- Bibliotek
- BEGRENSE
- Begrenset
- Liste
- laste
- lasting
- Lang
- tap
- senking
- lukrative
- maskin
- maskinlæring
- Hoved
- vedlikeholde
- Vedlike
- gjøre
- Making
- ledelses
- Produsenter
- kartlegging
- marked
- Marketing
- maske
- masker
- Match
- materialer
- matplotlib
- midler
- Media
- Minne
- metode
- metoder
- mangler
- ML
- modell
- modeller
- mer
- mest
- flytte
- bevegelse
- flere
- navn
- Naturlig
- Nær
- nødvendig
- Trenger
- trenger
- behov
- nettverk
- Nøytral
- Ny
- nlp
- noder
- normal
- roman
- Antall
- Nvidia
- objekt
- gjenstander
- hindringer
- tilby
- tilby
- Tilbud
- ONE
- One-of-a-like
- på nett
- Opportunity
- optimalisert
- Alternativ
- rekkefølge
- original
- OS
- egen
- sammen
- sammenkobling
- papirer
- parametere
- Spesielt
- deler
- bestått
- banen
- Mønster
- mønstre
- Utfør
- ytelse
- utfører
- tillatelser
- personlig
- Tilpassing
- tilpasse
- Personlig
- Fotorealistisk
- Bilder
- rør
- rørledning
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- vær så snill
- dårlig
- Populær
- positurer
- stillinger
- Post
- potensiell
- potensielt
- Praktisk
- praksis
- praksis
- forutsi
- forutsi
- prediksjon
- Predictor
- preferanser
- trekkes
- gaver
- forebygge
- tidligere
- Før
- prosess
- produsere
- Produksjon
- Produkter
- fagfolk
- ordentlig
- gi
- gir
- offentlig
- folkehelsen
- publikasjoner
- offentlig
- publisert
- rent
- formål
- formål
- Python
- pytorch
- kvalitet
- raskt
- område
- ekte
- sanntids
- realistisk
- motta
- nylig
- anbefalinger
- Rød
- redusere
- Redusert
- referanser
- refererer
- relevans
- rapportert
- representerer
- anmode
- forespørsler
- krever
- Krever
- forsker
- oppløsning
- svar
- resultere
- resulterende
- Resultater
- detaljhandel
- retur
- avkastning
- RGB
- Rolle
- omtrent
- Kjør
- rennende
- sagemaker
- salg
- tilfredshet
- Spar
- Besparelser
- Skala
- Forsker
- SDK
- Sekund
- sekunder
- sektor
- sektorer
- segmentering
- segmenter
- velge
- senior
- sensitive
- serverer
- tjeneste
- Session
- sett
- flere
- skarpe
- Shell
- Kort
- bør
- presentere
- side
- Silicon
- Silicon Valley
- lignende
- Enkelt
- ganske enkelt
- samtidig
- enkelt
- Størrelse
- liten
- So
- selskap
- sosiale medier
- løsning
- noen
- noe
- Rom
- spesiell
- spesialist
- spesialisert
- spesifikk
- spesifisert
- stabil
- Standard
- Tilstand
- Trinn
- Steps
- Still
- lagring
- lagret
- strategier
- styrke
- Stripes
- kamper
- stil
- emne
- suksess
- slik
- sommer
- Super
- tilsyn
- Støtter
- skreddersydd
- Ta
- tar
- Target
- Oppgave
- oppgaver
- lag
- tech
- Teknisk
- teknikker
- Teknologi
- maler
- vilkår
- Tesla
- De
- Området
- verden
- deres
- derfor
- tre
- Gjennom
- Tied
- til
- verktøy
- lommelykt
- HELT KLART
- tradisjonelle
- trafikk
- Tog
- trent
- Kurs
- overføre
- Transform
- transformers
- reiser
- Trender
- prøve
- Trillion
- etter
- unik
- universitet
- lastet opp
- bruk
- bruke
- Bruker
- Brukere
- vanligvis
- bruke
- benyttes
- bruker
- utnytte
- ferie
- Dal
- Verdifull
- verdi
- variasjon
- ulike
- enorme
- verifisere
- versjon
- video
- virtuelle
- W
- måter
- hvilken
- mens
- hvit
- HVEM
- bred
- Bred rekkevidde
- bredere
- bredde
- vil
- innenfor
- uten
- ordlyden
- Arbeid
- arbeidet
- verden
- Verdensbanken
- ville
- vikle
- wu
- X
- Du
- Din
- zephyrnet
- Zip