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.
- {pyppbox-3.1b2/pyppbox.egg-info → pyppbox-3.1b4}/PKG-INFO +34 -2
- {pyppbox-3.1b2 → pyppbox-3.1b4}/README.md +4 -1
- {pyppbox-3.1b2 → pyppbox-3.1b4}/RELEASENOTES.md +25 -10
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/__init__.py +1 -1
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/detectors/yoloult/__init__.py +1 -1
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/visualizetools.py +14 -10
- {pyppbox-3.1b2 → pyppbox-3.1b4/pyppbox.egg-info}/PKG-INFO +34 -2
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox.egg-info/requires.txt +1 -1
- {pyppbox-3.1b2 → pyppbox-3.1b4}/requirements/requirements.txt +1 -1
- {pyppbox-3.1b2 → pyppbox-3.1b4}/GETSTARTED.md +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/LICENSE +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/MANIFEST.in +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/cfg.7z +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/detectors.yaml +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/main.yaml +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/reiders.yaml +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/cfg/trackers.yaml +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/configtools.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/myconfig.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/strings/strings.yaml +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/config/unifiedstrings.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/datasets/.gitignore +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/logs/.gitignore +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/modules/.gitignore +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/res/.gitignore +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/data/res/idmap.txt +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/assets/TReID.png +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/assets/icon.ico +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/assets/settings.ico +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/guidemo.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/guihub.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/guitools.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/tmp/input.tmp +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/tmp/ui.tmp +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_centroid.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_deepsort.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_facenet.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_gt.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_launcher.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_sort.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_torchreid.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_yolocls.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/gui/ui_yoloult.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/detectors/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/detectors/yolocls/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/origin/align_dataset_mtcnn.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/origin/detect_face.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/origin/facenet.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/torchreid/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/torchreid/model_dict.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/torchreid/model_dict.yaml +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/torchreid/utils.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/centroid/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/detection.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/detection_yolo.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/generate_detections.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/iou_matching.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/kalman_filter.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/linear_assignment.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/nn_matching.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/preprocessing.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/track.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/tracker.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/voc_classes.txt +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/sort/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/sort/origin/sort.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/standalone/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/standalone/mt.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/__init__.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/commontools.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/evatools.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/gttools.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/logtools.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/persontools.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/utils/restools.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox.egg-info/SOURCES.txt +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox.egg-info/dependency_links.txt +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox.egg-info/top_level.txt +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/pyproject.toml +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/requirements/README.md +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/requirements/test_gpu.py +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/setup.cfg +0 -0
- {pyppbox-3.1b2 → pyppbox-3.1b4}/setup.py +0 -0
- {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.
|
|
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/)
|
|
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/)
|
|
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
|
-
*
|
|
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.
|
|
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.
|
|
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.
|
|
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/)
|
|
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
|
+
|
|
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
|
|
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
|
|
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
|
{pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/reiders/facenet/origin/align_dataset_mtcnn.py
RENAMED
|
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
|
{pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/generate_detections.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyppbox-3.1b2 → pyppbox-3.1b4}/pyppbox/modules/trackers/deepsort/origin/linear_assignment.py
RENAMED
|
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
|
|
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
|