ТЕХНИЧЕСКИЙ · 16.06.2026 · 9 мин

убрать одежду с фото: как работает маскирование

$ undress --auto --style=naked

Три бесплатные генерации ждут. Запусти прямо сейчас.

→ Запустить бота

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

что такое маскирование в контексте нейросетей

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

В случае с удалением одежды маска охватывает все пиксели, относящиеся к одежде. Задача алгоритма — точно определить эти пиксели, не захватив лишнего (кожу, волосы, фон) и не пропустив ни одного пикселя ткани.

этап 1: сегментация — где заканчивается тело и начинается одежда

$ undress --auto --style=naked

Три бесплатные генерации ждут. Запусти прямо сейчас.

→ Запустить бота

Первый этап — семантическая сегментация изображения. Нейросеть-сегментатор обучена распознавать классы объектов на пиксельном уровне: человек, одежда, фон, аксессуары. Она присваивает каждому пикселю метку класса.

Современные сегментаторы работают на архитектурах типа Segment Anything Model (SAM) или специализированных моделях для одежды вроде DeepFashion. Точность сегментации напрямую определяет качество итоговой маски. Проблемы возникают на границах: там, где ткань прилегает к коже, или где складки создают сложные переходы.

Именно поэтому облегающая одежда сегментируется хуже, чем свободная: граница между тканью и телом физически нечёткая, и алгоритм не может однозначно решить, к какому классу отнести граничные пиксели.

этап 2: построение маски — как из меток становится форма

После сегментации система строит бинарную маску: пиксели с меткой «одежда» получают значение 1, всё остальное — 0. Эта маска определяет область inpainting — зону, которую нейросеть будет заполнять заново.

Важная деталь: маска обычно расширяется на несколько пикселей по краям. Это делается намеренно — чтобы избежать резких переходов между сгенерированной и оригинальной частью. Слишком маленькое расширение даёт заметный «шов»; слишком большое — захватывает нужные пиксели кожи.

В продвинутых системах маска не бинарная, а имеет градиентные края: вероятность принадлежности к «зоне замены» плавно убывает от 100% в центре маски к 0% за её границей. Это даёт более органичные переходы.

этап 3: inpainting — заполнение маски

Inpainting — это ключевой этап, где происходит собственно «замена» одежды на тело. Именно здесь работают диффузионные модели — самая мощная архитектура для синтеза изображений на сегодня.

Диффузионная модель работает в два шага. Прямой процесс: исходное изображение постепенно «зашумляется» — к нему добавляется случайный шум до полной потери информации. Обратный процесс: модель учится убирать этот шум шаг за шагом, восстанавливая изображение.

При inpainting только замаскированная область проходит прямой процесс зашумления. Затем модель восстанавливает эту область в обратном процессе — но с учётом контекста: освещения, цвета кожи на незамаскированных участках, позы, теней. Результат — синтезированная область, органично вписанная в исходное фото.

роль text-to-image guidance при удалении одежды

Многие системы используют текстовые подсказки (prompts) для управления генерацией. Даже если пользователь не вводит никакого текста, внутри системы всё равно есть скрытый prompt — что-то вроде «обнажённое тело, реалистичная кожа, естественное освещение».

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

Кроме текстового guidance, используется image guidance — conditioned generation на основе незамаскированных частей изображения. Модель «знает» цвет кожи на открытых участках и старается сохранить его в синтезированной зоне.

почему разрешение влияет на качество

Диффузионные модели обычно работают в фиксированном разрешении — чаще всего 512×512 или 1024×1024 пикселей. Если исходное фото меньше — оно растягивается и теряет детали. Если больше — нарезается на тайлы или масштабируется с потерями.

Кроме того, при низком разрешении сегментатор делает грубые маски: граница одежды на фото 400×400 содержит мало пикселей для точного определения края. Результат — «рваные» переходы и артефакты по контуру обработанной зоны.

Оптимальное разрешение для работы с undress.lab — от 1000 пикселей по меньшей стороне. Это обеспечивает и точность сегментации, и качество inpainting.

артефакты: откуда они берутся

Артефакты — это визуальные дефекты в результате: размытые края, «пластиковая» кожа, нереалистичные пропорции. Понимание их природы помогает избегать проблем на входе.

Размытые края — следствие слишком агрессивного размытия маски или низкого разрешения. Чем чётче граница между одеждой и фоном на исходнике, тем точнее маска и тем чище переход.

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

Нарушения освещения — синтезированная зона светлее или темнее, чем окружающий контекст. Происходит при слишком сложном источнике света на исходнике — несколько точечных источников, смешанный цветовой температурный баланс.

как улучшить маску вручную

В расширенном режиме undress.lab позволяет корректировать маску перед генерацией. Это особенно полезно для сложных снимков с несколькими слоями одежды или необычными аксессуарами.

Принцип прост: кистью отмечаете дополнительные зоны, которые хотите включить в маску, или стираете лишние. Бот покажет предварительную маску в виде полупрозрачного наложения — вы видите, что именно будет перегенерировано. После подтверждения запускается inpainting.

Ручная коррекция маски особенно помогает в ситуациях: сложные украшения частично перекрывают одежду; нижний слой одежды виден из-под верхнего; одежда близко совпадает по цвету с фоном.

апскейлинг и постобработка результата

После inpainting результат проходит апскейлинг — увеличение разрешения с сохранением деталей. Специализированные нейросети для апскейлинга (RealESRGAN и аналоги) восстанавливают мелкие детали кожи, поры, волоски — то, что диффузионная модель генерирует в низком разрешении.

Финальный шаг — блендинг: плавное совмещение синтезированной области с оригинальным изображением. Алгоритм Poisson blending или его нейросетевые аналоги обеспечивают непрерывность цвета, яркости и текстуры на границе маски.

итог: почему одни фото работают лучше других

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

Чёткая граница одежда/кожа = точная маска сегментатора. Равномерное освещение = правильный image guidance для inpainting. Высокое разрешение = детальная маска и качественный синтез. Простая поза = корректное восстановление анатомии. Однотонный фон = меньше «шума» для сегментатора.

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

$ undress --auto --style=naked

Три бесплатные генерации ждут. Запусти лабу прямо сейчас.

→ Запустить лабу
// читай также