Привет! На связи Арсений, тимлид AI-направления Mad Brains. В этой статье расскажу, как мы реализовали технологию для виртуальной примерки одежды Virtual Try-OnПривет! На связи Арсений, тимлид AI-направления Mad Brains. В этой статье расскажу, как мы реализовали технологию для виртуальной примерки одежды Virtual Try-On

Дорого, медленно, некачественно? Как мы создали технологию виртуальной примерки с ИИ, ломающую эти стереотипы

Привет! На связи Арсений, тимлид AI-направления Mad Brains. В этой статье расскажу, как мы реализовали технологию для виртуальной примерки одежды Virtual Try-On на основе диффузионных моделей и прошли путь от «сырых» и непригодных для продакшена изображений к действительно качественной виртуальной примерке.

Технология Virtual Try-On является решением для увеличения конверсии и выручки в e-commerce и в fashion-брендах, но на практике её внедрение в большинстве случаев разбивается о классический треугольник дорого-качественно-быстро. Либо наш инференс для виртуальной примерки хорош, но слишком требователен к ресурсам, либо приходится жертвовать качеством и скоростью генерации для того, чтобы укладываться в экономически целесообразные ресурсы.

В этом материале делимся практическим опытом — как мы искали баланс среди множества подходов, оптимизировали их, почему SOTA-модели здесь не всегда работают, и как мы пришли к гибридному пайплайну, объединившему архитектуры моделей IDM-VTON и Leffa.

Почему не Nano Banana или DALL-E?

На фоне популярности SOTA-моделей вроде Nano Banana или DALL-E возникает вопрос: зачем строить сложные решения и каскады нейросетей, если можно просто попросить: «Надень на мужчину красную рубашку», дополнив её визуальными промптами?

Действительно, во многих кейсах этого достаточно, но конкретно в нашем случае (работы с крупными Fashion-брендами и известными ТЦ) от заказчиков поступали требования, с которыми данные Nano Banana и DALL-E справлялись не всегда:

1. Человек: Лицо, поза, комплекция не должны искажаться, и должны сохранять изначальную мимику и реалистичность.

2. Одежда: Принт, фактура ткани и логотип бренда должны перенестись без каких-либо галлюцинаций.

3. Ракурс: созданное изображение должно иметь в точности тот же ракурс, как и изначальное.

4. SLA: должны соблюдаться чёткие сроки на время ответа в мобильных приложениях и тем более на "умных" зеркалах, генерирующих изображения прямо в бутиках и ТЦ.

Первые эксперименты с данными моделями показали прежде всего потерю ракурса изначального фото, изменение мимики и пропорций человека даже при подробном и тщательно сконструированном промпте. Однако, ещё более весомым риском было встать в очередь на генерацию в стороннем API и не дождаться ответа за ожидаемое время ответа по SLA вообще.

Конечно же, с потерей ракурса и изменением участков изображения, которые к целевым не относятся, помогает техника инпейнтинга по маске — вместо того, чтобы перегенерировать всё изображение целиком, в исходном изображении заранее определяется участок для изменения моделью диффузии, а остальные — остаются нетронутыми.

Модели, специализирующиеся на Virtual Try-On, часто используют предварительную автогенерацию маски посредством таких компонентов как DensePose, YOLO, SegmentAnything. Более того, есть версии данных компонентов, подходящие под мощности клиентских устройств, позволяющие провести предобработку ещё до отправки данных на сервер — немного разгружаем инференс.

Запуск же on-premises инференса Virtual Try-On модели решает проблему ненадёжности 3rd-party решений и сохранения времени ответа по SLA.

А за счёт применения специальных лосс-функций (LPIPS, SSIM, Leffa) на этапах обучения мы можем добиться консистентно лучшего качества в профиле виртуальной примерки, чем предоставляют SOTA-модели.

Таким образом, мы можем собрать решение, оптимально отвечающее на ключевые запросы заказчиков — высокие качество, скорость и надежность генерации.

Обзор подходов: Warp-based vs Warp-free диффузионные пайплайны

