Meet YOLO26: next-gen vision AI.

Link to this sectionОценка позы#

YOLO pose estimation with human body keypoint detection

Оценка позы — это задача, которая включает в себя определение местоположения конкретных точек на изображении, обычно называемых ключевыми точками. Эти ключевые точки могут представлять различные части объекта, такие как суставы, ориентиры или другие отличительные признаки. Расположение ключевых точек обычно представляется в виде набора 2D-координат [x, y], опционально с флагом видимости [x, y, visible].

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



Watch: How to Run Real-Time Pose Estimation with Ultralytics YOLO26 | Tracking & Keypoints Extraction 🕺
Совет

В моделях YOLO26 pose используется суффикс -pose, например, yolo26n-pose.pt. Эти модели обучены на наборе данных COCO keypoints и подходят для множества задач оценки позы.

В стандартной модели YOLO26 pose содержится 17 ключевых точек, каждая из которых представляет определенную часть человеческого тела. Вот соответствие каждого индекса суставу тела:

  1. Нос
  2. Левый глаз
  3. Правый глаз
  4. Левое ухо
  5. Правое ухо
  6. Левое плечо
  7. Правое плечо
  8. Левый локоть
  9. Правый локоть
  10. Левое запястье
  11. Правое запястье
  12. Левое бедро
  13. Правое бедро
  14. Левое колено
  15. Правое колено
  16. Левая лодыжка
  17. Правая лодыжка

Link to this sectionМодели#

Предобученные модели Ultralytics YOLO26 Pose представлены здесь. Модели Detect, Segment и Pose предобучены на наборе данных COCO, модели Semantic предобучены на Cityscapes, а модели Classify предобучены на наборе данных ImageNet.

Модели скачиваются автоматически из последнего релиза Ultralytics при первом использовании.

Модельразмер
(пиксели)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(М)
FLOPs
(Б)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7
  • Значения mAPval указаны для одномодельного одномасштабного режима на наборе данных COCO Keypoints val2017.
    Воспроизведи с помощью yolo val pose data=coco-pose.yaml device=0
  • Скорость усреднена по изображениям COCO val с использованием инстанса Amazon EC2 P4d.
    Воспроизведи с помощью yolo val pose data=coco-pose.yaml batch=1 device=0|cpu
  • Значения Params и FLOPs указаны для объединенной модели после model.fuse(), которая объединяет слои Conv и BatchNorm, а для end2end моделей удаляет вспомогательную «один-ко-многим» голову детекции. Предобученные чекпоинты сохраняют полную архитектуру обучения и могут показывать более высокие значения.

Link to this sectionОбучение#

Обучи модель YOLO26-pose на наборе данных COCO8-pose. Набор данных COCO8-pose — это небольшой демонстрационный набор, который идеально подходит для тестирования и отладки твоих моделей оценки позы.

Пример
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n-pose.yaml").load("yolo26n-pose.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)

Подробности режима train смотри на странице Train. Модели Pose также можно обучать на облачных GPU через Ultralytics Platform.

Link to this sectionФормат набора данных#

Формат набора данных YOLO pose подробно описан в Руководстве по датасетам. Чтобы конвертировать существующий набор данных из других форматов (например, COCO и т.д.) в формат YOLO, пожалуйста, используй инструмент JSON2YOLO от Ultralytics. Ultralytics Platform также поддерживает разметку поз со встроенными скелетными шаблонами для людей, рук, лица и пользовательских макетов ключевых точек.

Для специфических задач оценки позы ты также можешь изучить специализированные наборы данных, такие как Tiger-Pose для оценки позы животных, Hand Keypoints для отслеживания рук или Dog-Pose для анализа поз собак.

Link to this sectionВалидация#

Проверь точность обученной модели YOLO26n-pose на наборе данных COCO8-pose. Аргументы не требуются, так как model сохраняет свои обучающие параметры data и атрибуты модели.

Пример
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list containing mAP50-95 for each category
metrics.box.image_metrics  # per-image metrics dictionary for box with precision, recall, F1, TP, FP, and FN
metrics.pose.map  # map50-95(P)
metrics.pose.map50  # map50(P)
metrics.pose.map75  # map75(P)
metrics.pose.maps  # a list containing mAP50-95(P) for each category
metrics.pose.image_metrics  # per-image metrics dictionary for pose with precision, recall, F1, TP, FP, and FN

Link to this sectionПредсказание#

Используй обученную модель YOLO26n-pose для запуска предсказаний на изображениях. Режим predict позволяет выполнять инференс на изображениях, видео или потоках в реальном времени.

Пример
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xy = result.keypoints.xy  # x and y coordinates
    xyn = result.keypoints.xyn  # normalized
    kpts = result.keypoints.data  # x, y, visibility (if available)

Полную информацию о режиме predict смотри на странице Predict.

