# YOLO | Pose Estimation

## Overview

The YOLO | Pose Estimation plugin allows you to estimate the pose of people in your image, using skeleton, point, bounding box, and polyline tools.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcSU2EOYYfm7eujFpCggBkLlyftA8Pa3SQrPAF8fb5M7VK6mYG81FJ1BUekTPnbOc9wiSD7jc9HuUXHpPa_buY9S4ecnMWEjKwZ73tBZko-Xam564Icqs5jt7g43E97EoliJtT1YQ?key=cpQYlDRel4R0-nVf-0AtAQ" alt=""><figcaption></figcaption></figure>

## Plugin Functionality

The YOLO | Pose Estimation Plugin enables automatic detection and localization of human keypoints in images using a pre-trained YOLO-based pose estimation model. The plugin identifies key body joints such as the head, shoulders, elbows, wrists, hips, knees, and ankles, generating structured pose annotations for each person detected.

### Supported Data Types <a href="#supported-data-types" id="supported-data-types"></a>

* Image

### Supported Annotation Tools <a href="#supported-annotation-tools" id="supported-annotation-tools"></a>

* Skeleton
* Point
* Polyline
* Bounding Box

<details>

<summary>Sample Category Schema for the Skeleton Tool</summary>

```json
{
  "tools": [
    {
      "schemaId": "c3b52d4d4fc10245edcb917",
      "tool": "skeleton",
      "title": "Human",
      "required": false,
      "classifications": [],
      "multiple": false,
      "color": "#f44336",
      "shortcutKey": "1",
      "skeletonData": {
        "nodes": [
          {
            "id": "71767d569eddae6a9729403",
            "name": "Nose",
            "x": 250,
            "y": 77
          },
          {
            "id": "cd8e951985d374b98adf466",
            "name": "Left Eye",
            "x": 225,
            "y": 51
          },
          {
            "id": "872214578898a298b071043",
            "name": "Right Eye",
            "x": 276,
            "y": 51
          },
          {
            "id": "0ffc79852013fe419bfb336",
            "name": "Left Ear",
            "x": 199,
            "y": 76
          },
          {
            "id": "251e838f159b0bd2d196414",
            "name": "Right Ear",
            "x": 305,
            "y": 78
          },
          {
            "id": "29ddc6b6271978827d14689",
            "name": "Left Shoulder",
            "x": 197,
            "y": 152
          },
          {
            "id": "81ca401822bce4693007347",
            "name": "Right Shoulder",
            "x": 298,
            "y": 152
          },
          {
            "id": "73103a33fb4a6761982a197",
            "name": "Left Elbow",
            "x": 153,
            "y": 202
          },
          {
            "id": "5ace0cacc64a5d7ad5e0622",
            "name": "Right Elbow",
            "x": 350,
            "y": 200
          },
          {
            "id": "ae8bab242c4eaf695e5a962",
            "name": "Left Wrist",
            "x": 153,
            "y": 254
          },
          {
            "id": "c473041728860b04e20d754",
            "name": "Right Wrist",
            "x": 352,
            "y": 249
          },
          {
            "id": "1e603bd6699926324dd0599",
            "name": "Left Hip",
            "x": 201,
            "y": 250
          },
          {
            "id": "4da5a718277622b5a73e369",
            "name": "Right Hip",
            "x": 297,
            "y": 247
          },
          {
            "id": "f3b8bf63f68ea5b30a0e765",
            "name": "Left Knee",
            "x": 201,
            "y": 326
          },
          {
            "id": "211f18e903bfbf24754e042",
            "name": "Right Knee",
            "x": 305,
            "y": 329
          },
          {
            "id": "02511473bae0b66d266d884",
            "name": "Left Ankle",
            "x": 204.27777981133084,
            "y": 401.28122638783105
          },
          {
            "id": "9a6043313fdbd0247116650",
            "name": "Right Ankle",
            "x": 303.21664202591967,
            "y": 400.08919190331795
          }
        ],
        "edges": [
          {
            "id": "e4a2921f7f564be5fb5e554",
            "from": "cd8e951985d374b98adf466",
            "to": "71767d569eddae6a9729403"
          },
          {
            "id": "7f737aa471001f03f5c6333",
            "from": "71767d569eddae6a9729403",
            "to": "872214578898a298b071043"
          },
          {
            "id": "c4c4cf9dd1b658e2dd7c175",
            "from": "cd8e951985d374b98adf466",
            "to": "872214578898a298b071043"
          },
          {
            "id": "100a9ee5a688a5adbb00067",
            "from": "872214578898a298b071043",
            "to": "251e838f159b0bd2d196414"
          },
          {
            "id": "155eb216c0748e5226c1606",
            "from": "cd8e951985d374b98adf466",
            "to": "0ffc79852013fe419bfb336"
          },
          {
            "id": "27fce20b50def1f759ed421",
            "from": "0ffc79852013fe419bfb336",
            "to": "29ddc6b6271978827d14689"
          },
          {
            "id": "1bfec0420c75c935af61134",
            "from": "251e838f159b0bd2d196414",
            "to": "81ca401822bce4693007347"
          },
          {
            "id": "78f5eb270678f5e70735668",
            "from": "29ddc6b6271978827d14689",
            "to": "81ca401822bce4693007347"
          },
          {
            "id": "972759277715688cfe19105",
            "from": "29ddc6b6271978827d14689",
            "to": "73103a33fb4a6761982a197"
          },
          {
            "id": "265a0f88b65b1b6dbd80546",
            "from": "73103a33fb4a6761982a197",
            "to": "ae8bab242c4eaf695e5a962"
          },
          {
            "id": "ebf8afe462f813994c8d464",
            "from": "29ddc6b6271978827d14689",
            "to": "1e603bd6699926324dd0599"
          },
          {
            "id": "184d991a9fa135dd4833102",
            "from": "81ca401822bce4693007347",
            "to": "4da5a718277622b5a73e369"
          },
          {
            "id": "4e5743e5257417561ac9631",
            "from": "81ca401822bce4693007347",
            "to": "5ace0cacc64a5d7ad5e0622"
          },
          {
            "id": "f55d2e09cd1702eb8dc5806",
            "from": "5ace0cacc64a5d7ad5e0622",
            "to": "c473041728860b04e20d754"
          },
          {
            "id": "91f8748335838aeb1d5a636",
            "from": "1e603bd6699926324dd0599",
            "to": "4da5a718277622b5a73e369"
          },
          {
            "id": "82efa62659c42aa2a07b268",
            "from": "1e603bd6699926324dd0599",
            "to": "f3b8bf63f68ea5b30a0e765"
          },
          {
            "id": "d2a750fb6b0516ba5f96581",
            "from": "f3b8bf63f68ea5b30a0e765",
            "to": "02511473bae0b66d266d884"
          },
          {
            "id": "584bc82e1577bceeb294602",
            "from": "4da5a718277622b5a73e369",
            "to": "211f18e903bfbf24754e042"
          },
          {
            "id": "938fa410a4f86d169bfd252",
            "from": "211f18e903bfbf24754e042",
            "to": "9a6043313fdbd0247116650"
          }
        ]
      }
    }
  ],
  "classifications": [],
  "relations": []
}
```

