Industria modei este o afaceri foarte profitabile, cu o valoare estimată la 2.1 trilioane de dolari până în 2025, după cum a raportat Banca Mondială. Acest domeniu cuprinde o gamă diversă de segmente, cum ar fi crearea, fabricarea, distribuția și vânzarea de îmbrăcăminte, pantofi și accesorii. Industria este într-o stare constantă de schimbare, cu noi stiluri și tendințe care apar frecvent. Prin urmare, companiile de modă trebuie să fie flexibile și capabile să se adapteze pentru a-și menține relevanța și a obține succesul pe piață.
Inteligența artificială generativă (AI) se referă la algoritmi de inteligență artificială proiectați pentru a genera conținut nou, cum ar fi imagini, text, audio sau video, pe baza unui set de modele și date învățate. Poate fi utilizat pentru a genera modele de îmbrăcăminte noi și inovatoare, oferind în același timp personalizare îmbunătățită și eficiență a costurilor. Instrumentele de proiectare bazate pe inteligență artificială pot crea modele unice de îmbrăcăminte pe baza parametrilor de intrare sau a stilurilor specificate de clienții potențiali prin mesaje text. În plus, AI poate fi utilizată pentru a personaliza design-urile în funcție de preferințele clientului. De exemplu, un client ar putea alege dintr-o varietate de culori, modele și stiluri, iar modelele AI ar genera un design unic pe baza acestor selecții. Adoptarea AI în industria modei este în prezent împiedicată de diverse provocări tehnice, de fezabilitate și de cost. Cu toate acestea, aceste obstacole pot fi acum atenuate prin utilizarea unor metode AI generative avansate, cum ar fi segmentarea semantică a imaginilor bazată pe limbaj natural și difuzarea pentru stilul virtual.
Această postare de blog detaliază implementarea stilului online generativ de modă asistată de inteligență artificială, folosind mesaje text. Inginerii de învățare automată (ML) pot ajusta și implementa modele de text în segmentare semantică și în pictură bazate pe CLIPSeq și Stable Diffusion pre-antrenați cu Amazon SageMaker. Acest lucru le permite creatorilor de modă și consumatorilor să creeze imagini virtuale de modelare pe baza solicitărilor de text și să aleagă stilurile lor preferate.
Soluții AI generative
CLIPSeg model a introdus o nouă metodă de segmentare semantică a imaginii, care vă permite să identificați cu ușurință articolele de modă din imagini folosind comenzi simple de text. Utilizează un prompt text sau un codificator de imagine pentru a codifica informațiile textuale și vizuale într-un spațiu de încorporare multimodal, permițând o segmentare foarte precisă a obiectelor țintă pe baza promptului. Modelul a fost antrenat pe o cantitate mare de date cu tehnici precum transferul zero-shot, supravegherea limbajului natural și învățarea contrastiva auto-supravegheată multimodală. Aceasta înseamnă că puteți utiliza un model pre-antrenat care este disponibil public de către Timo Lüddecke et al fără a fi nevoie de personalizare.
CLIPSeg este un model care utilizează un codificator de text și imagine pentru a codifica informațiile textuale și vizuale într-un spațiu de încorporare multimodal pentru a realiza segmentarea semantică pe baza unui prompt text. Arhitectura CLIPSeg constă din două componente principale: un codificator de text și un codificator de imagine. Codificatorul de text preia promptul de text și îl convertește într-o încorporare de text, în timp ce codificatorul de imagine preia imaginea și o convertește într-o încorporare a imaginii. Ambele înglobări sunt apoi concatenate și trecute printr-un strat complet conectat pentru a produce masca de segmentare finală.
În ceea ce privește fluxul de date, modelul este antrenat pe un set de date de imagini și prompturi de text corespunzătoare, unde solicitările de text descriu obiectul țintă care urmează să fie segmentat. În timpul procesului de antrenament, codificatorul de text și codificatorul de imagine sunt optimizate pentru a învăța maparea dintre solicitările de text și imagine pentru a produce masca de segmentare finală. Odată ce modelul este antrenat, acesta poate prelua o nouă solicitare de text și o imagine și poate produce o mască de segmentare pentru obiectul descris în prompt.
Stable Diffusion este o tehnică care permite designerilor de modă să genereze imagini extrem de realiste în cantități mari, bazate exclusiv pe descrieri de text, fără a fi nevoie de personalizare lungă și costisitoare. Acest lucru este benefic pentru designerii care doresc să creeze rapid stiluri la modă și pentru producătorii care doresc să producă produse personalizate la un cost mai mic.
Următoarea diagramă ilustrează arhitectura Stable Diffusion și fluxul de date.
În comparație cu metodele tradiționale bazate pe GAN, Stable Diffusion este o IA generativă care este capabilă să producă imagini mai stabile și foto-realiste, care se potrivesc cu distribuția imaginii originale. Modelul poate fi condiționat de o gamă largă de scopuri, cum ar fi text pentru generarea text-to-image, casete de delimitare pentru generarea layout-to-image, imagini mascate pentru pictură și imagini cu rezoluție mai mică pentru super-rezoluție. Modelele de difuzie au o gamă largă de aplicații de afaceri, iar utilizările lor practice continuă să evolueze. Aceste modele vor beneficia foarte mult de diverse industrii, cum ar fi moda, comerțul cu amănuntul și comerțul electronic, divertismentul, rețelele sociale, marketingul și multe altele.
Generați măști din solicitările text utilizând CLIPSeg
Stylingul online Vogue este un serviciu care le permite clienților să primească sfaturi și recomandări în materie de modă de la AI printr-o platformă online. Face acest lucru selectând îmbrăcăminte și accesorii care completează aspectul clientului, se potrivesc bugetului și se potrivesc cu preferințele personale. Prin utilizarea AI generativă, sarcinile pot fi îndeplinite cu mai multă ușurință, ceea ce duce la creșterea satisfacției clienților și la reducerea cheltuielilor.
Soluția poate fi implementată pe un Amazon Elastic Compute Cloud (EC2) p3.2xlarge instanță, care are un singur GPU V100 cu memorie de 16G. Au fost folosite mai multe tehnici pentru a îmbunătăți performanța și a reduce utilizarea memoriei GPU, rezultând o generare mai rapidă a imaginii. Acestea includ utilizarea fp16 și permiterea unei atenții eficiente a memoriei pentru a reduce lățimea de bandă în blocul de atenție.
Am început prin a pune utilizatorul să încarce o imagine de modă, urmat de descărcarea și extragerea modelului pre-antrenat din CLIPSeq. Imaginea este apoi normalizată și redimensionată pentru a se conforma cu limita de dimensiune. Stable Diffusion V2 acceptă rezoluția imaginii de până la 768×768, în timp ce V1 acceptă până la 512×512. Vezi următorul cod:
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)
Cu ajutorul modelului CLIPSeq pre-antrenat, putem extrage obiectul țintă dintr-o imagine folosind un prompt text. Acest lucru se face prin introducerea promptului de text în codificatorul de text, care îl convertește într-o încorporare de text. Imaginea este apoi introdusă în codificatorul de imagine, care o transformă într-o încorporare a imaginii. Ambele înglobări sunt apoi concatenate și trecute printr-un strat complet conectat pentru a produce masca de segmentare finală, care evidențiază obiectul țintă descris în promptul text. Vezi următorul cod:
# 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]))
Cu imaginea precisă a măștii din segmentarea semantică, putem folosi in-painting pentru înlocuirea conținutului. In-painting este procesul de utilizare a unui model generativ antrenat pentru a completa părțile lipsă ale unei imagini. Folosind imaginea măștii pentru a identifica obiectul țintă, putem aplica tehnica în pictură pentru a înlocui obiectul țintă cu altceva, cum ar fi un alt articol vestimentar sau accesoriu. Modelul Stable Diffusion V2 poate fi folosit în acest scop, deoarece este capabil să producă imagini foto-realiste de înaltă rezoluție, care se potrivesc cu distribuția imaginii originale.
Reglaj fin de la modele pre-antrenate folosind DreamBooth
Reglarea fină este un proces de învățare profundă în care un model pre-antrenat este instruit în continuare pentru o nouă sarcină folosind o cantitate mică de date etichetate. Mai degrabă decât formarea de la zero, ideea este să luăm o rețea care a fost deja antrenată pe un set de date mare pentru o sarcină similară și să o antrenăm în continuare pe un nou set de date pentru a o face mai specializată pentru acea sarcină anume.
Creatorii de modă pot folosi, de asemenea, un model de pictură Stable Diffusion, reglat fin, bazat pe subiect, pentru a genera o anumită clasă de stil, cum ar fi fuste lungi casual pentru doamne. Pentru a face acest lucru, primul pas este să furnizați un set de imagini eșantion în domeniul țintă, aproximativ aproximativ 1 zeci, cu etichete de text adecvate, cum ar fi cele de mai jos, și să le legați la un identificator unic care face referire la design, stil, culoare și material. . Eticheta de pe text joacă un rol critic în determinarea rezultatelor modelului reglat fin. Există mai multe moduri de a îmbunătăți reglarea fină prin eficient inginerie promptă și iată câteva exemple.
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.
Utilizarea unui set mic de imagini pentru reglarea fină a Stable Diffusion poate duce la supraadaptarea modelului. DreamBooth[5] abordează acest lucru utilizând o pierdere de conservare anterioară specifică clasei. Învață să lege un identificator unic cu acel subiect specific în doi pași. În primul rând, ajustează modelul cu rezoluție scăzută cu imaginile de intrare asociate cu un prompt text care conține un identificator unic și numele clasei din care face parte subiectul, cum ar fi „fustă”. În practică, aceasta înseamnă ca imaginile modelului se potrivesc și imaginile eșantionate din antecedentul vizual al clasei neajustate simultan. Aceste imagini care se păstrează anterior sunt eșantionate și etichetate folosind promptul „substantiv de clasă”. În al doilea rând, va ajusta componentele de super-înaltă rezoluție prin împerecherea imaginilor de rezoluție joasă și de înaltă rezoluție din setul de imagini de intrare, ceea ce permite ieșirilor modelului reglat fin să mențină fidelitatea la detaliile mici.
Reglarea fină a unui codificator de text pre-antrenat în pictură cu UNet pentru imagini cu rezoluție 512×512 necesită aproximativ 22 GB de VRAM sau mai mare pentru o rezoluție de 768×768. În mod ideal, eșantioanele de reglare fină ar trebui redimensionate pentru a se potrivi cu rezoluția dorită a imaginii de ieșire pentru a evita degradarea performanței. Codificatorul de text produce detalii mai precise, cum ar fi fețele modelului. O opțiune este să rulați pe o singură instanță AWS EC2 g5.2xlarge, acum disponibilă în opt regiuni sau utilizați Hugging Face Accelerate pentru a rula codul reglat fin într-o configurație distribuită. Pentru economii suplimentare de memorie, puteți alege o versiune fragmentată a atenției care efectuează calculul în pași în loc de toți odată, prin simpla modificare a scriptului de antrenament al DreamBooth train_dreambooth_inpaint.py pentru a adăuga funcția pipeline enable_attention_slicing().
Accelerate este o bibliotecă care permite rularea unui cod de reglare fină în orice configurație distribuită. Hugging Face și Amazon au fost introduse Containere de învățare profundă (DLC) Hugging Face pentru a scala sarcinile de reglare fină pe mai multe GPU-uri și noduri. Puteți configura configurația de lansare pentru Amazon SageMaker cu o singură comandă 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')
Pentru a lansa o lucrare de reglare fină, verificați configurația Accelerate folosind CLI și furnizați argumentele de antrenament necesare, apoi utilizați următorul script shell.
# 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
Modelul de pictură ajustat permite generarea de imagini mai specifice pentru clasa de modă descrisă de promptul text. Deoarece a fost ajustat cu un set de imagini de înaltă rezoluție și mesaje text, modelul poate genera imagini care sunt mai adaptate clasei, cum ar fi rochiile de seară formale. Este important de reținut că, cu cât clasa este mai specifică și cu cât sunt mai multe date utilizate pentru reglare fină, cu atât imaginile de ieșire vor fi mai precise și mai realiste.
%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
Implementați un model de pictură ajustat folosind SageMaker pentru inferență
Cu Amazon SageMaker, puteți implementa modelele Stable Diffusion ajustate pentru inferențe în timp real. Pentru a încărca modelul în Serviciul Amazon Simple Storage (S3) pentru implementare, trebuie creat un tarball de arhivă model.tar.gz. Asigurați-vă că arhiva include direct toate fișierele, nu un folder care le conține. Dosarul de arhivă de reglare fină DreamBooth ar trebui să apară după cum urmează după eliminarea punctelor de control intermitente:
Pasul inițial în crearea handler-ului nostru de inferență implică crearea fișierului inference.py. Acest fișier servește ca hub central pentru încărcarea modelului și gestionarea tuturor solicitărilor de inferență primite. După ce modelul este încărcat, funcția model_fn() este executată. Când apare necesitatea de a efectua inferențe, este apelată funcția predict_fn(). În plus, funcția decode_base64() este utilizată pentru a converti un șir JSON, conținut în sarcina utilă, într-un tip de date de imagine 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}
Pentru a încărca modelul într-o găleată Amazon S3, este necesar să creați mai întâi o arhivă model.tar.gz. Este esențial să rețineți că arhiva ar trebui să fie formată din fișiere direct și nu dintr-un folder care le deține. De exemplu, fișierul ar trebui să apară după cum urmează:
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")
După ce arhiva modelului este încărcată, o putem implementa pe Amazon SageMaker folosind HuggingfaceModel pentru inferențe în timp real. Puteți găzdui punctul final folosind o instanță g4dn.xlarge, care este echipată cu un singur GPU NVIDIA Tesla T4 cu 16 GB de VRAM. Autoscaling poate fi activat pentru a face față diferitelor cereri de trafic. Pentru informații despre încorporarea autoscalingului în punctul final, consultați În producție: scalare automată a transformatoarelor Hugging Face cu 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() returnează un obiect HuggingFacePredictor care poate fi folosit pentru a solicita inferențe. Punctul final necesită un JSON cu o cheie de intrări, care reprezintă promptul de intrare pentru ca modelul să genereze o imagine. De asemenea, puteți controla generarea cu parametri precum num_inference_steps, guidance_scale și „num_images_per_prompt”. Funcția predictor.predict() returnează un JSON cu o cheie „generated_images”, care deține cele patru imagini generate ca șiruri de caractere codificate base64. Am adăugat două funcții de ajutor, decode_base64_to_image și display_images, pentru a decoda răspunsul și, respectiv, pentru a afișa imaginile. Primul decodifică șirul codificat base64 și returnează un obiect PIL.Image, iar cel din urmă afișează o listă de obiecte PIL.Image. Vezi următorul cod:
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
Să mergem mai departe cu sarcina în pictură. S-a estimat că va dura aproximativ 15 secunde pentru a produce trei imagini, având în vedere imaginea de intrare și masca creată folosind CLIPSeg cu promptul de text discutat anterior. Vezi următorul cod:
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)
Imaginile pictate pot fi afișate împreună cu imaginea originală pentru comparație vizuală. În plus, procesul de in-vopsire poate fi constrâns folosind diferiți parametri, cum ar fi guidance_scale, care controlează puterea imaginii de ghidare în timpul procesului de în-vopsire. Acest lucru permite utilizatorului să ajusteze imaginea de ieșire și să obțină rezultatele dorite.
Amazon SageMaker Jumpstart oferă șabloane Stable Diffusion pentru diverse modele, inclusiv text-to-image și upscaling. Pentru mai multe informații, vă rugăm să consultați SageMaker JumpStart oferă acum modele Stable Diffusion și Bloom. Șabloane suplimentare Jumpstart vor fi disponibile în viitorul apropiat.
Limitări
Deși CLIPSeg are de obicei rezultate bune la recunoașterea obiectelor comune, se luptă cu sarcini mai abstracte sau sistematice, cum ar fi numărarea numărului de obiecte dintr-o imagine și cu sarcini mai complexe, cum ar fi prezicerea cât de aproape este cel mai apropiat obiect, o astfel de geantă de mână într-o fotografie. Zero-shot CLIPSeq se luptă, de asemenea, în comparație cu modelele specifice sarcinilor privind clasificarea cu granulație foarte fină, cum ar fi diferența dintre două modele vagi, variante de rochie sau clasificarea stilului. De asemenea, CLIPSeq are încă o generalizare slabă la imaginile care nu sunt acoperite în setul de date de pre-antrenare. În cele din urmă, s-a observat că clasificatorii zero-shot de la CLIP pot fi sensibili la formulare sau formulare și uneori necesită o „inginerie promptă” de încercare și eroare pentru a funcționa bine. Trecerea la un model de segmentare semantică diferit pentru coloana vertebrală CLIPSeq, cum ar fi BEiT, care se mândrește cu un mIOU de 62.8% pe setul de date ADE20K, ar putea îmbunătăți rezultatele.
S-a constatat că modelele de modă generate prin utilizarea Stable Diffusion sunt limitate la părți ale articolelor de îmbrăcăminte care sunt cel puțin la fel de previzibil plasate în contextul mai larg al modelelor de modă și care se conformează înglobărilor de nivel înalt pe care v-ați putea aștepta în mod rezonabil să le găsiți în un set de date hiperscale utilizat în timpul antrenării modelului pre-antrenat. Adevărata limită a AI generativă este că modelul va produce în cele din urmă rezultate total imaginare și mai puțin autentice. Prin urmare, este posibil ca modelele de modă generate de AI să nu fie la fel de variate sau unice precum cele create de designeri umani.
Concluzie
AI generativ oferă sectorului modei o oportunitate de a-și transforma practicile prin experiențe mai bune pentru utilizatori și strategii de afaceri eficiente din punct de vedere al costurilor. În această postare, prezentăm cum să valorificăm AI generativă pentru a le permite creatorilor de modă și consumatorilor să creeze stiluri de modă personalizate folosind modelarea virtuală. Cu asistența șabloanelor Amazon SageMaker Jumpstart existente și a celor viitoare, utilizatorii pot îmbrățișa rapid aceste tehnici avansate, fără a avea nevoie de expertiză tehnică aprofundată, totul păstrând versatilitatea și reducerea cheltuielilor.
Această tehnologie inovatoare oferă noi șanse companiilor și profesioniștilor implicați în generarea de conținut, din diverse industrii. AI generativ oferă capacități ample pentru îmbunătățirea și crearea de conținut. Încercați adăugările recente la șabloanele Jumpstart din dvs SageMaker Studio, cum ar fi reglarea fină a textului în imagine și capacitățile de upscale.
Am dori să mulțumim Li Zhang, Karl Albertsen, Kristine Pearce, Nikhil Velpanur, Aaron Sengstacken, James Wu și Neelam Koshiya pentru sprijinul și contribuțiile valoroase care au ajutat la îmbunătățirea acestei lucrări.
Despre Autori
Alfred Shen este Senior AI/ML Specialist la AWS. A lucrat în Silicon Valley, deținând funcții tehnice și manageriale în diverse sectoare, inclusiv în domeniul sănătății, finanțe și high-tech. Este un cercetător dedicat aplicat AI/ML, concentrându-se pe CV, NLP și multimodalitate. Munca sa a fost prezentată în publicații precum EMNLP, ICLR și Public Health.
Dr. Vivek Madan este un om de știință aplicat în echipa Amazon SageMaker JumpStart. Și-a luat doctoratul la Universitatea din Illinois la Urbana-Champaign și a fost cercetător post-doctoral la Georgia Tech. Este un cercetător activ în învățarea automată și proiectarea algoritmilor și a publicat lucrări în cadrul conferințelor EMNLP, ICLR, COLT, FOCS și SODA.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- Capabil
- Despre Noi
- REZUMAT
- accelera
- accelerator
- acces
- accesorii
- realizat
- Cont
- precis
- Obține
- peste
- activ
- adapta
- adăugat
- Suplimentar
- În plus,
- adăugări
- adrese
- Adoptare
- avansat
- sfat
- După
- AI
- AI / ML
- Algoritmul
- algoritmi
- TOATE
- Permiterea
- permite
- deja
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- sumă
- și
- haine
- apărea
- aplicatii
- aplicat
- Aplică
- aproximativ
- arhitectură
- arhivă
- ZONĂ
- argumente
- artificial
- inteligență artificială
- CA
- Asistență
- atenţie
- audio
- Autentic
- disponibil
- AWS
- Șira spinării
- Lățime de bandă
- Bancă
- de bază
- bazat
- deoarece
- început
- benefică
- beneficia
- Mai bine
- între
- lega
- legare
- Bloca
- Blog
- Floare
- Albastru
- se mândreşte cu
- corp
- Dulapuri
- Luminos
- mai luminos
- buget
- afaceri
- Aplicații pentru afaceri
- calculează
- denumit
- capacități
- capabil
- cazuri
- ocazional
- central
- provocări
- șansele
- Schimbare
- Alege
- clasă
- clasificare
- Închide
- închidere
- Îmbrăcăminte
- Cloud
- cod
- colecta
- culoare
- Coloane
- cum
- confort
- Comun
- Companii
- comparaţie
- comparație
- comparație
- Completa
- complex
- componente
- calcul
- Calcula
- tehnica de calcul
- concept
- Configuraţie
- legat
- constant
- Consumatorii
- Containere
- conține
- conţinut
- Generare de conținut
- context
- continua
- Control
- controale
- converti
- Corespunzător
- A costat
- ar putea
- acoperit
- crea
- a creat
- Crearea
- creaţie
- critic
- crucial
- În prezent
- personalizat
- client
- Satisfactia clientului
- clienţii care
- personalizabil
- personalizare
- de date
- scădea
- dedicat
- adânc
- învățare profundă
- cererile
- dril
- implementa
- dislocate
- desfășurarea
- descrie
- descris
- Amenajări
- proiectat
- Designerii
- modele
- dorit
- detaliat
- detalii
- determinarea
- diferenţă
- diferit
- difuziune
- direct
- discutat
- Afişa
- afișează
- distribuite
- distribuire
- diferit
- domeniu
- Descarca
- zeci
- durabilitate
- în timpul
- e-commerce
- cu ușurință
- Eficace
- eficient
- element
- eliminarea
- îmbrăţişare
- permite
- permite
- permițând
- , acoperă
- Punct final
- inginerii
- consolidarea
- asigura
- Divertisment
- echipat
- eroare
- estimativ
- seară
- în cele din urmă
- evolua
- exemplu
- exemple
- existent
- aștepta
- cheltuieli
- scump
- Experiențe
- expertiză
- exporturile
- extrage
- țesătură
- țesături
- Față
- fete
- Modă
- mai repede
- Caracteristică
- Femeie
- puțini
- fidelitate
- camp
- Fișier
- Fişiere
- umple
- final
- În cele din urmă
- finanţa
- Găsi
- capăt
- First
- potrivi
- semnal luminos
- flexibil
- debit
- Concentra
- a urmat
- următor
- urmează
- formal
- Fost
- Înainte
- găsit
- frecvent
- din
- Complet
- complet
- funcţie
- funcții
- mai mult
- În plus
- viitor
- articole de îmbrăcăminte
- genera
- generată
- generaţie
- generativ
- AI generativă
- Georgia
- obține
- dat
- GPU
- unități de procesare grafică
- Grafic
- gri
- mai mare
- foarte mult
- Grilă
- manipula
- Manipularea
- valorifica
- având în
- Sănătate
- de asistență medicală
- înălțime
- a ajutat
- aici
- Înalt
- la nivel înalt
- Rezoluție înaltă
- superior
- highlights-uri
- extrem de
- deținere
- deține
- gazdă
- Cum
- Cum Pentru a
- Totuși
- HTML
- HTTPS
- Butuc
- Față îmbrățișată
- uman
- idee
- identificator
- identifica
- Illinois
- imagine
- imagini
- imaginar
- implementarea
- import
- important
- îmbunătăţi
- îmbunătățit
- in
- în profunzime
- include
- include
- Inclusiv
- Intrare
- care încorporează
- a crescut
- industrii
- industrie
- informații
- inițială
- inovatoare
- intrare
- instala
- instanță
- in schimb
- Inteligență
- introdus
- implicat
- IT
- articole
- Loc de munca
- JSON
- Cheie
- Etichetă
- etichete
- limbă
- mare
- lansa
- strat
- conducere
- AFLAȚI
- învățat
- învăţare
- Lungime
- nivelurile de
- Li
- Bibliotecă
- LIMITĂ
- Limitat
- Listă
- încărca
- încărcare
- Lung
- de pe
- coborârea
- lucrativ
- maşină
- masina de învățare
- Principal
- menține
- Mentine
- face
- Efectuarea
- de conducere
- Producătorii
- cartografiere
- Piață
- Marketing
- masca
- Măști
- Meci
- Materiale
- matplotlib
- mijloace
- Mass-media
- Memorie
- metodă
- Metode
- dispărut
- ML
- model
- Modele
- mai mult
- cele mai multe
- muta
- mişcare
- multiplu
- nume
- Natural
- În apropiere
- necesar
- Nevoie
- au nevoie
- nevoilor
- reţea
- Neutru
- Nou
- nlp
- noduri
- normală.
- roman
- număr
- Nvidia
- obiect
- obiecte
- obstacole
- oferi
- oferind
- promoții
- ONE
- Nu mai este altul ca el
- on-line
- Oportunitate
- optimizate
- Opțiune
- comandă
- original
- OS
- propriu
- împerecheat
- împerechere
- lucrări
- parametrii
- special
- piese
- Trecut
- cale
- Model
- modele
- Efectua
- performanță
- efectuează
- permisiuni
- personal
- personalizare
- personaliza
- Personalizat
- Fotorealist
- poze
- ţeavă
- conducte
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- "vă rog"
- sărac
- Popular
- ridică
- poziţii
- Post
- potenţial
- potenţial
- Practic
- practică
- practicile
- prezice
- estimarea
- prezicere
- Predictor
- preferinţele
- preferat
- cadouri
- împiedica
- în prealabil
- anterior
- proces
- produce
- producere
- Produse
- profesioniști
- adecvat
- furniza
- furnizează
- public
- sănătate publică
- Publicații
- public
- publicat
- pur
- scop
- scopuri
- Piton
- pirtorh
- calitate
- repede
- gamă
- real
- în timp real
- realist
- a primi
- recent
- Recomandări
- Roșu
- reduce
- Redus
- referințe
- se referă
- relevanţa
- Raportat
- reprezintă
- solicita
- cereri de
- necesita
- Necesită
- cercetător
- Rezoluţie
- răspuns
- rezultat
- rezultând
- REZULTATE
- cu amănuntul
- reveni
- Returnează
- RGB
- Rol
- aproximativ
- Alerga
- funcţionare
- sagemaker
- de vânzări
- satisfacție
- Economisiți
- Economie
- Scară
- Om de stiinta
- sdk
- Al doilea
- secunde
- sector
- sectoare
- segmentarea
- segmente
- selectarea
- senior
- sensibil
- servește
- serviciu
- sesiune
- set
- câteva
- ascuţit
- Coajă
- Pantaloni scurți
- să
- prezenta
- parte
- Siliciu
- Silicon Valley
- asemănător
- simplu
- pur şi simplu
- simultan
- singur
- Mărimea
- mic
- So
- Social
- social media
- soluţie
- unele
- ceva
- Spaţiu
- special
- specialist
- de specialitate
- specific
- specificată
- stabil
- standard
- Stat
- Pas
- paşi
- Încă
- depozitare
- stocate
- strategii
- rezistenţă
- dungi
- luptele
- stil
- subiect
- succes
- astfel de
- de vară
- Super model
- supraveghere
- Sprijină
- adaptate
- Lua
- ia
- Ţintă
- Sarcină
- sarcini
- echipă
- tech
- Tehnic
- tehnici de
- Tehnologia
- şabloane
- termeni
- Tesla
- Zona
- lumea
- lor
- prin urmare
- trei
- Prin
- legat
- la
- Unelte
- lanternă
- INTRU TOTUL
- tradiţional
- trafic
- Tren
- dresat
- Pregătire
- transfer
- Transforma
- transformatoare
- călătorie
- Tendinţe
- proces
- Trilion
- în
- unic
- universitate
- încărcat
- Folosire
- utilizare
- Utilizator
- utilizatorii
- obișnuit
- folosi
- utilizate
- utilizează
- Utilizand
- vacanţă
- Vale
- Valoros
- valoare
- varietate
- diverse
- Fixă
- verifica
- versiune
- Video
- Virtual
- W
- modalități de
- care
- în timp ce
- alb
- OMS
- larg
- Gamă largă
- mai larg
- lățime
- voi
- în
- fără
- formulare
- Apartamente
- a lucrat
- lume
- Banca Mondială
- ar
- încadra
- wu
- X
- Tu
- Ta
- zephyrnet
- Zip