Moetööstus on a väga tulus äriMaailmapanga andmetel on 2.1. aastaks hinnanguliselt 2025 triljonit dollarit. See valdkond hõlmab mitmesuguseid segmente, nagu rõivaste, kingade ja aksessuaaride loomine, tootmine, turustamine ja müük. Tööstus on pidevas muutumises ning sageli ilmuvad uued stiilid ja suundumused. Seetõttu peavad moeettevõtted olema paindlikud ja kohanemisvõimelised, et säilitada oma asjakohasust ja saavutada turul edu.
Generatiivne tehisintellekt (AI) viitab AI-algoritmidele, mis on loodud õpitud mustrite ja andmete kogumi põhjal uue sisu, näiteks piltide, teksti, heli või video loomiseks. Seda saab kasutada uute ja uuenduslike rõivakujunduste loomiseks, pakkudes samal ajal paremat isikupärastamist ja kulutõhusust. AI-põhised disainitööriistad võivad luua ainulaadseid rõivakujundusi, mis põhinevad potentsiaalsete klientide tekstiviipade kaudu määratud sisendparameetritel või stiilidel. Lisaks saab AI-d kasutada disainilahenduste isikupärastamiseks vastavalt kliendi eelistustele. Näiteks saab klient valida mitmesuguste värvide, mustrite ja stiilide hulgast ning AI mudelid loovad nende valikute põhjal ainulaadse kujunduse. AI kasutuselevõttu moetööstuses takistavad praegu mitmesugused tehnilised, teostatavus- ja kuluprobleemid. Neid takistusi saab nüüd aga leevendada täiustatud generatiivsete AI-meetodite abil, nagu loomuliku keelepõhine kujutise semantiline segmenteerimine ja hajutamine virtuaalse stiili jaoks.
Selles ajaveebi postituses kirjeldatakse tekstiviipade abil generatiivse AI-ga toetatud moekujunduse rakendamist veebis. Masinõppe (ML) insenerid saavad peenhäälestada ja juurutada tekstist semantiliseks segmenteerimiseks ja maalimismudeleid, mis põhinevad eelkoolitatud CLIPSeq-il ja stabiilsel difusioonil. Amazon SageMaker. See võimaldab moeloojatel ja tarbijatel luua tekstiviipade põhjal virtuaalseid modelleerimispilte ja valida eelistatud stiilid.
Generatiivsed AI lahendused
. KLIPSeg mudel tutvustas uudset kujutiste semantilise segmenteerimise meetodit, mis võimaldab teil lihtsate tekstikäskude abil hõlpsasti piltidel moekaupu tuvastada. See kasutab tekstiviipa või pildikodeerijat tekstilise ja visuaalse teabe kodeerimiseks multimodaalsesse manustamisruumi, võimaldades sihtobjektide ülitäpset segmenteerimist viipa alusel. Mudelit on koolitatud tohutul hulgal andmetel selliste tehnikatega nagu nullkaadri ülekandmine, loomuliku keele järelvalve ja multimodaalne enesejärelevalve kontrastiivne õpe. See tähendab, et saate kasutada eelkoolitatud mudelit, mis on avalikult kättesaadav Timo Lüddecke et al ilma kohandamise vajaduseta.
CLIPSeg on mudel, mis kasutab teksti- ja pildikodeerijat tekstilise ja visuaalse teabe kodeerimiseks multimodaalsesse manustamisruumi, et teostada tekstiviipa alusel semantilist segmenteerimist. CLIPSegi arhitektuur koosneb kahest põhikomponendist: tekstikooderist ja pildikooderist. Tekstikooder võtab tekstiviipa sisse ja teisendab selle tekstimanustuseks, pildikodeerija aga võtab pildi sisse ja teisendab selle pildimanustuseks. Seejärel ühendatakse mõlemad manused kokku ja juhitakse läbi täielikult ühendatud kihi, et saada lõplik segmenteerimismask.
Andmevoo osas treenitakse mudelit piltide ja vastavate tekstiviipade andmekogumil, kus tekstiviibad kirjeldavad segmenteeritavat sihtobjekti. Koolitusprotsessi ajal optimeeritakse tekstikooder ja pildikooder, et õppida tekstiviipade ja pildi vahelist vastendamist, et luua lõplik segmentimismask. Kui mudel on koolitatud, saab see vastu võtta uue tekstiviipa ja pildi ning luua viipas kirjeldatud objekti jaoks segmenteerimismaski.
Stabiilne hajutamine on tehnika, mis võimaldab moeloojatel luua suurtes kogustes ülimalt realistlikke kujutisi puhtalt tekstikirjelduste põhjal, ilma et oleks vaja pikka ja kulukat kohandamist. See on kasulik disaineritele, kes soovivad kiiresti moes stiile luua, ja tootjatele, kes soovivad toota isikupärastatud tooteid madalama hinnaga.
Järgmine diagramm illustreerib stabiilse difusiooni arhitektuuri ja andmevoogu.
Võrreldes traditsiooniliste GAN-põhiste meetoditega on Stable Diffusion generatiivne AI, mis on võimeline tootma stabiilsemaid ja fotorealistlikumaid pilte, mis vastavad algse pildi jaotusele. Mudelit saab kasutada mitmesugustel eesmärkidel, nagu tekst tekstist pildiks genereerimiseks, piirdekastid paigutusest pildiks genereerimiseks, maskeeritud kujutised maalimiseks ja madalama eraldusvõimega kujutised üliresolutsiooniks. Hajutusmudelitel on lai valik ärirakendusi ja nende praktiline kasutusala areneb jätkuvalt. Nendest mudelitest on palju kasu erinevatele tööstusharudele, nagu mood, jaemüük ja e-kaubandus, meelelahutus, sotsiaalmeedia, turundus ja palju muud.
Looge tekstiviipadest maskid, kasutades CLIPSeg-i
Vogue'i veebistiil on teenus, mis võimaldab klientidel saada veebiplatvormi kaudu tehisintellektilt moenõuandeid ja -soovitusi. Ta teeb seda, valides rõivad ja aksessuaarid, mis täiendavad kliendi välimust, sobivad eelarvega ja vastavad tema isiklikele eelistustele. Generatiivse AI kasutamisega saab ülesandeid hõlpsamini täita, mis suurendab klientide rahulolu ja vähendab kulusid.
Lahendust saab kasutusele võtta Amazon Elastic Compute Cloud (EC2) p3.2xlarge eksemplar, millel on üks V100 GPU 16G mäluga. Jõudluse parandamiseks ja GPU mälukasutuse vähendamiseks kasutati mitmeid tehnikaid, mille tulemuseks oli kiirem piltide genereerimine. Nende hulka kuuluvad fp16 kasutamine ja mälu tõhusa tähelepanu võimaldamine, et vähendada tähelepanuploki ribalaiust.
Alustasime sellega, et lasime kasutajal üles laadida moepildi, millele järgnes eelkoolitatud mudeli allalaadimine ja ekstraheerimine CLIPSeqist. Seejärel pilt normaliseeritakse ja selle suurust muudetakse, et see vastaks suurusepiirangule. Stabiilne difusioon V2 toetab pildi eraldusvõimet kuni 768 × 768, samas kui V1 toetab kuni 512 × 512. Vaadake järgmist koodi:
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)
Eelkoolitatud CLIPSeq mudeli kasutamisega saame sihtobjekti pildilt tekstiviipa abil eraldada. Seda tehakse tekstiviipa sisestamisega tekstikodeerijasse, mis teisendab selle teksti manustamiseks. Seejärel sisestatakse pilt pildi kodeerijasse, mis teisendab selle pildi manustamiseks. Seejärel ühendatakse mõlemad manused ja juhitakse läbi täielikult ühendatud kihi, et saada lõplik segmenteerimismask, mis tõstab esile tekstiviipas kirjeldatud sihtobjekti. Vaadake järgmist koodi:
# 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]))
Semantilisest segmentimisest saadud täpse maskipildi abil saame sisu asendamiseks kasutada maalimise ajalist funktsiooni. In-Painting on väljaõppinud generatiivse mudeli kasutamine pildi puuduvate osade täitmiseks. Kasutades sihtobjekti tuvastamiseks maski kujutist, saame kasutada maalimise tehnikat, et asendada sihtobjekt millegi muuga, näiteks mõne muu riideeseme või aksessuaariga. Sel eesmärgil saab kasutada mudelit Stable Diffusion V2, kuna see on võimeline tootma kõrge eraldusvõimega fotorealistlikke pilte, mis vastavad algse pildi jaotusele.
Peenhäälestus eelkoolitatud mudelitelt DreamBoothi abil
Peenhäälestus on süvaõppe protsess, mille käigus koolitatakse eelkoolitatud mudelit edasi uue ülesande jaoks, kasutades väikest hulka märgistatud andmeid. Selle asemel, et nullist treenida, on mõte võtta võrk, mida on sarnase ülesande jaoks juba suure andmehulga jaoks koolitatud, ja koolitada seda edasi uue andmekogumiga, et muuta see selle konkreetse ülesande jaoks spetsialiseeritumaks.
Moedisainerid saavad kasutada ka teemapõhist, peenhäälestatud Stable Diffusion-värvimudelit, et luua teatud stiiliklass, näiteks vabaaja pikad seelikud naistele. Selleks tuleb kõigepealt varustada sihtdomeeni näidispiltide komplekt (umbes kümmekond) koos õigete tekstisiltide (nt järgmised) ja siduda need ainulaadse identifikaatoriga, mis viitab disainile, stiilile, värvile ja kangale. . Tekstil olev silt mängib peenhäälestatud mudeli tulemuste määramisel otsustavat rolli. Peenhäälestuse tõhustamiseks tõhusa abil on mitu võimalust kiire inseneritöö ja siin on mõned näited.
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.
Väikese pildikomplekti kasutamine stabiilse difusiooni peenhäälestamiseks võib põhjustada mudeli ülepaigutamist. DreamBooth[5] lahendab selle, kasutades klassispetsiifilist eelneva säilitamise kadu. See õpib kahes etapis siduma unikaalset identifikaatorit selle konkreetse subjektiga. Esiteks täpsustab see madala eraldusvõimega mudelit sisendkujutistega, mis on seotud tekstiviipaga, mis sisaldab kordumatut identifikaatorit ja selle klassi nime, kuhu subjekt kuulub, näiteks "seelik". Praktikas tähendab see seda, et mudel sobib samaaegselt piltidele ja piltide proovid on võetud peenhäälestuseta klassi visuaalsest priorist. Nendest eelnevalt säilinud piltidest võetakse proovid ja märgistatakse viipa „klassi nimisõna” abil. Teiseks täpsustab see ülikõrge eraldusvõimega komponente, sidudes sisendpiltide komplektist madala eraldusvõimega ja kõrge eraldusvõimega kujutised, mis võimaldab peenhäälestatud mudeli väljunditel säilitada väikeste detailide täpsus.
UNetiga 512 × 512 eraldusvõimega piltide jaoks eelkoolitatud maalisisese tekstikodeerija peenhäälestamiseks on 22 × 768 eraldusvõime jaoks vaja umbes 768 GB VRAM-i või rohkem. Ideaaljuhul tuleks näidiste peenhäälestuse suurust muuta, et need vastaksid soovitud väljundpildi eraldusvõimele, et vältida jõudluse halvenemist. Tekstikodeerija toodab täpsemaid detaile, nagu mudeli näod. Üks võimalus on töötada ühel AWS EC2 g5.2xsuurel eksemplaril, mis on nüüd saadaval kaheksa piirkonda või kasutage funktsiooni Hugging Face Accelerate peenhäälestatud koodi käivitamiseks hajutatud konfiguratsioonis. Täiendava mälusäästu jaoks saate valida tähelepanu tükeldatud versiooni, mis teostab arvutusi sammude kaupa, mitte korraga, muutes lihtsalt DreamBothi treeningskripti train_dreambooth_inpaint.py, et lisada konveieri enable_attention_slicing() funktsioon.
Accelerate on teek, mis võimaldab ühe peenhäälestuskoodi käitada mis tahes hajutatud konfiguratsioonis. Hugging Face ja Amazon tutvustati Kallistava näoga süvaõppekonteinerid (DLC-d) peenhäälestusülesannete skaleerimiseks mitme GPU ja sõlme vahel. Amazon SageMakeri käivituskonfiguratsiooni saate konfigureerida ühe CLI-käsuga.
# 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')
Peenhäälestustöö käivitamiseks kontrollige Accelerate'i konfiguratsiooni kasutades CLI ja esitage vajalikud koolitusargumendid, seejärel kasutage järgmist shelliskripti.
# 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
Peenhäälestatud värvimismudel võimaldab genereerida konkreetsemaid pilte tekstiviipaga kirjeldatud moeklassile. Kuna seda on peenhäälestatud kõrge eraldusvõimega piltide ja tekstiviipade abil, saab mudel luua pilte, mis on klassile rohkem kohandatud, näiteks pidulikud õhtukleidid. Oluline on märkida, et mida täpsem on klass ja mida rohkem andmeid peenhäälestamiseks kasutatakse, seda täpsemad ja realistlikumad on väljundpildid.
%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
Kasutage järelduste tegemiseks SageMakerit kasutades peenhäälestatud värvimismudelit
Amazon SageMakeriga saate reaalajas järelduste tegemiseks juurutada peenhäälestatud stabiilse difusiooni mudeleid. Mudeli üleslaadimiseks Amazon Simple Storage Service (S3) juurutamiseks tuleb luua arhiivi tarball model.tar.gz. Veenduge, et arhiiv sisaldaks otse kõiki faile, mitte neid sisaldavat kausta. DreamBoothi peenhäälestusarhiivi kaust peaks pärast vahelduvate kontrollpunktide kõrvaldamist ilmuma järgmiselt:
Meie järelduste töötleja loomise esimene samm hõlmab faili inference.py loomist. See fail toimib keskse jaoturina mudeli laadimiseks ja kõigi sissetulevate järeldustaotluste käsitlemiseks. Pärast mudeli laadimist käivitatakse funktsioon model_fn(). Kui tekib vajadus järelduste tegemiseks, kutsutakse funktsioon ennustama_fn(). Lisaks kasutatakse funktsiooni decode_base64() kasulikus koormuses sisalduva JSON-stringi teisendamiseks PIL-kujutise andmetüübiks.
%%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}
Mudeli Amazon S3 ämbrisse üleslaadimiseks peate esmalt looma model.tar.gz arhiivi. Oluline on märkida, et arhiiv peaks koosnema otse failidest, mitte neid hoidvast kaustast. Näiteks peaks fail välja nägema järgmine:
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")
Pärast mudeliarhiivi üleslaadimist saame selle Amazon SageMakeris juurutada, kasutades HuggingfaceModelit reaalajas järelduste tegemiseks. Lõpp-punkti saate hostida, kasutades eksemplari g4dn.xlarge, mis on varustatud ühe NVIDIA Tesla T4 GPU-ga ja 16 GB VRAM-iga. Automaatset skaleerimist saab aktiveerida, et tulla toime erinevate liiklusnõuetega. Lisateavet automaatse skaleerimise lõpp-punkti lisamise kohta vt Tootmine käimas: Kallistavate näomuundurite automaatne skaleerimine rakendusega 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" )
Meetod huggingface_model.deploy() tagastab HuggingFacePredictori objekti, mida saab kasutada järelduste tegemiseks. Lõpp-punkt nõuab sisendvõtmega JSON-i, mis kujutab mudeli sisendviipa kujutise genereerimiseks. Samuti saate genereerimist juhtida selliste parameetritega nagu num_inference_steps, guidance_scale ja num_images_per_prompt. Funktsioon ennustaja.predict() tagastab JSON-i võtmega „generated_images”, mis hoiab nelja loodud pilti base64 kodeeritud stringidena. Lisasime vastuse dekodeerimiseks ja kujutiste kuvamiseks kaks abifunktsiooni, decode_base64_to_image ja display_images. Esimene dekodeerib base64 kodeeritud stringi ja tagastab PIL.Image objekti ning teine kuvab PIL.Image objektide loendi. Vaadake järgmist koodi:
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
Liigume edasi maalimisülesandega. Arvestades sisendkujutist ja CLIPSeg-i abil loodud maski koos eelnevalt käsitletud tekstiviibaga, kulub kolme pildi loomiseks hinnanguliselt umbes 15 sekundit. Vaadake järgmist koodi:
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)
Maalitud pilte saab visuaalseks võrdlemiseks kuvada koos originaalpildiga. Lisaks saab värvimisprotsessi piirata erinevate parameetritega, näiteks guidance_scale, mis juhib suunava kujutise tugevust värvimisprotsessi ajal. See võimaldab kasutajal väljundpilti reguleerida ja soovitud tulemusi saavutada.
Amazon SageMaker Kiirstart pakub stabiilse hajutamise malle erinevatele mudelitele, sealhulgas teksti-pildiks ja ülesskaleerimisele. Lisateabe saamiseks vaadake palun SageMaker JumpStart pakub nüüd stabiilse difusiooni ja õitsengu mudeleid. Täiendavad Kiirstardi mallid on saadaval lähitulevikus.
Piirangud
Kuigi CLIPSeg saab tavaliselt tavaliste objektide äratundmisel hästi hakkama, on sellel raskusi abstraktsemate või süstemaatilisemate ülesannetega, nagu pildil olevate objektide arvu loendamine ja keerukamate ülesannetega, nagu lähima objekti, näiteks käekotti, fotol olemise kauguse ennustamine. Zero-shot CLIPSeqil on ülesandespetsiifiliste mudelitega võrreldes raskusi ka väga peeneteraline klassifikatsioon, näiteks kahe ebamäärase kujunduse, kleidivariantide või stiilide klassifikatsiooni eristamine. CLIPSeqil on endiselt halb üldistus piltidele, mida tema koolituseelses andmekogumis ei käsitleta. Lõpuks on täheldatud, et CLIP-i nullkaadri klassifikaatorid võivad olla sõnastuse või fraasi suhtes tundlikud ning nõuavad mõnikord katse-eksituse meetodit, et hästi toimida. CLIPSeqi selgroo jaoks lülitumine teisele semantilisele segmenteerimismudelile, näiteks BEiT, mille ADE62.8K andmestikus on 20% miIOU, võib tulemusi potentsiaalselt parandada.
On leitud, et Stable Diffusiooni abil loodud moekujundused piirduvad rõivaste osadega, mis on vähemalt sama etteaimatavalt paigutatud moemudelite laiemasse konteksti ja mis vastavad kõrgetasemelistele kinnitustele, mida võiks mõistlikult eeldada hüperskaala andmestik, mida kasutatakse eelkoolitatud mudeli treenimisel. Generatiivse AI tegelik piir on see, et mudel toodab lõpuks täiesti väljamõeldud ja vähem autentseid väljundeid. Seetõttu ei pruugi tehisintellekti loodud moekujundused olla nii mitmekesised või ainulaadsed kui inimdisainerite loodud.
Järeldus
Generatiivne AI annab moesektorile võimaluse muuta oma tavasid paremate kasutajakogemuste ja kulutõhusate äristrateegiate kaudu. Selles postituses tutvustame, kuidas kasutada generatiivset tehisintellekti, et moeloojad ja tarbijad saaksid virtuaalse modelleerimise abil luua isikupärastatud moe stiile. Olemasolevate ja tulevaste Amazon SageMaker Kiirstardi mallide abil saavad kasutajad need täiustatud tehnikad kiiresti omaks võtta, ilma et oleks vaja põhjalikke tehnilisi teadmisi, säilitades samal ajal mitmekülgsuse ja vähendades kulusid.
See uuenduslik tehnoloogia pakub uusi võimalusi ettevõtetele ja professionaalidele, kes on seotud sisu loomisega erinevates tööstusharudes. Generatiivne AI pakub palju võimalusi sisu täiustamiseks ja loomiseks. Proovige oma Kiirstardi mallide hiljutisi täiendusi SageMakeri stuudio, nagu teksti-pildiks muutmise ja täiustatud võimalused.
Täname Li Zhangi, Karl Albertseni, Kristine Pearce'i, Nikhil Velpanurit, Aaron Sengstackenit, James Wu'd ja Neelam Koshiyat nende toetuse ja väärtusliku panuse eest, mis aitasid seda tööd parandada.
Autoritest
Alfred Shen on AWSi AI/ML vanemspetsialist. Ta on töötanud Silicon Valleys, töötades tehnilistel ja juhtivatel kohtadel erinevates sektorites, sealhulgas tervishoid, rahandus ja kõrgtehnoloogia. Ta on pühendunud rakendusliku AI/ML-uurija, kes keskendub CV-le, NLP-le ja multimodaalsusele. Tema tööd on tutvustatud sellistes väljaannetes nagu EMNLP, ICLR ja Public Health.
Dr Vivek Madan on Amazon SageMaker JumpStart meeskonna rakendusteadlane. Ta sai doktorikraadi Illinoisi ülikoolist Urbana-Champaignis ja oli Georgia Techi järeldoktor. Ta on aktiivne masinõppe ja algoritmide kujundamise uurija ning avaldanud ettekandeid EMNLP, ICLR, COLT, FOCS ja SODA konverentsidel
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- Võimalik
- MEIST
- ABSTRACT
- kiirendama
- kiirendi
- juurdepääs
- tarvikud
- saavutatud
- konto
- täpne
- Saavutada
- üle
- aktiivne
- kohandama
- lisatud
- Täiendavad lisad
- Lisaks
- täiendused
- aadressid
- Vastuvõtmine
- edasijõudnud
- nõuanne
- pärast
- AI
- AI / ML
- algoritm
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- Lubades
- võimaldab
- juba
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- summa
- ja
- Kehakate
- ilmuma
- rakendused
- rakendatud
- kehtima
- umbes
- arhitektuur
- Arhiiv
- PIIRKOND
- argumendid
- kunstlik
- tehisintellekti
- ASA
- Abi
- tähelepanu
- heli-
- Autentne
- saadaval
- AWS
- Selgroog
- Bandwidth
- Pank
- baas
- põhineb
- sest
- hakkas
- kasulik
- kasu
- Parem
- vahel
- siduda
- siduv
- Blokeerima
- Blogi
- Õitsema
- sinine
- uhke
- keha
- julge
- karbid
- Ere
- heledam
- eelarve
- äri
- Business Applications
- arvutab
- kutsutud
- võimeid
- võimeline
- juhtudel
- juhuslik
- kesk-
- väljakutseid
- vastuolu
- muutma
- Vali
- klass
- klassifikatsioon
- lähedal
- sulgemine
- Riided
- Cloud
- kood
- koguma
- värv
- Veerud
- Tulema
- mugavus
- ühine
- Ettevõtted
- võrdlema
- võrreldes
- võrdlus
- Täiendus
- keeruline
- komponendid
- arvutamine
- Arvutama
- arvutustehnika
- mõiste
- konfiguratsioon
- seotud
- pidev
- Tarbijad
- Konteinerid
- sisaldab
- sisu
- Sisu genereerimine
- kontekst
- jätkama
- kontrollida
- kontrolli
- muutma
- Vastav
- Maksma
- võiks
- kaetud
- looma
- loodud
- loomine
- loomine
- kriitiline
- otsustav
- Praegu
- tava
- klient
- Kliendi rahulolu
- Kliendid
- kohandatav
- kohandamine
- andmed
- vähenema
- pühendunud
- sügav
- sügav õpe
- nõudmisi
- Denim
- juurutada
- lähetatud
- kasutuselevõtu
- kirjeldama
- kirjeldatud
- Disain
- kavandatud
- disainerid
- disainilahendused
- soovitud
- üksikasjalik
- detailid
- määrates kindlaks
- erinevus
- erinev
- Diffusion
- otse
- arutatud
- Ekraan
- Näidikute
- jagatud
- jaotus
- mitu
- domeen
- lae alla
- kümneid
- vastupidavus
- ajal
- e-kaubandus
- kergesti
- Tõhus
- tõhus
- elemendid
- kõrvaldades
- omaks võtma
- võimaldama
- võimaldab
- võimaldades
- hõlmab
- Lõpp-punkt
- Inseneride
- suurendamine
- tagama
- meelelahutus
- varustatud
- viga
- Hinnanguliselt
- õhtu
- lõpuks
- arenema
- näide
- näited
- olemasolevate
- ootama
- kulud
- kallis
- Kogemused
- teadmised
- eksport
- väljavõte
- kangas
- kangad
- nägu
- nägu
- mood
- kiiremini
- tunnusjoon
- naine
- vähe
- truudus
- väli
- fail
- Faile
- täitma
- lõplik
- Lõpuks
- rahastama
- leidma
- lõpp
- esimene
- sobima
- loit
- paindlik
- voog
- Keskenduma
- Järgneb
- Järel
- järgneb
- formaalne
- endine
- edasi
- avastatud
- sageli
- Alates
- täis
- täielikult
- funktsioon
- funktsioonid
- edasi
- Pealegi
- tulevik
- rõivad
- tekitama
- loodud
- põlvkond
- generatiivne
- Generatiivne AI
- Georgia
- saama
- antud
- GPU
- GPU
- GRAAFIKA
- hall
- suurem
- suuresti
- võre
- käepide
- Käsitsemine
- rakmed
- võttes
- Tervis
- tervishoid
- kõrgus
- aitas
- siin
- Suur
- kõrgetasemeline
- kõrgresolutsiooniga
- rohkem
- rõhutab
- kõrgelt
- omamine
- omab
- võõrustaja
- Kuidas
- Kuidas
- aga
- HTML
- HTTPS
- Keskus
- Kallistav Nägu
- inim-
- idee
- tunnus
- identifitseerima
- Illinois
- pilt
- pildid
- kujuteldav
- täitmine
- import
- oluline
- parandama
- paranenud
- in
- sügavuti minev
- sisaldama
- hõlmab
- Kaasa arvatud
- Sissetulev
- kaasates
- kasvanud
- tööstusharudes
- tööstus
- info
- esialgne
- uuenduslik
- sisend
- paigaldama
- Näiteks
- selle asemel
- Intelligentsus
- sisse
- seotud
- IT
- kirjed
- töö
- Json
- Võti
- silt
- Labels
- keel
- suur
- algatama
- kiht
- juhtivate
- Õppida
- õppinud
- õppimine
- Pikkus
- taset
- Li
- Raamatukogu
- LIMIT
- piiratud
- nimekiri
- koormus
- laadimine
- Pikk
- kaotus
- Langetamine
- tulus
- masin
- masinõpe
- põhiline
- säilitada
- säilitamine
- tegema
- Tegemine
- juhtimisega
- Tootjad
- kaardistus
- Turg
- Turundus
- mask
- Maskid
- Vastama
- materjalid
- matplotlib
- vahendid
- Meedia
- Mälu
- meetod
- meetodid
- puuduvad
- ML
- mudel
- mudelid
- rohkem
- kõige
- liikuma
- liikumine
- mitmekordne
- nimi
- Natural
- Lähedal
- vajalik
- Vajadus
- vajav
- vajadustele
- võrk
- Neutraalne
- Uus
- nlp
- sõlmed
- normaalne
- romaan
- number
- Nvidia
- objekt
- esemeid
- takistusi
- pakkuma
- pakkumine
- Pakkumised
- ONE
- Ainulaadne
- Internetis
- Võimalus
- optimeeritud
- valik
- et
- originaal
- OS
- enda
- paaristatud
- sidumine
- dokumendid
- parameetrid
- eriline
- osad
- Vastu võetud
- tee
- Muster
- mustrid
- täitma
- jõudlus
- täidab
- Õigused
- isiklik
- Isikupärastamine
- personaliseerida
- Isikliku
- Fotorealistlik
- Pildid
- toru
- torujuhe
- inimesele
- Platon
- Platoni andmete intelligentsus
- PlatoData
- palun
- vaene
- populaarne
- tekitab
- positsioone
- post
- potentsiaal
- potentsiaalselt
- Praktiline
- tava
- tavad
- ennustada
- prognoosimine
- ennustus
- Predictor
- eelistusi
- eelistatud
- kingitusi
- vältida
- varem
- Eelnev
- protsess
- tootma
- Produktsioon
- Toodet
- spetsialistid
- korralik
- anda
- annab
- avalik
- rahvatervise
- väljaanded
- avalikult
- avaldatud
- puhtalt
- eesmärk
- eesmärkidel
- Python
- pütorch
- kvaliteet
- kiiresti
- valik
- reaalne
- reaalajas
- realistlik
- saama
- hiljuti
- soovitused
- Red
- vähendama
- Lühendatud
- viited
- viitab
- asjakohasus
- Teatatud
- esindab
- taotleda
- Taotlusi
- nõudma
- Vajab
- uurija
- resolutsioon
- vastus
- kaasa
- tulemuseks
- Tulemused
- jaemüük
- tagasipöördumine
- Tulu
- RGB
- Roll
- ligikaudu
- jooks
- jooksmine
- salveitegija
- müük
- rahulolu
- Säästa
- Hoiused
- Skaala
- teadlane
- SDK
- Teine
- sekundit
- sektor
- Sektorid
- segmentatsioon
- segmendid
- valides
- vanem
- tundlik
- teenib
- teenus
- istung
- komplekt
- mitu
- terav
- Shell
- Lühike
- peaks
- presentatsioon
- külg
- Räni
- Silicon Valley
- sarnane
- lihtne
- lihtsalt
- üheaegselt
- ühekordne
- SUURUS
- väike
- So
- sotsiaalmeedia
- Sotsiaalse meedia
- lahendus
- mõned
- midagi
- Ruum
- eriline
- spetsialist
- spetsialiseeritud
- konkreetse
- määratletud
- stabiilne
- standard
- riik
- Samm
- Sammud
- Veel
- ladustamine
- ladustatud
- strateegiad
- tugevus
- Stripes
- Võitleb
- stiil
- teema
- edu
- selline
- suvi
- Supermodell
- järelevalve
- Toetab
- kohandatud
- Võtma
- võtab
- sihtmärk
- Ülesanne
- ülesanded
- meeskond
- tech
- Tehniline
- tehnikat
- Tehnoloogia
- malle
- tingimused
- Teslal
- .
- Piirkond
- maailm
- oma
- seetõttu
- kolm
- Läbi
- seotud
- et
- töövahendid
- tõrvik
- TÄIELIKULT
- traditsiooniline
- liiklus
- Rong
- koolitatud
- koolitus
- üle
- Muutma
- trafod
- reisima
- Trends
- kohtuprotsess
- triljon
- all
- ainulaadne
- Ülikool
- laetud
- Kasutus
- kasutama
- Kasutaja
- Kasutajad
- tavaliselt
- ära kasutama
- kasutatud
- kasutab ära
- kasutades
- puhkus
- org
- väärtuslik
- väärtus
- sort
- eri
- suur
- kontrollima
- versioon
- Video
- virtuaalne
- W
- kuidas
- mis
- kuigi
- valge
- WHO
- lai
- Lai valik
- laiem
- laius
- will
- jooksul
- ilma
- sõnastus
- Töö
- töötas
- maailm
- Maailmapank
- oleks
- pakkima
- wu
- X
- sa
- Sinu
- sephyrnet
- Tõmblukk