Stable Diffusion для дизайна: выбор и процесс строится на связке AUTOMATIC1111 с расширением sd-webui-controlnet, совместимого checkpoint SD1.5 и модели control_v11f1p_sd15_depth.pth. Такой путь удерживает геометрию исходного фото и меняет палитру. SDXL в этом примере не используется.
Предусловие: что должно быть установлено
Рабочая поверхность — уже настроенный AUTOMATIC1111 с расширением sd-webui-controlnet. В документации расширения на GitHub сказано, что оно добавляет ControlNet к оригинальной модели Stable Diffusion на лету, без слияния весов. Установка идёт через вкладку Extensions, затем Install from URL, поле URL для git-репозитория, кнопка Install, вкладка Installed, Check for updates, Apply and restart UI. После этого терминал перезапускают полностью.
База — уже установленный и выбранный в AUTOMATIC1111 совместимый checkpoint Stable Diffusion 1.5. Для контроля глубины нужны control_v11f1p_sd15_depth.pth и control_v11f1p_sd15_depth.yaml. В типовой установке расширения разместите эти файлы в stable-diffusion-webui/extensions/sd-webui-controlnet/models, сохранив одинаковые базовые имена. При необходимости обновите список кнопкой справа от Model. Самостоятельный репозиторий ControlNet 1.1 перечисляет четырнадцать моделей и отдельно отправляет пользователей A1111 к инструкции sd-webui-controlnet.
Модель Depth обучалась на картах глубины Midas, Leres и Zoe в разрешениях 256, 384 и 512. Допустимые препроцессоры по официальному README — Depth_Midas, Depth_Leres, Depth_Zoe. Модель устойчива и работает с реальными картами глубины из движков рендеринга.
Важное ограничение: модель control_v11f1p_sd15_depth привязана к архитектуре SD1.5. Применять её к SDXL нельзя — это разные семейства. SDXL описан в карточке модели на Hugging Face как ансамбль из базовой модели и уточняющей модели, с лицензией CreativeML Open RAIL++-M. Это отдельный продукт со своими правилами.
Своё фото комнаты: пошаговый порядок
Шаг первый: сохранить исходник и текущие настройки. Копия фотографии и записанные параметры позволяют вернуться к началу, если результат уведёт в сторону.
Шаг второй: открыть вкладку txt2img или img2img и включить ControlNet. Подать свою фотографию в поле control input. Выбрать препроцессор Depth_Midas — имя режима в интерфейсе может отличаться, ориентируйтесь на список допустимых препроцессоров. Выбрать matching Depth-модель, то есть control_v11f1p_sd15_depth с её yaml.
Шаг третий: посмотреть карту глубины в предпросмотре. На ней должны различаться геометрия стен и проёмы. Если карта пустая или перевёрнутая, генерация пойдёт не по вашему помещению.
Шаг четвёртый: дать промпт только на новую палитру. Например: тот же кабинет, спокойная светлая палитра мебели и отделки, прежнее положение окна и двери, прежний ракурс. Фраза задаёт желаемый результат. Точность геометрии требует отдельной проверки.
Шаг пятый: сгенерировать концепт, сохранить использованные параметры и сопоставить проёмы и перспективу с исходником. При смещении окна или двери отклоните результат и выясните причину перед следующим запуском.
Генерация концепта — учебный материал для обсуждения. Это не архитектурный проект и не строительная документация.
Три пути: текст, геометрия, локальная правка
Первый путь — генерация концепта из текста. Вход здесь только промпт, без управляющего изображения. Результат свободный: композиция и ракурс задаются словами. Подходит для поиска настроения и палитры.
Второй путь — удержание геометрии через ControlNet. Вход — ваше изображение плюс выбранный тип контроля. В документации ControlNet 1.1 перечислены типы: Canny, MLSD, Depth, Normal, Segmentation, Scribble, Soft Edge, Lineart, Openpose, Shuffle, Instruct Pix2Pix, Inpaint, Tile. Для интерьера берут Depth или линии.
Третий путь — локальная доработка в редакторе. В руководстве Krita AI Diffusion описаны режимы выделения: Fill, Expand, Add Content, Remove Content, Replace Background. Fill заменяет часть изображения похожим содержимым и смещён к цветам рядом с выделением. Remove Content игнорирует содержимое внутри выделения и заполняет его продолжением окружения. Replace Background сохраняет выделенный объект, остальное заменяет.
Три пути решают разные задачи и комбинируются: концепт из текста, геометрия через ControlNet, точечная правка в редакторе.
Таблица задач: что фиксировать и что менять
| Задача | Что зафиксировать | Что можно менять | Как проверять |
|---|---|---|---|
| Интерьер с исходной геометрией | Ракурс, положение окна и двери, границы помещения | Палитру мебели и отделки | Сопоставить проёмы и перспективу с исходником |
| Эскиз знака | Силуэт и общую композицию | Цвет, фактуру, стилизацию | Проверить читаемость силуэта, буквы доработать вручную |
| Локальная смена части визуала | Границы маски и окружение | Содержимое внутри выделения | Сверить сопряжение света и границы маски |
Для интерьера управляющая информация — линии и глубина. ControlNet направляет генерацию, но не гарантирует размеры и перспективу. Проверка идёт глазами: совпали ли окно, дверь и ракурс.
Для знака и надписей ограничение описано в карточке SDXL на Hugging Face: модель не умеет выводить разборчивый текст. Буквенную часть и векторный финал дорабатывают отдельно, в графическом редакторе.
Для локальной правки проверяют границы маски. В руководстве по выделениям описаны два производных маски: маска денойзинга и маска смешивания. Красная область получает изменения на полной силе, оранжевая — небольшой отступ, зелёная и жёлтая показывают затухание к краям, синяя отвечает за альфа-композицию результата с оригиналом.
Линии и глубина как управляющая информация
Depth-модель принимает карту глубины и использует её как условие генерации. В официальном README указано, что модель не переобучена под один конкретный метод оценки глубины, поэтому работает с разными препроцессорами и с реальными картами из 3D-движков. Это делает её удобной для интерьеров: перспектива и крупные объёмы сохраняются.
Линейные типы контроля работают иначе. MLSD обучен на прямых линиях M-LSD и хорошо подходит для архитектурных сцен с чёткими границами. Canny ловит контуры по порогам яркости. Lineart извлекает линии рисунка и принимает нарисованные вручную.
Ни один из этих типов не превращает генерацию в чертёж. ControlNet направляет диффузию. Измерения помещения выполняются отдельно. Размеры, углы и пропорции остаются приблизительными. Результат годится для обсуждения концепта, а обмеры и рабочую документацию делают отдельно.
Практический приём: сравните карту глубины с фотографией до генерации. Если на карте окно и дверь читаются как проёмы, у модели есть шанс их удержать. Если карта смазана, сначала подберите другой препроцессор из списка допустимых.
Ограничения текста и векторный финал
Карточка SDXL на Hugging Face прямо называет ограничения: модель не достигает идеального фотореализма, не умеет выводить разборчивый текст, испытывает трудности с композиционными задачами, а автоэнкодер теряет данные. Лица и люди могут генерироваться некорректно. Эти ограничения относятся к SDXL. Для выбранного SD1.5 checkpoint пригодность надписей проверяйте на конкретном результате.
Практический вывод для знака: генерация даёт визуальный концепт — силуэт, цвет, настроение. Буквы и надписи рисуют вручную и переводят в вектор. Шрифт подбирают отдельно, кернинг правят глазами.
Тот же принцип для интерьера: генерация даёт палитру и настроение, а планировку и размеры берут из обмеров. Концепт и рабочая документация — разные артефакты.
Учебный бриф и протокол наблюдений
Ниже — пример брифа для собственного упражнения. Заполните поля своими данными.
Задача: учебный концепт рабочего кабинета по собственной исходной фотографии.
Сохранить: положение окна и двери, ракурс камеры, основные границы помещения.
Изменить: палитру мебели и отделки. Новые проёмы не добавлять.
Входные данные: фотография и перечень сохраняемых элементов. Выбор depth- или линейного контроля — по документации конкретного инструмента.
Результат: концепт для обсуждения, без обещания строительной точности.
Протокол наблюдений заполняют по ходу работы. Колонки: входной файл, выбранная модель и инструмент, что сохраняли, что меняли, обнаруженные отклонения, решение принять или доработать. Форма пустая — её заполняет читатель на своём материале.
Промпт для учебного концепта кабинета:
Тот же кабинет, что на исходной фотографии. Сохрани положение окна и двери, ракурс камеры и границы помещения. Измени палитру: [ваша палитра, например светлое дерево и тёплый серый]. Стиль: [ваш стиль, например спокойный минимализм]. Не добавляй новых проёмов и не меняй планировку.
В квадратных скобках подставьте свою палитру и стиль. Остальное оставьте как есть.
Вариации той же задачи: замена палитры без смены стиля; смена времени суток через освещение; подбор фактуры стен; замена напольного покрытия; добавление текстиля. Каждую вариацию проверяют по тем же критериям: ракурс, проёмы, границы.
Проверка результата
Сравнение идёт по пяти пунктам. Перспектива: совпадает ли линия горизонта и направление стен с исходником. Окна и двери: на месте ли проёмы, не сместились ли. Контуры: читаются ли границы крупных объектов. Текст: есть ли надписи и разборчивы ли они. Пригодность исходника: можно ли взять результат в дальнейшую работу.
Если окно или дверь сместились, результат отклоняют. Перед повторным запуском проверьте карту глубины и выбранную модель. Затем меняйте по одному параметру и снова сравнивайте результат с исходником; совпадение геометрии нужно проверять в каждой версии.
Качество не заявляют заранее. Сравните результат с исходником по каждому перечисленному пункту и запишите конкретные отклонения. Решение принять или доработать принимает человек.
Лицензии: модель отдельно, расширение отдельно
Лицензия привязана к конкретной модели. SDXL на Hugging Face распространяется под CreativeML Open RAIL++-M. У моделей ControlNet 1.1 и у расширения sd-webui-controlnet свои условия. У Krita AI Diffusion и его документации на interstice.cloud — свои.
Коммерческие права у разных вариантов различаются. Единого разрешения на все модели и плагины сразу не существует. Перед коммерческим использованием проверяют лицензию именно той модели, с которой работали, и отдельно — лицензию расширения.
Частые вопросы
Можно ли применить SD1.5 ControlNet к SDXL?
Нет. Модель control_v11f1p_sd15_depth построена под архитектуру SD1.5. SDXL — другое семейство моделей со своей базой и уточняющей моделью. Для SDXL нужны свои модели контроля.
Почему окно и дверь смещаются после генерации?
Сначала сравните карту глубины с фотографией и проверьте, различимы ли на ней нужные проёмы. Если карта не подходит, попробуйте другой допустимый препроцессор. После генерации отдельно сравните окно, дверь и перспективу с исходником: ControlNet не гарантирует их точного сохранения.
Какой препроцессор выбрать для интерьера?
В официальном README для Depth-модели названы Depth_Midas, Depth_Leres и Depth_Zoe. Имя режима в интерфейсе может отличаться. Начните с Depth_Midas и сравните карту с фотографией.
Почему буквы на изображении нечитаемы?
Карточка SDXL называет это ограничением модели: разборчивый текст она не выводит. Буквенную часть рисуют вручную и переводят в вектор отдельно от генерации.
Чем заменить часть изображения, не трогая остальное?
В руководстве Krita AI Diffusion для этого есть режимы выделения. Fill заменяет участок похожим содержимым, Remove Content убирает объект, Replace Background меняет фон вокруг выделенного объекта. Границы маски проверяют после генерации.
