Что происходит, когда вы пишете «undress»
Модель не «видит» тело под одеждой. У неё нет рентгеновского зрения, нет 3D-модели человека, нет понимания анатомии как системы. Диффузионная модель — это вероятностный генератор пикселей, обученный на парах «текст → изображение». Она знает, как выглядят люди в одежде и как выглядят люди без одежды (в обучающей выборке были оба класса), но не знает, как *конкретному* человеку на *конкретном* фото перейти из состояния А в состояние Б.
Когда вы просите inpainting-заменить область одежды на «кожу», модель гасит шум в замаскированной зоне, глядя на контекст: позу, освещение, перспективу, текстуру ткани по краям. Результат — галлюцинация: незначительная похожесть на кожу, странные артефакты, неверная перспектива, лишние конечности, размытость. Никакой промт не заставит модель восстановить информацию, которой нет в исходном пикселе.
Четыре технических стена, которые не пробить промтом
Нет обратного маппинга
Обучающая выборка содержит пары (описание, изображение). Обратного маппинга (изображение → скрытое тело) в весах нет. Модель не училась «восстанавливать» — она училась «генерировать по описанию».
Контекстный разрыв inpainting
Inpainting смотрит на 64–128 пикселей вокруг маски. Одежда перекрывает большую область. Контекста недостаточно, чтобы вывести форму тела, тонус мышц, пигментацию, татуировки, рубцы.
Фильтры безопасности (CSAM/NSFW)
Классификаторы на входе и выходе блокируют генерацию интимных зон. Даже открытые модели (SDXL, Flux) имеют встроенные концептуальные «отверстия» в латентном пространстве — там шум, а не анатомия.
Потеря идентичности
Любая сильная перегенерация области меняет лицо, пропорции, освещение. ControlNet (OpenPose, Depth, Canny) сохраняет позу/геометрию, но не текстуру кожи конкретного человека. Результат — другой человек в той же позе.