Skip to content

Commit f45c41d

Browse files
Added Bikram as collaborator
1 parent 37b1dc5 commit f45c41d

File tree

3 files changed

+68
-63
lines changed

3 files changed

+68
-63
lines changed

README.md

Lines changed: 29 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ OpenPose is a **library for real-time multi-person keypoint detection and multi-
66
<img src="doc/media/pose_face_hands.gif", width="480">
77
</p>
88

9+
10+
911
## Latest News
1012
- Jul 2017: **Windows**, New [**portable demo**](doc/installation.md#installation---demo) **and** [**easier library installation**](doc/installation.md#installation---library)!
1113
- Jul 2017: **Hands** released!
@@ -14,6 +16,8 @@ OpenPose is a **library for real-time multi-person keypoint detection and multi-
1416
- Apr 2017: **Body** released!
1517
- Check all the [release notes](doc/release_notes.md).
1618

19+
20+
1721
## Results
1822
### Body Estimation
1923
<p align="center">
@@ -30,30 +34,32 @@ OpenPose is a **library for real-time multi-person keypoint detection and multi-
3034
<img src="doc/media/pose_hands.gif", width="480">
3135
</p>
3236

37+
38+
3339
## Contents
3440
1. [Latest News](#latest-news)
3541
2. [Results](#results)
3642
3. [Introduction](#introduction)
3743
4. [Functionality](#functionality)
38-
5. [Operating Systems](#operating-systems)
39-
6. [Installation, Reinstallation and Uninstallation](#installation-reinstallation-and-uninstallation)
40-
7. [Quick Start](#quick-start)
44+
5. [Installation, Reinstallation and Uninstallation](#installation-reinstallation-and-uninstallation)
45+
6. [Quick Start](#quick-start)
4146
1. [Demo](#demo)
4247
2. [OpenPose Wrapper](#openpose-wrapper)
4348
3. [OpenPose Library](#openpose-library)
44-
8. [Output](#output)
45-
9. [Standalone Face Or Hand Keypoint Detector](#standalone-face-or-hand-keypoint-detector)
46-
10. [Speed Up Openpose And Benchmark](#speed-up-openpose-and-benchmark)
47-
11. [Send Us Failure Cases!](#send-us-failure-cases)
48-
12. [Send Us Your Feedback!](#send-us-your-feedback)
49-
13. [Citation](#citation)
50-
14. [Other Contributors](#other-contributors)
49+
7. [Output](#output)
50+
8. [Standalone Face Or Hand Keypoint Detector](#standalone-face-or-hand-keypoint-detector)
51+
9. [Speed Up Openpose And Benchmark](#speed-up-openpose-and-benchmark)
52+
10. [Send Us Failure Cases!](#send-us-failure-cases)
53+
11. [Send Us Your Feedback!](#send-us-your-feedback)
54+
12. [Citation](#citation)
55+
12. [Other Contributors](#other-contributors)
56+
5157

5258

5359
## Introduction
5460
OpenPose represents the **first real-time system to jointly detect human body, hand and facial keypoints (in total 130 keypoints) on single images**. In addition, the system computational performance on body keypoint estimation is invariant to the number of detected people in the image. It uses Caffe, but it could easily be ported to other frameworks (Tensorflow, Torch, etc.). If you implement any of those, feel free to make a pull request!
5561

56-
OpenPose is authored by [Gines Hidalgo](http://gines-hidalgo.site123.me/), [Zhe Cao](http://www.andrew.cmu.edu/user/zhecao), [Tomas Simon](http://www.cs.cmu.edu/~tsimon/), [Shih-En Wei](https://scholar.google.com/citations?user=sFQD3k4AAAAJ&hl=en), [Hanbyul Joo](http://www.cs.cmu.edu/~hanbyulj/) and [Yaser Sheikh](http://www.cs.cmu.edu/~yaser/).
62+
OpenPose is authored by [Gines Hidalgo](http://gines-hidalgo.site123.me/), [Zhe Cao](http://www.andrew.cmu.edu/user/zhecao), [Tomas Simon](http://www.cs.cmu.edu/~tsimon/), [Shih-En Wei](https://scholar.google.com/citations?user=sFQD3k4AAAAJ&hl=en), [Hanbyul Joo](http://www.cs.cmu.edu/~hanbyulj/) and [Yaser Sheikh](http://www.cs.cmu.edu/~yaser/). In addition, it is being maintained by [Gines Hidalgo](http://gines-hidalgo.site123.me/) and [Bikramjot Singh Hanzra](https://www.linkedin.com/in/bikz05).
5763

5864
It is freely available for free non-commercial use, and may be redistributed under these conditions. Please, see the [license](LICENSE) for further details. [Interested in a commercial license? Check this link](https://flintbox.com/public/project/47343/). For commercial queries, contact [Yaser Sheikh](http://www.cs.cmu.edu/~yaser/).
5965

@@ -63,28 +69,14 @@ The pose estimation work is based on the C++ code from [the ECCV 2016 demo](http
6369

6470

6571
## Functionality
66-
* Multi-person 15 or **18-keypoint body pose** estimation and rendering. **Running time invariant to number of people** on the image.
67-
68-
* Multi-person **2x21-keypoint hand** estimation and rendering. Note: In this initial version, **running time** linearly **depends** on the **number of people** on the image. **Coming soon (in around 1-5 days)!**
69-
70-
* Multi-person **70-keypoint face** estimation and rendering. Note: In this initial version, **running time** linearly **depends** on the **number of people** on the image.
71-
72-
* Flexible and easy-to-configure **multi-threading** module.
73-
74-
* Image, video, and webcam reader.
75-
76-
* Able to save and load the results in various formats (JSON, XML, PNG, JPG, ...).
77-
78-
* Small display and GUI for simple result visualization.
79-
80-
* All the functionality is wrapped into a **simple-to-use OpenPose Wrapper class**.
81-
82-
83-
84-
## Operating Systems
85-
1. **Ubuntu** 14 and 16.
86-
2. **Windows** 8 and 10.
87-
3. OpenPose has also been used on **Windows 7**, **Mac**, **CentOS**, and **Nvidia Jetson (TK1 and TX1)** embedded systems. However, we do not officially support them at the moment.
72+
- Multi-person 15 or **18-keypoint body pose** estimation and rendering. **Running time invariant to number of people** on the image.
73+
- Multi-person **2x21-keypoint hand** estimation and rendering. Note: In this initial version, **running time** linearly **depends** on the **number of people** on the image. **Coming soon (in around 1-5 days)!**
74+
- Multi-person **70-keypoint face** estimation and rendering. Note: In this initial version, **running time** linearly **depends** on the **number of people** on the image.
75+
- Flexible and easy-to-configure **multi-threading** module.
76+
- Image, video, and webcam reader.
77+
- Able to save and load the results in various formats (JSON, XML, PNG, JPG, ...).
78+
- Small display and GUI for simple result visualization.
79+
- All the functionality is wrapped into a **simple-to-use OpenPose Wrapper class**.
8880

8981

9082

@@ -97,22 +89,21 @@ You can find the installation, reinstallation and uninstallation steps on: [doc/
9789
Most users cases should not need to dive deep into the library, they might just be able to use the [Demo](#demo) or the simple [OpenPose Wrapper](#openpose-wrapper). So you can most probably skip the library details in [OpenPose Library](#openpose-library).
9890

9991

100-
101-
#### Demo
92+
### Demo
10293
Your case if you just want to process a folder of images or video or webcam and display or save the pose results.
10394

10495
Forget about the OpenPose library details and just read the [doc/demo_overview.md](doc/demo_overview.md) 1-page section.
10596

10697

107-
#### OpenPose Wrapper
98+
### OpenPose Wrapper
10899
Your case if you want to read a specific format of image source and/or add a specific post-processing function and/or implement your own display/saving.
109100

110101
(Almost) forget about the library, just take a look to the `Wrapper` tutorial on [examples/tutorial_wrapper/](examples/tutorial_wrapper/).
111102

112103
Note: you should not need to modify the OpenPose source code nor examples. In this way, you are able to directly upgrade OpenPose anytime in the future without changing your code. You might create your custom code on [examples/user_code/](examples/user_code/) and compile it by using `make all` in the OpenPose folder.
113104

114105

115-
#### OpenPose Library
106+
### OpenPose Library
116107
Your case if you want to change internal functions and/or extend its functionality. First, take a look at the [Demo](#demo) and [OpenPose Wrapper](#openpose-wrapper). Second, read the 2 following subsections: OpenPose Overview and Extending Functionality.
117108

118109
1. OpenPose Overview: Learn the basics about the library source code in [doc/library_overview.md](doc/library_overview.md).
@@ -122,7 +113,7 @@ Your case if you want to change internal functions and/or extend its functionali
122113
3. Adding An Extra Module: Learn how to add an extra module in [doc/library_add_new_module.md](doc/library_add_new_module.md).
123114

124115

125-
#### Doxygen Documentation Autogeneration
116+
### Doxygen Documentation Autogeneration
126117
You can generate the documentation by running the following command. The documentation will be generated in `doc/doxygen/html/index.html`. You can simply open it with double-click (your default browser should automatically display it).
127118
```
128119
cd doc/

doc/contributors.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ OpenPose is authored by [Gines Hidalgo](https://www.linkedin.com/in/gineshidalgo
1111
### Contributors
1212
We would also like to thank the following people who have highly contributed to OpenPose:
1313

14-
1. [Helen Medina](https://github.com/helen-medina): Original Windows branch creator. She did the first stable OpenPose version on Windows.
14+
1. [Bikramjot Singh Hanzra](https://www.linkedin.com/in/bikz05): OpenPose maintainer and CMake version creator.
15+
2. [Helen Medina](https://github.com/helen-medina): Windows version creator.

doc/installation.md

Lines changed: 37 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,32 @@ OpenPose - Installation and FAQ
22
====================================
33

44
## Contents
5-
1. [Requirements](#requirements)
6-
2. [Clone and Update the Repository](#clone-and-update-the-repository)
7-
3. [Ubuntu](#ubuntu)
8-
4. [Windows](#windows)
9-
5. [OpenPose 3D Demo](#openpose-3d-demo)
10-
6. [Custom Caffe](#custom-caffe)
11-
7. [FAQ](#faq)
5+
1. [Operating Systems](#operating-systems)
6+
2. [Requirements](#requirements)
7+
3. [Clone and Update the Repository](#clone-and-update-the-repository)
8+
4. [Ubuntu](#ubuntu)
9+
5. [Windows](#windows)
10+
6. [OpenPose 3D Demo](#openpose-3d-demo)
11+
7. [Custom Caffe](#custom-caffe)
12+
8. [Compiling without cuDNN](#compiling-without-cudnn)
13+
9. [FAQ](#faq)
14+
15+
16+
17+
## Operating Systems
18+
- **Ubuntu** 14 and 16.
19+
- **Windows** 8 and 10.
20+
- **Nvidia Jetson TX2**, installation instructions in [doc/installation_jetson_tx2](./installation_jetson_tx2).
21+
- OpenPose has also been used on **Windows 7**, **Mac**, **CentOS**, and **Nvidia Jetson (TK1 and TX1)** embedded systems. However, we do not officially support them at the moment.
22+
23+
1224

1325

1426

1527
## Requirements
16-
- Operating systems:
17-
- Ubuntu (tested on 14 and 16).
18-
- Windows (tested on 10).
19-
- Nvidia Jetson TX2, installation instructions in [doc/installation_jetson_tx2](./installation_jetson_tx2).
20-
- We do not officially support any other OS, but the community has been able to install it on: CentOS, Nvidia Jetson, Windows 7, and Windows 8.
2128
- NVIDIA graphics card with at least 1.6 GB available (the `nvidia-smi` command checks the available GPU memory in Ubuntu).
2229
- At least 2 GB of free RAM memory.
23-
- Highly recommended: A CPU with at least 8 cores.
30+
- Highly recommended: cuDNN and a CPU with at least 8 cores.
2431

2532
Note: These requirements assume the default configuration (i.e. `--net_resolution "656x368"` and `scale_number 1`). You might need more (with a greater net resolution and/or number of scales) or less resources (with smaller net resolution and/or using the MPI and MPI_4 models).
2633

@@ -38,12 +45,14 @@ OpenPose can be easily updated by clicking the `synchronization` button at the t
3845

3946

4047

48+
49+
4150
## Ubuntu
4251
### Installation - Script Compilation
4352
**Highly important**: This script only works with CUDA 8 and Ubuntu 14 or 16. Otherwise, check [Manual Compilation](#manual-compilation).
4453
1. Required: CUDA, cuDNN, OpenCV and Atlas must be already installed on your machine.
4554
1. [CUDA](https://developer.nvidia.com/cuda-downloads) must be installed. You should reboot your machine after installing CUDA.
46-
2. [cuDNN](https://developer.nvidia.com/cudnn): Once you have downloaded it, just unzip it and copy (merge) the contents on the CUDA folder, e.g. `/usr/local/cuda-8.0/`. Note: We found OpenPose working ~10% faster with cuDNN 5.1 compared to cuDNN 6.
55+
2. [cuDNN](https://developer.nvidia.com/cudnn): Once you have downloaded it, just unzip it and copy (merge) the contents on the CUDA folder, e.g. `/usr/local/cuda-8.0/`. Note: We found OpenPose working ~10% faster with cuDNN 5.1 compared to cuDNN 6. Otherwise, check [Compiling without cuDNN](#compiling-without-cudnn).
4756
3. OpenCV can be installed with `apt-get install libopencv-dev`. If you have compiled OpenCV 3 by your own, follow [Manual Compilation](#manual-compilation). After both Makefile.config files have been generated, edit them and uncomment the line `# OPENCV_VERSION := 3`. You might alternatively modify all `Makefile.config.UbuntuXX` files and then run the scripts in step 2.
4857
4. In addition, OpenCV 3 does not incorporate the `opencv_contrib` module by default. Assuming you have OpenCV 3 compiled with the contrib module and you want to use it, append `opencv_contrib` at the end of the line `LIBRARIES += opencv_core opencv_highgui opencv_imgproc` in the `Makefile` file.
4958
5. Atlas can be installed with `sudo apt-get install libatlas-base-dev`. Instead of Atlas, you can use OpenBLAS or Intel MKL by modifying the line `BLAS := atlas` in the same way as previosuly mentioned for the OpenCV version selection.
@@ -162,22 +171,14 @@ If you updated some software that our library or 3rdparty use, or you simply wan
162171
163172
164173
165-
## Compiling without cuDNN
166-
The [cuDNN](https://developer.nvidia.com/cudnn) library is not mandatory, but required for full keypoint detection accuracy. In case your graphics card is not compatible with cuDNN, you can disable it by:
167-
168-
- Ubuntu: Modifying the `Makefile.config` files in both the OpenPose and `3rdparty/caffe` folders.
169-
- Windows: Modifying the `Makefile.config` files in both the OpenPose and `3rdparty/caffe` folders.
170-
171-
Then, you would have to reduce the `--net_resolution` flag to fit the model into the GPU memory. You can try values like "640x320", "320x240", "320x160", or "160x80" to see your GPU memory capabilities. After finding the maximum approximate resolution that your GPU can handle without throwing an out-of-memory error, adjust the `net_resolution` ratio to your image or video to be processed (see the `--net_resolution` explanation from [doc/demo_overview.md](./demo_overview.md)).
172-
173-
174-
175174
176175
## OpenPose 3D Demo
177176
If you want to try our OpenPose 3-D reconstruction demo, see [doc/openpose_3d_reconstruction_demo.md](./openpose_3d_reconstruction_demo.md).
178177
179178
180179
180+
181+
181182
## Custom Caffe
182183
We only modified some Caffe compilation flags and minor details. You can use your own Caffe distribution, these are the files we added and modified:
183184
@@ -193,6 +194,18 @@ We only modified some Caffe compilation flags and minor details. You can use you
193194
194195
195196
197+
## Compiling without cuDNN
198+
The [cuDNN](https://developer.nvidia.com/cudnn) library is not mandatory, but required for full keypoint detection accuracy. In case your graphics card is not compatible with cuDNN, you can disable it by:
199+
200+
- Ubuntu: Modifying the `Makefile.config` files in both the OpenPose and `3rdparty/caffe` folders, disabling `USE_CUDNN`.
201+
- Windows: Compiling Caffe by your own with without cuDNN support and removing the `USE_CUDNN` define from the OpenPose project solution in Visual Studio.
202+
203+
Then, you would have to reduce the `--net_resolution` flag to fit the model into the GPU memory. You can try values like "640x320", "320x240", "320x160", or "160x80" to see your GPU memory capabilities. After finding the maximum approximate resolution that your GPU can handle without throwing an out-of-memory error, adjust the `net_resolution` ratio to your image or video to be processed (see the `--net_resolution` explanation from [doc/demo_overview.md](./demo_overview.md)).
204+
205+
206+
207+
208+
196209
## FAQ
197210
**Q: Out of memory error** - I get an error similar to: `Check failed: error == cudaSuccess (2 vs. 0) out of memory`.
198211

0 commit comments

Comments
 (0)