pyppbox 3.1b2__tar.gz → 3.1b4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. {pyppbox-3.1b2/pyppbox.egg-info → pyppbox-3.1b4}/PKG-INFO +34 -2
  2. {pyppbox-3.1b2 → pyppbox-3.1b4}/README.md +4 -1
  3. {pyppbox-3.1b2 → pyppbox-3.1b4}/RELEASENOTES.md +25 -10
  4. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/__init__.py +1 -1
  5. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/detectors/yoloult/__init__.py +1 -1
  6. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/visualizetools.py +14 -10
  7. {pyppbox-3.1b2 → pyppbox-3.1b4/pyppbox.egg-info}/PKG-INFO +34 -2
  8. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox.egg-info/requires.txt +1 -1
  9. {pyppbox-3.1b2 → pyppbox-3.1b4}/requirements/requirements.txt +1 -1
  10. {pyppbox-3.1b2 → pyppbox-3.1b4}/GETSTARTED.md +0 -0
  11. {pyppbox-3.1b2 → pyppbox-3.1b4}/LICENSE +0 -0
  12. {pyppbox-3.1b2 → pyppbox-3.1b4}/MANIFEST.in +0 -0
  13. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/__init__.py +0 -0
  14. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/cfg.7z +0 -0
  15. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/detectors.yaml +0 -0
  16. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/main.yaml +0 -0
  17. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/reiders.yaml +0 -0
  18. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/trackers.yaml +0 -0
  19. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/configtools.py +0 -0
  20. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/myconfig.py +0 -0
  21. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/strings/strings.yaml +0 -0
  22. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/unifiedstrings.py +0 -0
  23. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/datasets/.gitignore +0 -0
  24. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/logs/.gitignore +0 -0
  25. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/modules/.gitignore +0 -0
  26. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/res/.gitignore +0 -0
  27. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/res/idmap.txt +0 -0
  28. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/__init__.py +0 -0
  29. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/assets/TReID.png +0 -0
  30. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/assets/icon.ico +0 -0
  31. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/assets/settings.ico +0 -0
  32. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/guidemo.py +0 -0
  33. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/guihub.py +0 -0
  34. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/guitools.py +0 -0
  35. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/tmp/input.tmp +0 -0
  36. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/tmp/ui.tmp +0 -0
  37. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_centroid.py +0 -0
  38. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_deepsort.py +0 -0
  39. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_facenet.py +0 -0
  40. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_gt.py +0 -0
  41. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_launcher.py +0 -0
  42. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_sort.py +0 -0
  43. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_torchreid.py +0 -0
  44. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_yolocls.py +0 -0
  45. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_yoloult.py +0 -0
  46. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/__init__.py +0 -0
  47. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/detectors/__init__.py +0 -0
  48. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/detectors/yolocls/__init__.py +0 -0
  49. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/__init__.py +0 -0
  50. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/__init__.py +0 -0
  51. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/origin/align_dataset_mtcnn.py +0 -0
  52. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/origin/detect_face.py +0 -0
  53. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/origin/facenet.py +0 -0
  54. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/torchreid/__init__.py +0 -0
  55. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/torchreid/model_dict.py +0 -0
  56. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/torchreid/model_dict.yaml +0 -0
  57. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/torchreid/utils.py +0 -0
  58. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/__init__.py +0 -0
  59. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/centroid/__init__.py +0 -0
  60. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/__init__.py +0 -0
  61. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/detection.py +0 -0
  62. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/detection_yolo.py +0 -0
  63. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/generate_detections.py +0 -0
  64. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/iou_matching.py +0 -0
  65. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/kalman_filter.py +0 -0
  66. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/linear_assignment.py +0 -0
  67. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/nn_matching.py +0 -0
  68. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/preprocessing.py +0 -0
  69. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/track.py +0 -0
  70. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/tracker.py +0 -0
  71. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/voc_classes.txt +0 -0
  72. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/sort/__init__.py +0 -0
  73. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/sort/origin/sort.py +0 -0
  74. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/standalone/__init__.py +0 -0
  75. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/standalone/mt.py +0 -0
  76. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/__init__.py +0 -0
  77. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/commontools.py +0 -0
  78. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/evatools.py +0 -0
  79. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/gttools.py +0 -0
  80. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/logtools.py +0 -0
  81. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/persontools.py +0 -0
  82. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/restools.py +0 -0
  83. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox.egg-info/SOURCES.txt +0 -0
  84. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox.egg-info/dependency_links.txt +0 -0
  85. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox.egg-info/top_level.txt +0 -0
  86. {pyppbox-3.1b2 → pyppbox-3.1b4}/pyproject.toml +0 -0
  87. {pyppbox-3.1b2 → pyppbox-3.1b4}/requirements/README.md +0 -0
  88. {pyppbox-3.1b2 → pyppbox-3.1b4}/requirements/test_gpu.py +0 -0
  89. {pyppbox-3.1b2 → pyppbox-3.1b4}/setup.cfg +0 -0
  90. {pyppbox-3.1b2 → pyppbox-3.1b4}/setup.py +0 -0
  91. {pyppbox-3.1b2 → pyppbox-3.1b4}/setup_extra.yaml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyppbox
