infer_detectron2_keypoints

infer_detectron2_keypoints

About

1.0.3
Apache-2.0

Inference for Detectron2 keypoint models

Task: Keypoints detection
infer
detectron2
keypoint
pose

Run keypoints detection models from Detectron2 framework.

Example image

🚀 Use with Ikomia API

1. Install Ikomia API

We strongly recommend using a virtual environment. If you're not sure where to start, we offer a tutorial here.

pip install ikomia

2. Create your workflow

from ikomia.dataprocess.workflow import Workflow
from ikomia.utils.displayIO import display

# Init your workflow
wf = Workflow()

# Add keypoints detection algorithm
keypts_detector = wf.add_task(name="infer_detectron2_keypoints", auto_connect=True)

# Run the workflow on image
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-hub/infer_detectron2_keypoints/main/images/rugby.jpg")

# Display result
display(keypts_detector.get_image_with_graphics(), title="Detectron2 keypoints")

☀️ Use with Ikomia Studio

Ikomia Studio offers a friendly UI with the same features as the API.

  • If you haven't started using Ikomia Studio yet, download and install it from this page.

  • For additional guidance on getting started with Ikomia Studio, check out this blog post.

📝 Set algorithm parameters

from ikomia.dataprocess.workflow import Workflow

# Init your workflow
wf = Workflow()

# Add algorithm
algo = wf.add_task(name="infer_detectron2_keypoints", auto_connect=True)

algo.set_parameters({
    "model_name": "COCO-Keypoints/keypoint_rcnn_R_101_FPN_3x",
    "conf_det_thres": "0.5",
    "conf_kp_thres": "0.05",
    "cuda": "True",
    "use_custom_model": "False",
    "config_file": "",
    "model_weight_file": "",
})

# Run the workflow on image
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-hub/infer_detectron2_keypoints/main/images/rugby.jpg")
  • model_name (str, default="COCO-Keypoints/keypoint_rcnn_R_101_FPN_3x"): pre-trained model name. Choose one on the list below:
    • COCO-Keypoints/keypoint_rcnn_R_50_FPN_1x
    • COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x
    • COCO-Keypoints/keypoint_rcnn_R_101_FPN_3x
    • COCO-Keypoints/keypoint_rcnn_X_101_32x8d_FPN_3x
  • conf_det_thres (float, default=0.5): object detection confidence.
  • conf_kp_thres (float, default=0.05): keypoints detection confidence.
  • cuda (bool, default=True): CUDA acceleration if True, run on CPU otherwise.
  • use_custom_model (bool, default=False): flag to enable the custom train model choice.
  • config_file (str, default=""): path to model config file (.yaml). Only for custom model.
  • model_weight_file (str, default=""): path to model weights file (.pt). Only for custom model.

Note: parameter key and value should be in string format when added to the dictionary.

🔍 Explore algorithm outputs

Every algorithm produces specific outputs, yet they can be explored them the same way using the Ikomia API. For a more in-depth understanding of managing algorithm outputs, please refer to the documentation.

from ikomia.dataprocess.workflow import Workflow

# Init your workflow
wf = Workflow()

# Add keypoints detection algorithm
keypts_detector = wf.add_task(name="infer_detectron2_keypoints", auto_connect=True)

# Run the workflow on image
wf.run_on(url="https://raw.githubusercontent.com/Ikomia-hub/infer_detectron2_keypoints/main/images/rugby.jpg")

# Iterate over outputs
for output in keypts_detector.get_outputs():
    # Print information
    print(output)
    # Export it to JSON
    output.to_json()

Detectron2 keypoints detection algorithm generates 2 outputs:

  1. Forwaded original image (CImageIO)
  2. Keypoints detection output (CKeypointsIO)

Developer

  • Ikomia
    Ikomia

License

Apache License 2.0
Read license full text

A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

PermissionsConditionsLimitations

Commercial use

License and copyright notice

Trademark use

Modification

State changes

Liability

Distribution

Warranty

Patent use

Private use

This is not legal advice: this description is for informational purposes only and does not constitute the license itself. Provided by choosealicense.com.