0
0
Computer Visionml~5 mins

OpenPose overview in Computer Vision

Choose your learning style9 modes available
Introduction

OpenPose helps computers see and understand human body positions in pictures or videos. It finds where body parts like arms and legs are.

To track people's movements in sports for training or analysis.
To create interactive games that respond to body movements.
To help robots understand human actions.
To monitor posture and detect falls in healthcare.
To animate characters based on real human poses.
Syntax
Computer Vision
import cv2
from openpose import pyopenpose as op

# Initialize OpenPose model
params = dict()
params["model_folder"] = "models/"
opWrapper = op.WrapperPython()
opWrapper.configure(params)
opWrapper.start()

# Read image
image = cv2.imread("person.jpg")

# Detect poses
datum = op.Datum()
datum.cvInputData = image
opWrapper.emplaceAndPop([datum])
keypoints = datum.poseKeypoints
output_image = datum.cvOutputData

# Show results
cv2.imshow("Pose", output_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

You need to download OpenPose models and set the correct path in model_folder.

The keypoints variable contains coordinates of detected body parts.

Examples
Basic setup to load the model and detect poses in an image.
Computer Vision
params = {"model_folder": "models/"}
opWrapper = op.WrapperPython()
opWrapper.configure(params)
opWrapper.start()
datum = op.Datum()
datum.cvInputData = image
opWrapper.emplaceAndPop([datum])
keypoints = datum.poseKeypoints
Shows the shape of the keypoints array, which tells how many people and body parts were detected.
Computer Vision
keypoints.shape
Loops through detected people and their body parts to print coordinates and confidence scores.
Computer Vision
for person in keypoints:
    for part in person:
        print(f"Body part at x={part[0]}, y={part[1]}, confidence={part[2]}")
Sample Model

This program loads an image, detects human poses using OpenPose, prints the keypoints array, and shows the image with detected poses drawn.

Computer Vision
import cv2
import sys
from openpose import pyopenpose as op

params = dict()
params["model_folder"] = "models/"

# Initialize OpenPose
opWrapper = op.WrapperPython()
opWrapper.configure(params)
opWrapper.start()

# Read image
image = cv2.imread("examples/media/COCO_val2014_000000000192.jpg")

# Create datum object
datum = op.Datum()
datum.cvInputData = image
opWrapper.emplaceAndPop([datum])

# Print keypoints
print("Body keypoints:")
print(datum.poseKeypoints)

# Show image with pose
cv2.imshow("OpenPose", datum.cvOutputData)
cv2.waitKey(0)
cv2.destroyAllWindows()
OutputSuccess
Important Notes

OpenPose detects multiple people and their body parts in one image.

Confidence scores show how sure the model is about each detected point.

Running OpenPose requires a good GPU for faster results.

Summary

OpenPose finds human body parts in images or videos.

It helps computers understand human poses for many applications.

Using OpenPose involves loading models, processing images, and reading keypoints.