OpenPose
openpose — управление позой человека через скелетную карту
OpenPose — препроцессор и модель ControlNet для управления позой человека в Stable Diffusion. Превращает любое фото в палочную фигуру (skeleton), где точки — суставы, линии — кости. Эту схему модель использует как «инструкцию», как разместить фигуру в новой генерации. Стандартный путь переноса позы из одного кадра в другой — например, чтобы все персонажи раскадровки стояли одинаково.
Коротко
Коротко. OpenPose — это техника, которая по фотографии человека извлекает его скелет (точки суставов и линии костей), а потом передаёт эту схему в Stable Diffusion для генерации новой картинки в той же позе. Принцип «фотография → скелет → новый персонаж в этой позе». Главный сценарий — переносить позы между кадрами, делать раскадровки, держать персонажа в одной анатомии. Самая стабильная препроцессорная модель ControlNet.
Что это такое
Иллюстратор делает раскадровку для рекламного ролика. Семь кадров: герой стоит, поднимает руку, шагает вперёд, разворачивается. Везде нужен один и тот же стиль и одна и та же фигура.
Без контроля позы Stable Diffusion в каждом кадре рисует героя по-разному: то с руками в карманах, то с поднятыми, то идущего боком, то фронтально. Композиции не складываются.
С OpenPose: иллюстратор берёт семь референс-фото своей знакомой в нужных позах. Прогоняет через ControlNet OpenPose. Получает семь скелетных карт — белые точки суставов на чёрном фоне, соединённые цветными линиями. Эти карты передаёт в Stable Diffusion как «жёсткую инструкцию по позе».
Семь генераций — семь кадров с одной и той же позой, как на референсе, но с новым персонажем в нужном стиле. Раскадровка собирается за вечер.
OpenPose начинался как академический проект Carnegie Mellon University для оценки позы людей. Позже название стало использоваться шире — и для самого метода, и для карт скелета, которыми управляют генерацией через ControlNet.
Как это работает
Двухэтапный пайплайн:
- Препроцессор (OpenPose / DWPose / Animal Pose). Берёт исходное изображение, находит человека, извлекает 18–135 ключевых точек (суставы, кисти, лицо). Соединяет их линиями. Получается чёрная картинка со скелетом.
- ControlNet OpenPose модель. Получает на вход скелетную карту + промпт. Управляет диффузией так, чтобы сгенерированный персонаж был в этой же позе.
Точки скелета:
- Базовый OpenPose: 18 точек тела (плечи, локти, запястья, бёдра, колени, лодыжки, голова).
- OpenPose Full: + 21 точка на лицо + 42 на кисти (по 21 на руку).
- DWPose: альтернативный препроцессор позы, который нередко лучше видит кисти и мелкие точки. Скорость и точность зависят от реализации, кадра и устройства.
Цвета линий между точками — стандартизированные (правая рука синяя, левая зелёная, ноги фиолетовые). Это помогает ControlNet модели различать стороны тела.
В ComfyUI: нода OpenPose Pose Preprocessor → Apply ControlNet (OpenPose) → KSampler. В AUTOMATIC1111: вкладка ControlNet, выбор модели control_v11p_sd15_openpose и preprocessor openpose_full.
Пример на практике
Дизайнер делает обложку для серии книг. На каждой обложке — главная героиня в характерной позе (рука на бедре, голова чуть наклонена). Поз — 6 разных, для 6 книг.
Подготовка:
- Делает 6 фотографий ассистентки в нужных позах. Студийный свет, белый фон.
- Загружает каждое фото в ComfyUI.
- Применяет
OpenPose Full Preprocessor— получает 6 скелетных карт. Сохраняет их.
Генерация:
- Workflow:
Load Image (skeleton) → Apply ControlNet OpenPose → KSampler → Save. - Промпт одинаковый для всех 6:
cyberpunk female warrior, neon armor, dark city background, cinematic. - Меняется только входной скелет.
Результат: серия обложек с одной героиней в разных позах и общей стилистикой. Подготовка скелетов и отбор вариантов остаются отдельными этапами, поэтому время зависит от исходных кадров и числа исправлений.
OpenPose-карта работает только вместе с модулем контроля, обученным под совместимую архитектуру. Модель для одной базы нельзя автоматически переносить на другую; совместимость указывают в карточке весов и готовом workflow.
С чем часто путают
- OpenPose и DWPose — оба извлекают скелет, но используют разные модели оценки позы. DWPose нередко лучше разбирает кисти и мелкие точки, однако результат зависит от ракурса и реализации препроцессора.
- OpenPose и Depth Map — OpenPose даёт скелет, Depth — карту глубины (3D-объём). Для людей часто комбинируют оба ControlNet.
- OpenPose и Canny Edge — Canny — контуры всего изображения. OpenPose — только скелет человека. Для обстановки нужен Canny.
- OpenPose и Segmentation Map — Segmentation размечает «что есть что» (человек, дерево, машина). OpenPose — позу конкретного человека.
- OpenPose Preprocessor и ControlNet OpenPose модель — препроцессор делает скелет из фото, модель использует скелет в генерации. Нужны оба.
Частые ошибки и заблуждения
- «OpenPose даёт точное лицо». Нет. Скелет — это только поза. Лицо генерируется моделью с нуля. Для контроля лица нужен IP-Adapter, FaceID или ControlNet ReferenceOnly.
- «OpenPose работает на любых фото». Ошибки чаще возникают при перекрытиях, экстремальных ракурсах и частично скрытом теле. Даже простой фронтальный кадр стоит проверить по кистям, стопам и перепутанным людям.
- «Чем больше точек скелета, тем лучше». Не всегда. Для общей позы хватает крупных суставов, а лицо и кисти добавляют детали вместе с новыми ошибками детектора. Нужный формат зависит от кадра и подключённой ControlNet-модели.
- «Можно нарисовать скелет вручную и подать в ControlNet». Можно! Это популярная техника: рисуете скелет в Photoshop белыми линиями на чёрном фоне, подаёте в ControlNet. Главное — соблюсти цветовую палитру линий.
- «OpenPose-картинка работает только с одним персонажем». Работает с несколькими. Если препроцессор нашёл двух человек — на скелете будет два скелета, и модель сгенерирует двух людей в этих позах.
Связанные термины
- ControlNet — общая система, частью которой является OpenPose.
- Другие pose-препроцессоры — могут лучше видеть кисти, лицо или сложные ракурсы. Их сравнивают на своих кадрах и с тем форматом точек, который принимает workflow.
- Depth Map — комплементарный контроль 3D-структуры.
- Canny Edge — контроль контуров, дополняет позу.
- IP-Adapter — для контроля лица и стиля.
- Reference Only — другой способ перенести позу/стиль.
- Pose Editor — расширения для рисования скелета вручную.
Частые вопросы
Где взять модель ControlNet OpenPose? В каталогах моделей и репозиториях авторов. В карточке должны совпадать базовая архитектура, тип карты позы, формат весов и способ подключения. Путь установки зависит от интерфейса и версии сборки.
OpenPose работает с FLUX? Да, если для выбранной версии FLUX есть совместимый модуль контроля позы и готовый workflow. Вес OpenPose для SDXL или SD 1.x напрямую не подходит.
Можно ли извлечь позу с видео? Да. Поза извлекается из каждого кадра, после чего последовательность карт управляет видеопайплайном. Названия нод и поддерживаемые форматы зависят от установленного препроцессора.
Точность DWPose сильно отличается? DWPose часто лучше восстанавливает кисти и мелкие точки, но преимущество не универсально. Перекрытия, обрезанные конечности и необычные ракурсы остаются сложными для обоих подходов.
Что делать если препроцессор пропускает руку или ногу?
Попробовать dwpose вместо openpose. Если всё равно теряет — дорисовать скелет вручную в Photoshop, использовать как input.
Можно ли использовать OpenPose для животных? Не из коробки. Есть отдельная модель Animal Pose Preprocessor (Yolov8-pose), которая работает по похожему принципу для котов, собак, лошадей.
Главное
OpenPose — техника переноса позы через карту ключевых точек. Препроцессор строит скелет, а совместимая модель контроля использует его во время генерации. Метод удобен для раскадровок, серий кадров и переноса движения из референса. Сила влияния регулирует баланс между точностью позы и свободой изображения; универсального значения для всех моделей и сцен нет.