Link to this sectionВывод результатов#

Оценка позы возвращает один объект Results для каждого изображения. Основные поля предсказания — это result.keypoints для координат позы и result.boxes для обнаруженных экземпляров, к которым относятся эти ключевые точки.

АтрибутТипФорма (Shape)Описание
result.keypointsKeypoints(N)Ключевые точки.
result.keypoints.datatorch.float32(N,K,2/3)x,y плюс опциональная видимость/достоверность.
result.keypoints.xytorch.float32(N,K,2)Пиксельные ключевые точки.
result.keypoints.xyntorch.float32(N,K,2)Нормализованные ключевые точки.
result.boxesBoxes(N)Рамки экземпляров.

Для получения информации о специфичных для задачи полях Results см. раздел Предсказания по задачам.

Link to this sectionЭкспорт#

Экспортируй модель YOLO26n Pose в другой формат, такой как ONNX, CoreML и т.д. Это позволит тебе развернуть свою модель на различных платформах и устройствах для инференса в реальном времени.

Пример
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Доступные форматы экспорта YOLO26-pose приведены в таблице ниже. Ты можешь экспортировать в любой формат, используя аргумент format, например, format='onnx' или format='engine'. Ты можешь выполнять предсказание или валидацию прямо на экспортированных моделях, например, yolo predict model=yolo26n-pose.onnx. Примеры использования показаны для твоей модели после завершения экспорта.

ФорматАргумент formatМодельМетаданныеАргументы
PyTorch-yolo26n-pose.pt-
TorchScripttorchscriptyolo26n-pose.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-pose.onnximgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n-pose_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-pose.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-pose.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-pose_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n-pose.pbimgsz, batch, device
TF Litetfliteyolo26n-pose.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-pose_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n-pose_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n-pose_paddle_model/imgsz, batch, device
MNNmnnyolo26n-pose.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-pose_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-pose_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n-pose_rknn_model/imgsz, batch, name, int8, data, fraction, device
ExecuTorchexecutorchyolo26n-pose_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n-pose_axelera_model/imgsz, batch, int8, data, fraction, device
DEEPXdeepxyolo26n-pose_deepx_model/imgsz, int8, data, optimize, device
Qualcomm QNNqnnyolo26n-pose_qnn_model/imgsz, batch, name, int8, data, fraction, device

Смотри подробную информацию об export на странице Export.

Link to this sectionFAQ#

Link to this sectionЧто такое оценка позы с помощью Ultralytics YOLO26 и как она работает?#

Оценка позы с помощью Ultralytics YOLO26 включает определение специфических точек, называемых ключевыми точками, на изображении. Эти точки обычно представляют суставы или другие важные признаки объекта. Результат включает [x, y] координаты и оценки достоверности для каждой точки. Модели YOLO26-pose специально разработаны для этой задачи и используют суффикс -pose, например, yolo26n-pose.pt. Эти модели предобучены на таких датасетах, как COCO keypoints, и могут использоваться для различных задач оценки позы. Для получения дополнительной информации посети страницу оценки позы.

Link to this sectionКак обучить модель YOLO26-pose на собственном наборе данных?#

Обучение модели YOLO26-pose на собственном наборе данных включает загрузку модели: либо новой модели, определенной YAML-файлом, либо предобученной модели. После этого ты можешь начать процесс обучения, используя свой указанный набор данных и параметры.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

Полную информацию об обучении смотри в разделе Train. Ты также можешь использовать Ultralytics Platform для подхода без написания кода при обучении пользовательских моделей оценки позы.

Link to this sectionКак проверить (валидировать) обученную модель YOLO26-pose?#

Валидация модели YOLO26-pose включает оценку ее точности с использованием тех же параметров набора данных, которые были заданы при обучении. Вот пример:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered

Для получения дополнительной информации посети раздел Val.

Link to this sectionМожно ли экспортировать модель YOLO26-pose в другие форматы и как это сделать?#

Да, ты можешь экспортировать модель YOLO26-pose в различные форматы, такие как ONNX, CoreML, TensorRT и другие. Это можно сделать как с помощью Python, так и через интерфейс командной строки (CLI).

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Обратись к разделу Export за подробностями. Экспортированные модели можно развернуть на граничных устройствах для приложений реального времени, таких как фитнес-трекеры, спортивный анализ или робототехника.

Link to this sectionКакие модели Ultralytics YOLO26-pose доступны и каковы их метрики производительности?#

Ultralytics YOLO26 предлагает различные предобученные модели pose, такие как YOLO26n-pose, YOLO26s-pose, YOLO26m-pose и другие. Эти модели различаются по размеру, точности (mAP) и скорости. Например, модель YOLO26n-pose достигает mAPpose50-95, равного 57.2, и mAPpose50, равного 83.3. Для получения полного списка и деталей производительности посети раздел Models.

Комментарии