Оценка позы и ключевые точки
Компьютерное зрениеОценка позы определяет положение и ориентацию объекта или человека по набору ключевых точек. Разбираем постановку задачи, подходы, метрики и то, откуда брать данные для обучения.

Что такое ключевые точки и зачем они нужны
Рамка вокруг объекта говорит, где он находится, но не говорит, как он повёрнут и в каком состоянии. Ключевые точки (keypoints) решают именно эту задачу: это набор заранее определённых характерных точек объекта, координаты которых модель предсказывает на изображении.
Для человека это суставы: плечи, локти, запястья, бёдра, колени, лодыжки, иногда ещё нос и глаза. Для промышленной детали это могут быть углы корпуса, центры отверстий, места крепления. Для автомобиля — центры колёс, углы фар, края номерного знака. Набор и порядок точек называют «скелетом» или схемой разметки, и он задаётся один раз для класса объекта.
Типичные применения:
- контроль эргономики и безопасности на производстве: положение рук относительно опасной зоны, поза при подъёме груза;
- спорт и реабилитация: анализ техники движений, подсчёт повторений упражнений;
- робототехника: определение, как захватить деталь, под каким углом она лежит;
- ритейл: анализ поведения покупателей у полки без идентификации личности;
- дополненная реальность и анимация: перенос движений на виртуального персонажа.
2D, 2.5D и 3D: три постановки задачи
Прежде чем собирать данные, важно определить, что именно вы хотите получить на выходе. От этого зависят и модель, и разметка.
2D-поза
Модель предсказывает координаты точек в пикселях изображения. Это самая простая и распространённая постановка. Для многих задач её достаточно: подсчёт повторений, проверка того, находится ли рука в зоне, определение ориентации детали на плоском столе.
Поза с глубиной
К каждой точке добавляется значение глубины: относительное или абсолютное расстояние от камеры. Такую постановку называют 2.5D. Она нужна, когда важно различать, какая рука ближе к камере, или когда объект наклонён. Источником эталонной глубины в реальных данных служат depth-камеры или лидары, а в синтетических — карты глубины, которые рендер выдаёт бесплатно, подробнее об этом в разделе про 3D-моделирование и визуализацию.
Полная 6D-поза
Для жёстких объектов, например деталей, инструментов, коробок, часто нужна полная поза: три координаты положения и три угла ориентации. Её можно вычислить из набора 2D-точек, если известны 3D-модель объекта и параметры камеры, с помощью решения задачи PnP. Поэтому ключевые точки жёсткого объекта часто выбирают как вершины описывающего параллелепипеда или как характерные точки CAD-модели.
Подходы к решению
Современные методы делятся на два больших семейства, и выбор между ними определяет скорость и качество.
Сверху вниз (top-down)
Сначала детектор находит каждый объект или человека и выдаёт рамку, затем для каждой рамки отдельная сеть предсказывает ключевые точки. Плюсы: высокая точность на каждом объекте, возможность использовать мощные сети для вырезанного фрагмента. Минус: время работы растёт вместе с числом людей в кадре, а ошибка детектора неизбежно переходит в оценку позы.
Снизу вверх (bottom-up)
Сеть сразу находит все ключевые точки на изображении, а затем группирует их в отдельные скелеты. Время работы почти не зависит от числа объектов, что удобно для толпы, но группировка при перекрытиях может ошибаться, и точность на отдельных людях обычно чуть ниже.
Единая модель с рамкой и точками
В последние годы популярны детекторы, которые предсказывают рамку и ключевые точки одновременно за один проход. Они удобны для встраиваемых систем, поскольку не требуют двух сетей. Для ряда задач мы используем именно такие модели, обученные на собственных данных; если интересно, как это выглядит на практике для детекции, посмотрите разбор обучения YOLO на собственном датасете.
Как оценивают качество
Для рамок есть IoU, а для точек нужен свой аналог. Самая распространённая метрика называется OKS (Object Keypoint Similarity). Она считает расстояние между предсказанной и эталонной точкой, нормирует его на размер объекта и на «допустимый разброс» для каждого типа точки. Дело в том, что ошибка в 5 пикселей на кисти руки и на бедре воспринимается по-разному: кисть сложнее определить точно, поэтому допуск для неё шире.
Дальше OKS играет ту же роль, что и IoU в детекции: задаётся порог, предсказание считается верным, если OKS выше порога, и по этому считаются AP и mAP. Подробнее о том, как читать такие метрики, мы писали в статье Метрики детекции: mAP, IoU, precision и recall без путаницы.
Для прикладных задач часто полезнее более простые метрики:
- средняя ошибка в пикселях или в процентах от размера объекта;
- PCK (Percentage of Correct Keypoints): доля точек, попавших в окрестность эталона заданного радиуса;
- ошибка угла для 6D-позы в градусах и ошибка положения в миллиметрах.
Заказчику, как правило, нужны именно они: «угол определяется с ошибкой не более трёх градусов» понятнее, чем «OKS-mAP 0.71».
Разметка ключевых точек: где всё ломается
Если разметка рамок уже непростая работа, то разметка скелетов сложнее в разы. Одно изображение с человеком содержит семнадцать и более точек, каждую нужно поставить аккуратно и указать её видимость.
Видимость точек
Обычно используют три состояния: точка видна, точка скрыта (но положение можно предположить), точки нет в кадре. Если разметчики по-разному трактуют скрытые точки, модель получит противоречивые сигналы и начнёт «дрожать» на перекрытых участках. Правило трактовки должно быть прописано в инструкции, подробно об этом мы писали в статье Как написать инструкцию для разметчиков.
Расхождения между людьми
Даже у опытных разметчиков положение точки, например центра сустава под одеждой, различается на несколько процентов от размера тела. Это даёт предел достижимой точности: модель не может быть точнее, чем шум в эталоне. Для жёстких объектов с чёткой геометрией шум меньше, но всё равно присутствует.
Трудоёмкость
Разметка одного изображения с одним человеком по полной схеме занимает от одной до трёх минут, а на плотных сценах — заметно больше. Для обучения устойчивой модели нужны десятки тысяч примеров, и бюджет ручной разметки быстро становится главной статьёй расходов. Цифры и способы их сократить мы разбирали в статье о стоимости ручной разметки.
Почему синтетика особенно хороша для поз
Ключевые точки — одна из задач, где синтетические данные дают наибольший выигрыш, и причина проста. В 3D-сцене у каждой модели есть скелет или набор опорных точек, привязанных к геометрии. Когда сцена отрисована, проекция этих точек на изображение вычисляется математически, без участия человека, без шума и с точным признаком видимости (по карте глубины видно, закрыта ли точка другим предметом).
Что это даёт на практике:
- Нулевая ошибка разметки: точка стоит ровно там, где находится в модели.
- Идеальная согласованность: центр сустава или отверстия всегда трактуется одинаково.
- Полная информация о перекрытиях, включая случаи, которые человек разметить не может.
- Контроль над распределением: можно сгенерировать редкие позы, необычные ракурсы и опасные ситуации, которые трудно снять в реальности.
- Дополнительные слои: маски, карты глубины, нормали, для многозадачного обучения.
Для промышленных деталей можно взять CAD-модель, расставить на ней ключевые точки один раз и получить датасет любого размера под любые условия освещения и фона. Для несуществующих в реальности объектов, например прототипов, которые ещё не изготовлены, это вообще единственный способ получить обучающие данные заранее. Подробнее о нашем подходе — на странице синтетических датасетов.
Чтобы синтетика работала на реальных кадрах, ей нужно разнообразие: освещение, материалы, одежда, фон, положения камеры. Одной красивой сцены мало. Этот принцип подробно раскрыт в материале о доменной рандомизации.
Типичные проблемы при обучении
Даже с хорошими данными задача поз имеет свои подводные камни.
- Симметрия. Левая и правая рука визуально неразличимы на виде сзади или на симметричной детали. Если схему разметки не продумать, модель будет путать левое и правое. Для симметричных объектов вводят ограничения или явно учитывают симметрию в функции потерь.
- Масштаб. Маленькие фигуры на дальнем плане дают точки, различающиеся на пару пикселей. Помогает увеличение разрешения входа и обучение на кадрах с большим разбросом масштабов.
- Перекрытия. Частично закрытые объекты требуют примеров с перекрытиями в обучении, иначе модель теряет точки.
- Необычные позы. Модели хорошо знают стоящего и идущего человека и плохо — лежащего, согнутого, в прыжке. Здесь как раз выручает целенаправленная генерация.
- Дрожание на видео. Покадровые предсказания шумят. Решается сглаживанием по времени, например фильтром Калмана, или обучением на последовательностях.
С чего начать проект по оценке позы
Рабочий порядок, который мы используем:
- Сформулировать, что нужно на выходе: положение в пикселях, глубина, полная поза. Определить допустимую ошибку.
- Утвердить схему ключевых точек и правила видимости.
- Собрать небольшую реальную контрольную выборку, лучше размеченную двумя людьми независимо.
- Сгенерировать пилотный синтетический набор и проверить, как модель, обученная на нём, ведёт себя на реальной выборке.
- Посмотреть ошибки, определить, какого разнообразия не хватает, и масштабировать датасет.
Если у вас есть задача, где нужно определять позу людей или объектов, и вы хотите оценить, подойдёт ли для неё синтетика, пришлите описание на [email protected]. Мы подготовим тестовый датасет с ключевыми точками, масками и картами глубины, чтобы вы могли проверить подход на своих реальных данных.
Нужен датасет под вашу задачу?
Подготовим тестовую партию изображений с разметкой, чтобы вы могли проверить подход на своей модели. Напишите на [email protected] или оставьте заявку.
Читайте также
Компьютерное зрениеОбучение YOLO на собственном датасете: пошаговый разбор
YOLO давно стала рабочей лошадкой детекции: быстро обучается и легко разворачивается. Разбираем весь процесс на собственном датасете и честно говорим, где обычно ломается.
Компьютерное зрениеДетекция объектов: от задачи к рабочей модели
Детекция отвечает на два вопроса сразу: что на кадре и где оно находится. Разбираем весь путь от постановки задачи до модели, которая стабильно работает на реальных камерах.
Компьютерное зрениеМетрики детекции: mAP, IoU, precision и recall без путаницы
Метрики детекции часто пересказывают формулами, но редко объясняют, что за ними стоит. Разбираем IoU, precision, recall, AP и mAP на понятных примерах и показываем, как по ним принимать решения.