A divatipar a rendkívül jövedelmező üzletA Világbank jelentése szerint 2.1-re 2025 billió dollárra becsülik az értéket. Ez a terület a szegmensek széles skáláját öleli fel, mint például a ruházati cikkek, cipők és kiegészítők létrehozása, gyártása, forgalmazása és értékesítése. Az iparág folyamatos változásban van, gyakran jelennek meg új stílusok és trendek. Ezért a divatcégeknek rugalmasnak és alkalmazkodóképesnek kell lenniük, hogy megőrizzék relevanciájukat és sikereket érjenek el a piacon.
A generatív mesterséges intelligencia (AI) olyan mesterséges intelligencia-algoritmusokra vonatkozik, amelyek új tartalmat, például képeket, szöveget, hangot vagy videót generálnak tanult minták és adatok alapján. Használható új és innovatív ruházati tervek létrehozására, miközben jobb személyre szabottságot és költséghatékonyságot kínál. A mesterséges intelligencia által vezérelt tervezőeszközök egyedi ruházati terveket hozhatnak létre a potenciális ügyfelek által szöveges promptokon keresztül megadott bemeneti paraméterek vagy stílusok alapján. Ezenkívül az AI felhasználható a tervek személyre szabására az ügyfelek igényei szerint. Például az ügyfél többféle szín, minta és stílus közül választhat, és az AI-modellek ezek alapján egyedi tervezést generálnak. A mesterséges intelligencia divatiparban való elterjedését jelenleg különféle technikai, megvalósíthatósági és költséges kihívások hátráltatják. Ezek az akadályok azonban már csökkenthetők olyan fejlett generatív AI-módszerek alkalmazásával, mint például a természetes nyelven alapuló kép szemantikai szegmentálása és diffúziója a virtuális stílushoz.
Ez a blogbejegyzés a generatív mesterséges intelligencia által támogatott online divatstílus megvalósítását részletezi szöveges promptok segítségével. A gépi tanulás (ML) mérnökei az előre betanított CLIPSeq és a Stable Diffusion segítségével finomhangolhatják és bevezethetik a szövegből szemantikai szegmentálást és a festési modelleket. Amazon SageMaker. Ez lehetővé teszi a divattervezők és a fogyasztók számára, hogy szöveges felszólítások alapján virtuális modellezési képeket hozzanak létre, és válassza ki a kívánt stílust.
Generatív AI-megoldások
A KLIPSeg A modell egy újszerű képszemantikus szegmentálási módszert vezetett be, amely lehetővé teszi, hogy egyszerű szöveges parancsok segítségével könnyen azonosítsa a divatcikkeket a képeken. Szöveges promptot vagy képkódolót használ a szöveges és vizuális információk multimodális beágyazási térbe történő kódolásához, lehetővé téve a célobjektumok rendkívül pontos szegmentálását a prompt alapján. A modellt hatalmas mennyiségű adatra képezték ki olyan technikákkal, mint a nullapontos átvitel, a természetes nyelvi felügyelet és a multimodális, önfelügyelt kontrasztív tanulás. Ez azt jelenti, hogy használhat egy előre betanított modellt, amely nyilvánosan elérhető a Timo Lüddecke és társai testreszabás nélkül.
A CLIPSeg egy olyan modell, amely szöveges és képi kódolót használ a szöveges és vizuális információk multimodális beágyazási térbe történő kódolására, hogy szöveges prompt alapján szemantikai szegmentálást hajtson végre. A CLIPSeg architektúrája két fő összetevőből áll: egy szövegkódolóból és egy képkódolóból. A szövegkódoló fogadja a szöveges promptot, és szövegbeágyazássá alakítja át, míg a képkódoló beveszi a képet, és képbeágyazássá alakítja. Ezután mindkét beágyazást összefűzik, és egy teljesen összekapcsolt rétegen vezetik át a végső szegmentációs maszk létrehozásához.
Az adatáramlás szempontjából a modell képből és megfelelő szöveges promptokból álló adathalmazra van tanítva, ahol a szöveges promptok a szegmentálandó célobjektumot írják le. A betanítási folyamat során a szövegkódoló és a képkódoló úgy van optimalizálva, hogy megtanulja a szöveges promptok és a kép közötti leképezést a végső szegmentációs maszk létrehozásához. Amint a modell betanításra került, be tud fogadni egy új szöveges promptot és képet, és létrehozhat egy szegmentációs maszkot a promptban leírt objektumhoz.
A Stable Diffusion egy olyan technika, amely lehetővé teszi a divattervezők számára, hogy nagy mennyiségben valósághű képeket hozzanak létre, pusztán szöveges leírások alapján anélkül, hogy hosszadalmas és költséges testreszabásra lenne szükség. Ez előnyös azoknak a tervezőknek, akik gyorsan szeretnének divatos stílusokat létrehozni, és azoknak a gyártóknak, akik személyre szabott termékeket szeretnének alacsonyabb költséggel előállítani.
A következő diagram a Stable Diffusion architektúrát és az adatáramlást mutatja be.
A hagyományos GAN-alapú módszerekhez képest a Stable Diffusion egy generatív mesterséges intelligencia, amely stabilabb és fotórealisztikusabb képeket képes előállítani, amelyek megfelelnek az eredeti kép eloszlásának. A modell sokféle célra kondicionálható, mint például a szöveg a szövegből képpé generáláshoz, a határoló dobozok az elrendezésből a kép létrehozásához, a maszkolt képek a festéshez és az alacsonyabb felbontású képek a szuperfelbontáshoz. A diffúziós modellek sokféle üzleti alkalmazással rendelkeznek, és gyakorlati felhasználásuk folyamatosan fejlődik. Ezek a modellek nagy hasznot hoznak a különféle iparágaknak, mint például a divat, a kiskereskedelem és az e-kereskedelem, a szórakoztatás, a közösségi média, a marketing és még sok más.
Maszkok létrehozása szöveges promptokból a CLIPSeg segítségével
A Vogue online styling egy olyan szolgáltatás, amely lehetővé teszi az ügyfelek számára, hogy divattanácsokat és ajánlásokat kapjanak az AI-tól egy online platformon keresztül. Ezt úgy éri el, hogy olyan ruhákat és kiegészítőket választ ki, amelyek kiegészítik a vásárló megjelenését, illeszkednek a pénztárcájába, és megfelelnek személyes preferenciáinak. A generatív mesterséges intelligencia használatával a feladatok könnyebben elvégezhetők, ami az ügyfelek elégedettségének növekedéséhez és a költségek csökkenéséhez vezet.
A megoldás telepíthető egy Amazon Elastic Compute Cloud (EC2) p3.2xlarge példány, amely egyetlen V100 GPU-val rendelkezik 16 G memóriával. Számos technikát alkalmaztak a teljesítmény javítására és a GPU memóriahasználat csökkentésére, ami gyorsabb képgenerálást eredményezett. Ezek közé tartozik az fp16 használata és a memória hatékony figyelemfelkeltése a figyelemblokk sávszélességének csökkentése érdekében.
Kezdtük azzal, hogy a felhasználó feltöltött egy divatképet, majd letöltöttük és kivontuk az előre betanított modellt a CLIPSeq-ből. A kép ezután normalizálódik, és átméretezi, hogy megfeleljen a méretkorlátnak. A Stable Diffusion V2 legfeljebb 768 × 768 képfelbontást, míg a V1 512 × 512 felbontást támogat. Lásd a következő kódot:
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)
Az előre betanított CLIPSeq modell használatával szöveges prompt segítségével ki tudjuk bontani a célobjektumot egy képből. Ez úgy történik, hogy beírja a szöveges promptot a szövegkódolóba, amely azt szövegbeágyazássá alakítja. A kép ezután bekerül a képkódolóba, amely képbeágyazássá alakítja. Ezután mindkét beágyazás összefűződik, és áthalad egy teljesen összekapcsolt rétegen, így létrejön a végső szegmentációs maszk, amely kiemeli a szöveges promptban leírt célobjektumot. Lásd a következő kódot:
# 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]))
A szemantikai szegmentálásból származó pontos maszkkép segítségével tartalomhelyettesítésre használhatjuk az in-painting-ot. Az in-painting az a folyamat, amikor egy képzett generatív modellt használnak a kép hiányzó részeinek kitöltésére. Ha a maszkképet használjuk a céltárgy azonosítására, akkor a befestési technikát alkalmazhatjuk a céltárgy valami mással, például más ruhadarabbal vagy kiegészítővel helyettesítésére. Erre a célra a Stable Diffusion V2 modell használható, mert az eredeti kép eloszlásához illeszkedő, nagy felbontású, fotórealisztikus képeket képes előállítani.
Finomhangolás előre betanított modellekből a DreamBooth segítségével
A finomhangolás egy olyan mélytanulási folyamat, amelyben egy előre betanított modellt tovább képeznek egy új feladatra kis mennyiségű címkézett adat felhasználásával. A nulláról való képzés helyett az az elképzelés, hogy egy hálózatot, amelyet már betanítottak egy nagy adathalmazra egy hasonló feladatra, és tovább képezzük egy új adatkészleten, hogy az adott feladatra jobban specializálódjon.
A divattervezők a téma által vezérelt, finomhangolt Stable Diffusion in-festménymodelleket is használhatják egy adott stílusosztály létrehozására, például hétköznapi hosszú szoknyák hölgyek számára. Ehhez az első lépés az, hogy a céltartományban egy mintaképet kell biztosítani, nagyjából 1 tucat, megfelelő szöveges címkékkel, például az alábbiakkal, és hozzá kell kötni őket egy egyedi azonosítóhoz, amely utal a dizájnra, stílusra, színre és anyagra. . A szövegen található címke kritikus szerepet játszik a finomhangolt modell eredményeinek meghatározásában. Számos módja van a finomhangolás fokozásának a hatékony segítségével gyors tervezés és itt van néhány példa.
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.
Kis képkészlet használata a stabil diffúzió finomhangolásához a modell túlillesztését eredményezheti. A DreamBooth[5] ezt osztályspecifikus előzetes megőrzési veszteséggel oldja meg. Két lépésben megtanulja egyedi azonosítót kötni az adott tárgyhoz. Először is finomhangolja az alacsony felbontású modellt, a bemeneti képekkel párosítva egy szöveges promptot, amely egyedi azonosítót és annak az osztálynak a nevét tartalmazza, amelyhez az alany tartozik, például „szoknya”. A gyakorlatban ez azt jelenti, hogy a modell egyidejűleg illeszkedik a képekhez, és a képeket a nem finomhangolt osztály vizuális priorából kell mintavételezni. Ezekből az előzetesen megőrzött képekből mintát vesznek, és az „osztály főnév” prompt segítségével címkézik. Másodszor, a bemeneti képkészletből alacsony és nagy felbontású képeket párosítva finomhangolja a szuper-nagy felbontású komponenseket, ami lehetővé teszi a finomhangolt modell kimenetei számára, hogy megőrizzék hűségüket az apró részletekhez.
Az 512×512-es felbontású képekhez előre betanított, beépített szövegkódoló UNet-tel történő finomhangolásához körülbelül 22 GB VRAM-ra van szükség a 768×768-as felbontáshoz. Ideális esetben a finomhangolási mintákat úgy kell átméretezni, hogy azok megfeleljenek a kívánt kimeneti képfelbontásnak, hogy elkerüljék a teljesítmény romlását. A szövegkódoló pontosabb részleteket, például modelllapokat állít elő. Az egyik lehetőség egyetlen AWS EC2 g5.2xlarge példányon való futtatás, amely már elérhető itt nyolc régió vagy használja a Hugging Face Acceleratet a finomhangolt kód futtatásához egy elosztott konfiguráción. További memória-megtakarítás érdekében kiválaszthatja a figyelem szeletelt változatát, amely lépésekben hajtja végre a számítást, nem pedig egyszerre, egyszerűen módosítva a DreamBooth tréningszkriptjét (train_dreambooth_inpaint.py) az enable_attention_slicing() folyamat hozzáadásához.
Az Accelerate egy olyan könyvtár, amely lehetővé teszi egyetlen finomhangoló kód futtatását bármely elosztott konfiguráción. Hugging Face és Amazon bemutatkozott Hugging Face Deep Learning Containers (DLC-k) a finomhangolási feladatok méretezéséhez több GPU-n és csomóponton keresztül. Az Amazon SageMaker indítási konfigurációját egyetlen CLI paranccsal konfigurálhatja.
# 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')
A finomhangolási feladat elindításához ellenőrizze az Accelerate konfigurációját a segítségével CLI és adja meg a szükséges képzési argumentumokat, majd használja a következő shell-szkriptet.
# 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
A finomhangolt befestési modell lehetővé teszi a szöveges prompt által leírt divatosztályhoz specifikusabb képek generálását. Mivel a modellt nagy felbontású képekkel és szöveges promptokkal finomították, a modell az osztályhoz jobban szabott képeket tud generálni, például hivatalos estélyi ruhákat. Fontos megjegyezni, hogy minél specifikusabb az osztály és minél több adatot használunk a finomhangoláshoz, annál pontosabbak és valósághűbbek lesznek a kimeneti képek.
%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
Helyezzen be egy finomhangolt festési modellt a SageMaker segítségével következtetések levonásához
Az Amazon SageMaker segítségével a finomhangolt Stable Diffusion modelleket valós idejű következtetések levonásához használhatja. A modell feltöltéséhez ide Amazon Simple Storage szolgáltatás (S3) a telepítéshez létre kell hozni egy model.tar.gz archív tarballt. Győződjön meg arról, hogy az archívum közvetlenül tartalmazza az összes fájlt, nem pedig az azokat tartalmazó mappát. A DreamBooth finomhangoló archívum mappájának a következőképpen kell megjelennie az időszakos ellenőrzőpontok kiküszöbölése után:
A következtetéskezelő létrehozásának első lépése az inference.py fájl létrehozása. Ez a fájl központi hubként szolgál a modell betöltéséhez és az összes bejövő következtetési kérés kezeléséhez. A modell betöltése után a model_fn() függvény végrehajtásra kerül. Amikor szükségessé válik a következtetés végrehajtása, a Predikt_fn() függvény meghívásra kerül. Ezenkívül a decode_base64() függvény a hasznos adatban lévő JSON-karakterláncot PIL-képadattípussá alakítja.
%%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}
A modell Amazon S3 tárolóba való feltöltéséhez először létre kell hozni egy model.tar.gz archívumot. Nagyon fontos megjegyezni, hogy az archívumnak közvetlenül a fájlokból kell állnia, nem pedig egy mappából, amely azokat tárolja. Például a fájlnak a következőképpen kell megjelennie:
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")
A modellarchívum feltöltése után a valós idejű következtetéshez a HuggingfaceModel segítségével telepíthetjük az Amazon SageMakeren. A végpontot egy g4dn.xlarge példány használatával tárolhatja, amely egyetlen NVIDIA Tesla T4 GPU-val és 16 GB VRAM-mal van felszerelve. Az automatikus skálázás aktiválható a változó forgalmi igények kezelésére. Az automatikus skálázás végpontba történő beépítésével kapcsolatos információkért lásd: Folyamatban lévő gyártás: Automatikusan skálázható átölelő arctranszformátorok az Amazon SageMakerrel.
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" )
A huggingface_model.deploy() metódus egy HuggingFacePredictor objektumot ad vissza, amely következtetés lekérésére használható. A végponthoz egy bemeneti kulccsal rendelkező JSON szükséges, amely a modell beviteli parancssorát jelöli a kép létrehozásához. A generálást olyan paraméterekkel is szabályozhatja, mint a num_inference_steps, guidance_scale és a „num_images_per_prompt”. A prediktor.predict() függvény egy JSON-t ad vissza egy „generated_images” kulccsal, amely a négy generált képet base64 kódolású karakterláncként tárolja. Két segédfüggvényt adtunk hozzá, a decode_base64_to_image és display_images a válasz dekódolásához és a képek megjelenítéséhez. Az előbbi dekódolja a base64 kódolású karakterláncot, és egy PIL.Image objektumot ad vissza, az utóbbi pedig a PIL.Image objektumok listáját jeleníti meg. Lásd a következő kódot:
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
Haladjunk tovább a festési feladattal. Becslések szerint három kép elkészítése nagyjából 15 másodpercet vesz igénybe, figyelembe véve a bemeneti képet és a CLIPSeg segítségével létrehozott maszkot a korábban tárgyalt szöveges prompt mellett. Lásd a következő kódot:
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)
A befestett képek az eredeti képpel együtt megjeleníthetők vizuális összehasonlítás céljából. Ezenkívül a befestési folyamat korlátozható különféle paraméterekkel, például a guidance_scale paraméterrel, amely szabályozza a vezetőkép erősségét a festési folyamat során. Ez lehetővé teszi a felhasználó számára a kimeneti kép beállítását és a kívánt eredmény elérését.
Amazon SageMaker Jumpstart Stabil diffúziós sablonokat kínál különféle modellekhez, beleértve a szöveg-kép és felskálázást. További információkért kérjük, tekintse meg a A SageMaker JumpStart mostantól stabil diffúziós és virágzási modelleket kínál. További Jumpstart sablonok lesznek elérhetőek a közeljövőben.
korlátozások
Bár a CLIPSeg rendszerint jól teljesít a gyakori tárgyak felismerésében, megküzd az elvontabb vagy szisztematikusabb feladatokkal, például a képen lévő objektumok számának megszámlálásával, valamint az összetettebb feladatokkal, mint például annak megjóslása, milyen közel van a legközelebbi tárgy, például egy kézitáska a fotón. A Zero-shot CLIPSeq a feladat-specifikus modellekhez képest is nehézségekbe ütközik a nagyon finom besorolást illetően, mint például a két homályos dizájn, az öltözködési változatok vagy a stílusbesorolás közötti különbségtétel. A CLIPSeq még mindig gyenge általánosítást mutat azokra a képekre, amelyek nem szerepelnek a képzés előtti adatkészletében. Végezetül megfigyelték, hogy a CLIP nullapontos osztályozói érzékenyek lehetnek a megfogalmazásra vagy a megfogalmazásra, és néha „próbák és hibák” „azonnali tervezést” igényelnek, hogy jól működjenek. Váltás egy másik szemantikai szegmentációs modellre a CLIPSeq gerincéhez, mint pl Legyen, amely 62.8%-os mIOU-val büszkélkedhet az ADE20K adatkészleten, potenciálisan javíthatja az eredményeket.
Megállapították, hogy a Stable Diffusion használatával létrehozott divattervek a ruhadarabok olyan részeire korlátozódnak, amelyek legalább olyan előre láthatóan helyezkednek el a divatmodellek tágabb kontextusában, és amelyek megfelelnek a magas szintű beágyazásoknak, amelyekről ésszerűen számítani lehet. az előre betanított modell betanítása során használt hiperskálás adatkészlet. A generatív mesterséges intelligencia valódi korlátja az, hogy a modell végül teljesen képzeletbeli és kevésbé hiteles kimeneteket produkál. Ezért az AI által generált divattervek nem feltétlenül olyan változatosak vagy egyediek, mint az emberi tervezők által alkotottak.
Következtetés
A generatív mesterséges intelligencia lehetőséget biztosít a divatszektornak, hogy a jobb felhasználói élmények és a költséghatékony üzleti stratégiák révén átalakítsa gyakorlatát. Ebben a bejegyzésben bemutatjuk, hogyan lehet kihasználni a generatív AI-t annak érdekében, hogy a divattervezők és a fogyasztók személyre szabott divatstílusokat alkossanak virtuális modellezés segítségével. A meglévő Amazon SageMaker Jumpstart sablonok és az elkövetkezendők segítségével a felhasználók gyorsan átvehetik ezeket a fejlett technikákat anélkül, hogy mélyreható műszaki szakértelemre lenne szükségük, miközben megőrzik a sokoldalúságot és csökkentik a költségeket.
Ez az innovatív technológia új lehetőségeket kínál a tartalomgenerálásban részt vevő cégek és szakemberek számára a különböző iparágakban. A generatív AI bőséges lehetőségeket biztosít a tartalom javításához és létrehozásához. Próbálja ki a Jumpstart sablonok legutóbbi kiegészítéseit SageMaker Stúdió, mint például a szöveg-képké alakítás és a feljavított képességek finomhangolása.
Szeretnénk köszönetet mondani Li Zhangnak, Karl Albertsennek, Kristine Pearce-nek, Nikhil Velpanurnak, Aaron Sengstackennek, James Wu-nak és Neelam Koshiyának a támogatásukért és az értékes hozzájárulásukért, amelyek elősegítették ezt a munkát.
A szerzőkről
Alfréd Shen az AWS vezető AI/ML specialistája. A Szilícium-völgyben dolgozott, műszaki és vezetői pozíciókat töltött be különböző ágazatokban, beleértve az egészségügyet, a pénzügyet és a csúcstechnológiát. Elkötelezett alkalmazott AI/ML-kutató, aki a CV-re, az NLP-re és a multimodalitásra koncentrál. Munkásságát olyan kiadványokban mutatták be, mint az EMNLP, az ICLR és a Public Health.
Dr. Vivek Madan az Amazon SageMaker JumpStart csapatának alkalmazott tudósa. PhD fokozatát az Illinoisi Egyetemen szerezte, az Urbana-Champaign-ben, és a Georgia Tech posztdoktori kutatója volt. Aktív kutatója a gépi tanulásnak és az algoritmustervezésnek, és publikált előadásokat EMNLP, ICLR, COLT, FOCS és SODA konferenciákon.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Aaron
- Képes
- Rólunk
- KIVONAT
- gyorsul
- gázpedál
- hozzáférés
- kiegészítők
- megvalósítható
- Fiók
- pontos
- Elérése
- át
- aktív
- alkalmazkodni
- hozzáadott
- További
- Ezen kívül
- kiegészítések
- címek
- Örökbefogadás
- fejlett
- tanács
- Után
- AI
- AI / ML
- algoritmus
- algoritmusok
- Minden termék
- lehetővé téve
- lehetővé teszi, hogy
- már
- amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- összeg
- és a
- felszerelés
- megjelenik
- alkalmazások
- alkalmazott
- alkalmaz
- körülbelül
- építészet
- Archív
- TERÜLET
- érvek
- mesterséges
- mesterséges intelligencia
- ASA
- Támogatás
- figyelem
- hang-
- Hiteles
- elérhető
- AWS
- Hátgerinc
- Sávszélesség
- Bank
- bázis
- alapján
- mert
- kezdődött
- előnyös
- haszon
- Jobb
- között
- kötődik
- kötés
- Blokk
- Blog
- Virágzik
- Kék
- dicsekszik
- test
- dobozok
- Fényes
- fényesebb
- költségvetés
- üzleti
- Üzleti alkalmazások
- kiszámítja
- hívott
- képességek
- képes
- esetek
- alkalmi
- központi
- kihívások
- esély
- változik
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- osztály
- besorolás
- közel
- bezárás
- Ruházat
- felhő
- kód
- gyűjt
- szín
- Oszlopok
- hogyan
- kényelem
- Közös
- Companies
- összehasonlítani
- képest
- összehasonlítás
- Kiegészítés
- bonyolult
- alkatrészek
- számítás
- Kiszámít
- számítástechnika
- koncepció
- Configuration
- összefüggő
- állandó
- Fogyasztók
- Konténerek
- tartalmaz
- tartalom
- Tartalomgenerálás
- kontextus
- folytatódik
- ellenőrzés
- ellenőrzések
- megtérít
- Megfelelő
- Költség
- tudott
- fedett
- teremt
- készítette
- létrehozása
- teremtés
- kritikai
- kritikus
- Jelenleg
- szokás
- vevő
- Vevői elégedettség
- Ügyfelek
- szabható
- testreszabás
- dátum
- csökkenés
- elszánt
- mély
- mély tanulás
- igények
- Farmeranyag
- telepíteni
- telepített
- bevetés
- leírni
- leírt
- Design
- tervezett
- tervezők
- tervek
- kívánatos
- részletes
- részletek
- meghatározó
- különbség
- különböző
- Diffusion
- közvetlenül
- tárgyalt
- kijelző
- kijelzők
- megosztott
- terjesztés
- számos
- domain
- letöltés
- tucat
- tartósság
- alatt
- e-commerce
- könnyen
- Hatékony
- hatékony
- elemek
- megszüntetése
- ölelés
- lehetővé
- lehetővé teszi
- lehetővé téve
- felöleli
- Endpoint
- Mérnökök
- fokozása
- biztosítására
- Szórakozás
- felszerelt
- hiba
- becsült
- este
- végül is
- fejlődik
- példa
- példák
- létező
- vár
- költségek
- drága
- Tapasztalatok
- szakvélemény
- export
- kivonat
- szövet
- szövet
- Arc
- arcok
- Divat
- gyorsabb
- Funkció
- női
- kevés
- hűség
- mező
- filé
- Fájlok
- kitöltése
- utolsó
- Végül
- finanszíroz
- Találjon
- végén
- vezetéknév
- megfelelő
- fellobbanás
- rugalmas
- áramlási
- Összpontosít
- követ
- következő
- következik
- hivatalos
- Korábbi
- Előre
- talált
- gyakran
- ból ből
- Tele
- teljesen
- funkció
- funkciók
- további
- Továbbá
- jövő
- ruhák
- generál
- generált
- generáció
- nemző
- Generatív AI
- Grúzia
- kap
- adott
- GPU
- GPU
- Grafikus
- szürke
- nagyobb
- nagymértékben
- Rács
- fogantyú
- Kezelés
- hám
- tekintettel
- Egészség
- egészségügyi
- magasság
- segített
- itt
- Magas
- magas szinten
- nagy felbontású
- <p></p>
- kiemeli
- nagyon
- holding
- tart
- vendéglátó
- Hogyan
- How To
- azonban
- HTML
- HTTPS
- Kerékagy
- HuggingFace
- emberi
- ötlet
- azonosító
- azonosítani
- Illinois
- kép
- képek
- képzeletbeli
- végrehajtás
- importál
- fontos
- javul
- javított
- in
- mélyreható
- tartalmaz
- magában foglalja a
- Beleértve
- Bejövő
- amely magában foglalja
- <p></p>
- iparágak
- ipar
- információ
- kezdetben
- újító
- bemenet
- telepíteni
- példa
- helyette
- Intelligencia
- Bevezetett
- részt
- IT
- tételek
- Munka
- json
- Kulcs
- Címke
- Címkék
- nyelv
- nagy
- indít
- réteg
- vezető
- TANUL
- tanult
- tanulás
- Hossz
- szintek
- Li
- könyvtár
- LIMIT
- Korlátozott
- Lista
- kiszámításának
- betöltés
- Hosszú
- le
- leeresztés
- jövedelmező
- gép
- gépi tanulás
- Fő
- fenntartása
- fenntartása
- csinál
- Gyártás
- vezetői
- Gyártók
- térképészet
- piacára
- Marketing
- maszk
- maszkok
- Mérkőzés
- anyagok
- matplotlib
- eszközök
- Média
- Memory design
- módszer
- mód
- hiányzó
- ML
- modell
- modellek
- több
- a legtöbb
- mozog
- mozgalom
- többszörös
- név
- Természetes
- Közel
- elengedhetetlen
- Szükség
- igénylő
- igények
- hálózat
- Semleges
- Új
- NLP
- csomópontok
- normális
- regény
- szám
- Nvidia
- tárgy
- objektumok
- akadályok
- ajánlat
- felajánlás
- Ajánlatok
- ONE
- Egyfajta
- online
- Alkalom
- optimalizált
- opció
- érdekében
- eredeti
- OS
- saját
- párosított
- párosítás
- papírok
- paraméterek
- különös
- alkatrészek
- Elmúlt
- ösvény
- Mintás
- minták
- Teljesít
- teljesítmény
- Előadja
- engedélyek
- személyes
- Testreszabás
- megszemélyesít
- Személyre
- fotorealisztikus
- képek
- cső
- csővezeték
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- kérem
- szegény
- Népszerű
- pózok
- pozíciók
- állás
- potenciális
- potenciálisan
- Gyakorlati
- gyakorlat
- gyakorlat
- előre
- előrejelzésére
- előrejelzés
- Predictor
- preferenciák
- előnyben részesített
- ajándékot
- megakadályozása
- korábban
- Előzetes
- folyamat
- gyárt
- Termelés
- Termékek
- tehetséges alkalmazottal
- megfelelő
- ad
- biztosít
- nyilvános
- közegészségügy
- kiadványok
- nyilvánosan
- közzétett
- tisztán
- cél
- célokra
- Piton
- pytorch
- világítás
- gyorsan
- hatótávolság
- igazi
- real-time
- valószerű
- kap
- új
- ajánlások
- Piros
- csökkenteni
- Csökkent
- referenciák
- kifejezés
- relevancia
- Számolt
- jelentése
- kérni
- kéri
- szükség
- megköveteli,
- kutató
- Felbontás
- válasz
- eredményez
- kapott
- Eredmények
- kiskereskedelem
- visszatérés
- Visszatér
- RGB
- Szerep
- nagyjából
- futás
- futás
- sagemaker
- értékesítés
- elégedettség
- Megtakarítás
- Megtakarítás
- Skála
- Tudós
- sdk
- Második
- másodperc
- szektor
- ágazatok
- szegmentáció
- szegmensek
- kiválasztása
- idősebb
- érzékeny
- szolgálja
- szolgáltatás
- ülés
- készlet
- számos
- éles
- Héj
- rövid
- kellene
- kirakat
- oldal
- Szilícium
- Silicon Valley
- hasonló
- Egyszerű
- egyszerűen
- egyszerre
- egyetlen
- Méret
- kicsi
- So
- Közösség
- Közösségi média
- megoldások
- néhány
- valami
- Hely
- speciális
- szakember
- specializált
- különleges
- meghatározott
- stabil
- standard
- Állami
- Lépés
- Lépései
- Még mindig
- tárolás
- memorizált
- stratégiák
- erő
- Stripes
- küzdelmek
- stílus
- tárgy
- siker
- ilyen
- nyár
- Supermodel
- felügyelet
- Támogatja
- szabott
- Vesz
- tart
- cél
- Feladat
- feladatok
- csapat
- tech
- Műszaki
- technikák
- Technológia
- sablonok
- feltételek
- Tesla
- A
- A terület
- a világ
- azok
- ebből adódóan
- három
- Keresztül
- Bekötött
- nak nek
- szerszámok
- fáklya
- TELJESEN
- hagyományos
- forgalom
- Vonat
- kiképzett
- Képzések
- átruházás
- Átalakítás
- transzformerek
- utazás
- Trends
- próba
- Trillió
- alatt
- egyedi
- egyetemi
- feltöltve
- Használat
- használ
- használó
- Felhasználók
- rendszerint
- hasznosít
- hasznosított
- hasznosítja
- kihasználva
- vakáció
- Völgy
- Értékes
- érték
- fajta
- különféle
- Hatalmas
- ellenőrzése
- változat
- videó
- Tényleges
- W
- módon
- ami
- míg
- fehér
- WHO
- széles
- Széleskörű
- szélesebb
- szélesség
- lesz
- belül
- nélkül
- megfogalmazás
- Munka
- dolgozott
- világ
- Világbank
- lenne
- betakar
- wu
- X
- te
- A te
- zephyrnet
- Postai irányítószám