Перейти к содержанию

Оценка позы

Примеры оценки позы

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

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



Смотреть: Ultralytics YOLO11 Самоучитель по оценке позы | Отслеживание объектов в реальном времени и определение позы человека

Наконечник

YOLO11 поза модели используют -pose суффикс, т.е. yolo11n-pose.pt. Эти модели обучаются на Ключевые моменты КОКО и подходят для решения различных задач оценки позы.

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

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

Модели

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

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

Модель размер
(пикселей)
mAPpose
50-95
mAPpose
50
Скорость
CPU ONNX
(мс)
Скорость
T4TensorRT10
(мс)
params
(M)
FLOPs
(B)
YOLO11n-pose 640 50.0 81.0 52.4 ± 0.5 1.7 ± 0.0 2.9 7.6
YOLO11s-pose 640 58.9 86.3 90.5 ± 0.6 2.6 ± 0.0 9.9 23.2
YOLO11m-pose 640 64.9 89.4 187.3 ± 0.8 4.9 ± 0.1 20.9 71.7
YOLO11l-pose 640 66.1 89.9 247.7 ± 1.1 6.4 ± 0.1 26.2 90.7
YOLO11x-pose 640 69.5 91.1 488.0 ± 13.9 12.1 ± 0.2 58.8 203.3
  • mAPval Значения приведены для одномодельного одномасштабного на Ключевые моменты КОКО 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

Поезд

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

Пример

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.yaml pretrained=yolo11n-pose.pt epochs=100 imgsz=640

Формат набора данных

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

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

Вэл

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

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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 contains map50-95 of each category
yolo pose val model=yolo11n-pose.pt # val official model
yolo pose val model=path/to/best.pt # val custom model

Предсказать

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

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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)
yolo pose predict model=yolo11n-pose.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo pose predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model

Смотреть полностью predict подробности о режиме в Предсказать страница.

Экспорт

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

Пример

from ultralytics import YOLO

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

# Export the model
model.export(format="onnx")
yolo export model=yolo11n-pose.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model

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

Формат format Аргумент Модель Метаданные Аргументы
PyTorch - yolo11n-pose.pt -
TorchScript torchscript yolo11n-pose.torchscript imgsz, optimize, nms, batch
ONNX onnx yolo11n-pose.onnx imgsz, half, dynamic, simplify, opset, nms, batch
OpenVINO openvino yolo11n-pose_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data
TensorRT engine yolo11n-pose.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data
CoreML coreml yolo11n-pose.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n-pose_saved_model/ imgsz, keras, int8, nms, batch
TF GraphDef pb yolo11n-pose.pb imgsz, batch
TF Lite tflite yolo11n-pose.tflite imgsz, half, int8, nms, batch, data
TF Край TPU edgetpu yolo11n-pose_edgetpu.tflite imgsz
TF.js tfjs yolo11n-pose_web_model/ imgsz, half, int8, nms, batch
PaddlePaddle paddle yolo11n-pose_paddle_model/ imgsz, batch
MNN mnn yolo11n-pose.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n-pose_ncnn_model/ imgsz, half, batch
IMX500 imx yolo11n-pose_imx_model/ imgsz, int8, data
RKNN rknn yolo11n-pose_rknn_model/ imgsz, batch, name

Смотреть полностью export подробности в Экспорт страница.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Что такое оценка позы с помощью Ultralytics YOLO11 и как она работает?

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

Как обучить модель YOLO11-pose на пользовательском наборе данных?

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

from ultralytics import YOLO

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

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

Подробные сведения об обучении см. в разделе "Обучение". Вы также можете использовать Ultralytics HUB для обучения пользовательских моделей оценки позы без использования кода.

Как проверить обученную модель YOLO11-pose?

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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

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

Можно ли экспортировать модель YOLO11-pose в другие форматы и как?

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

from ultralytics import YOLO

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

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

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

Каковы доступные модели Ultralytics YOLO11 -pose и их характеристики?

Ultralytics YOLO11 предлагает различные предварительно обученные модели позирования, такие как YOLO11n-pose, YOLO11s-pose, YOLO11m-pose и другие. Эти модели различаются по размеру, точности (mAP) и скорости. Например, модель YOLO11n-pose достигает mAPpose50-9550,0 и mAPpose5081,0. Полный список и подробную информацию о характеристиках можно найти в разделе "Модели".

📅 Создано 1 год назад ✏️ Обновлено 4 дня назад

Комментарии