Анализ и сопоставление 5 редакторов позиций для ControlNet

Во всех руководствах по установке ControlNet была рекомендация использовать posex для работы с позами. Спустя несколько месяцев появилось более мощные редакторы, posex морально устарел и перестал обновляться, а в последних версиях WebUI он просто перестал работать. Пришло время искать замену.
В этой заметке я расскажу о 5 редакторах поз, которые рекомендую использовать вместо posex.

Оглавление
1. sd-webui-openpose-editor
2. Openpose Editor
3. Depth Library
4. 3D OpenPose Editor
5. PoseMy. art
6. Инструкция по установке расширений
7. Сравнение редакторов и выводы

sd-webui-openpose-editor

Ссылка для установки расширения: https://github. com/huchenlei/sd-webui-openpose-editor

Самый мощный из доступных редакторов поз для ControlNet. Кроме стандартного скелета передаёт для рисования информацию о пальцах и положении лица в пространстве.

Особенности редактора

  • Работает внутри ControlNet, но доступ к редактору не тривиален
    — Загружаем изображение-референс в ControlNet v1.1.217 (или новее), модель поз должна быть версии 1.1 или выше
    — Выбираем «Enable” и «Allow Preview”, в категории »Control Type” выбираем »OpenPose”
    — Жмём кнопку с непонятной иконкой, которая находится между «Preprocessor” и »Model”
    — В появившемся блоке «Preprocessor Preview” жмём »Edit” и попадаем в редактор
    — Кнопка “ui. sendPose” в левом верхнем углу редактора отправляет позу в ControlNet
  • Работа со скелетом в плоскости
  • Возможность перетаскивать ноды мышкой или задавать численные координаты
  • Автоматически распознаёт позу и добавляет скелет с учётом положения кистей рук и лица. Дополнительные скелеты можно добавить вручную.
  • Возможен импорт позы из JSON
  • Редактирование позы либо мышкой (перетаскиваем ноды), либо изменением координат в специальном интерфейсе
  • Импорт/экспорт позы в JSON, с сохранением возможности редактировать
  • Экспорт позы в png, без возможности редактирования
  • Отсутствует вращение камеры (может быть минусом), возможно приближение/отдаление курсором мыши

Установка расширения состоит из нескольких этапов:

  1. Обновление ControlNet до v1.1.217 или более свежей
  2. Установка расширения стандартным способом через вкладку “Extensions” в WebUI (инструкция в конце поста)
  3. Необходимо скачать архив dist. zip из репозитория проекта https://github. com/huchenlei/sd-webui-openpose-editor/releases
    и распаковать в папку с заменой файлов
    stable-diffusion-webui\extensions\sd-webui-openpose-editor\dist

Openpose Editor

Ссылка для установки расширения: https://github. com/fkunn1326/openpose-editor

Openpose Editor — это продвинутый, в сравнении с posex, редактор поз для ControlNet. Но в сравнении с другими это достаточно простой редактор.

Особенности редактора

  • Работа со скелетом в плоскости
  • Автоматически определяет позу из добавленного изображения (Detect Image)
  • Ручная настройка, или редактирование, позы по фоновому изображению
  • Сохранение созданной позы в качестве пресета
    (поза добавляется в конфиг \extensions\openpose-editor\presets. json)
  • Импорт/экспорт позы в JSON, с сохранением возможности редактировать
  • Экспорт позы в png, без возможности редактирования
  • Отправка готовой позы в ControlNet одним кликом
  • Возможность разместить сколько угодно скелетов
  • Отсутствие вращения камеры (может быть минусом), размер скелета изменяется растягиванием объекта

Depth Library

Ссылка для установки расширения: https://github. com/jexom/sd-webui-depth-lib

Depth Library — это не полноценный редактор поз, а дополнение к любому другому редактору, которое необходимо для улучшения рисования кистей рук. Стандартную библиотеку пресетов можно дополнить любым количеством кистей, в сообществе на civitai выложено несколько подборок (900 штук, 50 штук)

Принцип работы редактора: вы добавляете кисти рук с необходимым вами расположением пальцев в пространстве, и на основе этого генерируете маску глубины (depth mask). При рисовании персонажа через ControlNet в одном юните вы задаёте скелет (open pose), во втором карты глубины (depth) из этого расширения и если всё сделано правильно — у вас получатся идеальные руки.

Особенности расширения

  • Все настройки, включая положение кистей в пространстве и их размеры необходимо задавать вручную, для лучшего результата в два этапа: сначала по референсу выставляем размер кистей, затем по скелету для этого референса выставляем кисти в нужные места.
  • Возможности расширения напрямую зависят от количества добавленных вариантов кистей. При желании можно добавлять кисти самостоятельно.
  • Отправка полученной маски в ControlNet одним кликом
  • Экспорт масок в png

3D OpenPose Editor

