Skip to main content

YOLO-based human pose detection and visualization tool

Project description

YOLO Poser

A Python package for human pose detection and visualization using YOLO.

Installation

pip install yolo-poser

Usage

Command Line

yolo-poser input_video.mp4 --output output.mp4 --output-format h264

Python API

from yolo_poser import process_video
process_video(
    input_path="input.mp4",
    output_path="output.mp4",
    output_format="h264",
    debug=True
)

Web API

To use the HTTP API, first install with API dependencies:

pip install "yolo-poser[api]"

Start the API server:

yolo-poser-api [--host HOST] [--port PORT]

For example:

yolo-poser-api --host 127.0.0.1 --port 9000

Or programmatically:

from yolo_poser.api import app
import uvicorn

uvicorn.run(app, host="127.0.0.1", port=9000)

The API provides endpoints for:

  • Processing videos from URLs: POST /detect/url
  • Processing uploaded video files: POST /detect/file
  • Health check: GET /health

See the API documentation at http://localhost:8000/docs when running the server.

Features

  • Human pose detection using YOLO
  • Support for multiple output formats (MJPEG, H264, WebM)
  • Smooth keypoint tracking
  • Debug mode with performance metrics
  • Configurable visualization options

Requirements

  • Python 3.8+ (<3.13)
  • PyTorch
  • Ultralytics
  • OpenCV
  • NumPy

Development

Continuous Integration

This project uses GitHub Actions for continuous integration and deployment:

  • Every push to the main branch triggers a test build that publishes to TestPyPI
  • Tagged releases (e.g. v0.1.0) trigger a build that publishes to PyPI

To release a new version:

  1. Update the version in src/yolo_poser/__init__.py
  2. Commit the changes
  3. Create and push a tag:
git tag v0.1.0
git push origin v0.1.0

The GitHub Action will automatically build and publish the new version to PyPI.

Local Development

  1. Clone the repository:
git clone https://github.com/tomdyson/yolo-poser.git
cd yolo-poser
  1. Install in development mode:
pip install -e .

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yolo_poser-0.1.5.tar.gz (5.6 MB view details)

Uploaded Source

Built Distribution

yolo_poser-0.1.5-py3-none-any.whl (5.6 MB view details)

Uploaded Python 3

File details

Details for the file yolo_poser-0.1.5.tar.gz.

File metadata

  • Download URL: yolo_poser-0.1.5.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for yolo_poser-0.1.5.tar.gz
Algorithm Hash digest
SHA256 45aea1847d624cfa5febfa5f439c6bd51a0eff2387b36845db058555e802e994
MD5 b3f6d1364661bdd1985112da1de0b79f
BLAKE2b-256 90efac8730f07c529f64655aefe03b31d13bf6540d627bdeac99ad6b52dfa5ed

See more details on using hashes here.

File details

Details for the file yolo_poser-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: yolo_poser-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for yolo_poser-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 862e8d8bfe41121cc4fd6e7ad7b5174680256c2b8816743e15e801a6b6ce2fd3
MD5 e6e1601a9a253456108881695b53cb73
BLAKE2b-256 3978439a6db4716ae3d8643a712c1c12c86a05643f99e6c813ef0508785c34c0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page