Глобально архитектуры диффузионных моделей для виртуальной примерки делятся на два кластера с небольшой вариативностью компонент в каждом.

1. Warp-based (Геометрическая деформация изображения одежды)

Принцип: Сначала алгоритм вычисляет, как нужно деформировать плоское изображение одежды, чтобы оно легло на тело (используя Thin-Plate Spline преобразования или flow fields). Затем, полученное деформированное изображение накладывается на человека, а диффузионная модель производит финальные предсказания для "сглаживания" изображения — убираются острые края, галлюцинации, дорисовываются тени.

Плюсы: Отлично сохраняет текстуру и мелкие детали (логотипы, узоры), так как пиксели не генерируются с нуля, а попросту перемещаются во время деформации изображения одежды.

Минусы: Если поза сложная (например, скрещенные руки), или фото было сделано в обстановке с большим количеством визуального "шума" на изображений (например, улица с кучей деталей) — создаются галлюцинации, неестественные искажения, в том числе и тела. Отдельный большой минус — варпинг чрезвычайно плохо работает, если накладывать одежду меньшей длины и фото с одеждой длины большей. Например, warp-based подход практически никогда не сгенерирует корректно футболку на человеке, который изначально был одет в рубашку.

2. Warp-free (Attention-based)

Принцип: Одежда не деформируется явно. Её изображение кодируется в вектор признаков, который передается в основной генератор (UNet) через слои Cross-Attention с IP-Adapter. Модель сама решает, где и как нарисовать эту одежду, руководствуясь маской инпейнта и перекрёстным вниманием.

Плюсы: Высокая общая естественность изображения. Модель генерирует естественные складки, свет и тени. Хорошо работает в сценарии "in-the-wild" - когда мы подаём на вход изображение не студийного качества, а просто фото из примерочной магазина, сделанное обычными людьми.

Минусы: Страдает детализация. Поскольку изображение генерируется заново, сложные паттерны (мелкая клетка, надписи) могут размываться или искажаться.

Наши кандидаты: IDM-VTON и Leffa

Мы решили не выбирать из двух, а объединить решения. Для этого мы взяли две модели, представляющие разные философии.

IDM-VTON: Надежный фундамент

Источник: Improving Diffusion Models for Authentic Virtual Try-on
Источник: Improving Diffusion Models for Authentic Virtual Try-on

IDM-VTON — это мощный представитель warp-free подхода.

Механизм: Архитектура использует два UNet-а. Один кодирует одежду (GarmentNet), второй генерирует изображение человека (TryonNet). Ключевая особенность — использование механизма, схожего с IP-Adapter: признаки одежды внедряются в self-attention слои основного генератора.

Роль в пайплайне: Эта модель великолепно справляется с генерацией low-level features. Она отлично понимает глобальную структуру: как одежда сидит на конкретной позе, где должны быть границы рукавов, как падает свет. Но на выходе текстуры могут быть «мыльными».

Мы взяли данную модель и дообучили её на небольшом датасете реальной примерки (не-студийных фото, изначально присутствующих в датасетах DressCode и VITON-HD), отобранном вручную. Это позволило нам слегка увеличить качество работы модели по метрикам LPIPS и SSIM для наших кейсов.

Leffa: точность текстур

Источник: Learning Flow Fields in Attention
Источник: Learning Flow Fields in Attention

Leffa — свежее решение, которое пытается привнести точность варпинга внутрь диффузионного процесса с учётом flow fields.

Механизм: Авторы переосмыслили работу attention-слоев. Вместо свободного внимания, Leffa обучает слои внимания вести себя как поля потока (Flow Fields). Это заставляет модель инпейнтить пиксели исходной текстуры на целевую область генерации, опираясь на 3D-геометрию тела от DensePose-компонента и то, как конкретно на эту 3D-геометрию должна лечь одежда.

Роль в пайплайне: Эта модель работает как warp-based генерация, но прямо внутри аттеншена. Она дает отличные high-level features: четкие узоры, фактуру ткани, «мятость»