3
- Version: 3.1b2
3
+ Version: 3.1b4
4
4
  Summary: Toolbox for people detecting, tracking, and re-identifying.
5
5
  Home-page: https://github.com/rathaumons/pyppbox
6
6
  Author: Ratha SIV
@@ -31,6 +31,35 @@ Classifier: Operating System :: MacOS
31
31
  Requires-Python: >=3.8
32
32
  Description-Content-Type: text/markdown
33
33
  License-File: LICENSE
34
+ Requires-Dist: Cython>=0.29.33
35
+ Requires-Dist: numpy
36
+ Requires-Dist: opencv-contrib-python
37
+ Requires-Dist: scikit-image>=0.20.0
38
+ Requires-Dist: scikit-learn>=1.2.2
39
+ Requires-Dist: scipy>=1.10.0
40
+ Requires-Dist: imageio
41
+ Requires-Dist: imutils
42
+ Requires-Dist: pandas
43
+ Requires-Dist: Pillow
44
+ Requires-Dist: psutil
45
+ Requires-Dist: tqdm
46
+ Requires-Dist: tables
47
+ Requires-Dist: h5py
48
+ Requires-Dist: matplotlib
49
+ Requires-Dist: PyYAML
50
+ Requires-Dist: future
51
+ Requires-Dist: protobuf
52
+ Requires-Dist: tensorflow
53
+ Requires-Dist: torch
54
+ Requires-Dist: torchvision
55
+ Requires-Dist: torchaudio
56
+ Requires-Dist: filterpy
57
+ Requires-Dist: lapx
58
+ Requires-Dist: pyunpack
59
+ Requires-Dist: patool
60
+ Requires-Dist: PyQt6
61
+ Requires-Dist: pyppbox-torchreid
62
+ Requires-Dist: pyppbox-ultralytics>=8.0.142
34
63
 
35
64
  # 🐍📦 [**pyppbox**](https://github.com/rathaumons/pyppbox)
36
65
 
@@ -42,13 +71,16 @@ License-File: LICENSE
42
71
 
43
72
  <img src="https://raw.githubusercontent.com/rathaROG/screenshot/master/pyppbox/pyppbox_new_wide.png"><br />
44
73
 
