forked from bedssys/Bedssys
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SOLUTIONS.txt
97 lines (73 loc) · 5.32 KB
/
SOLUTIONS.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
## Installing new version of ildoonet openpose (tf-pose-estimation).
1. Clone then install requirements
pip install -r requirements.txt
2. Prevent downloading unused big data: Rename the models/pretrained & models/numpy.
3. Problems with pycoco:
a. Install the asked modules (skip if everything is "requrements already satisfied").
- latest version : pip install <module> --upgrade
- specific version : pip install <module>==<version> --upgrade
- wont uninstall : pip install <module> --upgrade --ignore-installed
b. rc.exe or something about Visual Studio
- It's because the official pycoco doesn't support windows.
- Use this instead: [https://github.com/cocodataset/cocoapi/issues/169]
pip3 install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI"
- Problem with rc.exe: [https://stackoverflow.com/questions/43858836/]
Do as specified by the first answer (maybe)
Use "Developer Command Prompt for VS 2017" to run the command above.
3. Install pafprocess
cd tf_pose/pafprocess
swig -python -c++ pafprocess.i && python3 setup.py build_ext --inplace
4. Copy the tf_pose content to Bedssys/tf_pose
Example using video_all.py
- start cmd {/c python video_all.py --video="E:\Workbench\FinalMisc\CCTV\12042236_20190510_145502.mp4" --crop=-1 --rotate=180 --stats= --resize=512x288 --skip=750}
- start cmd {/c python video_all.py --video="E:\Workbench\FinalMisc\CCTV\12042236_20190510_151512.mp4" --crop=-1 --rotate=180 --stats= --resize=512x288 --skip=120}
Example using video_pose.py
- start cmd {/c python video_pose.py --video="E:\Users\USER\Videos\Bandicam\Crawl bandicam 2019-05-07 11-34-23-019.mp4" --crop=-2}
- start cmd {/c python video_pose.py --video="E:\Users\USER\Videos\Bandicam\Crawl bandicam 2019-05-07 11-34-23-019.mp4" --crop=0}
- start cmd {/c python video_pose.py --video="E:\Users\USER\Videos\Bandicam\Crawl bandicam 2019-05-07 11-34-23-019.mp4" --crop=1}
- start cmd {/c python video_pose.py --video="E:\Workbench\FinalMisc\CCTV\12042236_20190510_151512.mp4" --crop=-1 --rotate=180 --resize='1024x576'}
## Missing 'comb' module or whatever module missing related problems due to mismatched versions (by trying to install using pip instead of conda).
https://stackoverflow.com/questions/46178199/python-sklearn-model-selection-giving-error-unable-to-import-comb
1. Uninstalls:
pip uninstall numpy scipy -y
pip uninstall scikit-learn -y
2. Conda uninstall:
conda uninstall numpy scipy scikit-learn -y
3. Conda install:
conda install numpy scipy scikit-learn -y
## Failed to get convolution algorithm. This is probably because cuDNN failed to initialize.
May be caused by: Out of memory, Cache issue, or incompatible version of CUDA, TF, Drivers, etc.
Easiest problem, caused by upgrading tensorflow. Downgrade using:
pip install --upgrade tensorflow-gpu==1.8.0
## Training data preparation
1. Export the data, 3 columns (row, label, pose), tab-separated, remove header.
2. Rename to Test.txt & Train.txt, place in /utilities/ori
3. Overlap : pose_overlap.py, Set the N_STEPS, overlap, run. Output: Overlapped Train.txt and Test.txt in /utilities
4. Group : pose_group.py, Set the N_STEPS, params, run. Output: X_*.txt and Y_*.txt in /utilities
5. Preproc : pose_<preproc>.py,Set the params, run. Output: Same file
## About configurations.
- Openpose model size doesn't change systemically the output coordinate, aspect ratio, or anything else -- just accuracy difference. See below for a 1024x576 image, with person placed in the bottom-right corner.
So, it's okay to use one another interchangeably without any data conversion/adaptation.
576x288 : 970.667, 296.0, 970.667, 324.0, 945.778, 328.0, 938.667, 368.0, 942.222, 408.0, 995.556, 324.0, 1002.667, 360.0, 1002.667, 400.0, 967.111, 408.0, 967.111, 468.0, 974.222, 524.0, 988.444, 408.0, 984.889, 468.0, 984.889, 528.0, 967.111, 292.0, 974.222, 292.0, 956.444, 296.0, 981.333, 292.0
512x288 : 972.0, 296.0, 972.0, 324.0, 948.0, 328.0, 936.0, 368.0, 944.0, 404.0, 996.0, 324.0, 1004.0, 360.0, 1000.0, 396.0, 964.0, 404.0, 968.0, 468.0, 972.0, 524.0, 988.0, 404.0, 988.0, 468.0, 988.0, 524.0, 964.0, 292.0, 976.0, 292.0, 956.0, 296.0, 980.0, 296.0
1024x576 : 974.0, 296.0, 974.0, 328.0, 946.0, 332.0, 938.0, 374.0, 944.0, 414.0, 1000.0, 326.0, 1010.0, 368.0, 1006.0, 408.0, 960.0, 408.0, 966.0, 468.0, 968.0, 526.0, 992.0, 408.0, 990.0, 470.0, 988.0, 540.0, 970.0, 292.0, 978.0, 290.0, 960.0, 296.0, 984.0, 294.0
- General rule of thumb: Bigger model means better accuracy overall, bigger image/resize means better detection for smaller target.
## Configurations & Performances
- Default:
OpenPose = model 1024x576 | out-ratio x4
LSTM = 1 hidden layer
FaceRec = prescale 1/4 | upsample x4
Darknet = model yolov3-tiny
-----
VRAM = 5.3-5.5GB
FPS = 2.9-4.5
- Individual:
Idle (test PC) = 0.2GB (may increase up to 0.5GB)
(Below values are already reduced from idle value)
No module = 0.1GB | 70-90 FPS
OpenPose = 5.1GB | 8.8-9.2 FPS
Opose + LSTM = 5.2GB | 8.8-8.2 FPS
OpenPose Limit = 2.5GB | 8.8-9.2 FPS
LSTM Limit = 0.3GB | ?
Darknet = 0.5GB | 23-27 FPS
FaceRec = 0.4GB | 24-26 FPS