Мы взяли готовую модель Leffa, убрали из архитектуры лишние компоненты (leffa также может генерировать новую позу для человека на фото, но мы вырезали всё, что было с этим связано, эффективно уменьшая потребление VRAM на ~40%)

Гибридное решение: Скрещивание пайплайнов

Идея нашего подхода основана на том, как работает процесс диффузии (denoising process). Генерация изображения из шума происходит итеративно:

1. На первых шагах инференса warp-free модель формирует структуру: позу, крупные формы, контуры объектов.
2. На финальных шагах warp-based модель прорисовывает детали: текстуру, резкость, мелкие элементы.

Мы реализовали передачу контроля прямо в процессе инференса.

Шаг 1: Формирование базы (IDM-VTON)

Мы запускаем генерацию на IDM-VTON и проводим первые 25–40% шагов инференса.

— На вход подается зашумленный латент, маска необходимой части тела для инпейнта от DensePose.
— IDM-VTON формирует «фундамент» изображения. Благодаря сильному attention-механизму, модель создает корректный силуэт одежды без грубых артефактов и дыр, характерных для чистого варпинга. Риск получить лишнюю руку или деформированный торс здесь минимизируется.

Шаг 2: Детализация (Leffa)

Полученное на прошлом этапе латентное представление, в котором уже виден силуэт, но еще много шума, мы передаем в пайплайн Leffa для завершения оставшихся шагов.

— Leffa получает уже геометрически верную заготовку. Её задача — доработать текстуру на уже практически готовую область.
—Благодаря Flow-Field Attention, Leffa восстанавливает детализацию: прорисовывает фактуру ткани, восстанавливает четкость принтов и добавляет реалистичные складки, которых не хватало IDM-VTON.

Результаты и выводы

Такой подход позволил нам взять лучшее из двух миров:

1. Качество: мы получили физическую корректность (от warp-free подхода) и высокую детализацию текстур (от warp-based логики Leffa). Пайплайн стабильно работает в in-the-wild сценариях и может работать с разными элементами одежды без существенных артефактов.

2. Оптимизация: хотя мы используем две модели, суммарное время инференса и потребление ресурсов пайплайном всё равно остается значительно ниже, чем, скажем, пайплайна FLUX с использованием LoRA-слоёв.

Этот кейс подтверждает, что в задачах генеративного AI нет «серебряной пули». Часто оптимальное решение лежит в плоскости грамотной комбинации архитектур, где каждый инструмент выполняет ту часть работы, под которую он был лучше всего оптимизирован.

Для примера работы разных технологий возьмем эти изображения.
Для примера работы разных технологий возьмем эти изображения.

Рассмотрим результаты примерки на разных пайплайнах:

IDM-VTON — правильные силуэты и формы, однако детализация и освещение оставляет желать лучшего.
IDM-VTON правильные силуэты и формы, однако детализация и освещение оставляет желать лучшего.
Leffa — неплохо сохраняются детали, но видны проблемы с пониманием общих контуров —  артефакты в районе запястий.
Leffa неплохо сохраняются детали, но видны проблемы с пониманием общих контуров артефакты в районе запястий.
Гибридный пайплайн — первые шаги инференса проходят через компоненты IDM-VTON и фиксируют общее понимание контуров и размеров, все остальные — через компоненты Leffa для увеличения детализации.
Гибридный пайплайн первые шаги инференса проходят через компоненты IDM-VTON и фиксируют общее понимание контуров и размеров, все остальные через компоненты Leffa для увеличения детализации.

Как внедрить Virtual Try-On

Если вам интересно глубже разобраться, как технология виртуальной примерки работает на практике, загляните к нам на сайт — там мы подробно разобрали кейс внедрения Virtual Try-On для fashion-сегмента. Оставьте заявку, мы ответим на все вопросы и поможем оценить, как интеграция этой технологии может усилить именно ваш продукт.

Источник

Возможности рынка
Логотип Sleepless AI
Sleepless AI Курс (AI)
$0,03872
$0,03872$0,03872
-0,10%
USD
График цены Sleepless AI (AI) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.