ии-раздеватор: как работает diffusion-пайплайн
$ undress --auto --style=naked
Три бесплатные генерации ждут. Запусти прямо сейчас.
→ Запустить ботаБольшинство пользователей ИИ-раздеватора видят только интерфейс: загрузил фото — получил результат. Но за этим простым взаимодействием скрыта сложная цепочка нейросетевых операций. В этой статье мы разберём технический пайплайн от первого пикселя до финального изображения.
Диффузионные модели: базовая концепция
Современные ИИ-раздеватели строятся на диффузионных моделях — классе генеративных нейросетей, совершивших революцию в компьютерном зрении. Принцип их работы контринтуитивен: вместо того чтобы учиться «рисовать», они учатся «убирать шум».
В процессе обучения модель получает чистое изображение и постепенно добавляет к нему гауссов шум — шаг за шагом, пока изображение не превратится в случайный набор пикселей. Затем нейросеть учится обратному процессу: предсказывать, какой шум был добавлен на каждом шаге, и убирать его. Это и есть диффузия — движение от шума к осмысленному изображению.
При генерации процесс запускается в обратном направлении: берётся случайный шум, и модель итеративно «очищает» его, на каждом шаге руководствуясь условием — будь то текстовый промпт, исходное изображение или маска.
Этап первый: сегментация одежды
$ undress --auto --style=naked
Три бесплатные генерации ждут. Запусти прямо сейчас.
→ Запустить ботаПрежде чем диффузионная модель может что-то заполнить, нужно точно определить, что именно заполнять. Для этого используется отдельная нейросеть-сегментатор.
Сегментатор — это, как правило, модель класса semantic segmentation на основе архитектуры трансформер. Она принимает изображение и возвращает карту, где каждому пикселю присвоена метка: кожа, волосы, одежда, фон. Точность сегментации критически важна: плохая маска — артефакты на выходе.
Современные сегментаторы в составе таких пайплайнов достигают точности IoU (Intersection over Union) выше 0.92 на стандартных бенчмарках по сегментации одежды. Это означает, что маска покрывает более 92% фактической площади одежды с минимальным захватом фона или кожи.
Особая сложность — многослойная одежда и аксессуары. Кардиган поверх рубашки, шарф, ремень — все они должны быть включены в маску. Современные модели справляются с этим через иерархическую сегментацию, обрабатывая «слои» одежды отдельно.
Этап второй: inpainting с условием
Получив маску, пайплайн передаёт её в диффузионную модель вместе с исходным изображением. Задача — заполнить замаскированную область правдоподобным содержимым.
Ключевое слово здесь — «правдоподобным». Модель не просто рисует случайное изображение тела. Она анализирует:
Контекст позы. Видимые части тела — шея, руки, ноги — дают модели информацию о позе человека. Используется pose estimation, который извлекает скелетные точки и передаёт их в модель как дополнительное условие.
Тон кожи. На открытых участках модель «считывает» тон кожи и применяет его к генерируемым областям для визуальной консистентности.
Освещение и тени. Направление и качество света на исходном фото учитываются при синтезе новых областей. Именно поэтому фото с плохим освещением дают менее реалистичные результаты.
Анатомические пропорции. Модель обучена на огромном корпусе изображений человеческого тела и знает, как должны выглядеть различные части тела в различных позах.
Inpainting выполняется итеративно — стандартное число шагов составляет от 20 до 50 в зависимости от требуемого качества. Больше шагов — выше качество, но дольше время генерации.
Роль ControlNet в современных пайплайнах
Отдельного внимания заслуживает ControlNet — архитектура, ставшая стандартом в профессиональных пайплайнах ИИ-раздеватора. ControlNet добавляет к диффузионной модели дополнительный «скелет управления» — боковую ветку, которая принимает структурные условия: карту поз, глубинную карту, карту нормалей поверхности.
Благодаря ControlNet модель «знает» не только что рисовать, но и как тело должно располагаться в пространстве. Это резко снижает количество анатомических артефактов — лишних конечностей, неправильных пропорций и нереалистичных деформаций.
Этап третий: апскейлинг и детализация
После inpainting результат, как правило, имеет разрешение 512×512 или 768×768 пикселей — недостаточно для качественного финального изображения. Поэтому следующий этап — апскейлинг.
Современные пайплайны используют двухэтапный подход. Сначала классический апскейлер на основе ESRGAN или Real-ESRGAN увеличивает разрешение в 2–4 раза. Затем опциональный «detail pass» — ещё один проход диффузионной модели уже при высоком разрешении — добавляет финальные детали: поры кожи, мелкие текстуры, ресницы.
Именно этот второй проход (он называется img2img refinement) отвечает за разницу между режимами «стандарт» и «HD» в undress.lab. В режиме HD пайплайн выполняет полный второй проход, что увеличивает время генерации, но даёт заметно более детальный и реалистичный результат.
Вычислительные требования и облачный инференс
Описанный пайплайн требователен к железу. Полный прогон с сегментацией, inpainting при 40 шагах и HD-апскейлингом на видеокарте NVIDIA RTX 4090 занимает около 8–12 секунд. На облачных A100 с оптимизированным инференсом через TensorRT — 3–6 секунд.
undress.lab использует распределённый облачный инференс: входящие запросы маршрутизируются между несколькими пулами GPU-серверов в зависимости от текущей нагрузки. Это обеспечивает стабильное время ответа даже в часы пиковой активности.
Ещё одна оптимизация — квантизация модели. Использование fp16 (16-битные float) вместо стандартного fp32 вдвое сокращает потребление памяти GPU при минимальной потере качества. Последние версии пайплайна используют int8-квантизацию для части блоков U-Net, что даёт дополнительный прирост скорости.
Качество vs. скорость: настраиваемые параметры
Понимание пайплайна помогает осознанно выбирать режимы в интерфейсе бота.
Число шагов (steps). В режиме «быстрый» используется 20 шагов — достаточно для предварительного просмотра. В режиме «стандарт» — 30–35 шагов. В режиме «HD» — 40 шагов с последующим refinement-проходом.
Guidance scale. Этот параметр контролирует, насколько строго модель следует условию. Высокий guidance (7–9) даёт более «послушный», но иногда пересвеченный результат. Низкий (3–5) — больше свободы модели, но результат может отходить от исходника.
Сила inpainting (strength). При значении 1.0 замаскированная область генерируется «с нуля». При 0.7–0.8 часть информации из исходного изображения «просвечивает» через маску, что даёт более мягкое смешение на краях.
Ограничения технологии
Честный технический разбор не может обойти ограничения. Их важно понимать, чтобы не ожидать невозможного.
Сложные позы с частичным перекрытием — когда тело загорожено предметами интерьера или другими людьми — остаются сложной задачей. Модель вынуждена «придумывать» скрытые части тела, опираясь только на видимый контекст, что снижает точность.
Очень тёмные или очень светлые фото также проблематичны: информации о коже в открытых областях недостаточно для точной экстраполяции тона. Результат может выглядеть неестественно.
Наконец, некоторые типы одежды — например, прозрачная или полупрозрачная ткань, сетка, тюль — создают неоднозначность для сегментатора: это кожа или ткань? Модель может дать неожиданный результат.
Несмотря на ограничения, пайплайн undress.lab в 2026 году работает принципиально лучше, чем инструменты двухлетней давности. И он продолжает улучшаться с каждым обновлением модели.
$ undress --auto --style=naked
Три бесплатные генерации ждут. Запусти лабу прямо сейчас.
→ Запустить лабу