提交 b47c780f 编写于 作者: G gineshidalgo99

1.0.0rc2: Renamed rtpose to openpose

上级 1625029b
...@@ -34,7 +34,7 @@ LIB_BUILD_DIR := $(BUILD_DIR)/lib ...@@ -34,7 +34,7 @@ LIB_BUILD_DIR := $(BUILD_DIR)/lib
STATIC_NAME := $(LIB_BUILD_DIR)/lib$(LIBRARY_NAME).a STATIC_NAME := $(LIB_BUILD_DIR)/lib$(LIBRARY_NAME).a
DYNAMIC_VERSION_MAJOR := 1 DYNAMIC_VERSION_MAJOR := 1
DYNAMIC_VERSION_MINOR := 0 DYNAMIC_VERSION_MINOR := 0
DYNAMIC_VERSION_REVISION := 0-rc1 DYNAMIC_VERSION_REVISION := 0-rc2
DYNAMIC_NAME_SHORT := lib$(LIBRARY_NAME).so DYNAMIC_NAME_SHORT := lib$(LIBRARY_NAME).so
#DYNAMIC_SONAME_SHORT := $(DYNAMIC_NAME_SHORT).$(DYNAMIC_VERSION_MAJOR) #DYNAMIC_SONAME_SHORT := $(DYNAMIC_NAME_SHORT).$(DYNAMIC_VERSION_MAJOR)
DYNAMIC_VERSIONED_NAME_SHORT := $(DYNAMIC_NAME_SHORT).$(DYNAMIC_VERSION_MAJOR).$(DYNAMIC_VERSION_MINOR).$(DYNAMIC_VERSION_REVISION) DYNAMIC_VERSIONED_NAME_SHORT := $(DYNAMIC_NAME_SHORT).$(DYNAMIC_VERSION_MAJOR).$(DYNAMIC_VERSION_MINOR).$(DYNAMIC_VERSION_REVISION)
......
OpenPose Demo - Overview OpenPose Demo - Overview
==================================== ====================================
Forget about the OpenPose library code, just compile the library and use the demo `./build/examples/openpose/rtpose.bin`. Forget about the OpenPose library code, just compile the library and use the demo `./build/examples/openpose/openpose.bin`.
In order to learn how to use it, run `./build/examples/openpose/rtpose.bin --help` in your bash and read all the available flags (check only the flags for `examples/openpose/rtpose.cpp` itself, i.e. the section `Flags from examples/openpose/rtpose.cpp:`). We detail some of them in the following sections. In order to learn how to use it, run `./build/examples/openpose/openpose.bin --help` in your bash and read all the available flags (check only the flags for `examples/openpose/openpose.cpp` itself, i.e. the section `Flags from examples/openpose/openpose.cpp:`). We detail some of them in the following sections.
## Quick Start ## Quick Start
Check that the library is working properly by using any of the following commands. Note that `examples/media/video.avi` and `examples/media` exist, so you do not need to change the paths. Check that the library is working properly by using any of the following commands. Note that `examples/media/video.avi` and `examples/media` exist, so you do not need to change the paths.
1. Running on Video 1. Running on Video
``` ```
./build/examples/openpose/rtpose.bin --video examples/media/video.avi ./build/examples/openpose/openpose.bin --video examples/media/video.avi
``` ```
2. Running on Webcam 2. Running on Webcam
``` ```
./build/examples/openpose/rtpose.bin ./build/examples/openpose/openpose.bin
``` ```
3. Running on Images 3. Running on Images
``` ```
./build/examples/openpose/rtpose.bin --image_dir examples/media/ ./build/examples/openpose/openpose.bin --image_dir examples/media/
``` ```
The visual GUI should show the original image with the poses blended on it, similarly to the pose of this gif: The visual GUI should show the original image with the poses blended on it, similarly to the pose of this gif:
...@@ -40,7 +40,7 @@ If you choose to visualize a body part or a PAF (Part Affinity Field) heat map w ...@@ -40,7 +40,7 @@ If you choose to visualize a body part or a PAF (Part Affinity Field) heat map w
## Other Important Options ## Other Important Options
Please, in order to check all the real time pose demo options and their details, run `./build/examples/openpose/rtpose.bin --help`. We describe here some of the most important ones. Please, in order to check all the real time pose demo options and their details, run `./build/examples/openpose/openpose.bin --help`. We describe here some of the most important ones.
`--video input.mp4`: Input video. If omitted, it will use the webcam. `--video input.mp4`: Input video. If omitted, it will use the webcam.
...@@ -54,7 +54,7 @@ Please, in order to check all the real time pose demo options and their details, ...@@ -54,7 +54,7 @@ Please, in order to check all the real time pose demo options and their details,
`--process_real_time`: It might skip frames in order to keep the final output displaying frames on real time. `--process_real_time`: It might skip frames in order to keep the final output displaying frames on real time.
`--part_to_show` Select the prediction channel to visualize (default: 0). 20 for all the joint's heatmaps, 21 for all the PAFs `--part_to_show`: Select the prediction channel to visualize (default: 0). 0 to visualize all the body parts, 1-18 for each body part heat map, 19 for the background heat map, 20 for all the body part heat maps together, 21 for all the PAFs, 22-69 for each body part pair PAF.
`--no_display`: Display window not opened. Useful if there is no X server and/or to slightly speed up the processing if visual output is not required. `--no_display`: Display window not opened. Useful if there is no X server and/or to slightly speed up the processing if visual output is not required.
...@@ -76,7 +76,7 @@ Running at multiple scales might drastically slow down the speed, but it will in ...@@ -76,7 +76,7 @@ Running at multiple scales might drastically slow down the speed, but it will in
## Heat Maps Storing ## Heat Maps Storing
The following command will save all the body part heat maps, background heat map and Part Affinity Fields (PAFs) in the folder `output_heatmaps_folder`. It will save them on PNG format. Instead of individually saving each of the 67 heatmaps (18 body parts + background + 2 x 19 PAFs) individually, the library concatenate them vertically into a huge (width x #heatmaps) x (height) matrix. The PAFs channels are multiplied by 2 because there is one heatmpa for the x-coordinates and one for the y-coordinates. The order is body parts + bkg + PAFs. It will follow the sequence on POSE_BODY_PART_MAPPING in [include/openpose/pose/poseParameters.hpp](../include/openpose/pose/poseParameters.hpp). The following command will save all the body part heat maps, background heat map and Part Affinity Fields (PAFs) in the folder `output_heatmaps_folder`. It will save them on PNG format. Instead of individually saving each of the 67 heatmaps (18 body parts + background + 2 x 19 PAFs) individually, the library concatenate them vertically into a huge (width x #heatmaps) x (height) matrix. The PAFs channels are multiplied by 2 because there is one heatmpa for the x-coordinates and one for the y-coordinates. The order is body parts + bkg + PAFs. It will follow the sequence on POSE_BODY_PART_MAPPING in [include/openpose/pose/poseParameters.hpp](../include/openpose/pose/poseParameters.hpp).
``` ```
./build/examples/openpose/rtpose.bin --video examples/media/video.avi --heatmaps_add_parts --heatmaps_add_bkg --heatmaps_add_PAFs --write_heatmaps output_heatmaps_folder/ ./build/examples/openpose/openpose.bin --video examples/media/video.avi --heatmaps_add_parts --heatmaps_add_bkg --heatmaps_add_PAFs --write_heatmaps output_heatmaps_folder/
``` ```
...@@ -84,5 +84,5 @@ The following command will save all the body part heat maps, background heat map ...@@ -84,5 +84,5 @@ The following command will save all the body part heat maps, background heat map
## Example ## Example
The following example runs the video `vid.mp4`, renders image frames on `output/result.avi`, and outputs JSON files as `output/%12d.json`, parallelizing over 2 GPUs: The following example runs the video `vid.mp4`, renders image frames on `output/result.avi`, and outputs JSON files as `output/%12d.json`, parallelizing over 2 GPUs:
``` ```
./build/examples/openpose/rtpose.bin --video examples/media/video.avi --num_gpu 2 --write_video output/result.avi --write_json output/ ./build/examples/openpose/openpose.bin --video examples/media/video.avi --num_gpu 2 --write_video output/result.avi --write_json output/
``` ```
...@@ -38,7 +38,7 @@ PROJECT_NAME = OpenPose ...@@ -38,7 +38,7 @@ PROJECT_NAME = OpenPose
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = 1.0.0rc1 PROJECT_NUMBER = 1.0.0rc2
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
......
...@@ -7,7 +7,7 @@ If you intend to extend the functionality of our library: ...@@ -7,7 +7,7 @@ If you intend to extend the functionality of our library:
2. Check the basic library overview doc on [library_overview.md](library_overview.md). 2. Check the basic library overview doc on [library_overview.md](library_overview.md).
3. Read, understand and play with the basic real time pose demo source code [examples/openpose/rtpose.cpp](../examples/openpose/rtpose.cpp) and [examples/tutorial_wrapper](../examples/tutorial_wrapper). It includes all the functionality of our library, and it has been properly commented. 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_wrapper](../examples/tutorial_wrapper). It includes all the functionality of our library, and it has been properly commented.
4. Read, understand and play with the other tutorials in [examples/](../examples/). It includes more specific examples. 4. Read, understand and play with the other tutorials in [examples/](../examples/). It includes more specific examples.
......
...@@ -5,7 +5,7 @@ OpenPose Library - Basic Overview ...@@ -5,7 +5,7 @@ OpenPose Library - Basic Overview
## Modules Diagram ## Modules Diagram
<p align="center"> <p align="center">
<img src="../doc/UML/1_0_0rc1/UML.png", width="720"> <img src="../doc/UML/1_0_0rc2/UML.png", width="720">
</p> </p>
...@@ -116,7 +116,7 @@ There are 3 basic configuration modes: single-threading, multi-threading and sma ...@@ -116,7 +116,7 @@ There are 3 basic configuration modes: single-threading, multi-threading and sma
threadManager.add(threadId++, wPose, queueIn++, queueOut++); // Thread 2, queues 3 -> 3 threadManager.add(threadId++, wPose, queueIn++, queueOut++); // Thread 2, queues 3 -> 3
``` ```
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/rtpose.cpp) too see a more complete example. 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.
``` ```
auto threadId = 0; auto threadId = 0;
auto queueIn = 0; auto queueIn = 0;
......
...@@ -46,8 +46,8 @@ ...@@ -46,8 +46,8 @@
// using namespace cv; // using namespace cv;
// using namespace std; // using namespace std;
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
#include <openpose/pose/headers.hpp> #include <openpose/pose/headers.hpp>
#include <openpose/utilities/headers.hpp> #include <openpose/utilities/headers.hpp>
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
#include <openpose/pose/headers.hpp> #include <openpose/pose/headers.hpp>
#include <openpose/utilities/headers.hpp> #include <openpose/utilities/headers.hpp>
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
#include <openpose/thread/headers.hpp> #include <openpose/thread/headers.hpp>
#include <openpose/utilities/headers.hpp> #include <openpose/utilities/headers.hpp>
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
#include <openpose/thread/headers.hpp> #include <openpose/thread/headers.hpp>
#include <openpose/utilities/headers.hpp> #include <openpose/utilities/headers.hpp>
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
// #include <openpose/thread/headers.hpp> // #include <openpose/thread/headers.hpp>
// #include <openpose/utilities/headers.hpp> // #include <openpose/utilities/headers.hpp>
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
// #include <openpose/thread/headers.hpp> // #include <openpose/thread/headers.hpp>
// #include <openpose/utilities/headers.hpp> // #include <openpose/utilities/headers.hpp>
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
...@@ -45,8 +45,8 @@ ...@@ -45,8 +45,8 @@
// using namespace cv; // using namespace cv;
// using namespace std; // using namespace std;
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
...@@ -45,8 +45,8 @@ ...@@ -45,8 +45,8 @@
// using namespace cv; // using namespace cv;
// using namespace std; // using namespace std;
// Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `rtpose.bin --help`. // Gflags in the command line terminal. Check all the options by adding the flag `--help`, e.g. `openpose.bin --help`.
// Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `rtpose`, look for `Flags from examples/openpose/rtpose.cpp:`. // Note: This command will show you flags for several files. Check only the flags for the file you are checking. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.
// Debugging // Debugging
DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any." DEFINE_int32(logging_level, 3, "The logging level. Integer in the range [0, 255]. 0 will output any log() message, while 255 will not output any."
" Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones."); " Current OpenPose library messages are in the range 0-4: 1 for low priority messages and 4 for important ones.");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册