Metadata-Version: 2.4
Name: aipose
Version: 3.1.0
Summary: Library to use pose estimation in your projects easily
License: https://github.com/Tlaloc-Es/aipose/blob/master/LICENSE.txt
License-File: LICENSE.txt
Keywords: pose-estimator,yolo,yolov7
Author: Tlaloc-Es
Author-email: dev@tlaloc-es.com
Requires-Python: >=3.10,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: click (>=8.1.3,<9.0.0)
Requires-Dist: matplotlib (>=3.2.2)
Requires-Dist: numpy (>=1.18.5,<1.24.0)
Requires-Dist: opencv-contrib-python (>=4.7.0.68,<5.0.0.0)
Requires-Dist: opencv-python (>=4.1.1)
Requires-Dist: pandas (>=1.1.4)
Requires-Dist: protobuf (<4.21.3)
Requires-Dist: pydantic
Requires-Dist: pyyaml (>=6.0,<7.0)
Requires-Dist: requests (>=2.28.2,<3.0.0)
Requires-Dist: scikit-learn (>=1.2.1,<2.0.0)
Requires-Dist: scipy (>=1.4.1)
Requires-Dist: seaborn (>=0.12.2)
Requires-Dist: tensorboard (>=2.4.1)
Requires-Dist: torch (>=1.7.0,!=1.12.0)
Requires-Dist: torchvision (>=0.8.1,!=0.13.0)
Requires-Dist: tqdm (>=4.41.0)
Requires-Dist: types-requests (>=2.28.11.8,<3.0.0.0)
Project-URL: Bug Tracker, https://github.com/Tlaloc-Es/aipose/issues
Project-URL: Documentation, https://aipose.readthedocs.io/en/latest/
Project-URL: Homepage, https://github.com/Tlaloc-Es/aipose
Project-URL: Repository, https://github.com/Tlaloc-Es/aipose
Description-Content-Type: text/markdown

# AIPOSE

<div align="center">

[![Downloads](https://static.pepy.tech/personalized-badge/aipose?period=month&units=international_system&left_color=grey&right_color=blue&left_text=PyPi%20Downloads)](https://pepy.tech/project/aipose)
[![Stars](https://img.shields.io/github/stars/Tlaloc-Es/aipose?color=yellow&style=flat)](https://github.com/Tlaloc-Es/aipose/stargazers)
[![Documentation Status](https://readthedocs.org/projects/aipose/badge/?version=latest)](https://aipose.readthedocs.io/en/latest/?badge=latest)

</div>

<p align="center">
    <img src="https://raw.githubusercontent.com/Tlaloc-Es/aipose/master/logo.png" width="200" height="240"/>
</p>

Library to use pose estimation in your projects easily.

## Installation [![PyPI](https://img.shields.io/pypi/v/aipose.svg)](https://pypi.org/project/aipose/)

You can install `aipose` from [Pypi](https://pypi.org/project/aipose/). It's going to install the library itself and its prerequisites as well.

```bash
pip install aipose
```

You can install `aipose` from its source code.

```bash
git clone https://github.com/Tlaloc-Es/aipose.git
cd aipose
pip install -e .
```

## Run demo

Use the following command to run a demo with your cam and YOLOv7 pose estimator,

```bash
posewebcam
```

## Running over a video results

<p align="center">
    <img src="https://raw.githubusercontent.com/Tlaloc-Es/aipose/master/video.gif" width="250" height="200" />
    <img src="https://raw.githubusercontent.com/Tlaloc-Es/aipose/master/video_processed.gif" width="250" height="200" />
</ p>

## How to use

You can check the section notebooks in the repository to check the usage of the library or you can ask in the [Issues section](https://github.com/Tlaloc-Es/aipose/issues).

The examples are:

- [How to draw key points in a video](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/video.ipynb)
- [How to draw key points in a video and store it](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/process_and_save_video.ipynb)
- [How to draw key points in a webcam](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/webcam.ipynb)
- [How to draw key points in a picture](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/plot_keypoints.ipynb)
- [How to capture a frame to apply your business logic](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/custom%20manager.ipynb)
- [How to stop the video stream when anybody raises hands with YOLOv7](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/process_keypoints.ipynb)
- [How to calculate pose similarity with YOLOv7](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/pose_similarity.ipynb)
- [How to turn the pose with YOLOv7](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/pose_similarity.ipynb)
- [How to train a pose classificator](https://github.com/Tlaloc-Es/aipose/blob/master/notebooks/Pose_Classificator.ipynb)

## References

- https://github.com/RizwanMunawar/yolov7-pose-estimation

## Support

You can do a donation with the following link.

<a href="https://www.buymeacoffee.com/tlaloc" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>

Or you can try to make a pull request with your improvements to the repo.

## Source of videos and images

- Video: [Mikhail Nilov](https://www.pexels.com/video/a-woman-exercising-using-an-exercise-ball-6739975/)

### Images (Pexels)

- [Roman Davayposmotrim](https://www.pexels.com/photo/woman-wearing-black-sports-bra-reaching-floor-while-standing-35987/)
- [Vlada Karpovich](https://www.pexels.com/photo/a-woman-doing-yoga-4534689/)
- [Lucas Pezeta](https://www.pexels.com/photo/woman-doing-yoga-2121049/)
- [Cliff Booth](https://www.pexels.com/photo/photo-of-woman-in-a-yoga-position-4057839/)
- [MART PRODUCTION](https://www.pexels.com/photo/photo-of-a-woman-meditating-8032834/)
- [Antoni Shkraba](https://www.pexels.com/photo/woman-in-blue-tank-top-and-black-leggings-doing-yoga-4662330/)
- [Elina Fairytale](https://www.pexels.com/photo/woman-in-pink-tank-top-and-blue-leggings-bending-her-body-3823074/)
- [Anna Shvets](https://www.pexels.com/photo/graceful-woman-performing-variation-of-setu-bandha-sarvangasana-yoga-pose-5012071/)
- [Miriam Alonso](https://www.pexels.com/photo/calm-young-asian-woman-doing-supine-hand-to-big-toe-yoga-asana-7593010/)
- [Anete Lusina](https://www.pexels.com/photo/concentrated-woman-standing-in-tree-pose-on-walkway-4793290/)

