Skip to content

Wonder-Tree/PoseCamera

Repository files navigation

PoseCamera

PyPI version PoseCamera Actions Status CodeFactor

PoseCamera is python based SDK for human pose estimation through RGB webcam.

Install

install posecamera package through pip

pip install posecamera

If you are having issues with the installation on Windows OS then check this page

Usage

See Google colab notebook https://colab.research.google.com/drive/1pzsgxaz1ZVesh_j-96PBak_OQKP19HHA?usp=sharing

draw pose keypoints on image

import posecamera
import cv2

det = posecamera.pose_tracker.PoseTracker()

image = cv2.imread("example.jpg")

pose = det(image)
for name, (y, x, score) in pose.keypoints.items():
    cv2.circle(image, (int(x), int(y)), 4, (255, 0, 0), -1)


cv2.imshow("PoseCamera", image)
cv2.waitKey(0)

output of the above example

or get keypoints array

for pose in poses:
    keypoints = pose.keypoints

Handtracker

import posecamera
import cv2
det = posecamera.hand_tracker.HandTracker()

image = cv2.imread("tmp/hands.jpg")
keypoints, bbox = det(image)

for hand_keypoints in keypoints:
    for (x, y) in hand_keypoints:
        cv2.circle(image, (int(x), int(y)), 3, (255, 0, 0), -1)

cv2.imshow("PoseCamera - Hand Tracking", image)
cv2.waitKey(0)

Using Docker

The official docker image is hosted on Docker Hub. The very first step is to install the docker docker on your system.

Also note that your Nvidia driver Needs to be compatible with CUDA10.2.

Doing inference on live webcam feed.

xhost +; docker run --name posecamera --rm --net=host --gpus all -e DISPLAY=$DISPLAY --device=/dev/video0:/dev/video0 wondertree/posecamera --video=0

GPU & Webcam support (if running docker) is not available on Windows Operating System.

To run inference on images use the following command.

docker run --name posecamera --rm --net=host -e DISPLAY=$DISPLAY  wondertree/posecamera --images ./tmp/female_pose.jpg --cpu

For more details read our Docs

The base of this repository is based on the following research paper.

@inproceedings{osokin2018lightweight_openpose,
    author={Osokin, Daniil},
    title={Real-time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose},
    booktitle = {arXiv preprint arXiv:1811.12004},
    year = {2018}
}

The base of hand tracking is based on the following repository : https://google.github.io/mediapipe/solutions/hands

Share your thoughts

Join our Discussion Channel! We love to hear your ideas, suggestions or pull request