</details>

{% hint style="danger" %}
When using the model with the Skeleton tool, node names in the model output must exactly match the names defined in the category schema above. If the names differ, the plugin will be unable to map the model outputs to the corresponding nodes on the platform.
{% endhint %}

## Plugin Configuration <a href="#plugin-configuration" id="plugin-configuration"></a>

The **Overwrite** setting in model plugins controls whether existing annotations are replaced or kept. When enabled, the plugin replaces all existing annotations with new model predictions; when disabled, it simply adds the new results without deleting what’s already there.

The **Class Mapping** setting defines how the model’s predicted classes are linked to your project’s label schema. Follow these steps to prepare your class mapping.

1. In the "Class Mapping" field, open the left dropdown, and pick from one of the classes the plugin can detect.
2. Open the right dropdown, and pick from one of the tools you have created in your project.
3. Click on the "plus" button to finalize the pairing. Now the object class and your bounding box tool are linked. The plugin will use the selected bounding box tool to label the selected category.
4. Starting again from Step 1, link as many tools to categories as needed.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FZ9J3VPrHXVbfI8k5ua0A%2Fimage.png?alt=media&#x26;token=8aa3abb2-732f-45db-8c97-16b2c7b2450b" alt=""><figcaption><p>YOLO | Pose Estimation plugin integration to the workflow</p></figcaption></figure>

You may vary a number of settings related to your export from the **Config JSON** field. Each option is detailed below:

```json
{
  "only_mapped_classes": false,
  "threshold": 0.5
}
```

* **"only\_mapped\_classes":** If this is set to true, the plugin will detect only the classes that are mapped in the class mapping. If it’s false, it will detect all supported classes, and any unmapped ones will be assigned to the "**unknown"** class.
  * Example:
    * <kbd>"only\_mapped\_classes": true</kbd>
    * <kbd>"only\_mapped\_classes": false</kbd>&#x20;

* **"threshold":** The confidence score threshold for object detection. Detections with a confidence score below this value will be filtered out. A higher threshold reduces false positives but may miss low-confidence detections.
  * Example:
    * <kbd>"threshold": 0.5</kbd>
