Індустрія моди - це а дуже прибутковий бізнес, оціночною вартістю 2.1 трильйона доларів США до 2025 року, за даними Світового банку. Ця сфера охоплює різноманітні сегменти, такі як створення, виробництво, розповсюдження та продаж одягу, взуття та аксесуарів. Індустрія постійно змінюється, часто з’являються нові стилі та тенденції. Тому модні компанії повинні бути гнучкими та здатними адаптуватися, щоб зберегти свою актуальність і досягти успіху на ринку.
Генеративний штучний інтелект (ШІ) відноситься до алгоритмів ШІ, призначених для створення нового вмісту, наприклад зображень, тексту, аудіо або відео, на основі набору вивчених шаблонів і даних. Його можна використовувати для створення нових та інноваційних дизайнів одягу, пропонуючи покращену персоналізацію та економічну ефективність. Інструменти дизайну, керовані ШІ, можуть створювати унікальні дизайни одягу на основі вхідних параметрів або стилів, указаних потенційними клієнтами за допомогою текстових підказок. Крім того, ШІ можна використовувати для персоналізації дизайну відповідно до вподобань клієнта. Наприклад, клієнт може вибрати з безлічі кольорів, візерунків і стилів, а моделі штучного інтелекту створять єдиний у своєму роді дизайн на основі цих виборів. Впровадженню штучного інтелекту в індустрії моди зараз заважають різні технічні, техніко-економічні та фінансові проблеми. Однак тепер ці перешкоди можна пом’якшити, використовуючи передові генеративні методи ШІ, такі як семантична сегментація зображень на основі природної мови та дифузія для віртуального стилю.
У цій публікації в блозі детально описано реалізацію генеративного онлайн-стилю моди за допомогою ШІ за допомогою текстових підказок. Інженери машинного навчання (ML) можуть точно налаштовувати та розгортати моделі сегментації тексту в семантику та малювання на основі попередньо навчених CLIPSeq і Stable Diffusion за допомогою Amazon SageMaker. Це дозволяє модельєрам і споживачам створювати віртуальні моделюючі зображення на основі текстових підказок і вибирати бажані стилі.
Генеративні рішення ШІ
Команда CLIPSeg model представила новий метод семантичної сегментації зображення, який дозволяє легко ідентифікувати модні речі на зображеннях за допомогою простих текстових команд. Він використовує текстову підказку або кодувальник зображень для кодування текстової та візуальної інформації в мультимодальний простір вбудовування, що забезпечує високоточну сегментацію цільових об’єктів на основі підказки. Модель була навчена на величезному обсязі даних із застосуванням таких методів, як нульова передача, контроль природної мови та мультимодальне самоконтрольоване порівняльне навчання. Це означає, що ви можете використовувати попередньо навчену модель, яка є загальнодоступною Тімо Люддеке та інші без необхідності налаштування.
CLIPSeg — це модель, яка використовує кодувальник тексту та зображень для кодування текстової та візуальної інформації в мультимодальний простір вбудовування для виконання семантичної сегментації на основі текстової підказки. Архітектура CLIPSeg складається з двох основних компонентів: кодувальника тексту та кодувальника зображень. Кодувальник тексту приймає текстову підказку та перетворює його на вбудований текст, тоді як кодер зображень приймає зображення та перетворює його на вбудоване зображення. Потім обидва вбудовування об’єднуються та пропускаються через повністю зв’язаний шар для створення остаточної маски сегментації.
З точки зору потоку даних, модель навчається на наборі даних із зображень і відповідних текстових підказок, де текстові підказки описують цільовий об’єкт, який потрібно сегментувати. Під час процесу навчання кодувальники тексту та кодувальники зображень оптимізовані, щоб вивчати зіставлення між текстовими підказками та зображенням для створення остаточної маски сегментації. Коли модель навчена, вона може прийняти нову текстову підказку та зображення та створити маску сегментації для об’єкта, описаного в підказці.
Stable Diffusion — це техніка, яка дозволяє модельєрам створювати дуже реалістичні зображення у великих кількостях виключно на основі текстових описів без необхідності тривалого та дорогого налаштування. Це вигідно для дизайнерів, які хочуть швидко створювати модні стилі, і виробників, які хочуть виготовляти персоналізовані продукти за нижчою ціною.
На наступній діаграмі показано архітектуру Stable Diffusion і потік даних.
Порівняно з традиційними методами на основі GAN, Stable Diffusion є генеративним штучним інтелектом, який здатний створювати більш стабільні та фотореалістичні зображення, які відповідають розподілу вихідного зображення. Модель може використовуватися для широкого діапазону цілей, таких як текст для створення тексту в зображення, обмежувальні рамки для створення макета в зображення, масковані зображення для малювання та зображення з нижчою роздільною здатністю для надроздільності. Дифузійні моделі мають широкий спектр бізнес-застосувань, і їхнє практичне використання продовжує розвиватися. Ці моделі принесуть велику користь різним галузям, таким як мода, роздрібна торгівля та електронна комерція, розваги, соціальні мережі, маркетинг тощо.
Створення масок із текстових підказок за допомогою CLIPSeg
Онлайн-стайлінг Vogue — це сервіс, який дає змогу клієнтам отримувати модні поради та рекомендації від ШІ через онлайн-платформу. Це робиться шляхом вибору одягу та аксесуарів, які доповнюють зовнішній вигляд клієнта, відповідають його бюджету та відповідають його особистим уподобанням. Завдяки використанню генеративного штучного інтелекту завдання можна виконувати з більшою легкістю, що призводить до підвищення рівня задоволеності клієнтів і зменшення витрат.
Рішення можна розгорнути на Amazon Elastic Compute Cloud (EC2) Екземпляр p3.2xlarge, який має один графічний процесор V100 із пам’яттю 16 ГБ. Було застосовано кілька методів для підвищення продуктивності та зменшення використання пам’яті GPU, що призвело до швидшого створення зображень. До них відноситься використання fp16 і ввімкнення ефективної пам’яті для зменшення смуги пропускання в блоці уваги.
Ми почали з того, що користувач завантажив модне зображення, а потім завантажив і витягнув попередньо навчену модель із CLIPSeq. Потім зображення нормалізується та змінюється відповідно до обмеження розміру. Stable Diffusion V2 підтримує роздільність зображення до 768×768, тоді як V1 підтримує роздільність до 512×512. Перегляньте наступний код:
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)
За допомогою попередньо навченої моделі CLIPSeq ми можемо витягти цільовий об’єкт із зображення за допомогою текстової підказки. Це робиться шляхом введення текстового підказки в текстовий кодувальник, який перетворює його на вбудований текст. Потім зображення вводиться в кодувальник зображень, який перетворює його на вбудоване зображення. Потім обидва вбудовування об’єднуються та пропускаються через повністю зв’язаний рівень для створення остаточної маски сегментації, яка висвітлює цільовий об’єкт, описаний у текстовому запиті. Перегляньте наступний код:
# 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]))
Завдяки точному зображенню маски від семантичної сегментації ми можемо використовувати малюнок для заміни вмісту. Малювання — це процес використання навченої генеративної моделі для заповнення відсутніх частин зображення. Використовуючи зображення маски для ідентифікації цільового об’єкта, ми можемо застосувати техніку малювання, щоб замінити цільовий об’єкт чимось іншим, наприклад іншим предметом одягу чи аксесуаром. Для цієї мети можна використовувати модель Stable Diffusion V2, оскільки вона здатна створювати фотореалістичні зображення високої роздільної здатності, які відповідають розподілу вихідного зображення.
Точне налаштування з попередньо навчених моделей за допомогою DreamBooth
Тонка настройка — це процес глибокого навчання, коли попередньо підготовлена модель далі навчається новому завданню з використанням невеликої кількості позначених даних. Замість навчання з нуля, ідея полягає в тому, щоб взяти мережу, яка вже була навчена на великому наборі даних для подібного завдання, і далі навчити її на новому наборі даних, щоб зробити її більш спеціалізованою для цього конкретного завдання.
Модельєри також можуть використовувати орієнтовану на предмет, точно налаштовану модель у малюванні Stable Diffusion для створення певного класу стилю, наприклад повсякденних довгих спідниць для жінок. Щоб зробити це, першим кроком є надання набору зразків зображень у цільовому домені, приблизно 1 десяток, із відповідними текстовими мітками, такими як наведені нижче, та прив’язування їх до унікального ідентифікатора, який посилається на дизайн, стиль, колір і тканину . Позначка в тексті відіграє вирішальну роль у визначенні результатів точно налаштованої моделі. Є кілька способів покращити ефективне налаштування оперативне проектування і ось кілька прикладів.
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.
Використання невеликого набору зображень для точного налаштування стабільної дифузії може призвести до переобладнання моделі. DreamBooth[5] вирішує це, використовуючи втрату попереднього збереження, специфічну для класу. Він навчиться зв’язувати унікальний ідентифікатор із конкретним предметом у два етапи. По-перше, він точно налаштовує модель із низькою роздільною здатністю за допомогою вхідних зображень у поєднанні з текстовою підказкою, яка містить унікальний ідентифікатор і назву класу, до якого належить суб’єкт, наприклад «спідниця». На практиці це означає одночасне використання зображень підгонки моделі та зображень, взятих із візуального попереднього класу без точного налаштування. Ці попередньо збережені зображення відбираються та позначаються за допомогою підказки «іменник класу». По-друге, він точно налаштує компоненти надвисокої роздільної здатності шляхом об’єднання зображень із низькою та високою роздільною здатністю з набору вхідних зображень, що дозволяє на виходах точно налаштованої моделі зберігати точність дрібних деталей.
Для точного налаштування попередньо навченого кодувальника тексту в режимі малювання за допомогою UNet для зображень із роздільною здатністю 512 × 512 потрібно приблизно 22 ГБ відеопам’яті або більше для роздільної здатності 768 × 768. В ідеалі зразки точного налаштування мають бути змінені відповідно до бажаної роздільної здатності вихідного зображення, щоб уникнути зниження продуктивності. Кодер тексту створює точніші деталі, наприклад обличчя моделей. Одним із варіантів є запуск на одному екземплярі AWS EC2 g5.2xlarge, який тепер доступний у вісім регіонів або використовуйте Hugging Face Accelerate, щоб запустити тонко налаштований код у розподіленій конфігурації. Для додаткової економії пам’яті ви можете вибрати фрагментовану версію уваги, яка виконує обчислення покроково, а не відразу, просто змінивши навчальний сценарій DreamBooth train_dreambooth_inpaint.py, щоб додати функцію конвеєра enable_attention_slicing().
Accelerate — це бібліотека, яка дозволяє запускати один код тонкого налаштування в будь-якій розподіленій конфігурації. Представлено Hugging Face і Amazon Обійми обличчя глибокими навчальними контейнерами (DLC) для масштабування завдань тонкого налаштування на кількох графічних процесорах і вузлах. Ви можете налаштувати параметри запуску для Amazon SageMaker за допомогою однієї команди 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')
Щоб запустити завдання точного налаштування, перевірте конфігурацію Accelerate за допомогою CLI і надайте необхідні навчальні аргументи, а потім скористайтеся наступним сценарієм оболонки.
# 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
Тонко налаштована модель малювання дозволяє генерувати більш конкретні зображення для модного класу, описаного в текстовій підказці. Оскільки модель була налаштована за допомогою набору зображень із високою роздільною здатністю та текстових підказок, модель може генерувати зображення, які більше відповідають класу, наприклад офіційні вечірні сукні. Важливо зауважити, що чим конкретніший клас і чим більше даних використовується для точного налаштування, тим точнішими та реалістичнішими будуть вихідні зображення.
%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
Розгорніть тонко налаштовану модель малювання за допомогою SageMaker для висновку
За допомогою Amazon SageMaker ви можете розгортати точно налаштовані моделі Stable Diffusion для висновків у реальному часі. Щоб завантажити модель у Служба Amazon Simple Storage (S3) для розгортання необхідно створити архівний архів model.tar.gz. Переконайтеся, що архів містить усі файли, а не папку, яка їх містить. Архівна папка тонкого налаштування DreamBooth має відображатися так, як указано нижче, після усунення періодичних контрольних точок:
Початковий крок у створенні нашого обробника висновків передбачає створення файлу inference.py. Цей файл служить центральним центром для завантаження моделі та обробки всіх вхідних запитів на висновок. Після завантаження моделі виконується функція model_fn(). Коли виникає необхідність виконати висновок, викликається функція predict_fn(). Крім того, функція decode_base64() використовується для перетворення рядка JSON, що міститься в корисному навантаженні, у тип даних зображення 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}
Щоб завантажити модель у сегмент Amazon S3, необхідно спочатку створити архів model.tar.gz. Важливо зауважити, що архів має складатися безпосередньо з файлів, а не з папки, у якій вони зберігаються. Наприклад, файл має виглядати так:
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")
Після завантаження архіву моделі ми можемо розгорнути його на Amazon SageMaker за допомогою HuggingfaceModel для висновків у реальному часі. Ви можете розмістити кінцеву точку за допомогою екземпляра g4dn.xlarge, який оснащено одним графічним процесором NVIDIA Tesla T4 із 16 ГБ відеопам’яті. Автомасштабування можна активувати для обробки різноманітних вимог трафіку. Інформацію про включення автомасштабування у кінцеву точку див Початок виробництва: автоматичне масштабування Hugging Face Transformers за допомогою Amazon SageMaker.
from sagemaker.huggingface.model import HuggingFaceModel # create Hugging Face Model Class
huggingface_model = HuggingFaceModel( model_data=s3_model_uri, # path to your model and script role=role, # iam role with permissions to create an Endpoint transformers_version="4.17", # transformers version used pytorch_version="1.10", # pytorch version used py_version='py38', # python version used
) # deploy the endpoint endpoint
predictor = huggingface_model.deploy( initial_instance_count=1, instance_type="ml.g4dn.xlarge" )
Метод huggingface_model.deploy() повертає об’єкт HuggingFacePredictor, який можна використовувати для запиту висновку. Кінцевій точці потрібен JSON із ключем inputs, який представляє підказку введення для моделі для створення зображення. Ви також можете керувати генерацією за допомогою таких параметрів, як num_inference_steps, guidance_scale і “num_images_per_prompt”. Функція predictor.predict() повертає JSON із ключем «generated_images», який містить чотири згенеровані зображення як рядки в кодуванні base64. Ми додали дві допоміжні функції decode_base64_to_image і display_images для декодування відповіді та відображення зображень відповідно. Перший декодує рядок, закодований base64, і повертає об’єкт PIL.Image, а другий відображає список об’єктів PIL.Image. Перегляньте наступний код:
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
Переходимо до завдання малювання. Було підраховано, що створення трьох зображень займе приблизно 15 секунд, враховуючи вхідне зображення та маску, створену за допомогою CLIPSeg із текстовою підказкою, про яку йшлося раніше. Перегляньте наступний код:
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)
Намальовані зображення можна відображати разом із вихідним зображенням для візуального порівняння. Крім того, процес малювання можна обмежити за допомогою різних параметрів, таких як guidance_scale, який контролює силу керівного зображення під час процесу малювання. Це дозволяє користувачеві регулювати вихідне зображення та досягати бажаних результатів.
Amazon SageMaker Jumpstart пропонує шаблони Stable Diffusion для різних моделей, включаючи перетворення тексту в зображення та масштабування. Для отримання додаткової інформації зверніться до SageMaker JumpStart тепер надає моделі Stable Diffusion і Bloom. Додаткові шаблони Jumpstart будуть доступні найближчим часом.
Недоліки
Хоча CLIPSeg зазвичай добре розпізнає звичайні об’єкти, він має проблеми з більш абстрактними чи систематичними завданнями, такими як підрахунок кількості об’єктів на зображенні, і зі складнішими завданнями, такими як прогнозування, наскільки близько найближчий об’єкт, наприклад сумочка, на фотографії. Zero-shot CLIPSeq також має труднощі порівняно з моделями для конкретних завдань щодо дуже детальної класифікації, наприклад, визначення різниці між двома нечіткими дизайнами, варіантами одягу чи класифікацією стилю. CLIPSeq також має погане узагальнення для зображень, які не охоплені набором даних перед навчанням. Нарешті, було помічено, що нульові класифікатори CLIP можуть бути чутливими до формулювань або фраз і іноді вимагають «швидкого проектування» методом проб і помилок, щоб працювати добре. Перехід на іншу модель семантичної сегментації для магістралі CLIPSeq, наприклад BEiT, який може похвалитися 62.8% mIOU за набором даних ADE20K, може потенційно покращити результати.
З’ясувалося, що модні дизайни, створені за допомогою стабільної дифузії, обмежені частинами одягу, які принаймні так само передбачувано розміщені в ширшому контексті модних моделей, і які відповідають високорівневим вбудованим елементам, які ви могли розумно очікувати знайти в гіпермасштабний набір даних, який використовується під час навчання попередньо навченої моделі. Справжня межа генеративного штучного інтелекту полягає в тому, що модель врешті-решт вироблятиме повністю уявні та менш автентичні результати. Таким чином, моделі одягу, створені штучним інтелектом, можуть бути не такими різноманітними чи унікальними, як ті, що створені дизайнерами-людьми.
Висновок
Generative AI надає сектору моди можливість трансформувати свою практику за допомогою кращого досвіду користувачів і економічно ефективних бізнес-стратегій. У цій публікації ми демонструємо, як використовувати генеративний штучний інтелект, щоб дизайнери одягу та споживачі могли створювати персоналізовані модні стилі за допомогою віртуального моделювання. Завдяки допомозі існуючих шаблонів Amazon SageMaker Jumpstart і тих, що з’являться, користувачі можуть швидко освоїти ці передові методи, не потребуючи глибоких технічних знань, зберігаючи при цьому універсальність і знижуючи витрати.
Ця інноваційна технологія відкриває нові можливості для компаній і професіоналів, які займаються створенням контенту в різних галузях. Generative AI надає широкі можливості для вдосконалення та створення вмісту. Спробуйте останні доповнення до шаблонів Jumpstart у вашому Студія SageMaker, як-от тонке налаштування тексту в зображення та високоякісні можливості.
Ми хотіли б подякувати Лі Чжану, Карлу Альбертсену, Крістін Пірс, Ніхілу Велпануру, Аарону Сенгстакену, Джеймсу Ву та Ніламу Кошії за їхню підтримку та цінні внески, які допомогли покращити цю роботу.
Про авторів
Альфред Шен є старшим спеціалістом зі штучного інтелекту та ML в AWS. Він працював у Кремнієвій долині, займаючи технічні та керівні посади в різних секторах, включаючи охорону здоров’я, фінанси та високі технології. Він є відданим прикладним дослідником AI/ML, зосередженим на CV, NLP та мультимодальності. Його роботи були представлені в таких публікаціях, як EMNLP, ICLR та Public Health.
Доктор Вівек Мадан є прикладним науковцем у команді Amazon SageMaker JumpStart. Він отримав ступінь доктора філософії в Університеті Іллінойсу в Урбана-Шампейн і був науковим співробітником у технічному університеті Джорджії. Він є активним дослідником машинного навчання та розробки алгоритмів і публікував статті на конференціях EMNLP, ICLR, COLT, FOCS і SODA.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/virtual-fashion-styling-with-generative-ai-using-amazon-sagemaker/
- 1
- 10
- 100
- 7
- a
- Аарон
- Здатний
- МЕНЮ
- РЕЗЮМЕ
- прискорювати
- прискорювач
- доступ
- аксесуари
- виконано
- рахунки
- точний
- Achieve
- через
- активний
- пристосовувати
- доданий
- Додатковий
- Додатково
- доповнення
- адреси
- Прийняття
- просунутий
- рада
- після
- AI
- AI / ML
- алгоритм
- алгоритми
- ВСІ
- Дозволити
- дозволяє
- вже
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- кількість
- та
- одяг
- з'являтися
- застосування
- прикладної
- Застосовувати
- приблизно
- архітектура
- архів
- ПЛОЩА
- аргументація
- штучний
- штучний інтелект
- ASA
- Допомога
- увагу
- аудіо
- Authentic
- доступний
- AWS
- Хребет
- ширина смуги
- Банк
- база
- заснований
- оскільки
- почалася
- корисний
- користь
- Краще
- між
- пов'язувати
- обов'язковий
- Блокувати
- Блог
- Цвісти
- синій
- має
- тіло
- сміливий
- коробки
- Яскраво
- яскравіше
- бюджет
- бізнес
- Бізнес-додатки
- обчислює
- званий
- можливості
- здатний
- випадків
- випадковий
- центральний
- проблеми
- шанси
- зміна
- Вибирати
- клас
- класифікація
- близько
- закриття
- одяг
- хмара
- код
- збирати
- color
- Колони
- Приходити
- комфорт
- загальний
- Компанії
- порівняти
- порівняний
- порівняння
- Доповнення
- комплекс
- Компоненти
- обчислення
- обчислення
- обчислення
- концепція
- конфігурація
- підключений
- постійна
- Споживачі
- Контейнери
- містить
- зміст
- Генерація контенту
- контекст
- продовжувати
- контроль
- управління
- конвертувати
- Відповідний
- Коштувати
- може
- покритий
- створювати
- створений
- створення
- створення
- критичний
- вирішальне значення
- В даний час
- виготовлений на замовлення
- клієнт
- Задоволеність клієнтів
- Клієнти
- настроюється
- настройка
- дані
- зменшити
- присвячених
- глибокий
- глибоке навчання
- запити
- Denim
- розгортання
- розгорнути
- розгортання
- описувати
- описаний
- дизайн
- призначений
- Дизайнери
- конструкцій
- бажаний
- докладно
- деталі
- визначення
- різниця
- різний
- радіомовлення
- безпосередньо
- обговорювалися
- дисплей
- дисплеїв
- розподілений
- розподіл
- Різне
- домен
- скачати
- безліч
- довговічність
- під час
- e-commerce
- легко
- Ефективний
- ефективний
- елементи
- усуваючи
- обійняти
- включіть
- дозволяє
- дозволяє
- охоплює
- Кінцева точка
- Інженери
- підвищення
- забезпечувати
- розваги
- обладнаний
- помилка
- оцінка
- вечір
- врешті-решт
- еволюціонувати
- приклад
- Приклади
- існуючий
- очікувати
- витрати
- дорогий
- Досліди
- експертиза
- експорт
- витяг
- тканину
- тканину
- Face
- особи
- мода
- швидше
- особливість
- жінка
- кілька
- вірність
- поле
- філе
- Файли
- заповнювати
- остаточний
- в кінці кінців
- фінансування
- знайти
- кінець
- Перший
- відповідати
- спалах
- гнучкий
- потік
- Сфокусувати
- потім
- після
- слідує
- формальний
- Колишній
- Вперед
- знайдений
- часто
- від
- Повний
- повністю
- функція
- Функції
- далі
- Крім того
- майбутнє
- одяг
- породжувати
- генерується
- покоління
- генеративний
- Генеративний ШІ
- Грузія
- отримати
- даний
- GPU
- Графічні процесори
- Графічний
- сірий
- великий
- значно
- сітка
- обробляти
- Обробка
- збруя
- має
- здоров'я
- охорона здоров'я
- висота
- допоміг
- тут
- Високий
- на вищому рівні
- висока роздільна здатність
- вище
- основний момент
- дуже
- проведення
- тримає
- господар
- Як
- How To
- Однак
- HTML
- HTTPS
- Концентратор
- HuggingFace
- людина
- ідея
- ідентифікатор
- ідентифікувати
- Іллінойс
- зображення
- зображень
- уявний
- реалізація
- імпорт
- важливо
- удосконалювати
- поліпшений
- in
- поглиблений
- включати
- includes
- У тому числі
- Вхідний
- включення
- збільшений
- промисловості
- промисловість
- інформація
- початковий
- інноваційний
- вхід
- встановлювати
- екземпляр
- замість
- Інтелект
- введені
- залучений
- IT
- пунктів
- робота
- json
- ключ
- етикетка
- етикетки
- мова
- великий
- запуск
- шар
- провідний
- УЧИТЬСЯ
- вчений
- вивчення
- довжина
- рівні
- Li
- бібліотека
- МЕЖА
- обмеженою
- список
- загрузка
- погрузка
- Довго
- від
- Опускання
- прибутковий
- машина
- навчання за допомогою машини
- головний
- підтримувати
- Підтримка
- зробити
- Робить
- управлінський
- Виробники
- відображення
- ринок
- Маркетинг
- маска
- маски
- матч
- Матеріали
- matplotlib
- засоби
- Медіа
- пам'ять
- метод
- методика
- відсутній
- ML
- модель
- Моделі
- більше
- найбільш
- рухатися
- руху
- множинний
- ім'я
- Природний
- Близько
- необхідно
- Необхідність
- нужденних
- потреби
- мережу
- Нейтральний
- Нові
- nlp
- вузли
- нормальний
- роман
- номер
- Nvidia
- об'єкт
- об'єкти
- перешкодами
- пропонувати
- пропонує
- Пропозиції
- ONE
- Один з
- онлайн
- Можливість
- оптимізований
- варіант
- порядок
- оригінал
- OS
- власний
- парний
- спаровування
- документи
- параметри
- приватність
- частини
- Пройшов
- шлях
- Викрійки
- моделі
- Виконувати
- продуктивність
- виступає
- Дозволи
- персонал
- Втілення
- Уособлювати
- Персоналізовані
- Фотореалістичний
- фотографії
- труба
- трубопровід
- платформа
- plato
- Інформація про дані Платона
- PlatoData
- будь ласка
- бідні
- популярний
- позах
- позиції
- пошта
- потенціал
- потенційно
- Практичний
- практика
- практики
- передбачати
- прогнозування
- прогноз
- Прогноз
- переваги
- переважним
- подарунки
- запобігати
- раніше
- попередній
- процес
- виробляти
- Production
- Продукти
- професіонали
- правильний
- забезпечувати
- забезпечує
- громадськість
- охорона здоров'я
- публікаціям
- публічно
- опублікований
- суто
- мета
- цілей
- Python
- піторх
- якість
- швидко
- діапазон
- реальний
- реального часу
- реалістичний
- отримати
- останній
- рекомендації
- червоний
- зменшити
- Знижений
- посилання
- відноситься
- актуальність
- Повідомляється
- представляє
- запросити
- запитів
- вимагати
- Вимагається
- дослідник
- дозвіл
- відповідь
- результат
- в результаті
- результати
- роздрібна торгівля
- повертати
- Умови повернення
- RGB
- Роль
- грубо
- прогін
- біг
- мудрець
- продажів
- задоволення
- зберегти
- Економія
- шкала
- вчений
- Sdk
- другий
- seconds
- сектор
- Сектори
- сегментація
- сегменти
- вибирає
- старший
- чутливий
- служить
- обслуговування
- Сесія
- комплект
- кілька
- гострий
- Склад
- Короткий
- Повинен
- демонстрації
- сторона
- Кремній
- Силіконова долина
- аналогічний
- простий
- просто
- одночасно
- один
- Розмір
- невеликий
- So
- соціальна
- соціальні медіа
- рішення
- деякі
- що в сім'ї щось
- Простір
- спеціальний
- спеціаліст
- спеціалізований
- конкретний
- зазначений
- стабільний
- standard
- стан
- Крок
- заходи
- Як і раніше
- зберігання
- зберігати
- стратегії
- сила
- Смуги
- сутички
- стиль
- тема
- успіх
- такі
- літо
- Супермодель
- нагляд
- Опори
- з урахуванням
- Приймати
- приймає
- Мета
- Завдання
- завдання
- команда
- технології
- технічний
- методи
- Технологія
- Шаблони
- terms
- Tesla
- Команда
- Площа
- світ
- їх
- отже
- три
- через
- Зв'язаний
- до
- інструменти
- факел
- ТОТАЛЬНО
- традиційний
- трафік
- поїзд
- навчений
- Навчання
- переклад
- Перетворення
- Трансформатори
- подорожувати
- Тенденції
- суд
- трильйон
- при
- створеного
- університет
- завантажено
- Використання
- використання
- користувач
- користувачі
- зазвичай
- використовувати
- використовувати
- використовує
- використовує
- відпустку
- Долина
- Цінний
- значення
- різноманітність
- різний
- величезний
- перевірити
- версія
- Відео
- Віртуальний
- W
- способи
- який
- в той час як
- білий
- ВООЗ
- широкий
- Широкий діапазон
- ширше
- ширина
- волі
- в
- без
- формулювання
- Work
- працював
- світ
- Всесвітній банк
- б
- обернути
- wu
- X
- Ти
- вашу
- зефірнет
- Zip