ControlNet
ControlNet — надстройка над диффузионными моделями, задающая структуру генерации по управляющему изображению: карте краёв, глубины, позе или сегментации. Позволяет точно контролировать композицию, не полагаясь только на текстовый промпт.
ControlNet — это архитектурная надстройка над диффузионными моделями (прежде всего Stable Diffusion), которая добавляет к текстовому запросу второй канал управления — управляющее изображение (control image). Представлена Lvmin Zhang и командой Стэнфорда в феврале 2023 года и стала одним из ключевых инструментов для точного контроля композиции при генерации.
Зачем нужен ControlNet
Обычный текстовый промпт плохо передаёт геометрию: невозможно словами точно задать позу человека, перспективу здания или контур предмета. ControlNet решает эту задачу — вы подаёте на вход дополнительную «карту условий», и модель генерирует изображение, повторяющее её структуру, но с новым содержанием, стилем и текстурой.
Как работает
ControlNet копирует энкодер базовой U-Net-сети и обучает копию на управляющих сигналах, соединяя её с основной сетью через zero-convolution — свёртки, инициализированные нулями. Благодаря этому исходная модель не «ломается» на старте обучения, а управляющий сигнал добавляется постепенно. Веса базовой модели при этом заморожены, что позволяет обучать ControlNet на сравнительно небольших датасетах.
Типы препроцессоров
- Canny / HED — детекция границ: сохраняет контуры объекта
- Depth — карта глубины: удерживает объём и перспективу сцены
- OpenPose — скелет человека: фиксирует позу и жесты
- Segmentation — маска сегментации: раскладывает сцену на зоны
- Scribble / Lineart — грубый набросок превращается в детальную картинку
- Normal / MLSD — карты нормалей и прямые линии для архитектуры и интерьеров
ControlNet и image-to-image
ControlNet часто путают с image-to-image. Разница принципиальна: img2img берёт исходное изображение как шумовую основу и переписывает его целиком, а ControlNet извлекает из изображения только структурный признак (контур, глубину, позу) и навязывает его новой генерации. Их можно комбинировать: img2img задаёт цветовую базу, ControlNet удерживает геометрию.
Практическое применение
В обработке фото ControlNet используют для сохранения композиции при смене стиля, для генерации товарных сцен по эскизу, для переноса позы модели на новый образ и для аккуратного inpainting с учётом структуры. Современные модели вроде FLUX.1 Kontext частично встраивают логику структурного контроля прямо в редактирование по промпту, снижая потребность в ручной настройке препроцессоров.
Параметры
Ключевые настройки — control weight (сила влияния карты, обычно 0.5–1.2), guidance start/end (на каких шагах диффузии действует контроль) и выбор препроцессора. Слишком высокий вес «замораживает» результат и мешает промпту, слишком низкий — теряет структуру.