ControlNet

Семейство сетей условного контроля для диффузионных моделей. Позволяет управлять структурой генерации Stable Diffusion с помощью дополнительного входа: контуров, карты глубины, скелета позы, сегментации. Опубликован Лвмином Чжаном (Stanford) в феврале 2023 года.

Определение ControlNet

ControlNet — архитектурное расширение для диффузионных моделей, paper «Adding Conditional Control to Text-to-Image Diffusion Models» (Zhang, Rao, Agrawala — Stanford, февраль 2023, arXiv:2302.05543). До ControlNet единственным способом управлять Stable Diffusion был текстовый промпт — повторяемой композиции добиться было невозможно. ControlNet решил проблему: рядом с базовой моделью обучается «двойник» энкодера, который принимает дополнительный кондишн (контуры, карту глубины) и инжектит его в U-Net через zero-convolution слои.

Трюк архитектуры: копия энкодера SD дублируется, исходные веса замораживаются, обучаются только новые блоки и zero-conv. Это гарантирует, что до начала обучения ControlNet никак не влияет на базовую модель — можно адаптировать SD под десятки условий, не ломая её способностей.

Препроцессоры и режимы применения

ControlNet — это всегда пара: препроцессор + модель. Препроцессор превращает фото в карту условия, модель использует её при генерации. Основные варианты:

  • Canny — детектор контуров OpenCV. Жёстко сохраняет композицию, идеально для «перекраски» в другой стиль.
  • Depth — карта глубины через MiDaS / Marigold. Передаёт объём без жёстких контуров — для интерьеров и архитектуры.
  • OpenPose — скелет человека (18–25 точек). Сохраняет позу, оставляет свободу телосложению и фону.
  • MLSD — детектор прямых линий, для архитектуры.
  • Lineart — линейная графика, тоньше Canny, хорошо для аниме.
  • Tile — доуточнение деталей при апскейле.

Параметр control weight регулирует силу (0.5–1.5 типично). Можно подключать несколько ControlNet одновременно: OpenPose + Depth + Canny для жёсткого копирования сцены при смене стиля.

ControlNet работает поверх Stable Diffusion 1.5 и SDXL — для Flux.1 свои аналоги (X-Labs, InstantX). Часто комбинируется с LoRA (структура + стиль) и IP-Adapter (структура + reference). Препроцессоры внутри — классические алгоритмы детекции границ и семантической сегментации. Альтернатива самостоятельной сборке pipeline — prompt-edit с маской в Panda AI на базе nano-banana.

Частые вопросы

Чем ControlNet отличается от img2img?

В img2img модель видит исходник как зашумлённый старт — итог «вдохновлённый» оригиналом, композиция плывёт. ControlNet передаёт явную карту условия, которую модель обязана соблюдать на каждом шаге — поза и геометрия сохраняются точно, меняется стиль и фактура.

Какой препроцессор выбрать для копирования позы?

OpenPose — если важна только поза. Canny + Depth — чтобы сохранить ещё и силуэт одежды, причёску. Lineart для аниме. Для интерьера/экстерьера — Depth + MLSD.

Можно ли использовать ControlNet в Midjourney?

Нет — это опенсорс-расширение для моделей с открытыми весами. У Midjourney есть --cref и --sref, но это эмбеддинги без жёсткого следования структуре.

Сколько ControlNet можно подключить?

Технически — до 5–10, но каждая удваивает время инференса. На практике используют 1–3: OpenPose + Canny для портретов, Depth + MLSD для интерьеров, Tile + Lineart для апскейла иллюстраций.

25 ₽ welcome бонус

Создайте фото с ИИ
за 30 секунд

AI-фотосессия по шаблону, генерация изображений нейросетью или обработка вашего фото — удаление фона, апскейл до 1440p, восстановление лиц. 10 ₽/день бесплатно без регистрации, +25 ₽ welcome бонусом — хватит на 125 удалений фона. Без карты, без подписки, без watermark.

ControlNet — структурный контроль Stable Diffusion | Глоссарий PhotoPanda