45
- **[📗 Documentation](https://rathaumons.github.io/pyppbox/) > [🚀 Getting started](https://rathaumons.github.io/pyppbox/getstarted.html) > [💡 Examples](https://rathaumons.github.io/pyppbox/examples.html)**
74
+ **[📗 Documentation](https://rathaumons.github.io/pyppbox/) | [🚀 Getting started](https://rathaumons.github.io/pyppbox/getstarted.html) | [💡 Examples](https://rathaumons.github.io/pyppbox/examples.html) | [▶️ Demo](https://github.com/rathaumons/pyppbox-demo)**
46
75
 
47
76
  </div>
48
77
 
78
+ ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of codes. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
79
+
49
80
  * ` pyppbox = Python + People + Toolbox `
50
81
  * Design for both short and long term people detecting, tracking, and re-identifying.
51
82
  * Integrate GUI for easy configurations and demo.
52
83
  * Support dictionary and YAML/JSON configurations.
53
84
  * Support [[GTA_V_Dataset]](https://github.com/rathaumons/PoseTReID_DATASET) -> Real-time online and offline evaluation.
54
85
  * Check our papers: 1 [[IEEE]](https://ieeexplore.ieee.org/document/9271712) | 2 [[IEEE]](https://ieeexplore.ieee.org/document/9946587) [[arxiv]](https://doi.org/10.48550/arxiv.2205.10086)
86
+
@@ -8,13 +8,16 @@
8
8
 
9
9
  <img src="https://raw.githubusercontent.com/rathaROG/screenshot/master/pyppbox/pyppbox_new_wide.png"><br />
10
10
 
11
- **[📗 Documentation](https://rathaumons.github.io/pyppbox/) > [🚀 Getting started](https://rathaumons.github.io/pyppbox/getstarted.html) > [💡 Examples](https://rathaumons.github.io/pyppbox/examples.html)**
11
+ **[📗 Documentation](https://rathaumons.github.io/pyppbox/) | [🚀 Getting started](https://rathaumons.github.io/pyppbox/getstarted.html) | [💡 Examples](https://rathaumons.github.io/pyppbox/examples.html) | [▶️ Demo](https://github.com/rathaumons/pyppbox-demo)**
12
12
 
13
13
  </div>
14
14
 
15
+ ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of codes. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
16
+
15
17
  * ` pyppbox = Python + People + Toolbox `
16
18
  * Design for both short and long term people detecting, tracking, and re-identifying.
17
19
  * Integrate GUI for easy configurations and demo.
18
20
  * Support dictionary and YAML/JSON configurations.
19
21
  * Support [[GTA_V_Dataset]](https://github.com/rathaumons/PoseTReID_DATASET) -> Real-time online and offline evaluation.
20
22
  * Check our papers: 1 [[IEEE]](https://ieeexplore.ieee.org/document/9271712) | 2 [[IEEE]](https://ieeexplore.ieee.org/document/9946587) [[arxiv]](https://doi.org/10.48550/arxiv.2205.10086)
23
+
@@ -2,6 +2,21 @@
2
2
 
3
3
  ## **pyppbox V3 - Make Simpler and Faster**
4
4
 
5
+ * `pyppbox` [v3.1b4](https://github.com/rathaumons/pyppbox/tree/v3.1b4)
6
+
7
+ - Improve support for new `pyppbox-ultralytics`
8
+ - Improve documentations
9
+ - **Known issue/limitation**:
10
+ - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
11
+
12
+ * `pyppbox` [v3.1b3](https://github.com/rathaumons/pyppbox/tree/v3.1b3)
13
+
14
+ - Update and improve visualizetools for new `pyppbox-ultralytics`
15
+ - Update requirements
16
+ - Improve documentations
17
+ - **Known issue/limitation**:
18
+ - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
19
+
5
20
  * `pyppbox` [v3.1b2](https://github.com/rathaumons/pyppbox/tree/v3.1b2)
6
21
 
7
22
  - Improve all supported trackers
@@ -9,7 +24,7 @@
9
24
  - Change some default configurations
10
25
  - Update and improve examples
11
26
  - Improve documentations
12
- - **Known issue/limitation**:
27
+ - **Known issue/limitation**:
13
28
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
14
29
 
15
30
  * `pyppbox` [v3.1b1](https://github.com/rathaumons/pyppbox/tree/v3.1b1)
@@ -22,14 +37,14 @@
22
37
  - Update default config files
23
38
  - Update and improve documentations
24
39
  - Update and improve GUI
25
- - **Known issue/limitation**:
40
+ - **Known issue/limitation**:
26
41
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
27
42
 
28
43
  * `pyppbox` [v3.0b5](https://github.com/rathaumons/pyppbox/tree/v3.0b5)
29
44
 
30
45
  - Fix a critical bug in GUI of FaceNet which can cause missing `train_data` configuration
31
46
  - Fix and improve documentation
32
- - **Known issue/limitation**:
47
+ - **Known issue/limitation**:
33
48
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
34
49
 
35
50
  * `pyppbox` [v3.0b4](https://github.com/rathaumons/pyppbox/tree/v3.0b4)
@@ -38,7 +53,7 @@
38
53
  - Update and improve dependencies/requirements for macOS and Linux
39
54
  - Update and improve `GETSTARTED.md` for macOS and Linux
40
55
  - Add core stability test for macOS
41
- - **Known issue/limitation**:
56
+ - **Known issue/limitation**:
42
57
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
43
58
 
44
59
  * `pyppbox` [v3.0b3](https://github.com/rathaumons/pyppbox/tree/v3.0b3)
@@ -48,7 +63,7 @@
48
63
  - Update and improve dependencies/requirements
49
64
  - Update and improve `GETSTARTED.md`
50
65
  - Update test workflows for Python [3.8-3.11]
51
- - **Known issue/limitation**:
66
+ - **Known issue/limitation**:
52
67
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
53
68
 
54
69
  * `pyppbox` [v3.0b2](https://github.com/rathaumons/pyppbox/tree/v3.0b2)
@@ -62,7 +77,7 @@
62
77
  - Improve GUI stability
63
78
  - Update and normalize dependencies/requirements
64
79
  - Update and improve documentations
65
- - **Known issue/limitation**:
80
+ - **Known issue/limitation**:
66
81
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
67
82
 
68
83
  * `pyppbox` [v3.0b1](https://github.com/rathaumons/pyppbox/tree/v3.0b1)
@@ -88,7 +103,7 @@
88
103
  - Update and improve all supported modules
89
104
  - Update and improve GUI
90
105
  - Update ***requirements***
91
- - **Known issue/limitation**:
106
+ - **Known issue/limitation**:
92
107
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
93
108
 
94
109
 
@@ -100,7 +115,7 @@
100
115
  - Add support for the new keypoint data format of YOLO Ultralytics's pose estimation model
101
116
  - Remove unnecessary imports
102
117
  - Update requirements
103
- - **Known issue/limitation**:
118
+ - **Known issue/limitation**:
104
119
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
105
120
 
106
121
  * `pyppbox` [v2.0b1](https://github.com/rathaumons/pyppbox/tree/v2.0b1)
@@ -117,7 +132,7 @@
117
132
  - Update the `FacNet` & `Torchreid` pretrained classifier ***PKLs*** for ***GTA5 dataset***
118
133
  - Update examples
119
134
  - Change to `pypa/build` for `setup.py`
120
- - **Known issue/limitation**:
135
+ - **Known issue/limitation**:
121
136
  - [Issue] YOLO Ultralytics: May throw `CUDA error: an illegal memory access was encountered` in multithread application
122
137
 
123
138
 
@@ -160,7 +175,7 @@
160
175
 
161
176
  ## **pyppbox V1**
162
177
 
163
- * This repo was reinitiated from version 1.0b9 where the complete history is available here [33da563](https://github.com/rathaumons/pyppbox/tree/33da56302d27204931337b44d9a6a5adc1eb5257)
178
+ * The GitHub repo was reinitiated from version 1.0b9 where the complete history is available here [33da563](https://github.com/rathaumons/pyppbox/tree/33da56302d27204931337b44d9a6a5adc1eb5257)
164
179
 
165
180
  * [`OpenPose`](https://github.com/CMU-Perceptual-Computing-Lab/openpose) submodule was removed due to [its complicated license](https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/LICENSE) -> Check this repo [`pyppbox-paper`](https://github.com/rathaumons/pyppbox-paper) if you need `OpenPose` or need to reproduce the results in the paper
166
181
 
@@ -47,7 +47,7 @@ from pyppbox.gui.guitools import (
47
47
  )
48
48
 
49
49
 
50
- __version__ = '3.1b2'
50
+ __version__ = '3.1b4'
51
51
  __author__ = 'Ratha SIV'
52
52
  __description__ = 'Toolbox for people detecting, tracking, and re-identifying.'
53
53
  __homepage__ = 'https://rathaumons.github.io/pyppbox'
@@ -67,7 +67,7 @@ class MyYOLOULT(object):
67
67
  else:
68
68
  from ultralytics import YOLO
69
69
  self.model = YOLO(self.cfg.model_file)
70
- from ultralytics.yolo.utils.plotting import Colors
70
+ from ultralytics.utils.plotting import Colors
71
71
  self.colors = Colors()
72
72
  self.skeleton = [[16, 14], [14, 12], [17, 15], [15, 13],
73
73
  [12, 13], [6, 12], [7, 13], [6, 7], [6, 8],
@@ -22,12 +22,22 @@
22
22
  import cv2
23
23
  import numpy as np
24
24
 
25
- from ultralytics.yolo.utils.plotting import Colors
26
-
27
25
  from .persontools import Person
28
26
  from .commontools import getCVMat
29
- from .logtools import add_error_log
27
+ from .logtools import add_error_log, add_warning_log
30
28
 
29
+ # For ultralytics's skeleton
30
+ has_ultralytics = True
31
+ try:
32
+ from ultralytics.utils.plotting import Colors
33
+ colors = Colors()
34
+ skeleton = [[16, 14], [14, 12], [17, 15], [15, 13], [12, 13], [6, 12], [7, 13], [6, 7], [6, 8],
35
+ [7, 9], [8, 10], [9, 11], [2, 3], [1, 2], [1, 3], [2, 4], [3, 5], [4, 6], [5, 7]]
36
+ limb_color = colors.pose_palette[[9, 9, 9, 9, 7, 7, 7, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16]]
37
+ kpt_color = colors.pose_palette[[16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9]]
38
+ except ImportError as e:
39
+ has_ultralytics = False
40
+ add_warning_log("visualizetools: ultralytics or pyppbox-ultralytics is not installed.")
31
41
 
32
42
  # For cid
33
43
  cid_col = (0, 0, 255)
@@ -57,12 +67,6 @@ reid_col = (0, 255, 255)
57
67
  reid_dup_col = (0, 0, 255)
58
68
  reid_status_font = cv2.FONT_HERSHEY_COMPLEX_SMALL
59
69
 
60
- # For skeleton
61
- colors = Colors()
62
- skeleton = [[16, 14], [14, 12], [17, 15], [15, 13], [12, 13], [6, 12], [7, 13], [6, 7], [6, 8],
63
- [7, 9], [8, 10], [9, 11], [2, 3], [1, 2], [1, 3], [2, 4], [3, 5], [4, 6], [5, 7]]
64
- limb_color = colors.pose_palette[[9, 9, 9, 9, 7, 7, 7, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16]]
65
- kpt_color = colors.pose_palette[[16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9]]
66
70
 
67
71
  def __addSKL__(img, kpts, radius=5, kpt_line=True):
68
72
  # Ultralytics YOLO
@@ -153,7 +157,7 @@ def visualizePeople(img, people, show_box=True, show_skl=(True,True,5), show_ids
153
157
  if show_repspoint:
154
158
  cv2.circle(img, (p.repspoint[0], p.repspoint[1]), radius=5,
155
159
  color=(0, 0, 255), thickness=-1)
156
- if (isinstance(show_skl, tuple) and np.asarray(show_skl).shape == (3,)
160
+ if (has_ultralytics and isinstance(show_skl, tuple) and np.asarray(show_skl).shape == (3,)
157
161
  and len(p.keypoints) >= 15):
158
162
  (s, l, r) = show_skl
159
163
  if s: img = __addSKL__(img, p.keypoints, radius=r, kpt_line=l)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyppbox
3
- Version: 3.1b2
3
+ Version: 3.1b4
4
4
  Summary: Toolbox for people detecting, tracking, and re-identifying.
5
5
  Home-page: https://github.com/rathaumons/pyppbox
6
6
  Author: Ratha SIV
@@ -31,6 +31,35 @@ Classifier: Operating System :: MacOS
31
31
  Requires-Python: >=3.8
32
32
  Description-Content-Type: text/markdown
33
33
  License-File: LICENSE
34
+ Requires-Dist: Cython>=0.29.33
35
+ Requires-Dist: numpy
36
+ Requires-Dist: opencv-contrib-python
37
+ Requires-Dist: scikit-image>=0.20.0
38
+ Requires-Dist: scikit-learn>=1.2.2
39
+ Requires-Dist: scipy>=1.10.0
40
+ Requires-Dist: imageio
41
+ Requires-Dist: imutils
42
+ Requires-Dist: pandas
43
+ Requires-Dist: Pillow
44
+ Requires-Dist: psutil
45
+ Requires-Dist: tqdm
46
+ Requires-Dist: tables
47
+ Requires-Dist: h5py
48
+ Requires-Dist: matplotlib
49
+ Requires-Dist: PyYAML
50
+ Requires-Dist: future
51
+ Requires-Dist: protobuf
52
+ Requires-Dist: tensorflow
53
+ Requires-Dist: torch
54
+ Requires-Dist: torchvision
55
+ Requires-Dist: torchaudio
56
+ Requires-Dist: filterpy
57
+ Requires-Dist: lapx
58
+ Requires-Dist: pyunpack
59
+ Requires-Dist: patool
60
+ Requires-Dist: PyQt6
61
+ Requires-Dist: pyppbox-torchreid
62
+ Requires-Dist: pyppbox-ultralytics>=8.0.142
34
63
 
35
64
  # 🐍📦 [**pyppbox**](https://github.com/rathaumons/pyppbox)
36
65
 
@@ -42,13 +71,16 @@ License-File: LICENSE
42
71
 
43
72
  <img src="https://raw.githubusercontent.com/rathaROG/screenshot/master/pyppbox/pyppbox_new_wide.png"><br />
44
73
 
45
- **[📗 Documentation](https://rathaumons.github.io/pyppbox/) > [🚀 Getting started](https://rathaumons.github.io/pyppbox/getstarted.html) > [💡 Examples](https://rathaumons.github.io/pyppbox/examples.html)**
74
+ **[📗 Documentation](https://rathaumons.github.io/pyppbox/) | [🚀 Getting started](https://rathaumons.github.io/pyppbox/getstarted.html) | [💡 Examples](https://rathaumons.github.io/pyppbox/examples.html) | [▶️ Demo](https://github.com/rathaumons/pyppbox-demo)**
46
75
 
47
76
  </div>
48
77
 
78
+ ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of codes. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
79
+
49
80
  * ` pyppbox = Python + People + Toolbox `
50
81
  * Design for both short and long term people detecting, tracking, and re-identifying.
51
82
  * Integrate GUI for easy configurations and demo.
52
83
  * Support dictionary and YAML/JSON configurations.
53
84
  * Support [[GTA_V_Dataset]](https://github.com/rathaumons/PoseTReID_DATASET) -> Real-time online and offline evaluation.
54
85
  * Check our papers: 1 [[IEEE]](https://ieeexplore.ieee.org/document/9271712) | 2 [[IEEE]](https://ieeexplore.ieee.org/document/9946587) [[arxiv]](https://doi.org/10.48550/arxiv.2205.10086)
86
+
@@ -26,4 +26,4 @@ pyunpack
26
26
  patool
27
27
  PyQt6
28
28
  pyppbox-torchreid
29
- pyppbox-ultralytics
29
+ pyppbox-ultralytics>=8.0.142
@@ -42,6 +42,6 @@ PyQt6
42
42
  ### Customized pyppbox-torchreid
43
43
  pyppbox-torchreid
44
44
  ### Customized pyppbox-ultralytics
45
- pyppbox-ultralytics
45
+ pyppbox-ultralytics>=8.0.142
46
46
  ### Unused
47
47
  # shapely
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes