Бывалые пользователи Stable Diffusion знают, как сложно создать именно ту композицию, которую вы хотите. Изображения получаются какими-то… рандомными. Лучший способ — нагенерить кучу картинок, а потом выбрать из всего числа наиболее подходящую.

Благодаря ControlNet наконец-то есть возможность точно контролировать, где находятся объекты и как они выглядят! Сегодня расскажем об этой фиче.

Пару слов о…

ControlNet — расширение для Stable Diffusion (почитать о ней можно здесь), которое дает дополнительный уровень контроля при обработке изображений img2img. Основная идея заключается в использовании дополнительных входных условий, которые указывают модели, что именно нужно делать.

Теперь можно управлять итоговыми данными для дальнейшего соответствия исходному изображению, что делает нейросеть более универсальной и применимой для различных случаев использования.

Кстати, сделать нейросети более универсальными поможет онлайн-практикум «Нейросети для жизни». Расскажем, как ИИ может облегчить жизнь и стать неотъемлемым инструментом в быту!

ОНЛАЙН-ПРАКТИКУМ
КАК «ХАКНУТЬ» PYTHON С ПОМОЩЬЮ CHATGPT
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • Прямо в эфире решим типичные задачи программиста только с помощью ChatGPT
  • Возможности Python — расскажем что можно делать и сколько на этом зарабатывать?
  • Что ждет рынок программирования и почему мы решили сюда пойти

Что умеет

ControlNet умеет генерировать картинки благодаря:

1. Обнаружению краев

Здесь на первый план выходит детектор Canny, который использует дополнительное входное изображение и распознает его черты. Рисунок, содержащий обнаруженные края, превращается в «control map» (контрольная карта). Он загружается в модель ControlNet в качестве дополнительного условия к текстовой подсказке.

Процесс извлечения конкретной информации (в данном случае краев) из входного изображения называется «preprocessing» (предварительная обработка).

2. Определению позы человека

Да, обнаружение краев — не единственный способ предварительной обработки изображения. Слышали что-нибудь об OpenPose?

Это первая многопользовательская система, работающая в онлайн-режиме, которая совместно обнаруживает ключевые точки человеческого тела, рук, лица и ног (всего 135 таких ключевых точек) на разных картинках.

Ключевые точки экспортируются из начального рисунка благодаря OpenPose и сейвятся (сохраняются) в виде все той же контрольной карты, содержащей положения ключевых точек. Затем она вместе с текстовой подсказкой загружается в Stable Diffusion в качестве дополнительного условия. Картинка формируется на основе этих двух параметров.

В чем разница между Canny и OpenPose

Canny выделяет края как объекта, так и фона. Это позволяет более точно передать обстановку. Видно, что танцующий мужчина превратился в женщину, но контур, прическа и цвет кожи сохранились.

OpenPose же определяет только ключевые точки человека, такие как положение головы, рук и т.д. Генерация изображений происходит более свободно, но с соблюдением исходной позы.

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

Напоследок

В целом, расширение дает гораздо лучшие результаты, чем исходный img2img, и его также можно использовать через раздел text2img.

На самом деле, в зависимости от того, где использовать ControlNet — в text2img или в img2img, — результаты могут значительно отличаться.

Использование img2img в ControlNet вместе с исходным методом позволит копировать или совмещать оригинальное изображение с большей точностью, а реализация новых идей и проектов будет легче с моделью text2img.

3-дневный курс
НАУЧИСЬ СОЗДАВАТЬ TELEGRAM-БОТОВ НА PYTHON С CHATGPT
C НУЛЯ ЗА 3 ДНЯ
  • Освой Python и нейросети и узнай, как гарантированно получить первые 10 заказов
  • УЧАСТВОВАТЬ ЗА 0 РУБ.
  • Создай и прокачай собственного чат-бота
Участвовать бесплатно
Вебинар
ФРИЛАНС И ПРОЕКТНАЯ РАБОТАДЛЯ PYTHON-РАЗРАБОТЧИКА
  • Подарим подборку бесплатных инструментов для написания кода
Участвовать бесплатно