Когда персонаж на сгенерированном изображении получается со сломанными руками или неестественным разворотом корпуса, причина почти всегда одна — модель не получила явной схемы позы, и расширение OpenPose Editor для Stable Diffusion WebUI решает именно эту задачу, позволяя вручную расставить ключевые точки скелета перед генерацией. Редактор работает в связке с ControlNet: вы рисуете или корректируете «человечка» из точек и линий, а нейросеть строит изображение строго по этой разметке.
В этом руководстве разберём установку расширения, интерфейс редактора, передачу позы в ControlNet, типичные ошибки вроде «пустого» препроцессора и способы добиться точного следования заданной позе. Материал ориентирован на пользователей AUTOMATIC1111 WebUI, но принципы применимы и к другим интерфейсам с поддержкой ControlNet.
Что такое OpenPose и зачем нужен редактор
OpenPose — это технология распознавания ключевых точек тела человека: голова, плечи, локти, запястья, бёдра, колени, лодыжки, а в расширенных вариантах — кисти рук и черты лица. В экосистеме Stable Diffusion эти точки используются как управляющая карта для ControlNet, благодаря чему генерация следует заданной позе, а не случайному положению тела.
OpenPose Editor — расширение для WebUI, которое добавляет вкладку с интерактивным редактором скелета. Вместо поиска референсной фотографии вы можете собрать позу с нуля: перетаскивать точки мышью, менять пропорции, задавать ширину и высоту холста под размер будущего изображения.
- 🦴 Точный контроль позы без референсных фотографий
- ✋ Поддержка разметки кистей рук и лица в расширенных режимах
- 📐 Настройка пропорций тела под персонажа
- 🔄 Отправка готового скелета напрямую в ControlNet одной кнопкой
Установка расширения OpenPose Editor
Установка выполняется стандартным для WebUI способом — через вкладку расширений. Откройте Extensions → Install from URL, вставьте ссылку на репозиторий расширения и нажмите Install. Точный адрес репозитория возьмите с официальной страницы проекта на GitHub, так как форки и зеркала периодически меняются.
После установки перезапустите WebUI полностью — не только перезагрузите интерфейс кнопкой Reload UI, а закройте консоль и запустите webui-user.bat заново. Только после полного перезапуска вкладка OpenPose Editor гарантированно появится в верхнем меню рядом с txt2img и img2img.
⚠️ Внимание: OpenPose Editor сам по себе не генерирует изображения с позой — он лишь создаёт скелет. Для применения позы обязательно нужно установленное расширение sd-webui-controlnet и скачанная ControlNet-модель для OpenPose, совместимая с вашей версией Stable Diffusion (SD 1.5 и SDXL используют разные модели).
☑️ Проверка готовности к работе
Интерфейс и основные инструменты редактора
Открыв вкладку редактора, вы увидите холст с базовым скелетом в нейтральной стойке. Каждая точка — это сустав, который можно перетаскивать мышью. Линии между точками обновляются автоматически, так что вам не нужно рисовать кости вручную.
Первым делом задайте размеры холста Width и Height такими же, какими будет итоговое изображение. Это критично: если скелет собран на квадратном холсте, а генерация идёт в вертикальном формате, поза растянется или сожмётся, и персонаж получится деформированным. Также доступны ползунки общего масштаба фигуры и кнопки добавления дополнительных персонажей для сцен с несколькими людьми.
Как передать позу в ControlNet
Когда скелет готов, нажмите кнопку отправки в ControlNet — в редакторе она обычно подписана как Send to ControlNet или похожим образом. Поза попадёт в первый свободный слот ControlNet на вкладке txt2img. Дальше вам нужно правильно настроить сам блок ControlNet.
В блоке ControlNet отметьте галочку Enable, в выпадающем списке препроцессора выберите None — поскольку изображение уже является готовой картой позы, дополнительная обработка не требуется. В списке моделей укажите ControlNet-модель OpenPose. Параметр Control Weight определяет, насколько строго генерация следует скелету: значения около единицы дают жёсткое следование, снижение веса даёт модели больше свободы.
⚠️ Внимание: частая ошибка — оставить препроцессорopenposeвключённым для уже готового скелета из редактора. Тогда ControlNet попытается распознать позу с картинки скелета повторно, и результат может исказиться. Для карт из редактора препроцессор должен бытьNone.
Работа с референсными фотографиями
Редактор умеет не только рисовать позу с нуля, но и извлекать скелет из фотографии. Загрузите референс, запустите детекцию позы — и получите редактируемый скелет, который можно поправить: выпрямить кисть, изменить разворот стопы, скорректировать наклон головы. Это удобно, когда референс близок к задумке, но не идеален.
При детекции с фото возможны пропущенные точки — например, рука за спиной или перекрытая нога. Такие суставы нужно достроить вручную, иначе ControlNet интерпретирует отсутствующую конечность произвольно. Проверяйте перед отправкой, что все видимые части тела имеют свои точки.
Почему руки всё равно получаются кривыми
Базовая разметка OpenPose не всегда включает детальные точки пальцев. Если ваша модель ControlNet обучена только на скелете тела без кистей, пальцы останутся «на усмотрение» нейросети. Ищите модели и препроцессоры с пометкой full или hand — они передают разметку ладоней. Дополнительно помогает снижение Control Weight на финальных шагах или доработка рук через inpaint.
Сравнение способов задания позы
Разные методы получения карты позы отличаются по точности и трудозатратам. Выбор зависит от задачи: быстрый набросок, точное копирование референса или сложная сцена с несколькими фигурами.
| Метод | Точность | Скорость | Когда использовать |
|---|---|---|---|
| Скелет с нуля в редакторе | Высокая | Медленно | Уникальная поза без референса |
| Детекция с фото + правка | Высокая | Средне | Есть близкий референс |
| Препроцессор OpenPose напрямую | Зависит от фото | Быстро | Референс идеален, правок нет |
| Готовые JSON-позы из библиотеки | Высокая | Очень быстро | Повторяющиеся типовые стойки |
Типичные проблемы и их решение
Если генерация игнорирует скелет, проверьте три вещи по порядку: включён ли ControlNet галочкой Enable, выбрана ли модель OpenPose (а не пустое поле None в списке моделей) и совпадает ли версия ControlNet-модели с версией вашей базовой модели. Несовместимость SD 1.5 и SDXL — самая частая причина «молчания» ControlNet.
Вторая группа проблем — искажённые пропорции. Здесь почти всегда виновато несовпадение размеров холста редактора и параметров генерации. Сверьте Width/Height в редакторе и в txt2img. Также проверьте, что в скелете нет «перепутанных» точек — например, левая и правая рука не должны пересекаться через корпус без необходимости.
Если редактор не появляется в меню после установки, убедитесь, что WebUI был полностью перезапущен, и загляните в консоль запуска — ошибки загрузки расширений выводятся туда. Конфликты версий расширения и WebUI лечатся обновлением обоих компонентов через вкладку Extensions → Check for updates.
Часто задаваемые вопросы
Работает ли OpenPose Editor без ControlNet?
Нет. Редактор создаёт только карту скелета — применить её к генерации можно исключительно через расширение ControlNet с подходящей OpenPose-моделью.
Можно ли задать позу для нескольких персонажей?
Да, редактор поддерживает добавление нескольких фигур на один холст. Расставьте скелеты с учётом композиции сцены и отправьте общую карту в ControlNet. Учтите, что чем больше персонажей, тем внимательнее нужно следить за пропорциями и взаимным расположением фигур.
Почему препроцессор нужно ставить в None?
Изображение из редактора уже является готовой картой позы. Если включить препроцессор openpose, ControlNet будет повторно распознавать позу с картинки скелета, что вносит лишние искажения. Препроцессор нужен только при загрузке обычной фотографии напрямую в ControlNet.
Как сохранить позу для повторного использования?
В редакторе есть функции сохранения и загрузки позы в формате JSON. Сохранённый файл можно загрузить в любой сессии и доработать. Это удобный способ собрать библиотеку типовых стоек, жестов и композиций.
Подходит ли OpenPose Editor для SDXL?
Сам редактор универсален — он лишь рисует скелет. А вот ControlNet-модель должна быть обучена именно под SDXL. Проверяйте совместимость модели на странице её загрузки и не смешивайте модели для SD 1.5 и SDXL в одной связке.