Во всех руководствах по установке 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, без возможности редактирования
- Отсутствует вращение камеры (может быть минусом), возможно приближение/отдаление курсором мыши
Установка расширения состоит из нескольких этапов:
- Обновление ControlNet до v1.1.217 или более свежей
- Установка расширения стандартным способом через вкладку “Extensions” в WebUI (инструкция в конце поста)
- Необходимо скачать архив 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
- Вкладка “Install from URL”
- Вставляем в поле ссылку на репозиторий проекта, например https://github. com/huchenlei/sd-webui-openpose-editor
- Жмём “Install” и ждём пока не появится сообщение об успешной установке (подчёркнуто красным)
- Переходим во вкладку “Installed”
- Жмём “Apply and restart UI” и ждём перезапуска сервера
Сравнение редакторов и выводы
Из пяти редакторов в подборке четыре самостоятельные и один вспомогательный (Depth Library). В идеальном мире стоило бы выбрать один основной редактор и пользоваться только им, но это будет непросто.
Если вы создаёте позы по референсам, то sd-webui-openpose-editor будет лучшим выбором, а связка Openpose Editor + Depth Library отстанет с небольшим отрывом. Остальные редакторы менее удобны в этой задаче.
Если вы создаёте позу с нуля, без референсов, или нужно задать сложный угол камеры – редакторы 3D OpenPose и PoseMy.art окажутся наилучшим выбором
Четыре редактора из пяти умеют рисовать пальцы. Но если объект съёмки находится на удалении от камеры кисти будут закручены в причудливые загогулины, несмотря на настройки редактора.
Для себя приоритет при выборе редакторов вижу так:
- sd-webui-openpose-editor когда персонаж находится близко к камере и кисти рук не перекрывают скелет
- Openpose Editor когда персонаж отдалён от камеры или кисти рук перекрывают скелет. Обязательно попробую нарисовать с Depth Library и без неё.
- PoseMy. art или 3D OpenPose когда потребуется что-то этакое или захочу задать необычный угол камеры. Но таких задач пока не было, обычно все углы и ракурсы задаю токенами.
В комментариях с удовольствием отвечу на вопросы, связанные с использованием этих редакторов поз.
Буду рад видеть вас в телеграм-канале, где в таком же формате рассказываю о полезных малоизвестных расширениях и инструментах, показываю примеры использования интересных токенов и делюсь красивыми моделями, на которых рисую сам.