Keypoints
Ключевые точки — это именованные точки, например суставы человека, которые хранятся как координаты с флагом видимости. Как их определяют, размечают и предсказывают, а также как их используют.
Ключевые точки — это определённые именованные точки на объекте: например, левое запястье человека, центр колеса автомобиля или углы коробки. Они хранятся как координаты на изображении. Модель оценки позы предсказывает для каждого найденного объекта фиксированный набор таких точек с оценкой уверенности. Соединяющие их рёбра образуют скелет, отражающий позу и форму. Ключевые точки отмечают части объекта и дают более подробное описание, чем ограничивающая рамка вокруг всего объекта или маска сегментации его контура. Синоним — ориентиры; этот термин чаще используют для лиц.
Определение и разметка ключевых точек#
Каждый датасет задаёт свой набор ключевых точек и их порядок. COCO определяет 17 ключевых точек человеческого тела: нос, глаза, уши, плечи, локти, запястья, бёдра, колени и лодыжки. Каждая метка содержит координаты x и y и признак видимости: 0 — точка не размечена, 1 — размечена, но скрыта, 2 — размечена и видима. Другие наборы описывают другие объекты: например, 21 точку в датасете ключевых точек руки, схему лица из 68 точек в 300-W, 24 точки на собаку в Dog-Pose или углы производственной детали. Поскольку порядок точек несёт смысл, при аугментации данных с горизонтальным отражением изображения необходимо также менять местами все левые и правые ключевые точки. Иначе отражённое левое запястье останется размечено как точка другой руки.
Как модели предсказывают ключевые точки#
Модели глубокого обучения предсказывают ключевые точки либо в виде тепловых карт — по одной на точку, с пиком в её местоположении, — либо напрямую регрессируют координаты по признакам изображения. Каждое предсказание сопровождается оценкой уверенности, которая снижается для ключевых точек, скрытых за другим человеком, обрезанных краем кадра или размытых из-за движения. Поэтому приложения могут игнорировать точки с низкой уверенностью, а не доверять догадке. Предсказания оцениваются с помощью сходства ключевых точек объекта (OKS): метрика допускает большие ошибки для точек, которые разметчики отмечают менее согласованно, например бёдер, чем для точных точек, например глаз.
from ultralytics import YOLO
# Load a YOLO26 pose model that predicts the 17 COCO body keypoints per person
model = YOLO("yolo26n-pose.pt")
results = model("https://ultralytics.com/images/bus.jpg")
keypoints = results[0].keypoints
# COCO order: index 0 is the nose, 9 and 10 are the left and right wrists
for index, name in [(0, "nose"), (9, "left wrist"), (10, "right wrist")]:
x, y = keypoints.xy[0, index].tolist()
print(f"{name}: ({x:.0f}, {y:.0f}), confidence {keypoints.conf[0, index]:.2f}")Каждая строка содержит одну ключевую точку первого обнаруженного человека — её положение в пикселях и уверенность. keypoints.xyn хранит те же положения, нормализованные относительно размера изображения.
Семантические ключевые точки и точки интереса#
Ключевые точки позы семантические: модель учится распознавать, как выглядит левое запястье. Точки интереса обнаруживаются детектором, а не задаются заранее. SIFT (1999) находит пятна, устойчивые к изменению масштаба и повороту; ORB (2011) быстро находит углы для картографирования в реальном времени; SuperPoint (2018) обучается находить повторяемые точки. Дескриптор, вычисленный вокруг каждой точки, позволяет алгоритмам сопоставления, например LightGlue, связывать одну и ту же точку на разных изображениях для регистрации изображений, 3D-реконструкции и визуальной SLAM, а отслеживание точек позволяет следить за ними в видео.
Измерения по ключевым точкам#
Ключевые точки превращают изображение в геометрию: по двум точкам можно измерить расстояние, по трём — угол сустава, а последовательность кадров позволяет вычислить скорость. Решение Ultralytics для мониторинга тренировок таким образом подсчитывает повторения упражнений: по умолчанию для каждого отслеживаемого человека оно измеряет угол правого локтя между ключевыми точками 6, 8 и 10 — правым плечом, локтем и запястьем — с помощью модели позы YOLO26:
- Спортивная аналитика: Углы суставов и скорость движения конечностей, вычисленные по ключевым точкам, позволяют покадрово описать замах в гольфе, беговой шаг спринтера или движение руки питчера при броске.
- Мониторинг водителя: Ориентиры глаз и рта позволяют измерять, как долго глаза остаются закрытыми и как часто водитель зевает, — два признака сонливости.
- Поведение животных: DeepLabCut отслеживает заданные пользователем точки у лабораторных животных, например положение лап и кончика морды, и достиг человеческой точности примерно на 200 размеченных кадрах.










