You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-23Lines changed: 21 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,41 +32,40 @@ HyperPose is a library for building high-performance custom pose estimation syst
32
32
33
33
HyperPose has two key features:
34
34
35
-
-**High-performance pose estimation wth CPUs/GPUs**: HyperPose achieves real-time pose estimation though a high-performance pose estimation engine. This engine implements numerous system optimizations: pipeline parallelism, model inference with TensorRT, CPU/GPU hybrid scheduling, and many others. This allows HyperPose to run 4x FASTER than OpenPose and 10x FASTER than TF-Pose.
36
-
-**Flexibility for developing custom pose estimation models**: HyperPose provides flexible Python APIs to provide a customise pipeline for developing various pose estimation models. HyperPose users can:
37
-
* Make use of uniform pipelines for train,evaluation,visualization,pre-processing and post-processing across various models (e.g., OpenPose,Pifpaf,PoseProposal Network)
38
-
* Customise model and dataset for their own use(e.g. user-defined model,user-defined dataset,mitiple dataset combination)
39
-
* Parallel training using multiple GPUs(using *Kungfu* adaptive distribute training library)
40
-
thus building models specific to their real-world scenarios.
35
+
-**High-performance pose estimation with parallel CPUs/GPUs**: HyperPose achieves real-time pose estimation through a high-performance pose estimation engine. This engine implements numerous system optimisations: pipeline parallelism, model inference with TensorRT, CPU/GPU hybrid scheduling, and many others. These optimisations contribute to up to 10x higher FPS compared to OpenPose and TF-Pose.
36
+
-**Flexibility for developing custom pose estimation models**: HyperPose provides high-level Python APIs to develop pose estimation models. HyperPose users can:
37
+
* Customise training, evaluation, visualisation, pre-processing and post-processing in pose estimation models (e.g., OpenPose, Pifpaf, PoseProposal Network).
38
+
* Customise model architectures and training datasets.
39
+
* Seamlessly scale-out training to multiple GPUs.
41
40
42
41
## Quick Start
43
42
44
43
The HyperPose library contains two parts:
45
44
* A C++ library for high-performance pose estimation model inference.
46
-
* A Python library for developing custom pose estimation models (e.g., OpenPose, PifPaf, PoseProposal).
45
+
* A Python library for developing custom pose estimation models.
47
46
48
47
### C++ inference library
49
48
50
-
The best way to try the inference library is using a [Docker image](https://hub.docker.com/r/tensorlayer/hyperpose). Pre-requisites for running this images are:
49
+
The easiest way to use the inference library is through a [Docker image](https://hub.docker.com/r/tensorlayer/hyperpose). Pre-requisites for this image:
We provide 4 examples to run with this image (The following commands have been tested with Ubuntu 18.04):
68
+
We provide 4 examples within this image (The following commands have been tested with Ubuntu 18.04):
70
69
71
70
```bash
72
71
# [Example 1]: Doing inference on given video, copy the output.avi to the local path.
@@ -92,19 +91,18 @@ xhost +; docker run --rm --gpus all -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/t
92
91
# docker run --rm --gpus all -it --entrypoint /bin/bash tensorlayer/hyperpose
93
92
```
94
93
95
-
More information of the HyperPose Docker image can be found[here](https://hyperpose.readthedocs.io/en/latest/markdown/quick_start/prediction.html#table-of-flags-for-hyperpose-cli).
94
+
More information of the Docker image is[here](https://hyperpose.readthedocs.io/en/latest/markdown/quick_start/prediction.html#table-of-flags-for-hyperpose-cli).
96
95
97
96
### Python training library
98
97
99
-
We recommend to use the Python training library with the [Anaconda](https://www.anaconda.com/products/individual) environment which can come with *cudatoolkit* and *cudnn*.
100
-
101
-
All the following instructions have been tested on the environments below:<br>
102
-
* Ubuntu 18.04, Tesla V100-DGX, NVIDIA Driver > 410.79, CUDA > 10.0
98
+
We recommend to use the Python training library within an [Anaconda](https://www.anaconda.com/products/individual) environment. Test environments:<br>
99
+
* Ubuntu 18.04, Tesla V100-DGX, NVIDIA Driver 440.33.01, CUDA 10.2
100
+
* Ubuntu 18.04, Tesla V100-DGX, NVIDIA Driver 410.79, CUDA 10.0
103
101
* Ubuntu 18.04, TITAN RTX, NVIDIA Driver 430.64, CUDA 10.1
104
102
* Ubuntu 18.04, TITAN XP, NVIDIA Driver 430.26, CUDA 10.2
105
103
* Ubuntu 16.04, RTX 2080Ti, NVIDIA Driver 430.50, CUDA 10.1
106
104
107
-
After installing Anaconda, run following Bash commands to create a virtual environment:
105
+
Once Anaconda is installed, run below Bash commands to create a virtual environment:
We then install the python packages listed in [requirements.txt](https://github.com/tensorlayer/hyperpose/blob/master/requirements.txt):
117
+
We then install the dependencies listed in [requirements.txt](https://github.com/tensorlayer/hyperpose/blob/master/requirements.txt):
120
118
121
119
```bash
122
120
pip install -r requirements.txt
123
121
```
124
122
125
-
The below sample Python programs shows how to use HyperPose to train a pose estimation model. HyperPose contains three key APIs through *Config*, *Model* and *Dataset* modules. We use the *Config* module to set up the configuration, and use *Model* and *Dataset* module to assemble the train or evaluation pipline:
123
+
We show how to train a custom pose estimation model with HyperPose. HyperPose APIs contain three key modules: *Config*, *Model* and *Dataset*, and their basic usages are shown below.
The full Python training program is [here](https://github.com/tensorlayer/hyperpose/blob/master/train.py). To evaluate the trained model, you can use a Python evaluation program [here](https://github.com/tensorlayer/hyperpose/blob/master/eval.py). More information of the training library is [here](https://hyperpose.readthedocs.io/en/latest/markdown/quick_start/training.html).
147
+
The full training program is [here](https://github.com/tensorlayer/hyperpose/blob/master/train.py). To evaluate the trained model, you can use an evaluation program [here](https://github.com/tensorlayer/hyperpose/blob/master/eval.py). More information about the training library is [here](https://hyperpose.readthedocs.io/en/latest/markdown/quick_start/training.html).
150
148
151
149
152
150
## Documentation
153
151
154
-
The APIs of the HyperPose training library and the inference library are both described in [Documentation](https://hyperpose.readthedocs.io/en/latest/).
152
+
The APIs of the HyperPose training library and the inference library are described in [Documentation](https://hyperpose.readthedocs.io/en/latest/).
155
153
156
154
## Performance
157
155
@@ -167,7 +165,7 @@ We compare the prediction performance of HyperPose with [OpenPose 1.6](https://g
167
165
168
166
## Accuracy
169
167
170
-
We evaluate accuracy of pose estimation models developed by hyperpose (mainly over Mscoco2017 dataset). the development environment is Ubuntu16.04, with 4 V100-DGXs and 24 Intel Xeon CPU. The training procedure takes 1~2 weeks using 1 V100-DGX for each model. (If you want to train from strach, loading the pretrained backbone weight is recommended.)
168
+
We evaluate the accuracy of pose estimation models developed by HyperPose. The environment is Ubuntu16.04, with 4 V100-DGXs and 24 Intel Xeon CPU. The training procedure takes 1~2 weeks using 1 V100-DGX for each model. (If you don't want to train from scratch, you could use our pre-trained backbone models)
0 commit comments