Skip to content

Commit 1d46c08

Browse files
Doc ordered in a more intuitive way
Signed-off-by: Gines Hidalgo <[email protected]>
1 parent 1b4827f commit 1d46c08

26 files changed

+109
-111
lines changed

README.md

+9-12
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,18 @@ It is **authored by [Gines Hidalgo](https://www.gineshidalgo.com), [Zhe Cao](htt
4848
- [**Foot dataset website**](https://cmu-perceptual-computing-lab.github.io/foot_keypoint_dataset/).
4949
- **Others**:
5050
- Available: command-line demo, C++ wrapper, and C++ API.
51-
- [**Python API**](doc/modules/python_module.md).
51+
- [**Python API**](doc/python_module.md).
5252
- [**Unity Plugin**](https://github.com/CMU-Perceptual-Computing-Lab/openpose_unity_plugin).
5353
- CUDA (Nvidia GPU), OpenCL (AMD GPU), and CPU-only (no GPU) versions.
5454

55+
For further details, check [all released features](doc/released_features.md) and [release notes](doc/release_notes.md).
5556

5657

57-
## Latest Features
58-
- Sep 2019: [**Training code released**](https://github.com/CMU-Perceptual-Computing-Lab/openpose_train)!
59-
- Jan 2019: [**Unity plugin released**](https://github.com/CMU-Perceptual-Computing-Lab/openpose_unity_plugin)!
60-
- Jan 2019: [**Improved Python API**](doc/modules/python_module.md) released! Including body, face, hands, and all the functionality of the C++ API!
61-
- Dec 2018: [**Foot dataset released**](https://cmu-perceptual-computing-lab.github.io/foot_keypoint_dataset) and [**new paper released**](https://arxiv.org/abs/1812.08008)!
6258

63-
For further details, check [all released features](doc/released_features.md) and [release notes](doc/release_notes.md).
59+
## Related Work
60+
- Since Sep 2019: [**Training code**](https://github.com/CMU-Perceptual-Computing-Lab/openpose_train)!
61+
- Since Jan 2019: [**Unity plugin**](https://github.com/CMU-Perceptual-Computing-Lab/openpose_unity_plugin)!
62+
- Since Dec 2018: [**Foot dataset**](https://cmu-perceptual-computing-lab.github.io/foot_keypoint_dataset) and [**new paper released**](https://arxiv.org/abs/1812.08008)!
6463

6564

6665

@@ -107,7 +106,7 @@ This analysis was performed using the same images for each algorithm and a batch
107106

108107
## Contents
109108
1. [Features](#features)
110-
2. [Latest Features](#latest-features)
109+
2. [Related Work](#related-work)
111110
3. [Results](#results)
112111
4. [Installation, Reinstallation and Uninstallation](#installation-reinstallation-and-uninstallation)
113112
5. [Quick Start](#quick-start)
@@ -138,13 +137,11 @@ Most users do not need the OpenPose C++/Python API, but can simply use the OpenP
138137
bin\OpenPoseDemo.exe --video examples\media\video.avi
139138
```
140139

141-
- **Calibration toolbox**: To easily calibrate your cameras for 3-D OpenPose or any other stereo vision task. See [doc/modules/calibration_module.md](doc/modules/calibration_module.md).
142-
143-
- **OpenPose C++ API**: If you want to read a specific input, and/or add your custom post-processing function, and/or implement your own display/saving, check the C++ API tutorial on [examples/tutorial_api_cpp/](examples/tutorial_api_cpp/) and [doc/library_introduction.md](doc/library_introduction.md). You can create your custom code on [examples/user_code/](examples/user_code/) and quickly compile it with CMake when compiling the whole OpenPose project. Quickly **add your custom code**: See [examples/user_code/README.md](examples/user_code/README.md) for further details.
140+
- **OpenPose C++ API**: If you want to read a specific input, and/or add your custom post-processing function, and/or implement your own display/saving, check the C++ API tutorial on [examples/tutorial_api_cpp/](examples/tutorial_api_cpp/). You can easily **create your custom code** on [examples/user_code/](examples/user_code/) and CMake will automatically compile it together with the whole OpenPose project. See [examples/user_code/README.md](examples/user_code/README.md) for more details.
144141

145142
- **OpenPose Python API**: Analogously to the C++ API, find the tutorial for the Python API on [examples/tutorial_api_python/](examples/tutorial_api_python/).
146143

147-
- **Adding an extra module**: Check [doc/library_add_new_module.md](./doc/library_add_new_module.md).
144+
- **Calibration toolbox**: To easily calibrate your cameras for 3-D OpenPose or any other stereo vision task. See [doc/calibration/README.md](doc/calibration/README.md).
148145

149146
- **Standalone face or hand detector**:
150147
- **Face** keypoint detection **without body** keypoint detection: If you want to speed it up (but also reduce amount of detected faces), check the OpenCV-face-detector approach in [doc/standalone_face_or_hand_keypoint_detector.md](doc/standalone_face_or_hand_keypoint_detector.md).

appveyor.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ after_build:
2525
- ps: Get-ChildItem -Path 3rdparty/*.lib -Recurse -File | Copy-Item -Destination artifacts/lib
2626
- ps: Copy-Item models -Recurse -Destination artifacts/
2727
- ps: cd artifacts
28-
- ps: 7z a ..\openpose.zip .
28+
# - ps: 7z a ..\openpose.zip . # `artifacts` disabled
2929
- ps: cd ..
3030
# Test
31-
- ps: .\artifacts\bin\openpose.bin --image_dir examples/media/ --net_resolution -1x32 --write_json output/ --write_images output/ --display 0
31+
- ps: .\artifacts\bin\OpenPoseDemo.exe --image_dir examples/media/ --net_resolution -1x32 --write_json output/ --write_images output/ --display 0
3232

3333
# `artifacts` disabled because of the AppVeyor crash: "Maximum allowed artifact storage size of 50000 Mb will be exceeded."
3434
# artifacts:

doc/modules/3d_reconstruction_module.md renamed to doc/3d_reconstruction_module.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ This module performs 3-D keypoint (body, face, and hand) reconstruction and rend
2323

2424

2525
## Installation
26-
Check [doc/installation.md#3d-reconstruction-module](../installation.md#3d-reconstruction-module) for installation steps.
26+
Check [doc/installation.md#3d-reconstruction-module](./installation.md#3d-reconstruction-module) for installation steps.
2727

2828

2929

3030

3131
## Non Linear Optimization
32-
In order to increase the 3-D reconstruction accuracy, OpenPose optionally performs non-linear optimization if Ceres solver support is enabled (only available in Ubuntu for now). To enable it, check [doc/installation.md#3d-reconstruction-module](../installation.md#3d-reconstruction-module) for more details.
32+
In order to increase the 3-D reconstruction accuracy, OpenPose optionally performs non-linear optimization if Ceres solver support is enabled (only available in Ubuntu for now). To enable it, check [doc/installation.md#3d-reconstruction-module](./installation.md#3d-reconstruction-module) for more details.
3333

3434

3535

@@ -69,7 +69,7 @@ This demo assumes n arbitrary stereo cameras from the FLIR company (formerly Poi
6969
The user must manually get the intrinsic and extrinsic parameters of the stereo-cameras. Note, we will assume `Flir` cameras, which is specified by default with the flag `--camera_parameter_path "models/cameraParameters/flir/"`. Otherwise, change the path to your camera name accordingly.
7070

7171
There are 2 alternatives to calibrate the cameras:
72-
1. Using the [OpenPose calibration toolbox](./calibration_module.md#).
72+
1. Using the OpenPose calibration toolbox, [doc/calibration/README.md](./calibration/README.md).
7373
2. Using your own calibration toolbox (or if you already know the camera parameters of your cameras):
7474
1. Create a xml file for each camera named as `models/cameraParameters/flir/{camera_serial_number}.xml`.
7575
2. The elements inside each xml file are the extrinsic parameters of the camera (`CameraMatrix`), the intrinsic parameters (`Intrinsics`), and the distortion coefficients (`Distortion`). Copy the format from `models/cameraParameters/flir/17012332.xml.example`. For the extrinsic parameters of the camera, it allows you to set the coordinate origin (so that 3-d keypoints are distances with respect to that origin).
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
OpenPose Library - How to Develop OpenPose
2+
====================================
3+
4+
If you intend to extend the functionality of our library:
5+
6+
1. Read the [README.md](../../README.md) page.
7+
8+
2. Check the basic library overview doc on [doc/advanced/library_overview.md](library_overview.md).
9+
10+
3. Read, understand and play with the basic real time pose demo source code [examples/openpose/openpose.cpp](../../examples/openpose/openpose.cpp) and [examples/tutorial_api_cpp](../../examples/tutorial_api_cpp). It includes all the functionality of our library, and it has been properly commented.
11+
12+
4. Read, understand and play with the other tutorials in [examples/](../../examples/). It includes more specific examples.
13+
14+
5. Check the basic UML diagram on the [doc/advanced/UML](./UML/) to get an idea of each module relations.
15+
16+
6. Take a look to the stucuture of the already existing modules.
17+
18+
7. The C++ headers files add documentation in [Doxygen](http://www.doxygen.org/) format. Create this documentation by compiling the [include](../../include/) folder with Doxygen. This documentation is slowly but continuously improved.
19+
20+
8. You can also take a look to the source code or ask us on GitHub.

doc/library_introduction.md renamed to doc/advanced/library_introduction.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ OpenPose C++ API - Introduction
44
The C++ API is ideal if you want to e.g., change internal functions and/or extend the OpenPose functionality. In order to learn the basics:
55

66
1. Take a look at the [library Quick Start section](../README.md#quick-start) from the README.
7-
2. OpenPose Overview: Learn the basics about the library source code in [doc/library_overview.md](./library_overview.md).
8-
3. Extending Functionality: Learn how to extend the library in [doc/library_extend_functionality.md](./library_extend_functionality.md).
9-
4. Adding An Extra Module: Learn how to add an extra module in [doc/library_add_new_module.md](./library_add_new_module.md).
7+
2. OpenPose Overview: Learn the basics about the library source code in [doc/advanced/library_overview.md](./library_overview.md).
8+
3. Extending Functionality: Learn how to extend the library in [doc/advanced/library_extend_functionality.md](./library_extend_functionality.md).
9+
4. Adding An Extra Module: Learn how to add an extra module in [doc/advanced/library_add_new_module.md](./library_add_new_module.md).
1010
5. See the Doxygen documentation on [http://cmu-perceptual-computing-lab.github.io/openpose/html/index.html](http://cmu-perceptual-computing-lab.github.io/openpose/html/index.html) or build it from the source code.

doc/library_overview.md renamed to doc/advanced/library_overview.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@ OpenPose C++ API - Basic Overview
33

44

55

6-
Note: Read [doc/library_introduction.md](./library_introduction.md) before this page.
6+
Note: Read [doc/advanced/library_introduction.md](./library_introduction.md) before this page.
77

88

99

1010
## Modules Diagram
1111
<p align="center">
12-
<img src="../doc/UML/1_0_0rc3/UML.png", width="720">
12+
<img src="./UML/1_0_0rc3/UML.png", width="720">
1313
</p>
1414

1515

1616

1717
## Main Modules
18-
In order to use and/or slightly extend the OpenPose library, we try to explain the 2 main components on this section. [doc/UML/](../doc/UML/) contains the class diagram of all these modules.
18+
In order to use and/or slightly extend the OpenPose library, we try to explain the 2 main components on this section. [doc/advanced/UML](./UML/) contains the class diagram of all these modules.
1919

2020
1. The basic module: `core`.
2121

@@ -120,7 +120,7 @@ There are 3 basic configuration modes: single-threading, multi-threading and sma
120120
threadManager.add(threadId++, wPose, queueIn++, queueOut++); // Thread 2, queues 3 -> 3
121121
```
122122
123-
3. Smart multi-threading: Some classes are much more faster than others (e.g., pose estimation takes ~100 ms while extracting frames from a video only ~10 ms). In addition, any machine has a limited number of threads. Therefore, the library allows the user to merge the faster threads in order to potentially speed up the code. Check the [real-time pose demo](../examples/openpose/openpose.cpp) too see a more complete example.
123+
3. Smart multi-threading: Some classes are much more faster than others (e.g., pose estimation takes ~100 ms while extracting frames from a video only ~10 ms). In addition, any machine has a limited number of threads. Therefore, the library allows the user to merge the faster threads in order to potentially speed up the code. Check the [real-time pose demo](../../examples/openpose/openpose.cpp) too see a more complete example.
124124
```
125125
auto threadId = 0;
126126
auto queueIn = 0;
@@ -192,7 +192,7 @@ In order to be initialized, `PoseExtractorCaffe` has the following constructor a
192192
193193
3. `outputSize` is the final desired resolution to be used. The human pose keypoint locations will be scaled to this output size. However, the heat-maps will have the `netOutputSize` size due to performance.
194194
195-
4. `scaleNumber` and `scaleGap` specify the multi-scale parameters. Explained in the [README.md](../README.md), in the demo section.
195+
4. `scaleNumber` and `scaleGap` specify the multi-scale parameters. Explained in the [README.md](../../README.md), in the demo section.
196196
197197
5. `poseModel` specifies the model to load (e.g., COCO or MPI).
198198

doc/modules/calibration_module.md renamed to doc/calibration/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ This is a 3x4 matrix, which represents rotation (R as a 3x3 matrix) and translat
174174
## Using a Different Camera Brand
175175
If you plan to use the calibration tool without using OpenPose, you can manually save a video sequence of your desired camera into each of the camera image folders (i.e., in the above example, the `~/Desktop/intrinsics_0`, `~/Desktop/intrinsics_1`, etc. folders).
176176

177-
If you wanna eventually run that camera with OpenPose, check [doc/modules/3d_reconstruction_module.md#using-a-different-camera-brand](./3d_reconstruction_module.md#using-a-different-camera-brand).
177+
If you wanna eventually run that camera with OpenPose, check [doc/3d_reconstruction_module.md#using-a-different-camera-brand](../3d_reconstruction_module.md#using-a-different-camera-brand).
178178

179179

180180

doc/installation.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ OpenPose - Installation
4141
- **Ubuntu 20**.
4242
- **Mac OSX** Mavericks and above.
4343
- **Ubuntu 14, 16 and 18** as well as **Windows 7 and 8** are no longer officially maintained. However, they should still work (but might require minor changes).
44-
- **Nvidia Jetson TX1** (for JetPack 3.1), installation instructions in [doc/installation_jetson_tx1.md](./installation_jetson_tx1.md).
45-
- **Nvidia Jetson TX2** (for JetPack 3.1 or 3.3), installation instructions in [doc/installation_jetson_tx2_jetpack3.1.md](./installation_jetson_tx2_jetpack3.1.md) and [doc/installation_jetson_tx2_jetpack3.3.md](./installation_jetson_tx2_jetpack3.3.md) respectively.
44+
- **Nvidia Jetson TX1** (for JetPack 3.1), installation instructions in [doc/jetson_tx/installation_jetson_tx1.md](./jetson_tx/installation_jetson_tx1.md).
45+
- **Nvidia Jetson TX2** (for JetPack 3.1 or 3.3), installation instructions in [doc/jetson_tx/installation_jetson_tx2_jetpack3.1.md](./jetson_tx/installation_jetson_tx2_jetpack3.1.md) and [doc/jetson_tx/installation_jetson_tx2_jetpack3.3.md](./jetson_tx/installation_jetson_tx2_jetpack3.3.md) respectively.
4646
- OpenPose has also been used on **CentOS** and other **Nvidia Jetson (TK1)** embedded systems. However, we do not officially support them at the moment.
4747
- **Requirements** for the default configuration
4848
- CUDA (Nvidia GPU) version:
@@ -244,7 +244,7 @@ Note: Check the differences between these models in [doc/faq.md#difference-betwe
244244
245245
246246
### Python API
247-
To install the Python API, ensure that the `BUILD_PYTHON` flag is turned on while running CMake GUI and follow the standard installation steps. After the installation, check [doc/modules/python_module.md](./modules/python_module.md) for further details.
247+
To install the Python API, ensure that the `BUILD_PYTHON` flag is turned on while running CMake GUI and follow the standard installation steps. After the installation, check [doc/python_module.md](./python_module.md) for further details.
248248
249249
250250
@@ -337,14 +337,14 @@ You can include the 3D reconstruction module by:
337337
3. Follow the CMake installation steps. In addition, set the `WITH_FLIR_CAMERA` (only if Spinnaker was installed) and `WITH_3D_RENDERER` options.
338338
4. Increased accuracy with Ceres solver (Ubuntu only): For extra 3-D reconstruction accuracy, run `sudo apt-get install libeigen3-dev`, install [Ceres solver](http://ceres-solver.org/installation.html), and enable `WITH_CERES` in CMake when installing OpenPose. Ceres is harder to install in Windows, so we have not tested it so far in there. Feel free to make a pull request if you do.
339339

340-
After installation, check the [doc/modules/3d_reconstruction_module.md](./modules/3d_reconstruction_module.md) instructions.
340+
After installation, check the [doc/3d_reconstruction_module.md](./3d_reconstruction_module.md) instructions.
341341

342342

343343

344344
### Calibration Module
345345
The calibration module is included by default, but you must also enable `WITH_EIGEN` if you intend to use the extrinsic camera parameter estimation tool. You can set that flag to 2 different values: `BUILD` or `FIND`, check [Requirements and Dependencies](#requirements-and-dependencies) for more information.
346346

347-
After installation, check the [doc/modules/calibration_module.md](./modules/calibration_module.md) instructions.
347+
After installation, check the [doc/calibration/README.md](./calibration/README.md) instructions.
348348

349349

350350

doc/library_extend_functionality.md

-20
This file was deleted.

doc/output.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -273,4 +273,4 @@ There are 3 different keypoint `Array<float>` elements in the `Datum` class:
273273
```
274274

275275
## Camera Matrix Output Format
276-
Check [doc/modules/calibration_module.md#camera-matrix-output-format](./modules/calibration_module.md#camera-matrix-output-format).
276+
Check [doc/calibration/README.md#camera-matrix-output-format](./calibration/README.md#camera-matrix-output-format).

doc/modules/python_module.md renamed to doc/python_module.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ If run via the command line, you may need to run cmake twice in order for this c
5050

5151

5252
## Installation
53-
Check [doc/installation.md#python-api](../installation.md#python-api) for installation steps.
53+
Check [doc/installation.md#python-api](./installation.md#python-api) for installation steps.
5454

5555
The Python API requires python-dev, Numpy (for array management), and OpenCV (for image loading). They can be installed via:
5656

0 commit comments

Comments
 (0)