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:
- Update the version in
src/yolo_poser/__init__.py
- Commit the changes
- 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
- Clone the repository:
git clone https://github.com/tomdyson/yolo-poser.git
cd yolo-poser
- Install in development mode:
pip install -e .
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file yolo_poser-0.1.11.tar.gz
.
File metadata
- Download URL: yolo_poser-0.1.11.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ad05f4b788d2c8e1afecdda69f85e9de9b69d9c7e47c7da865ba2af4ca6ea54 |
|
MD5 | bf7f8c9f3578d5d4575a1d776db1061b |
|
BLAKE2b-256 | d7dfc0f71ff8227b9fbbb78589b337cf8bb1383a6275b629622071c69d34d6c8 |
File details
Details for the file yolo_poser-0.1.11-py3-none-any.whl
.
File metadata
- Download URL: yolo_poser-0.1.11-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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6590fcec6fb70d494b2f5ac0957db64fe42e9dfbeca679f1006fa875c11aebfb |
|
MD5 | 59eb13e22e9524aa24ba41d49d028e6f |
|
BLAKE2b-256 | 6671ed2168141d2a8f5de3ce50fef4dcc918d9835d6fa4099f3aded58c8fb50b |