pyppbox 3.6b1__tar.gz → 3.6b2__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 (94) hide show
  1. {pyppbox-3.6b1/pyppbox.egg-info → pyppbox-3.6b2}/PKG-INFO +1 -1
  2. {pyppbox-3.6b1 → pyppbox-3.6b2}/RELEASENOTES.md +18 -1
  3. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/__init__.py +1 -1
  4. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/detectors/yolocls/__init__.py +10 -10
  5. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/detectors/yoloult/__init__.py +6 -6
  6. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/facenet/__init__.py +1 -1
  7. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/torchreid/__init__.py +1 -1
  8. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/__init__.py +1 -1
  9. {pyppbox-3.6b1/pyppbox/standalone → pyppbox-3.6b2/pyppbox/ppb}/__init__.py +24 -24
  10. {pyppbox-3.6b1/pyppbox/standalone → pyppbox-3.6b2/pyppbox/ppb}/mt.py +7 -7
  11. pyppbox-3.6b2/pyppbox/standalone/__init__.py +37 -0
  12. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/gttools.py +2 -2
  13. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/visualizetools.py +3 -3
  14. {pyppbox-3.6b1 → pyppbox-3.6b2/pyppbox.egg-info}/PKG-INFO +1 -1
  15. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox.egg-info/SOURCES.txt +2 -1
  16. {pyppbox-3.6b1 → pyppbox-3.6b2}/GETSTARTED.md +0 -0
  17. {pyppbox-3.6b1 → pyppbox-3.6b2}/LICENSE +0 -0
  18. {pyppbox-3.6b1 → pyppbox-3.6b2}/MANIFEST.in +0 -0
  19. {pyppbox-3.6b1 → pyppbox-3.6b2}/README.md +0 -0
  20. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/__init__.py +0 -0
  21. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/cfg/cfg.zip +0 -0
  22. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/cfg/detectors.yaml +0 -0
  23. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/cfg/main.yaml +0 -0
  24. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/cfg/reiders.yaml +0 -0
  25. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/cfg/trackers.yaml +0 -0
  26. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/configtools.py +0 -0
  27. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/myconfig.py +0 -0
  28. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/strings/strings.yaml +0 -0
  29. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/strings/strings.zip +0 -0
  30. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/config/unifiedstrings.py +0 -0
  31. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/data/datasets/.gitignore +0 -0
  32. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/data/logs/.gitignore +0 -0
  33. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/data/modules/.gitignore +0 -0
  34. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/data/res/.gitignore +0 -0
  35. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/data/res/idmap.txt +0 -0
  36. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/__init__.py +0 -0
  37. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/assets/TReID.png +0 -0
  38. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/assets/icon.ico +0 -0
  39. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/assets/settings.ico +0 -0
  40. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/guidemo.py +0 -0
  41. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/guihub.py +0 -0
  42. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/guitools.py +0 -0
  43. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/tmp/input.tmp +0 -0
  44. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/tmp/ui.tmp +0 -0
  45. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_centroid.py +0 -0
  46. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_deepsort.py +0 -0
  47. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_facenet.py +0 -0
  48. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_gt.py +0 -0
  49. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_launcher.py +0 -0
  50. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_sort.py +0 -0
  51. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_torchreid.py +0 -0
  52. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_yolocls.py +0 -0
  53. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/gui/ui_yoloult.py +0 -0
  54. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/__init__.py +0 -0
  55. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/detectors/__init__.py +0 -0
  56. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/__init__.py +0 -0
  57. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/facenet/origin/align_dataset_mtcnn.py +0 -0
  58. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/facenet/origin/detect_face.py +0 -0
  59. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/facenet/origin/facenet.py +0 -0
  60. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/torchreid/model_dict.py +0 -0
  61. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/torchreid/model_dict.yaml +0 -0
  62. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/reiders/torchreid/utils.py +0 -0
  63. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/__init__.py +0 -0
  64. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/centroid/__init__.py +0 -0
  65. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/detection.py +0 -0
  66. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/detection_yolo.py +0 -0
  67. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/generate_detections.py +0 -0
  68. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/iou_matching.py +0 -0
  69. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/kalman_filter.py +0 -0
  70. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/linear_assignment.py +0 -0
  71. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/nn_matching.py +0 -0
  72. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/preprocessing.py +0 -0
  73. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/track.py +0 -0
  74. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/tracker.py +0 -0
  75. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/deepsort/origin/voc_classes.txt +0 -0
  76. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/sort/__init__.py +0 -0
  77. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/modules/trackers/sort/origin/sort.py +0 -0
  78. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/__init__.py +0 -0
  79. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/commontools.py +0 -0
  80. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/evatools.py +0 -0
  81. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/logtools.py +0 -0
  82. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/mot2pyppbox.py +0 -0
  83. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/persontools.py +0 -0
  84. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox/utils/restools.py +0 -0
  85. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox.egg-info/dependency_links.txt +0 -0
  86. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox.egg-info/requires.txt +0 -0
  87. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyppbox.egg-info/top_level.txt +0 -0
  88. {pyppbox-3.6b1 → pyppbox-3.6b2}/pyproject.toml +0 -0
  89. {pyppbox-3.6b1 → pyppbox-3.6b2}/requirements/README.md +0 -0
  90. {pyppbox-3.6b1 → pyppbox-3.6b2}/requirements/requirements.txt +0 -0
  91. {pyppbox-3.6b1 → pyppbox-3.6b2}/requirements/test_gpu.py +0 -0
  92. {pyppbox-3.6b1 → pyppbox-3.6b2}/setup.cfg +0 -0
  93. {pyppbox-3.6b1 → pyppbox-3.6b2}/setup.py +0 -0
  94. {pyppbox-3.6b1 → pyppbox-3.6b2}/setup_extra.yaml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyppbox
