Modna industrija je a zelo donosen posel, z ocenjeno vrednostjo 2.1 bilijona dolarjev do leta 2025, kot poroča Svetovna banka. To področje zajema raznoliko paleto segmentov, kot so ustvarjanje, proizvodnja, distribucija in prodaja oblačil, obutve in dodatkov. Industrija je v stalnih spremembah, pri čemer se pogosto pojavljajo novi slogi in trendi. Zato morajo biti modna podjetja fleksibilna in sposobna prilagajanja, da ohranijo svojo relevantnost in dosežejo uspeh na trgu.
Generativna umetna inteligenca (AI) se nanaša na algoritme AI, zasnovane za ustvarjanje nove vsebine, kot so slike, besedilo, zvok ali video, na podlagi niza naučenih vzorcev in podatkov. Uporablja se lahko za ustvarjanje novih in inovativnih modelov oblačil, hkrati pa ponuja izboljšano personalizacijo in stroškovno učinkovitost. Orodja za oblikovanje, ki jih poganja umetna inteligenca, lahko ustvarijo edinstvene modele oblačil na podlagi vhodnih parametrov ali stilov, ki jih določijo potencialne stranke prek besedilnih pozivov. Poleg tega je AI mogoče uporabiti za personalizacijo dizajnov po željah stranke. Stranka bi lahko na primer izbirala med različnimi barvami, vzorci in slogi, modeli z umetno inteligenco pa bi na podlagi teh izbir ustvarili edinstven dizajn. Sprejetje umetne inteligence v modni industriji trenutno ovirajo različni tehnični izzivi, izzivi izvedljivosti in stroški. Vendar je te ovire zdaj mogoče ublažiti z uporabo naprednih generativnih metod umetne inteligence, kot sta semantična segmentacija slik, ki temelji na naravnem jeziku, in difuzija za virtualno oblikovanje.
Ta objava v spletnem dnevniku podrobno opisuje izvajanje generativnega modnega spletnega oblikovanja s pomočjo umetne inteligence z uporabo besedilnih pozivov. Inženirji strojnega učenja (ML) lahko natančno prilagodijo in uvedejo modele za segmentacijo besedila v semantiko in slikanje, ki temeljijo na predhodno usposobljenih CLIPSeq in Stable Diffusion z Amazon SageMaker. To modnim oblikovalcem in potrošnikom omogoča, da ustvarijo virtualne modelne slike na podlagi besedilnih pozivov in izberejo želene sloge.
Generativne rešitve AI
O CLIPSeg Model je predstavil novo metodo semantične segmentacije slike, ki vam omogoča preprosto prepoznavanje modnih predmetov na slikah z uporabo preprostih besedilnih ukazov. Uporablja besedilni poziv ali slikovni kodirnik za kodiranje besedilnih in vizualnih informacij v multimodalni prostor za vdelavo, kar omogoča zelo natančno segmentacijo ciljnih objektov na podlagi poziva. Model je bil učen na ogromni količini podatkov s tehnikami, kot je prenos zero-shot, nadzor naravnega jezika in večmodalno samonadzorovano kontrastno učenje. To pomeni, da lahko uporabite predhodno usposobljen model, ki je javno dostopen do Timo Lüddecke et al brez potrebe po prilagajanju.
CLIPSeg je model, ki uporablja kodirnik besedila in slik za kodiranje besedilnih in vizualnih informacij v multimodalni vdelani prostor za izvedbo semantične segmentacije na podlagi besedilnega poziva. Arhitektura CLIPSeg je sestavljena iz dveh glavnih komponent: kodirnika besedila in kodirnika slik. Kodirnik besedila sprejme besedilni poziv in ga pretvori v vdelano besedilo, medtem ko kodirnik slike sprejme sliko in jo pretvori v vdelano sliko. Obe vdelavi se nato združita in preneseta skozi popolnoma povezano plast, da se ustvari končna segmentacijska maska.
Kar zadeva pretok podatkov, se model uri na naboru podatkov slik in ustreznih besedilnih pozivov, kjer besedilni pozivi opisujejo ciljni objekt, ki ga je treba segmentirati. Med postopkom usposabljanja sta kodirnik besedila in kodirnik slike optimizirana, da se naučita preslikave med besedilnimi pozivi in sliko za izdelavo končne segmentacijske maske. Ko je model usposobljen, lahko sprejme nov besedilni poziv in sliko ter ustvari masko segmentacije za predmet, opisan v pozivu.
Stabilna difuzija je tehnika, ki modnim oblikovalcem omogoča ustvarjanje zelo realističnih podob v velikih količinah izključno na podlagi besedilnih opisov brez potrebe po dolgotrajnem in dragem prilagajanju. To je koristno za oblikovalce, ki želijo hitro ustvariti modne sloge, in proizvajalce, ki želijo proizvajati prilagojene izdelke po nižji ceni.
Naslednji diagram ponazarja arhitekturo in pretok podatkov Stable Diffusion.
V primerjavi s tradicionalnimi metodami, ki temeljijo na GAN, je Stable Diffusion generativna umetna inteligenca, ki lahko ustvari bolj stabilne in fotorealistične slike, ki se ujemajo s porazdelitvijo izvirne slike. Model je mogoče pogojevati s širokim spektrom namenov, kot so besedilo za ustvarjanje besedila v sliko, omejevalni okvirji za ustvarjanje postavitve v sliko, maskirane slike za slikanje in slike z nižjo ločljivostjo za super ločljivost. Difuzijski modeli imajo široko paleto poslovnih aplikacij in njihova praktična uporaba se še naprej razvija. Ti modeli bodo zelo koristili različnim industrijam, kot so moda, trgovina na drobno in e-trgovina, zabava, družbeni mediji, trženje itd.
Ustvarite maske iz besedilnih pozivov z uporabo CLIPSeg
Vogue online styling je storitev, ki strankam omogoča prejemanje modnih nasvetov in priporočil AI prek spletne platforme. To naredi tako, da izbere oblačila in dodatke, ki dopolnjujejo videz stranke, ustrezajo njenemu proračunu in ustrezajo njenim osebnim željam. Z uporabo generativne umetne inteligence je mogoče naloge opraviti z večjo lahkoto, kar vodi do večjega zadovoljstva strank in nižjih stroškov.
Rešitev je mogoče namestiti na Amazon Elastic Compute Cloud (EC2) p3.2xlarge primerek, ki ima en sam V100 GPE s 16G pomnilnika. Uporabljenih je bilo več tehnik za izboljšanje zmogljivosti in zmanjšanje uporabe pomnilnika GPE, kar je povzročilo hitrejše ustvarjanje slik. Ti vključujejo uporabo fp16 in omogočanje pomnilniško učinkovite pozornosti za zmanjšanje pasovne širine v bloku pozornosti.
Začeli smo tako, da je uporabnik naložil modno sliko, čemur je sledil prenos in ekstrahiranje predhodno usposobljenega modela iz CLIPSeq. Slika se nato normalizira in spremeni velikost, da ustreza omejitvi velikosti. Stable Diffusion V2 podpira ločljivost slike do 768 × 768, medtem ko V1 podpira do 512 × 512. Oglejte si naslednjo kodo:
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)
Z uporabo predhodno usposobljenega modela CLIPSeq lahko izvlečemo ciljni objekt iz slike s pomočjo besedilnega poziva. To storite tako, da besedilni poziv vnesete v kodirnik besedila, ki ga pretvori v vdelano besedilo. Slika se nato vnese v kodirnik slik, ki jo pretvori v vdelano sliko. Obe vdelavi se nato združita in preneseta skozi popolnoma povezano plast, da se ustvari končna segmentacijska maska, ki poudari ciljni objekt, opisan v besedilnem pozivu. Oglejte si naslednjo kodo:
# 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]))
Z natančno sliko maske iz semantične segmentacije lahko uporabimo in-painting za zamenjavo vsebine. In-painting je postopek uporabe usposobljenega generativnega modela za zapolnitev manjkajočih delov slike. Z uporabo slike maske za identifikacijo ciljnega predmeta lahko uporabimo tehniko slikanja v slikanju, da ciljni predmet nadomestimo z nečim drugim, na primer z drugim kosom oblačila ali dodatkom. V ta namen je mogoče uporabiti model Stable Diffusion V2, saj je sposoben ustvariti fotorealistične slike visoke ločljivosti, ki se ujemajo s porazdelitvijo izvirne slike.
Natančna nastavitev iz vnaprej usposobljenih modelov z uporabo DreamBooth
Natančno uravnavanje je proces globokega učenja, pri katerem se predhodno usposobljen model dodatno usposobi za novo nalogo z uporabo majhne količine označenih podatkov. Namesto usposabljanja iz nič je ideja, da vzamemo omrežje, ki je že bilo usposobljeno na velikem naboru podatkov za podobno nalogo, in ga dodatno usposobimo na novem naboru podatkov, da postane bolj specializirano za to posebno nalogo.
Modni oblikovalci lahko uporabijo tudi predmetno usmerjen, natančno nastavljen model Stable Diffusion in-painting za ustvarjanje posebnega razreda sloga, kot so ležerna dolga krila za ženske. Če želite to narediti, je prvi korak zagotoviti nabor vzorčnih slik v ciljni domeni, približno 1 ducat, z ustreznimi besedilnimi oznakami, kot so naslednje, in jih povezati z edinstvenim identifikatorjem, ki se nanaša na dizajn, slog, barvo in tkanino. . Oznaka na besedilu ima ključno vlogo pri določanju rezultatov natančno nastavljenega modela. Obstaja več načinov za izboljšanje natančne nastavitve z učinkovitim hiter inženiring in tukaj je nekaj primerov.
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.
Uporaba majhnega nabora slik za natančno nastavitev stabilne difuzije lahko povzroči preveliko prilagajanje modela. DreamBooth[5] to obravnava z uporabo izgube pred ohranitvijo, specifične za razred. Nauči se povezati enolični identifikator s tem specifičnim subjektom v dveh korakih. Najprej natančno prilagodi model z nizko ločljivostjo z vhodnimi slikami, združenimi z besedilnim pozivom, ki vsebuje enolični identifikator in ime razreda, ki mu predmet pripada, na primer »krilo«. V praksi to pomeni, da se model prilega slikam in slikam, vzorčenim iz vizualnega predhodnika nenatančno nastavljenega razreda, hkrati. Te predhodno ohranjene slike so vzorčene in označene z uporabo poziva »samostalnik razreda«. Drugič, natančno bo nastavil komponente super visoke ločljivosti tako, da bo združil slike nizke in visoke ločljivosti iz nabora vhodnih slik, kar omogoča, da izhodi natančno nastavljenega modela ohranijo zvestobo majhnim podrobnostim.
Natančna nastavitev predhodno usposobljenega kodirnika besedila v slikanju z UNet za slike ločljivosti 512 × 512 zahteva približno 22 GB VRAM-a ali več za ločljivost 768 × 768. V idealnem primeru je treba velikost vzorcev za natančno nastavitev spremeniti tako, da se ujemajo z želeno ločljivostjo izhodne slike, da se izognete poslabšanju zmogljivosti. Kodirnik besedila ustvari natančnejše podrobnosti, kot so obrazi modela. Ena možnost je zagon na enem primerku AWS EC2 g5.2xlarge, ki je zdaj na voljo v osem regij ali uporabite Hugging Face Accelerate za zagon natančno nastavljene kode v porazdeljeni konfiguraciji. Za dodatne prihranke pomnilnika lahko izberete razrezano različico pozornosti, ki izvede izračun v korakih namesto naenkrat, tako da preprosto spremenite DreamBoothov skript za usposabljanje train_dreambooth_inpaint.py, da dodate funkcijo cevovoda enable_attention_slicing().
Accelerate je knjižnica, ki omogoča izvajanje ene kode za fino nastavitev v kateri koli porazdeljeni konfiguraciji. Predstavljena Hugging Face in Amazon Hugging Face Deep Learning Containers (DLC) za prilagajanje nalog natančnega prilagajanja na več grafičnih procesorjih in vozliščih. Konfiguracijo zagona za Amazon SageMaker lahko konfigurirate z enim ukazom CLI.
# From your aws account, install the sagemaker sdk for Accelerate
pip install "accelerate[sagemaker]" --upgrade # Configure the launch configuration for Amazon SageMaker accelerate config # List and verify Accelerate configuration
accelerate env # Make necessary modification of the training script as the following to save # output on S3, if needed
# - torch.save('/opt/ml/model`)
# + accelerator.save('/opt/ml/model')
Če želite zagnati opravilo natančne nastavitve, preverite konfiguracijo Accelerate z uporabo CLI in zagotovite potrebne argumente za usposabljanje, nato uporabite naslednji lupinski skript.
# 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
Natančno nastavljen model v slikanju omogoča ustvarjanje bolj specifičnih slik za modni razred, ki ga opisuje besedilni poziv. Ker je bil natančno nastavljen z nizom slik visoke ločljivosti in besedilnih pozivov, lahko model ustvari slike, ki so bolj prilagojene razredu, kot so formalne večerne obleke. Pomembno je upoštevati, da bolj ko je razred specifičen in več podatkov je uporabljenih za natančno nastavitev, bolj natančne in realistične bodo izhodne slike.
%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
Razmestite natančno nastavljen model v slikanju z uporabo SageMakerja za sklepanje
Z Amazon SageMaker lahko uvedete natančno nastavljene modele Stable Diffusion za sklepanje v realnem času. Za nalaganje modela v Storitev Amazon Simple Storage (S3) za razmestitev je treba ustvariti arhivski arhiv model.tar.gz. Zagotovite, da arhiv neposredno vključuje vse datoteke, ne mape, ki jih vsebuje. Arhivska mapa za fino nastavitev DreamBooth bi se morala po odstranitvi občasnih kontrolnih točk prikazati takole:
Začetni korak pri ustvarjanju našega upravljalnika sklepanja vključuje ustvarjanje datoteke inference.py. Ta datoteka služi kot osrednje središče za nalaganje modela in obravnavanje vseh dohodnih zahtev za sklepanje. Ko je model naložen, se izvede funkcija model_fn(). Ko se pojavi potreba po izvedbi sklepanja, se pokliče funkcija predict_fn(). Poleg tega se funkcija decode_base64() uporablja za pretvorbo niza JSON, vsebovanega v obremenitvi, v podatkovni tip slike PIL.
%%writefile code/inference.py
import base64
import torch
from PIL import Image
from io import BytesIO
from diffusers import EulerDiscreteScheduler, StableDiffusionInpaintPipeline def decode_base64(base64_string): decoded_string = BytesIO(base64.b64decode(base64_string)) img = Image.open(decoded_string) return img def model_fn(model_dir): # Load stable diffusion and move it to the GPU scheduler = EulerDiscreteScheduler.from_pretrained(model_dir, subfolder="scheduler") pipe = StableDiffusionInpaintPipeline.from_pretrained(model_dir, scheduler=scheduler, revision="fp16", torch_dtype=torch.float16) pipe = pipe.to("cuda") pipe.enable_xformers_memory_efficient_attention() #pipe.enable_attention_slicing() return pipe def predict_fn(data, pipe): # get prompt & parameters prompt = data.pop("inputs", data) # Require json string input. Inference to convert imge to string. input_img = data.pop("input_img", data) mask_img = data.pop("mask_img", data) # set valid HP for stable diffusion num_inference_steps = data.pop("num_inference_steps", 25) guidance_scale = data.pop("guidance_scale", 6.5) num_images_per_prompt = data.pop("num_images_per_prompt", 2) image_length = data.pop("image_length", 512) # run generation with parameters generated_images = pipe( prompt, image = decode_base64(input_img), mask_image = decode_base64(mask_img), num_inference_steps=num_inference_steps, guidance_scale=guidance_scale, num_images_per_prompt=num_images_per_prompt, height=image_length, width=image_length, #)["images"] # for Stabel Diffusion v1.x ).images # create response encoded_images = [] for image in generated_images: buffered = BytesIO() image.save(buffered, format="JPEG") encoded_images.append(base64.b64encode(buffered.getvalue()).decode()) return {"generated_images": encoded_images}
Če želite naložiti model v vedro Amazon S3, morate najprej ustvariti arhiv model.tar.gz. Bistveno je vedeti, da mora biti arhiv neposredno sestavljen iz datotek in ne iz mape, ki jih hrani. Na primer, datoteka bi morala izgledati takole:
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")
Ko je arhiv modela naložen, ga lahko uvedemo v Amazon SageMaker z uporabo HuggingfaceModel za sklepanje v realnem času. Končno točko lahko gostite z instanco g4dn.xlarge, ki je opremljena z enim grafičnim procesorjem NVIDIA Tesla T4 s 16 GB VRAM-a. Samodejno skaliranje je mogoče aktivirati za obvladovanje različnih prometnih zahtev. Za informacije o vključevanju samodejnega skaliranja v vašo končno točko glejte Začetek proizvodnje: transformatorji objemajočih se obrazov s samodejnim spreminjanjem z 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" )
Metoda huggingface_model.deploy() vrne objekt HuggingFacePredictor, ki se lahko uporabi za zahtevanje sklepanja. Končna točka zahteva JSON z vhodnim ključem, ki predstavlja poziv za vnos, da model ustvari sliko. Generiranje lahko nadzirate tudi s parametri, kot so num_inference_steps, guidance_scale in »num_images_per_prompt«. Funkcija predictor.predict() vrne JSON s ključem »generated_images«, ki vsebuje štiri ustvarjene slike kot nize, kodirane base64. Dodali smo dve pomožni funkciji, decode_base64_to_image in display_images, za dekodiranje odgovora oziroma prikaz slik. Prvi dekodira base64 kodiran niz in vrne objekt PIL.Image, drugi pa prikaže seznam objektov PIL.Image. Oglejte si naslednjo kodo:
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
Pojdimo naprej z nalogo slikanja. Ocenjeno je bilo, da bo izdelava treh slik trajala približno 15 sekund, glede na vhodno sliko in masko, ustvarjeno s CLIPSeg z besedilnim pozivom, o katerem smo govorili prej. Oglejte si naslednjo kodo:
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)
Naslikane slike je mogoče prikazati skupaj z izvirno sliko za vizualno primerjavo. Poleg tega je mogoče postopek slikanja med slikanjem omejiti z uporabo različnih parametrov, kot je guidance_scale, ki nadzoruje moč slike za vodenje med postopkom slikanja. To omogoča uporabniku, da prilagodi izhodno sliko in doseže želene rezultate.
Amazon SageMaker Jumpstart ponuja predloge Stable Diffusion za različne modele, vključno s pretvorbo besedila v sliko in povečanjem velikosti. Za več informacij glejte SageMaker JumpStart zdaj zagotavlja modele Stable Diffusion in Bloom. Dodatne predloge Jumpstart bodo na voljo v bližnji prihodnosti.
Omejitve
Čeprav se CLIPSeg običajno dobro obnese pri prepoznavanju običajnih predmetov, ima težave pri bolj abstraktnih ali sistematičnih nalogah, kot je štetje števila predmetov na sliki, in pri bolj zapletenih nalogah, kot je napovedovanje, kako blizu je najbližji predmet, kot je torbica na fotografiji. Zero-shot CLIPSeq ima tudi težave v primerjavi z modeli, specifičnimi za nalogo, pri zelo natančni klasifikaciji, kot je razločevanje med dvema nejasnima dizajnoma, različicama oblačenja ali klasifikacijo sloga. CLIPSeq še vedno slabo posplošuje slike, ki niso zajete v njegovem naboru podatkov pred usposabljanjem. Nazadnje je bilo ugotovljeno, da so lahko klasifikatorji CLIP zero-shot občutljivi na besedilo ali besedno zvezo in včasih za dobro delovanje zahtevajo "hitro inženirstvo" poskusov in napak. Preklop na drug semantični model segmentacije za hrbtenico CLIPSeq, kot je npr BEIT, ki se ponaša z 62.8 % mIOU na naboru podatkov ADE20K, bi lahko potencialno izboljšal rezultate.
Ugotovljeno je bilo, da so modni dizajni, ustvarjeni z uporabo stabilne difuzije, omejeni na dele oblačil, ki so vsaj tako predvidljivo umeščeni v širši kontekst modnih modelov in ki ustrezajo vdelavam na visoki ravni, za katere bi lahko razumno pričakovali, da jih boste našli v nabor podatkov v hipermerilu, ki se uporablja med usposabljanjem predhodno usposobljenega modela. Prava omejitev generativne umetne inteligence je, da bo model sčasoma proizvedel popolnoma namišljene in manj verodostojne rezultate. Zato modni modeli, ki jih ustvari AI, morda niso tako raznoliki ali edinstveni kot tisti, ki jih ustvarijo človeški oblikovalci.
zaključek
Generativna umetna inteligenca daje modnemu sektorju priložnost za preoblikovanje svojih praks z boljšimi uporabniškimi izkušnjami in stroškovno učinkovitimi poslovnimi strategijami. V tej objavi prikazujemo, kako izkoristiti generativno umetno inteligenco, da modnim oblikovalcem in potrošnikom omogočimo ustvarjanje prilagojenih modnih stilov z uporabo virtualnega modeliranja. S pomočjo obstoječih predlog Amazon SageMaker Jumpstart in tistih, ki prihajajo, lahko uporabniki hitro sprejmejo te napredne tehnike, ne da bi potrebovali poglobljeno tehnično znanje, pri tem pa ohranijo vsestranskost in znižajo stroške.
Ta inovativna tehnologija predstavlja nove priložnosti za podjetja in strokovnjake, ki se ukvarjajo z ustvarjanjem vsebin v različnih panogah. Generative AI ponuja široke zmogljivosti za izboljšanje in ustvarjanje vsebine. Preizkusite nedavne dodatke k predlogam Jumpstart v svojem Studio SageMaker, kot je natančna nastavitev besedila v sliko in zmožnosti višje velikosti.
Radi bi se zahvalili Li Zhangu, Karlu Albertsenu, Kristine Pearce, Nikhil Velpanur, Aaron Sengstacken, James Wu in Neelam Koshiya za njihovo podporo in dragocene prispevke, ki so pomagali izboljšati to delo.
O avtorjih
Alfred Shen je višji strokovnjak za AI/ML pri AWS. Delal je v Silicijevi dolini, kjer je opravljal tehnične in vodstvene položaje v različnih sektorjih, vključno z zdravstvenim varstvom, financami in visoko tehnologijo. Je predan raziskovalec umetne inteligence/ML, ki se osredotoča na CV, NLP in multimodalnost. Njegovo delo je bilo predstavljeno v publikacijah, kot so EMNLP, ICLR in Public Health.
dr. Vivek Madan je uporabni znanstvenik pri ekipi Amazon SageMaker JumpStart. Doktoriral je na Univerzi Illinois v Urbana-Champaign in bil podoktorski raziskovalec na Georgia Tech. Je aktiven raziskovalec strojnega učenja in oblikovanja algoritmov ter je objavil članke na konferencah EMNLP, ICLR, COLT, FOCS in SODA.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- Sposobna
- O meni
- POVZETEK
- pospeši
- plin
- dostop
- dodatna oprema
- doseženo
- Račun
- natančna
- Doseči
- čez
- aktivna
- prilagodijo
- dodano
- Dodatne
- Poleg tega
- dodatkov
- naslovi
- Sprejetje
- napredno
- nasveti
- po
- AI
- AI / ML
- algoritem
- algoritmi
- vsi
- Dovoli
- omogoča
- že
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- znesek
- in
- Oblačila
- zdi
- aplikacije
- uporabna
- Uporabi
- približno
- Arhitektura
- Arhiv
- OBMOČJE
- Argumenti
- umetni
- Umetna inteligenca
- ASA
- pomoč
- pozornosti
- audio
- Avtentična
- Na voljo
- AWS
- Hrbtenica
- pasovna širina
- Banka
- baza
- temeljijo
- ker
- začel
- koristno
- koristi
- Boljše
- med
- vežejo
- zavezujoče
- Block
- Blog
- Bloom
- Modra
- se ponaša
- telo
- krepko
- škatle
- Bright
- svetlejši
- proračun
- poslovni
- Poslovne aplikacije
- izračuna
- se imenuje
- Zmogljivosti
- lahko
- primeri
- priložnostne
- Osrednji
- izzivi
- kvote
- spremenite
- Izberite
- razred
- Razvrstitev
- Zapri
- Zaprtje
- Oblačila
- Cloud
- Koda
- zbiranje
- barva
- Stolpci
- kako
- udobje
- Skupno
- Podjetja
- primerjate
- v primerjavi z letom
- Primerjava
- Dopolnilo
- kompleksna
- deli
- računanje
- Izračunajte
- računalništvo
- Koncept
- konfiguracija
- povezane
- stalna
- Potrošniki
- Zabojniki
- Vsebuje
- vsebina
- Ustvarjanje vsebine
- ozadje
- naprej
- nadzor
- Nadzor
- pretvorbo
- Ustrezno
- strošek
- bi
- zajeti
- ustvarjajo
- ustvaril
- Ustvarjanje
- Oblikovanje
- kritično
- ključnega pomena
- Trenutno
- po meri
- stranka
- Zadovoljstvo kupcev
- Stranke, ki so
- prilagodljiv
- customization
- datum
- zmanjša
- namenjen
- globoko
- globoko učenje
- zahteve
- denim
- razporedi
- razporejeni
- uvajanje
- opisati
- opisano
- Oblikovanje
- zasnovan
- oblikovalci
- modeli
- želeno
- podrobno
- Podrobnosti
- določanje
- Razlika
- drugačen
- Difuzija
- neposredno
- razpravljali
- zaslon
- prikazovalniki
- porazdeljena
- distribucija
- razne
- domena
- prenesi
- desetine
- trajnost
- med
- e-trgovina
- enostavno
- Učinkovito
- učinkovite
- elementi
- odstranjevanje
- objem
- omogočajo
- omogoča
- omogočanje
- zajema
- Končna točka
- Inženirji
- izboljšanje
- zagotovitev
- Zabava
- opremljena
- Napaka
- ocenjeni
- Večer
- sčasoma
- razvijajo
- Primer
- Primeri
- obstoječih
- pričakovati
- Stroški
- drago
- Doživetja
- strokovno znanje
- izvoz
- ekstrakt
- tkanina
- tkanine
- Obraz
- obrazi
- Moda
- hitreje
- Feature
- ženska
- Nekaj
- zvestoba
- Polje
- file
- datoteke
- izpolnite
- končna
- končno
- financiranje
- Najdi
- konec
- prva
- fit
- flare
- prilagodljiv
- Pretok
- Osredotočite
- sledili
- po
- sledi
- formalno
- Nekdanji
- Naprej
- je pokazala,
- pogosto
- iz
- polno
- v celoti
- funkcija
- funkcije
- nadalje
- Poleg tega
- Prihodnost
- oblačila
- ustvarjajo
- ustvarila
- generacija
- generativno
- Generativna AI
- Georgia
- dobili
- dana
- GPU
- Grafične kartice
- Grafično
- siva
- več
- zelo
- Mreža
- ročaj
- Ravnanje
- plezalni pas
- ob
- Zdravje
- zdravstveno varstvo
- višina
- pomagal
- tukaj
- visoka
- na visoki ravni
- visoka ločljivost
- več
- Poudarki
- zelo
- gospodarstvo
- drži
- gostitelj
- Kako
- Kako
- Vendar
- HTML
- HTTPS
- Hub
- HuggingFace
- človeškega
- Ideja
- identifikator
- identificirati
- Illinois
- slika
- slike
- namišljena
- Izvajanje
- uvoz
- Pomembno
- izboljšanje
- izboljšalo
- in
- Poglobljena
- vključujejo
- vključuje
- Vključno
- Dohodni
- vključujoč
- povečal
- industrij
- Industrija
- Podatki
- začetna
- inovativne
- vhod
- namestitev
- primer
- Namesto
- Intelligence
- Uvedeno
- vključeni
- IT
- Izdelkov
- Job
- json
- Ključne
- label
- Oznake
- jezik
- velika
- kosilo
- plast
- vodi
- UČITE
- naučili
- učenje
- dolžina
- ravni
- Li
- Knjižnica
- LIMIT
- Limited
- Seznam
- obremenitev
- nalaganje
- Long
- off
- Spuščanje
- donosen
- stroj
- strojno učenje
- Glavne
- vzdrževati
- vzdrževanje
- Znamka
- Izdelava
- vodstvene
- Proizvajalci
- kartiranje
- Tržna
- Trženje
- Maska
- Maske
- Stave
- materiali
- matplotlib
- pomeni
- mediji
- Spomin
- Metoda
- Metode
- manjka
- ML
- Model
- modeli
- več
- Najbolj
- premikanje
- Gibanje
- več
- Ime
- naravna
- Blizu
- potrebno
- Nimate
- potrebujejo
- potrebe
- mreža
- Nevtralna
- Novo
- nlp
- vozlišča
- normalno
- roman
- Številka
- Nvidia
- predmet
- predmeti
- ovire
- ponudba
- ponujanje
- Ponudbe
- ONE
- Edinstven
- na spletu
- Priložnost
- optimizirana
- Možnost
- Da
- izvirno
- OS
- lastne
- seznanjeni
- seznanjanje
- članki
- parametri
- zlasti
- deli
- opravil
- pot
- Vzorec
- vzorci
- Izvedite
- performance
- opravlja
- Dovoljenja
- Osebni
- personalizacija
- prilagodite
- Prilagojene
- Fotorealistično
- slike
- cevi
- plinovod
- platforma
- platon
- Platonova podatkovna inteligenca
- PlatoData
- prosim
- slaba
- Popular
- pozira
- pozicije
- Prispevek
- potencial
- potencialno
- Praktično
- praksa
- vaje
- napovedati
- napovedovanje
- napoved
- Predictor
- nastavitve
- prednostno
- darila
- preprečiti
- prej
- Predhodna
- Postopek
- proizvodnjo
- proizvodnja
- Izdelki
- strokovnjaki
- pravilno
- zagotavljajo
- zagotavlja
- javnega
- javno zdravje
- publikacije
- javno
- objavljeno
- izključno
- Namen
- namene
- Python
- pitorha
- kakovost
- hitro
- območje
- pravo
- v realnem času
- realistična
- prejeti
- nedavno
- Priporočila
- Rdeča
- zmanjša
- Zmanjšana
- reference
- nanaša
- ustreznost
- Prijavljeno
- predstavlja
- zahteva
- zahteva
- zahteva
- zahteva
- raziskovalec
- Resolucija
- Odgovor
- povzroči
- rezultat
- Rezultati
- Trgovina na drobno
- vrnitev
- vrne
- RGB
- vloga
- grobo
- Run
- tek
- sagemaker
- prodaja
- Zadovoljstvo
- Shrani
- Prihranki
- Lestvica
- Znanstvenik
- SDK
- drugi
- sekund
- sektor
- Sektorji
- segmentacija
- segmentih
- izbiranje
- višji
- občutljiva
- služi
- Storitev
- Zasedanje
- nastavite
- več
- oster
- Shell
- Kratke Hlače
- shouldnt
- predstavitev
- strani
- Silicij
- Silicon Valley
- Podoben
- Enostavno
- preprosto
- hkrati
- sam
- Velikosti
- majhna
- So
- socialna
- družbeni mediji
- Rešitev
- nekaj
- Nekaj
- Vesolje
- posebna
- specialist
- specializirani
- specifična
- določeno
- stabilna
- standardna
- Država
- Korak
- Koraki
- Še vedno
- shranjevanje
- shranjeni
- strategije
- moč
- Stripes
- Borbe
- slog
- predmet
- uspeh
- taka
- poletje
- Supermodel
- nadzor
- Podpira
- prilagojene
- Bodite
- meni
- ciljna
- Naloga
- Naloge
- skupina
- tech
- tehnični
- tehnike
- Tehnologija
- predloge
- Pogoji
- Tesla
- O
- Območje
- svet
- njihove
- zato
- 3
- skozi
- vezana
- do
- orodja
- baklo
- POPOLNOMA
- tradicionalna
- Prometa
- Vlak
- usposobljeni
- usposabljanje
- prenos
- Transform
- transformatorji
- potovanja
- Trends
- sojenje
- Bilijona
- pod
- edinstven
- univerza
- naložili
- Uporaba
- uporaba
- uporabnik
- Uporabniki
- navadno
- uporabiti
- uporablja
- izkorišča
- Uporaben
- počitnice
- Valley
- dragocene
- vrednost
- raznolikost
- različnih
- Popravljeno
- preverjanje
- različica
- Video
- Virtual
- W
- načini
- ki
- medtem
- bele
- WHO
- široka
- Širok spekter
- širše
- širina
- bo
- v
- brez
- besedilo
- delo
- delal
- svet
- Svetovna banka
- bi
- zaviti
- wu
- X
- Vi
- Vaša rutina za
- zefirnet
- Zip