提交 06d4ea65 编写于 作者: G Gines Hidalgo

Improved Doc with GitHub issue questions

上级 66ea7b32
......@@ -9,16 +9,17 @@ OpenPose - Frequently Asked Question (FAQ)
3. [Cannot Find OpenPose.dll Error](#cannot-find-openposedll-error-windows)
4. [Free Invalid Pointer Error](#free-invalid-pointer-error)
5. [Source Directory does not Contain CMakeLists.txt (Windows)](#source-directory-does-not-contain-cmakeliststxt-windows)
6. [Zero People Detected](#zero-people-detected)
7. [Check Failed for ReadProtoFromBinaryFile (Failed to Parse NetParameter File)](#check-failed-for-readprotofrombinaryfile-failed-to-parse-netparameter-file)
8. [3D OpenPose Returning Wrong Results: 0, NaN, Infinity, etc.](#3d-openpose-returning-wrong-results-0-nan-infinity-etc)
9. [Protobuf Clip Param Caffe Error](#protobuf-clip-param-caffe-error)
10. [The Human Skeleton Looks like Dotted Lines Rather than Solid Lines](#the-human-skeleton-looks-like-dotted-lines-rather-than-solid-lines)
11. [CUDA_cublas_device_LIBRARY Not Found](#cuda_cublas_device_library-not-found)
12. [CMake-GUI Error While Getting Default Caffe](#cmake-gui-error-while-getting-default-caffe)
13. [Libgomp Out of Memory Error](#libgomp-out-of-memory-error)
14. [Runtime Error with Turing GPU (Tesla T4) or Volta GPU][#runtime-error-with-turing-gpu-teslat4-or-volta-gpu)
15. [Obscure CMake Error about Caffe or Pybind](#obscure-cmake-error-about-caffe-or-pybind).
6. [Always Zero People Detected](#always-zero-people-detected)
7. [Very Few People Detected](#very-few-people-detected)
8. [Check Failed for ReadProtoFromBinaryFile (Failed to Parse NetParameter File)](#check-failed-for-readprotofrombinaryfile-failed-to-parse-netparameter-file)
9. [3D OpenPose Returning Wrong Results: 0, NaN, Infinity, etc.](#3d-openpose-returning-wrong-results-0-nan-infinity-etc)
10. [Protobuf Clip Param Caffe Error](#protobuf-clip-param-caffe-error)
11. [The Human Skeleton Looks like Dotted Lines Rather than Solid Lines](#the-human-skeleton-looks-like-dotted-lines-rather-than-solid-lines)
12. [CUDA_cublas_device_LIBRARY Not Found](#cuda_cublas_device_library-not-found)
13. [CMake-GUI Error While Getting Default Caffe](#cmake-gui-error-while-getting-default-caffe)
14. [Libgomp Out of Memory Error](#libgomp-out-of-memory-error)
15. [Runtime Error with Turing GPU (Tesla T4) or Volta GPU][#runtime-error-with-turing-gpu-teslat4-or-volta-gpu)
16. [Obscure CMake Error about Caffe or Pybind](#obscure-cmake-error-about-caffe-or-pybind).
2. [Speed Performance Issues](#speed-performance-issues)
1. [Speed Up, Memory Reduction, and Benchmark](#speed-up-memory-reduction-and-benchmark)
2. [How to Measure the Latency Time?](#how-to-measure-the-latency-time)
......@@ -41,7 +42,11 @@ OpenPose - Frequently Asked Question (FAQ)
#### Out of Memory Error
**Q: Out of memory error** - I get an error similar to: `Check failed: error == cudaSuccess (2 vs. 0) out of memory`.
**A**: Most probably cuDNN is not installed/enabled, the default Caffe model uses >12 GB of GPU memory, cuDNN reduces it to ~2.2 GB for BODY_25 (default) and ~1.5 GB for COCO (`--model_pose COCO`). Note that you still need at least about 2.2 GB free for the default OpenPose to run. I.e., GPUs with only 2 GB will not fit the default OpenPose, and you will have to either switch to the `COCO` model (slower and less accurate), or reduce the `--net_resolution` (faster speed but also lower accuracy).
**A**: Make sure you have a GPU with at least 4 GB of memory. If your GPU is between 2 and 4 GB, it should be fine for body-only settings, but you can also reduce the `--net_resolution` if it does not fit (check [Speed Up, Memory Reduction, and Benchmark](#speed-up-memory-reduction-and-benchmark) for the consequences of this).
(Only if you are compiling OpenPose by yourself, this does not apply to the portable OpenPose binaries for Windows because they already include cuDNN): If you have a GPU with >= 4 GB of memory, and you still face this error, most probably cuDNN is not installed/enabled. The default Caffe model uses >12 GB of GPU memory, cuDNN reduces it to ~2.2 GB for BODY_25 (default) and ~1.5 GB for COCO (`--model_pose COCO`). Note that you still need at least about 2.2 GB free for the default OpenPose to run. I.e., GPUs with only 2 GB will not fit the default OpenPose, and you will have to either switch to the `COCO` model (slower and less accurate), or reduce the `--net_resolution` (faster speed but also lower accuracy).
Also, hands and face increases the GPU memory requeriments, and 4 GB GPUs might run a bit short in some cases.
......@@ -79,10 +84,10 @@ Note: OpenPose library is not an executable, but a library. So instead clicking
#### Zero People Detected
**Q: 0 people detected and displayed in default video and images.**
#### Always Zero People Detected
**Q: Always 0 people detected and displayed in default video and images.**
**A**: This problem usually occurs in 2 situations: 1) When you selection `--num_gpu 0`, and 2) when the caffemodel has not been properly downloaded. E.g., if the connection drops when downloading the models.
**A**: This answer assumes that never a single person is detected. If in your case it works sometimes, then check [Always Zero People Detected](#always-zero-people-detected). This always-0-people problem usually occurs in 2 situations: 1) When you selection `--num_gpu 0`, and 2) when the caffemodel has not been properly downloaded. E.g., if the connection drops when downloading the models.
For problem 1, setting `--num_gpu 0` means that no processing is done, so you can use this setting e.g., to record webcam. This functionality is kept for back-compatibility. You are most probably trying to run on CPU-only mode, for that, install OpenPose in CPU-only mode following [doc/installation.md](./installation.md).
......@@ -94,10 +99,17 @@ For problem 2, try the following solutions (in this order):
#### Very Few People Detected
**Q: Low detection rate. It can detect the person on some images (usually higher contrast, with bigger people), but it will fail for most of images with low resolution or small people.**
**A**: Images with low resolution, or with people too tiny will simply not work too well. However, it can be highly improved by using the maximum accuracy configuration detailed in [doc/quick_start.md#maximum-accuracy-configuration](./quick_start.md#maximum-accuracy-configuration).
#### Check Failed for ReadProtoFromBinaryFile (Failed to Parse NetParameter File)
**Q: I am facing an error similar to:** `Check failed: ReadProtoFromBinaryFile(param_file, param) Failed to parse NetParameter file: models/pose/body_25/pose_iter_584000.caffemodel`
**A**: Same answer than for [Zero People Detected](#zero-people-detected).
**A**: Same answer than for [Always Zero People Detected](#always-zero-people-detected).
......
......@@ -8,7 +8,9 @@ OpenPose Calibration Module and Demo
1. [General Quality Tips](#general-quality-tips)
2. [Step 1 - Distortion and Intrinsic Parameter Calibration](#step-1---distortion-and-intrinsic-parameter-calibration)
3. [Step 2 - Extrinsic Parameter Calibration](#step-2---extrinsic-parameter-calibration)
4. [Using a Different Camera Brand](#using-a-different-camera-brand)
4. [Camera Matrix Output Format](#camera-matrix-output-format)
5. [Using a Different Camera Brand](#using-a-different-camera-brand)
6. [Naming Convention for the Output Images](#naming-convention-for-the-output-images)
......@@ -150,6 +152,25 @@ Examples:
## Camera Matrix Output Format
Your CameraMatrix will look something like:
```
<CameraMatrix type_id="opencv-matrix">
<rows>3</rows>
<cols>4</cols>
<dt>d</dt>
<data>
8.4965260991319647e-01 1.1164693980389649e-01
-5.1538859446064478e-01 2.1494190603291283e+00
-1.5848315388246692e-01 9.8621217567379460e-01
-4.7630184633558698e-02 -4.5237471366168569e-01
5.0296474270386005e-01 1.2214952060972525e-01 8.5563190813085876e-01
1.1418502919988400e+00</data></CameraMatrix>
```
This is a 3x4 matrix, which represents rotation (R as a 3x3 matrix) and translation (t as a 3x1 matrix) in the following format: [R | t]. They represent the rotation and translation with respect to the world origin. When calibrating with OpenPose, we set one of the cameras as the origin, but this can be easily modified with some manual post-processing.
## Using a Different Camera Brand
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).
......
......@@ -15,6 +15,7 @@ OpenPose Demo - Output
8. [Hand Output Format](#hand-output-format)
2. [Reading Saved Results](#reading-saved-results)
3. [Keypoint Format in the C++ API](#keypoint-format-in-the-c-api)
4. [Camera Matrix Output Format](#camera-matrix-output-format)
......@@ -259,3 +260,6 @@ There are 3 different keypoint `Array<float>` elements in the `Datum` class:
const auto yR = handKeypoints[1][baseIndex + 1];
const auto scoreR = handKeypoints[1][baseIndex + 2];
```
## Camera Matrix Output Format
Check [doc/modules/calibration_module.md#camera-matrix-output-format](./modules/calibration_module.md#camera-matrix-output-format).
......@@ -93,6 +93,8 @@ build\x64\Release\OpenPoseDemo.exe --image_dir examples\media\ --face --hand
### Maximum Accuracy Configuration
Note: Unfortunately, this will not work on CPU given the huge ammount of memory required. Your only option with CPU-only versions is to manually crop the people to fit the whole area of the image that is fed into OpenPose.
This command provides the most accurate results we have been able to achieve for body, hand and face keypoint detection. However, this command will need ~10.5 GB of GPU memory (6.7 GB for COCO model) and runs at ~2 FPS on a Titan X for the body-foot model (1 FPS for COCO).
- **Note 1:** Increasing `--net_resolution` will highly reduce the frame rate and increase latency, while it might increase the accuracy. However, this accuracy increase is not guaranteed in all scenarios, required a more detailed analysis for each particular scenario. E.g., it will work better for images with very small people, but usually worse for people taking a big ratio of the image. Thus, we recommend to follow the commands below for maximum accuracy in most cases for both big and small-size people.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册