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
- Jul 2017: **Windows**, New [**portable demo**](doc/installation.md#installation---demo)**and**[**easier library installation**](doc/installation.md#installation---library)!
11
13
- Jul 2017: **Hands** released!
@@ -14,6 +16,8 @@ OpenPose is a **library for real-time multi-person keypoint detection and multi-
14
16
- Apr 2017: **Body** released!
15
17
- Check all the [release notes](doc/release_notes.md).
16
18
19
+
20
+
17
21
## Results
18
22
### Body Estimation
19
23
<palign="center">
@@ -30,30 +34,32 @@ OpenPose is a **library for real-time multi-person keypoint detection and multi-
30
34
<img src="doc/media/pose_hands.gif", width="480">
31
35
</p>
32
36
37
+
38
+
33
39
## Contents
34
40
1.[Latest News](#latest-news)
35
41
2.[Results](#results)
36
42
3.[Introduction](#introduction)
37
43
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)
41
46
1.[Demo](#demo)
42
47
2.[OpenPose Wrapper](#openpose-wrapper)
43
48
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
+
51
57
52
58
53
59
## Introduction
54
60
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!
55
61
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).
57
63
58
64
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/).
59
65
@@ -63,28 +69,14 @@ The pose estimation work is based on the C++ code from [the ECCV 2016 demo](http
63
69
64
70
65
71
## 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**.
88
80
89
81
90
82
@@ -97,22 +89,21 @@ You can find the installation, reinstallation and uninstallation steps on: [doc/
97
89
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).
98
90
99
91
100
-
101
-
#### Demo
92
+
### Demo
102
93
Your case if you just want to process a folder of images or video or webcam and display or save the pose results.
103
94
104
95
Forget about the OpenPose library details and just read the [doc/demo_overview.md](doc/demo_overview.md) 1-page section.
105
96
106
97
107
-
####OpenPose Wrapper
98
+
### OpenPose Wrapper
108
99
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.
109
100
110
101
(Almost) forget about the library, just take a look to the `Wrapper` tutorial on [examples/tutorial_wrapper/](examples/tutorial_wrapper/).
111
102
112
103
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.
113
104
114
105
115
-
####OpenPose Library
106
+
### OpenPose Library
116
107
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.
117
108
118
109
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
122
113
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).
123
114
124
115
125
-
####Doxygen Documentation Autogeneration
116
+
### Doxygen Documentation Autogeneration
126
117
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).
Copy file name to clipboardExpand all lines: doc/installation.md
+37-24Lines changed: 37 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,25 +2,32 @@ OpenPose - Installation and FAQ
2
2
====================================
3
3
4
4
## 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
+
12
24
13
25
14
26
15
27
## 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.
21
28
- NVIDIA graphics card with at least 1.6 GB available (the `nvidia-smi` command checks the available GPU memory in Ubuntu).
22
29
- 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.
24
31
25
32
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).
26
33
@@ -38,12 +45,14 @@ OpenPose can be easily updated by clicking the `synchronization` button at the t
38
45
39
46
40
47
48
+
49
+
41
50
## Ubuntu
42
51
### Installation - Script Compilation
43
52
**Highly important**: This script only works with CUDA 8 and Ubuntu 14 or 16. Otherwise, check [Manual Compilation](#manual-compilation).
44
53
1. Required: CUDA, cuDNN, OpenCV and Atlas must be already installed on your machine.
45
54
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).
47
56
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.
48
57
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.
49
58
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
162
171
163
172
164
173
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
-
175
174
176
175
## OpenPose 3D Demo
177
176
If you want to try our OpenPose 3-D reconstruction demo, see [doc/openpose_3d_reconstruction_demo.md](./openpose_3d_reconstruction_demo.md).
178
177
179
178
180
179
180
+
181
+
181
182
## Custom Caffe
182
183
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:
183
184
@@ -193,6 +194,18 @@ We only modified some Caffe compilation flags and minor details. You can use you
193
194
194
195
195
196
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
+
196
209
## FAQ
197
210
**Q: Out of memory error** - I get an error similar to: `Check failed: error == cudaSuccess (2 vs. 0) out of memory`.
0 commit comments