3
- Version: 3.6b1
3
+ Version: 3.6b2
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
@@ -1,8 +1,25 @@
1
1
  # Release Notes
2
2
 
3
+ ## **pyppbox V4 - Even Smaller**
4
+
5
+ * `pyppbox` v4.0b1 (COMING SOON 🚀)
6
+
7
+ - `pyppbox` will leverage [`vsensebox`](https://github.com/rathaumons/vsensebox) for detection and tracking
8
+ - `pyppbox.utils.persontools` will change to adapt [`vsensebox`](https://github.com/rathaumons/vsensebox)
9
+ - `pyppbox.ppb` will replace `pyppbox.standalone`
10
+ - All configuration files will also change
11
+ - More changes will be added here! Stay tuned!
12
+
3
13
  ## **pyppbox V3 - Make Simpler and Faster**
4
14
 
5
- * `pyppbox` [v3.6b1](https://github.com/rathaumons/pyppbox/tree/v3.5b2)
15
+ * `pyppbox` [v3.6b2](https://github.com/rathaumons/pyppbox/tree/v3.6b2)
16
+
17
+ - Add a warning for the changes in the coming major version 4
18
+ - Update documentations
19
+ - **Known issue/limitation**:
20
+ - You tell me :)
21
+
22
+ * `pyppbox` [v3.6b1](https://github.com/rathaumons/pyppbox/tree/v3.6b1)
6
23
 
7
24
  - Replace `pyunpack` & `patool` with `shutil`
8
25
  - Improve Example 9 - example_09_eva_offline.py
@@ -47,7 +47,7 @@ from pyppbox.gui.guitools import (
47
47
  )
48
48
 
49
49
 
50
- __version__ = '3.6b1'
50
+ __version__ = '3.6b2'
51
51
  __author__ = 'Ratha SIV'
52
52
  __description__ = 'Toolbox for people detecting, tracking, and re-identifying.'
53
53
  __homepage__ = 'https://rathaumons.github.io/pyppbox'
@@ -56,25 +56,25 @@ class MyYOLOCLS(object):
56
56
  self.model = cv2.dnn_DetectionModel(net)
57
57
  self.model.setInputParams(size=cfg.model_resolution, scale=1/255.0)
58
58
 
59
- def detect(self, img, visual=True, class_filter=0, min_width_filter=35):
59
+ def detect(self, img, visual=True, class_filter=[0], min_width_filter=35):
60
60
  """Detect general object with object's class filter :obj:`class_filter` in a
61
- given cv :obj:`Mat` image.
61
+ given :obj:`Mat` like image.
62
62
 
63
63
  Parameters
64
64
  ----------
65
65
  img : Mat
66
- A cv :obj:`Mat` image.
66
+ A :obj:`Mat` like image.
67
67
  visual : bool, default=True
68
68
  An indication of whether to visualize the detected objects.
69
- class_filter : int, defualt=0
70
- Object's class filter, 0 means person only
69
+ class_filter : list[int, ...], defualt=0
70
+ Object's class filter, [0] = Person only.
71
71
  min_width_filter : int, default=35
72
72
  Mininum width filter of a detected object.
73
73
 
74
74
  Returns
75
75
  -------
76
76
  Mat
77
- A cv :obj:`Mat` image.
77
+ A :obj:`Mat` like image.
78
78
  list[ndarray[int, int, int, int], ...]
79
79
  A list of bounding box :code:`ndarray[x, y, width, height]`.
80
80
  list[ndarray[int, int, int, int], ...]
@@ -93,7 +93,7 @@ class MyYOLOCLS(object):
93
93
  nmsThreshold=float(self.cfg.nms))
94
94
  if len(classes) > 0:
95
95
  for class_id, conf, box_xywh in zip(classes.flatten(), confidences, boxes):
96
- if class_id == class_filter and box_xywh[2] >= min_width_filter:
96
+ if class_id in class_filter and box_xywh[2] >= min_width_filter:
97
97
  box_xywh = box_xywh.astype(int)
98
98
  pboxes_xywh.append(box_xywh)
99
99
  box_xyxy = to_xyxy(box_xywh)
@@ -109,12 +109,12 @@ class MyYOLOCLS(object):
109
109
  return img, pboxes_xywh, pboxes_xyxy, repspoints, confs
110
110
 
111
111
  def detectPeople(self, img, visual=True, min_width_filter=35, alt_repspoint=False, alt_repspoint_top=True):
112
- """Detect person(s) in a given cv :obj:`Mat` image.
112
+ """Detect person(s) in a given :obj:`Mat` like image.
113
113
 
114
114
  Parameters
115
115
  ----------
116
116
  img : Mat
117
- A cv :obj:`Mat` image.
117
+ A :obj:`Mat` like image.
118
118
  visual : bool, default=True
119
119
  An indication of whether to visualize the detected people.
120
120
  min_width_filter : int, default=35
@@ -129,7 +129,7 @@ class MyYOLOCLS(object):
129
129
  list[Person, ...]
130
130
  A list of detected :class:`Person` object.
131
131
  Mat
132
- A cv :obj:`Mat` image.
132
+ A :obj:`Mat` like image.
133
133
  """
134
134
  people = []
135
135
  classes, confidences, boxes = self.model.detect(
@@ -117,12 +117,12 @@ class MyYOLOULT(object):
117
117
 
118
118
  def detect(self, img, visual=True, classes=0, min_width_filter=35):
119
119
  """Detect general object with object's class filter :obj:`class_filter`
120
- in a given cv :obj:`Mat` image.
120
+ in a given :obj:`Mat` like image.
121
121
 
122
122
  Parameters
123
123
  ----------
124
124
  img : Mat
125
- A cv :obj:`Mat` image.
125
+ A :obj:`Mat` like image.
126
126
  visual : bool, default=True
127
127
  An indication of whether to visualize the detected objects.
128
128
  classes : int, defualt=0
@@ -133,7 +133,7 @@ class MyYOLOULT(object):
133
133
  Returns
134
134
  -------
135
135
  Mat
136
- A cv :obj:`Mat` image.
136
+ A :obj:`Mat` like image.
137
137
  list[ndarray[int, int, int, int], ...]
138
138
  A list of bounding box :code:`ndarray[x, y, width, height]`.
139
139
  list[ndarray[int, int, int, int], ...]
@@ -205,12 +205,12 @@ class MyYOLOULT(object):
205
205
  return img, pboxes_xywh, pboxes_xyxy, repspoints, keypoints, confs
206
206
 
207
207
  def detectPeople(self, img, visual=True, min_width_filter=35, alt_repspoint=False, alt_repspoint_top=True):
208
- """Detect person(s) in a given cv :obj:`Mat` image.
208
+ """Detect person(s) in a given :obj:`Mat` like image.
209
209
 
210
210
  Parameters
211
211
  ----------
212
212
  img : Mat
213
- A cv :obj:`Mat` image.
213
+ A :obj:`Mat` like image.
214
214
  visual : bool, default=True
215
215
  An indication of whether to visualize the detected people.
216
216
  min_width_filter : int, default=35
@@ -225,7 +225,7 @@ class MyYOLOULT(object):
225
225
  list[Person, ...]
226
226
  A list of detected :class:`Person` object.
227
227
  Mat
228
- A cv :obj:`Mat` image.
228
+ A :obj:`Mat` like image.
229
229
  """
230
230
  numpy_dets = []
231
231
  people = []
@@ -120,7 +120,7 @@ class MyFaceNet(object):
120
120
  Parameters
121
121
  ----------
122
122
  img : Mat
123
- A cv :obj:`Mat` image.
123
+ A :obj:`Mat` like image.
124
124
  is_bgr : bool, default=True
125
125
  An indication of whether the color channel of given :obj:`img` is BGR.
126
126
 
@@ -85,7 +85,7 @@ class MyTorchreid(object):
85
85
  Parameters
86
86
  ----------
87
87
  img : Mat
88
- A cv :obj:`Mat` image.
88
+ A :obj:`Mat` like image.
89
89
  is_bgr : bool, default=True
90
90
  An indication of whether the color channel of given :obj:`img` is BGR.
91
91
 
@@ -94,7 +94,7 @@ class MyDeepSORT(object):
94
94
  person_list : list[Person, ...]
95
95
  A list of :class:`Person` object which stores the detected people in the given :obj:`img`.
96
96
  img : any, default=None
97
- A cv :obj:`Mat` image.
97
+ A :obj:`Mat` like image.
98
98
  max_spread : int, default=5
99
99
  Max spread or max margin used to decide whether 2 bounding boxes are the same by comparing
100
100
  the differences between the elements in the bounding box given by the embedded SORT and the
@@ -23,7 +23,7 @@
23
23
  Standalone is designed for easy detect, track, and reid people in a single thread
24
24
  enviroment or in command line.
25
25
 
26
- For multithreading application, see :py:class:`pyppbox.standalone.mt.MT`.
26
+ For multithreading application, see :py:class:`pyppbox.ppb.mt.MT`.
27
27
 
28
28
  Example:
29
29
 
@@ -69,27 +69,27 @@ Example:
69
69
 
70
70
  from .mt import MT
71
71
 
72
- __stdmt__ = MT()
72
+ _mt = MT()
73
73
 
74
74
  def setConfigDir(config_dir=None, load_all=False):
75
- """See :func:`pyppbox.standalone.mt.MT.setConfigDir`"""
76
- __stdmt__.setConfigDir(config_dir=config_dir, load_all=load_all)
75
+ """See :func:`pyppbox.ppb.mt.MT.setConfigDir`"""
76
+ _mt.setConfigDir(config_dir=config_dir, load_all=load_all)
77
77
 
78
78
  def setMainModules(main_yaml=None, load_all=True):
79
- """See :func:`pyppbox.standalone.mt.MT.setMainModules`"""
80
- __stdmt__.setMainModules(main_yaml=main_yaml, load_all=load_all)
79
+ """See :func:`pyppbox.ppb.mt.MT.setMainModules`"""
80
+ _mt.setMainModules(main_yaml=main_yaml, load_all=load_all)
81
81
 
82
82
  def getConfig():
83
- """See :func:`pyppbox.standalone.mt.MT.getConfig`"""
84
- return __stdmt__.getConfig()
83
+ """See :func:`pyppbox.ppb.mt.MT.getConfig`"""
84
+ return _mt.getConfig()
85
85
 
86
86
  def forceFullGTMode():
87
- """See :func:`pyppbox.standalone.mt.MT.forceFullGTMode`"""
88
- __stdmt__.forceFullGTMode()
87
+ """See :func:`pyppbox.ppb.mt.MT.forceFullGTMode`"""
88
+ _mt.forceFullGTMode()
89
89
 
90
90
  def setMainDetector(detector=""):
91
- """See :func:`pyppbox.standalone.mt.MT.setMainDetector`"""
92
- __stdmt__.setMainDetector(detector=detector)
91
+ """See :func:`pyppbox.ppb.mt.MT.setMainDetector`"""
92
+ _mt.setMainDetector(detector=detector)
93
93
 
94
94
  def detectPeople(img,
95
95
  img_is_mat=False,
@@ -99,8 +99,8 @@ def detectPeople(img,
99
99
  min_width_filter=35,
100
100
  alt_repspoint=False,
101
101
  alt_repspoint_top=True):
102
- """See :func:`pyppbox.standalone.mt.MT.detectPeople`"""
103
- return __stdmt__.detectPeople(img,
102
+ """See :func:`pyppbox.ppb.mt.MT.detectPeople`"""
103
+ return _mt.detectPeople(img,
104
104
  img_is_mat=img_is_mat,
105
105
  visual=visual,
106
106
  save=save,
@@ -110,24 +110,24 @@ def detectPeople(img,
110
110
  alt_repspoint_top=alt_repspoint_top)
111
111
 
112
112
  def setMainTracker(tracker=""):
113
- """See :func:`pyppbox.standalone.mt.MT.setMainTracker`"""
114
- __stdmt__.setMainTracker(tracker=tracker)
113
+ """See :func:`pyppbox.ppb.mt.MT.setMainTracker`"""
114
+ _mt.setMainTracker(tracker=tracker)
115
115
 
116
116
  def trackPeople(img, people, img_is_mat=False):
117
- """See :func:`pyppbox.standalone.mt.MT.trackPeople`"""
118
- return __stdmt__.trackPeople(img, people, img_is_mat=img_is_mat)
117
+ """See :func:`pyppbox.ppb.mt.MT.trackPeople`"""
118
+ return _mt.trackPeople(img, people, img_is_mat=img_is_mat)
119
119
 
120
120
  def setMainReIDer(reider="", auto_load=True):
121
- """See :func:`pyppbox.standalone.mt.MT.setMainReIDer`"""
122
- __stdmt__.setMainReIDer(reider=reider, auto_load=auto_load)
121
+ """See :func:`pyppbox.ppb.mt.MT.setMainReIDer`"""
122
+ _mt.setMainReIDer(reider=reider, auto_load=auto_load)
123
123
 
124
124
  def reidPeople(img, people, deduplicate=True, img_is_mat=False):
125
- """See :func:`pyppbox.standalone.mt.MT.reidPeople`"""
126
- return __stdmt__.reidPeople(img, people, deduplicate=deduplicate, img_is_mat=img_is_mat)
125
+ """See :func:`pyppbox.ppb.mt.MT.reidPeople`"""
126
+ return _mt.reidPeople(img, people, deduplicate=deduplicate, img_is_mat=img_is_mat)
127
127
 
128
128
  def trainReIDClassifier(reider="Default", train_data="", classifier_pkl=""):
129
- """See :func:`pyppbox.standalone.mt.MT.trainReIDClassifier`"""
130
- __stdmt__.trainReIDClassifier(reider=reider, train_data=train_data, classifier_pkl=classifier_pkl)
129
+ """See :func:`pyppbox.ppb.mt.MT.trainReIDClassifier`"""
130
+ _mt.trainReIDClassifier(reider=reider, train_data=train_data, classifier_pkl=classifier_pkl)
131
131
 
132
132
  __all__ = ['setConfigDir', 'setMainModules', 'getConfig', 'forceFullGTMode',
133
133
  'setMainDetector', 'detectPeople', 'setMainTracker', 'trackPeople',
@@ -424,9 +424,9 @@ class MT(object):
424
424
  Parameters
425
425
  ----------
426
426
  img : str or Mat
427
- Set an image file or a cv :obj:`Mat`.
427
+ Set an image file or a :obj:`Mat` like image.
428
428
  img_is_mat : bool, default=False
429
- Speed up the function by telling whether the :obj:`img` is cv :obj:`Mat`.
429
+ Speed up the function by telling whether the :obj:`img` is :obj:`Mat` like image.
430
430
  visual : bool, default=False
431
431
  Decide whether to visualize like drawing bounding boxes and keypoints to the
432
432
  return :obj:`img`.
@@ -446,7 +446,7 @@ class MT(object):
446
446
  list[Person, ...]
447
447
  A list of :class:`Person` object.
448
448
  Mat
449
- A cv :obj:`Mat` image.
449
+ A :obj:`Mat` like image.
450
450
  """
451
451
  people = []
452
452
  if self.__dt_is_set__:
@@ -619,11 +619,11 @@ class MT(object):
619
619
  Parameters
620
620
  ----------
621
621
  img : str or Mat
622
- Set an image file or a cv :obj:`Mat`.
622
+ Set an image file or a :obj:`Mat` like image.
623
623
  people : list[Person, ...]
624
624
  Set a list of :class:`Person` object which stores the detected people in the input :obj:`img`.
625
625
  img_is_mat : bool, default=False
626
- Speed up the function by telling whether the :obj:`img` is cv :obj:`Mat`.
626
+ Speed up the function by telling whether the :obj:`img` is :obj:`Mat` like image.
627
627
 
628
628
  Returns
629
629
  -------
@@ -791,14 +791,14 @@ class MT(object):
791
791
  Parameters
792
792
  ----------
793
793
  img : str or Mat
794
- Set an image file or a cv :obj:`Mat`.
794
+ Set an image file or a :obj:`Mat` like image.
795
795
  people : list[Person, ...]
796
796
  Set a list of :class:`Person` object which stores the detected or tracked people in
797
797
  the input :obj:`img`.
798
798
  deduplicate : bool, default=True
799
799
  Indicate whether to re-reid people who have the same face ids or deep ids.
800
800
  img_is_mat : bool, default=False
801
- Speed up the function by telling whether the :obj:`img` is cv :obj:`Mat`.
801
+ Speed up the function by telling whether the :obj:`img` is :obj:`Mat` like image.
802
802
 
803
803
  Returns
804
804
  -------
@@ -0,0 +1,37 @@
1
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
2
+ # #
3
+ # pyppbox: Toolbox for people detecting, tracking, and re-identifying. #
4
+ # Copyright (C) 2022 UMONS-Numediart #
5
+ # #
6
+ # This program is free software: you can redistribute it and/or modify #
7
+ # it under the terms of the GNU General Public License as published by #
8
+ # the Free Software Foundation, either version 3 of the License, or #
9
+ # (at your option) any later version. #
10
+ # #
11
+ # This program is distributed in the hope that it will be useful, #
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of #
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14
+ # GNU General Public License for more details. #
15
+ # #
16
+ # You should have received a copy of the GNU General Public License #
17
+ # along with this program. If not, see <https://www.gnu.org/licenses/>. #
18
+ # #
19
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
20
+
21
+
22
+ from pyppbox.ppb import *
23
+ from pyppbox.utils.logtools import add_warning_log
24
+
25
+ msg = ("\n! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !\n"
26
+ "! !\n"
27
+ "! For the coming major version 4: !\n"
28
+ "! * 'pyppbox' will leverage 'vsensebox' for detection and tracking !\n"
29
+ "! * 'pyppbox.utils.persontools' will change to adapt 'vesensebox' !\n"
30
+ "! * 'pyppbox.ppb' will replace 'pyppbox.standalone' !\n"
31
+ "! * All configuration files will also change !\n"
32
+ "! * More changes will be added to release notes !\n"
33
+ "! !\n"
34
+ "! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !\n")
35
+
36
+ add_warning_log(msg)
37
+
@@ -273,7 +273,7 @@ class GTInterpreter(object):
273
273
  Parameters
274
274
  ----------
275
275
  img : Mat
276
- A cv :obj:`Mat` image.
276
+ A :obj:`Mat` like image.
277
277
  visual :
278
278
  An indication of whether to draw bounding boxes on the return :obj:`img`.
279
279
 
@@ -282,7 +282,7 @@ class GTInterpreter(object):
282
282
  list[Person, ...]
283
283
  A list of :class:`Person` object.
284
284
  Mat
285
- A cv :obj:`Mat` image.
285
+ A :obj:`Mat` like image.
286
286
  """
287
287
  people = []
288
288
  tmp_id = 0
@@ -107,7 +107,7 @@ def visualizePeople(img, people, show_box=True, show_skl=(True,True,5), show_ids
107
107
  Parameters
108
108
  ----------
109
109
  img : str or Mat
110
- An image file or a cv :obj:`Mat`.
110
+ An image file or a :obj:`Mat` like image.
111
111
  people : list[Person, ...]
112
112
  Set a list of :class:`Person` object found in the input :obj:`img`.
113
113
  show_box : bool, default=True
@@ -128,12 +128,12 @@ def visualizePeople(img, people, show_box=True, show_skl=(True,True,5), show_ids
128
128
  show_repspoint : bool, default=True
129
129
  Indicate whether to show the :obj:`repspoint` of :class:`Person` object.
130
130
  img_is_mat : bool, default=True
131
- Speed up the function by telling whether the :obj:`img` is cv :obj:`Mat`.
131
+ Speed up the function by telling whether the :obj:`img` is :obj:`Mat` like image.
132
132
 
133
133
  Returns
134
134
  -------
135
135
  Mat
136
- A visualized cv :obj:`Mat`.
136
+ A visualized :obj:`Mat` like image.
137
137
  """
138
138
  # Overwrite `img_is_mat` to False when `img` is a file.
139
139
  if img_is_mat and isinstance(img, str): img_is_mat = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyppbox
3
- Version: 3.6b1
3
+ Version: 3.6b2
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
@@ -75,8 +75,9 @@ pyppbox/modules/trackers/deepsort/origin/tracker.py
75
75
  pyppbox/modules/trackers/deepsort/origin/voc_classes.txt
76
76
  pyppbox/modules/trackers/sort/__init__.py
77
77
  pyppbox/modules/trackers/sort/origin/sort.py
78
+ pyppbox/ppb/__init__.py
79
+ pyppbox/ppb/mt.py
78
80
  pyppbox/standalone/__init__.py
79
- pyppbox/standalone/mt.py
80
81
  pyppbox/utils/__init__.py
81
82
  pyppbox/utils/commontools.py
82
83
  pyppbox/utils/evatools.py
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