OpenPose

openpose — управление позой человека через скелетную карту

Раздел
Адаптеры
Обновлено
11.08.26

OpenPose — препроцессор и модель ControlNet для управления позой человека в Stable Diffusion. Превращает любое фото в палочную фигуру (skeleton), где точки — суставы, линии — кости. Эту схему модель использует как «инструкцию», как разместить фигуру в новой генерации. Стандартный путь переноса позы из одного кадра в другой — например, чтобы все персонажи раскадровки стояли одинаково.

Коротко

Коротко. OpenPose — это техника, которая по фотографии человека извлекает его скелет (точки суставов и линии костей), а потом передаёт эту схему в Stable Diffusion для генерации новой картинки в той же позе. Принцип «фотография → скелет → новый персонаж в этой позе». Главный сценарий — переносить позы между кадрами, делать раскадровки, держать персонажа в одной анатомии. Самая стабильная препроцессорная модель ControlNet.

Что это такое

Иллюстратор делает раскадровку для рекламного ролика. Семь кадров: герой стоит, поднимает руку, шагает вперёд, разворачивается. Везде нужен один и тот же стиль и одна и та же фигура.

Без контроля позы Stable Diffusion в каждом кадре рисует героя по-разному: то с руками в карманах, то с поднятыми, то идущего боком, то фронтально. Композиции не складываются.

С OpenPose: иллюстратор берёт семь референс-фото своей знакомой в нужных позах. Прогоняет через ControlNet OpenPose. Получает семь скелетных карт — белые точки суставов на чёрном фоне, соединённые цветными линиями. Эти карты передаёт в Stable Diffusion как «жёсткую инструкцию по позе».

Семь генераций — семь кадров с одной и той же позой, как на референсе, но с новым персонажем в нужном стиле. Раскадровка собирается за вечер.

OpenPose начинался как академический проект Carnegie Mellon University для оценки позы людей. Позже название стало использоваться шире — и для самого метода, и для карт скелета, которыми управляют генерацией через ControlNet.

Как это работает

Двухэтапный пайплайн:

  1. Препроцессор (OpenPose / DWPose / Animal Pose). Берёт исходное изображение, находит человека, извлекает 18–135 ключевых точек (суставы, кисти, лицо). Соединяет их линиями. Получается чёрная картинка со скелетом.
  2. ControlNet OpenPose модель. Получает на вход скелетную карту + промпт. Управляет диффузией так, чтобы сгенерированный персонаж был в этой же позе.

Точки скелета:

  • Базовый OpenPose: 18 точек тела (плечи, локти, запястья, бёдра, колени, лодыжки, голова).
  • OpenPose Full: + 21 точка на лицо + 42 на кисти (по 21 на руку).
  • DWPose: альтернативный препроцессор позы, который нередко лучше видит кисти и мелкие точки. Скорость и точность зависят от реализации, кадра и устройства.

Цвета линий между точками — стандартизированные (правая рука синяя, левая зелёная, ноги фиолетовые). Это помогает ControlNet модели различать стороны тела.

В ComfyUI: нода OpenPose Pose PreprocessorApply ControlNet (OpenPose)KSampler. В AUTOMATIC1111: вкладка ControlNet, выбор модели control_v11p_sd15_openpose и preprocessor openpose_full.

Пример на практике

Дизайнер делает обложку для серии книг. На каждой обложке — главная героиня в характерной позе (рука на бедре, голова чуть наклонена). Поз — 6 разных, для 6 книг.

Подготовка:

  1. Делает 6 фотографий ассистентки в нужных позах. Студийный свет, белый фон.
  2. Загружает каждое фото в ComfyUI.
  3. Применяет OpenPose Full Preprocessor — получает 6 скелетных карт. Сохраняет их.

Генерация:

  1. Workflow: Load Image (skeleton) → Apply ControlNet OpenPose → KSampler → Save.
  2. Промпт одинаковый для всех 6: cyberpunk female warrior, neon armor, dark city background, cinematic.
  3. Меняется только входной скелет.

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

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 — техника переноса позы через карту ключевых точек. Препроцессор строит скелет, а совместимая модель контроля использует его во время генерации. Метод удобен для раскадровок, серий кадров и переноса движения из референса. Сила влияния регулирует баланс между точностью позы и свободой изображения; универсального значения для всех моделей и сцен нет.