Ссылка для установки расширения: https://github. com/nonnonstop/sd-webui-3d-open-pose-editor
Браузерная версия, работает без установки https://zhuyu1997.github.io/open-pose-editor/

Мощный редактор поз с возможностью работы со скелетом в пространстве, что позволит точнее настроить позу.
Помимо стандартного скелета openpose, расширение генерирует контуры, маску глубину и карту нормалей для кистей рук и стоп. Для достижения наилучших результатов стоит использовать комбинацию скелета и контуров/маски/карты (одно из трёх). Выбирать пару стоит исходя из вашего референса. Для простых достаточно скелета и контуров или скелета и маски. В сложных случаях рисование по скелету и карте нормалей покажет наилучший результат. Можно рискнуть и рисовать по четырём файлам. Но с большой долей вероятности результат будет хуже, чем при рисовании по двум.

Особенности редактора

  • Работа со скелетом в объёмном пространстве, возможность точнее задавать позу и положение конечностей
  • Возможность настройки пальцев на кистях рук и положения стоп
  • Автоматическое распознание позы работает, но не идеально (пример на скрине), можно вручную задать позу по фоновому изображению
  • Помимо скелета openpose генерирует контуры (canny), маску глубины (depth) и карту нормалей (normal) для кистей и стопЗа это отвечает фиолетовая кнопка “Generate” в правом верхнем углу редактора.
  • Экспорт результатов в png
  • Отправка скелета и масок в ControlNet одним кликом
  • С непривычки работать в редакторе очень неудобно

PoseMy. art

Внешний сайт: https://app. posemy. art/

Условно-бесплатный браузерный редактор поз с самыми большими, на данный момент, возможностями по настройке позы. Все необходимые для работы функции доступны в базовой версии, за пейволлом лишь необязательные.

Особенности редактора

  • Работа со скелетом в объёмном пространстве, возможность точнее задавать позу и положение конечностей
  • Возможность настройки пальцев на кистях рук и положения стоп
  • Коллекция пресетов поз и сцен (в платной версии их больше)
  • Анимация скелета (2446 штук), возможность остановить движение и экспортировать скелет по стоп-кадру
  • Выставление объектов (пропсов) на сцену: в бесплатной версии ограничение только из стандартного набора; в платной версии импорт любых
  • Три варианта экспорта в png: скелеты без пальцев и с пальцами + карта нормалей всей сцены (улучшит результаты при рисовании сцены с объектами)
  • Экспорт сцены как картинки
  • Нет быстрой отправки в ControlNet
  • Распознание позы по изображению доступно в платной версии

Установка расширений

Для установки расширений необходимо перейти во вкладку “Extensions” вашего Web UI

  1. Вкладка “Install from URL”
  2. Вставляем в поле ссылку на репозиторий проекта, например https://github. com/huchenlei/sd-webui-openpose-editor
  3. Жмём “Install” и ждём пока не появится сообщение об успешной установке (подчёркнуто красным)
  4. Переходим во вкладку “Installed”
  5. Жмём “Apply and restart UI” и ждём перезапуска сервера

Сравнение редакторов и выводы

Из пяти редакторов в подборке четыре самостоятельные и один вспомогательный (Depth Library). В идеальном мире стоило бы выбрать один основной редактор и пользоваться только им, но это будет непросто.

Если вы создаёте позы по референсам, то sd-webui-openpose-editor будет лучшим выбором, а связка Openpose Editor + Depth Library отстанет с небольшим отрывом. Остальные редакторы менее удобны в этой задаче.
Если вы создаёте позу с нуля, без референсов, или нужно задать сложный угол камеры – редакторы 3D OpenPose и PoseMy.art окажутся наилучшим выбором
Четыре редактора из пяти умеют рисовать пальцы. Но если объект съёмки находится на удалении от камеры кисти будут закручены в причудливые загогулины, несмотря на настройки редактора.

Для себя приоритет при выборе редакторов вижу так:

  1. sd-webui-openpose-editor когда персонаж находится близко к камере и кисти рук не перекрывают скелет
  2. Openpose Editor когда персонаж отдалён от камеры или кисти рук перекрывают скелет. Обязательно попробую нарисовать с Depth Library и без неё.
  3. PoseMy. art или 3D OpenPose когда потребуется что-то этакое или захочу задать необычный угол камеры. Но таких задач пока не было, обычно все углы и ракурсы задаю токенами.

В комментариях с удовольствием отвечу на вопросы, связанные с использованием этих редакторов поз.

Буду рад видеть вас в телеграм-канале, где в таком же формате рассказываю о полезных малоизвестных расширениях и инструментах, показываю примеры использования интересных токенов и делюсь красивыми моделями, на которых рисую сам.

#stablediffusion #controlnet #posex #openpose.

 

Источник

ControlNet, анализ, для, позиций, редакторов, сопоставление

Читайте также