Skip to content

Commit 1cd788b

Browse files
authored
Update README.md
1 parent 8d8ddba commit 1cd788b

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

README.md

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -32,41 +32,40 @@ HyperPose is a library for building high-performance custom pose estimation syst
3232

3333
HyperPose has two key features:
3434

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.
4140

4241
## Quick Start
4342

4443
The HyperPose library contains two parts:
4544
* 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.
4746

4847
### C++ inference library
4948

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:
5150

5251
* [CUDA Driver](https://www.tensorflow.org/install/gpu) (>= 418.81.07)
5352
* [NVIDIA docker](https://github.com/NVIDIA/nvidia-docker) (>= 2.0)
5453
* [Docker CE Engine](https://docs.docker.com/engine/install/) (>= 19.03)
5554

56-
Run this script to check docker environment for HyperPose Inference:
55+
Run this script to check is pre-requisites are ready:
5756

5857
```bash
5958
wget https://raw.githubusercontent.com/tensorlayer/hyperpose/master/scripts/test_docker.py -qO- | python
6059
```
6160

62-
Once pre-requisites are ready, you can pull
63-
the HyperPose docker as follows:
61+
Once pre-requisites are installed, pull
62+
the HyperPose docker:
6463

6564
```bash
6665
docker pull tensorlayer/hyperpose
6766
```
6867

69-
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):
7069

7170
```bash
7271
# [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
9291
# docker run --rm --gpus all -it --entrypoint /bin/bash tensorlayer/hyperpose
9392
```
9493

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).
9695

9796
### Python training library
9897

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
103101
* Ubuntu 18.04, TITAN RTX, NVIDIA Driver 430.64, CUDA 10.1
104102
* Ubuntu 18.04, TITAN XP, NVIDIA Driver 430.26, CUDA 10.2
105103
* Ubuntu 16.04, RTX 2080Ti, NVIDIA Driver 430.50, CUDA 10.1
106104

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:
108106

109107
```bash
110108
# Create virtual environment (choose yes)
@@ -116,13 +114,13 @@ conda install cudatoolkit=10.0.130
116114
conda install cudnn=7.6.0
117115
```
118116

119-
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):
120118

121119
```bash
122120
pip install -r requirements.txt
123121
```
124122

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.
126124

127125
```python
128126
import tensorflow as tf
@@ -146,12 +144,12 @@ train = Model.get_train(config)
146144
train(model,dataset)
147145
```
148146

149-
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).
150148

151149

152150
## Documentation
153151

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/).
155153

156154
## Performance
157155

@@ -167,7 +165,7 @@ We compare the prediction performance of HyperPose with [OpenPose 1.6](https://g
167165

168166
## Accuracy
169167

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)
171169

172170
| HyperPose Configuration | DNN Size | Input Size | Evaluate Dataset | Accuracy-hyperpose (Iou=0.50:0.95) | Accuracy-original (Iou=0.50:0.95) |
173171
| -------------------- | ---------- | ------------- | ---------------- | --------------------- | ----------------------- |

0 commit comments

Comments
 (0)