matrice-analytics 0.1.3__py3-none-any.whl → 0.1.31__py3-none-any.whl

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.

Potentially problematic release.


This version of matrice-analytics might be problematic. Click here for more details.

Files changed (59) hide show
  1. matrice_analytics/post_processing/advanced_tracker/matching.py +3 -3
  2. matrice_analytics/post_processing/advanced_tracker/strack.py +1 -1
  3. matrice_analytics/post_processing/face_reg/compare_similarity.py +5 -5
  4. matrice_analytics/post_processing/face_reg/embedding_manager.py +14 -7
  5. matrice_analytics/post_processing/face_reg/face_recognition.py +123 -34
  6. matrice_analytics/post_processing/face_reg/face_recognition_client.py +332 -82
  7. matrice_analytics/post_processing/face_reg/people_activity_logging.py +29 -22
  8. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/__init__.py +9 -0
  9. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/__init__.py +4 -0
  10. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/cli.py +33 -0
  11. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/dataset_stats.py +139 -0
  12. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/export.py +398 -0
  13. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/train.py +447 -0
  14. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/utils.py +129 -0
  15. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/valid.py +93 -0
  16. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/validate_dataset.py +240 -0
  17. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/visualize_augmentation.py +176 -0
  18. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/visualize_predictions.py +96 -0
  19. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/__init__.py +3 -0
  20. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/process.py +246 -0
  21. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/types.py +60 -0
  22. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/utils.py +87 -0
  23. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/__init__.py +3 -0
  24. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/config.py +82 -0
  25. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/hub.py +141 -0
  26. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/plate_recognizer.py +323 -0
  27. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/py.typed +0 -0
  28. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/__init__.py +0 -0
  29. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/__init__.py +0 -0
  30. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/augmentation.py +101 -0
  31. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/dataset.py +97 -0
  32. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/__init__.py +0 -0
  33. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/config.py +114 -0
  34. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/layers.py +553 -0
  35. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/loss.py +55 -0
  36. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/metric.py +86 -0
  37. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/model_builders.py +95 -0
  38. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/model_schema.py +395 -0
  39. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/__init__.py +0 -0
  40. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/backend_utils.py +38 -0
  41. matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/utils.py +214 -0
  42. matrice_analytics/post_processing/ocr/postprocessing.py +0 -1
  43. matrice_analytics/post_processing/post_processor.py +19 -5
  44. matrice_analytics/post_processing/usecases/color/clip.py +42 -8
  45. matrice_analytics/post_processing/usecases/color/color_mapper.py +2 -2
  46. matrice_analytics/post_processing/usecases/color_detection.py +21 -98
  47. matrice_analytics/post_processing/usecases/drone_traffic_monitoring.py +41 -386
  48. matrice_analytics/post_processing/usecases/flare_analysis.py +1 -56
  49. matrice_analytics/post_processing/usecases/license_plate_detection.py +476 -202
  50. matrice_analytics/post_processing/usecases/license_plate_monitoring.py +252 -11
  51. matrice_analytics/post_processing/usecases/people_counting.py +408 -1431
  52. matrice_analytics/post_processing/usecases/people_counting_bckp.py +1683 -0
  53. matrice_analytics/post_processing/usecases/vehicle_monitoring.py +39 -10
  54. matrice_analytics/post_processing/utils/__init__.py +8 -8
  55. {matrice_analytics-0.1.3.dist-info → matrice_analytics-0.1.31.dist-info}/METADATA +1 -1
  56. {matrice_analytics-0.1.3.dist-info → matrice_analytics-0.1.31.dist-info}/RECORD +59 -24
  57. {matrice_analytics-0.1.3.dist-info → matrice_analytics-0.1.31.dist-info}/WHEEL +0 -0
  58. {matrice_analytics-0.1.3.dist-info → matrice_analytics-0.1.31.dist-info}/licenses/LICENSE.txt +0 -0
  59. {matrice_analytics-0.1.3.dist-info → matrice_analytics-0.1.31.dist-info}/top_level.txt +0 -0
@@ -31,7 +31,7 @@ class VehicleMonitoringConfig(BaseConfig):
31
31
  confidence_threshold: float = 0.6
32
32
 
33
33
  #JBK_720_GATE POLYGON = [[86, 328], [844, 317], [1277, 520], [1273, 707], [125, 713]]
34
- zone_config: Optional[Dict[str, Dict[str, List[List[float]]]]] = None #field(
34
+ zone_config: Optional[Dict[str, List[List[float]]]] = None #field(
35
35
  # default_factory=lambda: {
36
36
  # "zones": {
37
37
  # "Interest_Region": [[86, 328], [844, 317], [1277, 520], [1273, 707], [125, 713]],
@@ -110,8 +110,9 @@ class VehicleMonitoringUseCase(BaseProcessor):
110
110
  self.start_timer = None
111
111
 
112
112
  # Track ID storage for total count calculation
113
- self._total_track_ids = set() # Store all unique track IDs seen across calls
114
- self._current_frame_track_ids = set() # Store track IDs from current frame
113
+ self._per_category_total_track_ids = {cat: set() for cat in self.target_categories}
114
+ self._current_frame_track_ids = {cat: set() for cat in self.target_categories}
115
+ self._tracked_in_zones = set() # New: Unique track IDs that have entered any zone
115
116
  self._total_count = 0 # Cached total count
116
117
  self._last_update_time = time.time() # Track when last updated
117
118
  self._total_count_list = []
@@ -130,6 +131,9 @@ class VehicleMonitoringUseCase(BaseProcessor):
130
131
  if context is None:
131
132
  context = ProcessingContext()
132
133
 
134
+ # Determine if zones are configured
135
+ has_zones = bool(config.zone_config and config.zone_config.get('zones'))
136
+
133
137
  # Normalize typical YOLO outputs (COCO pretrained) to internal schema
134
138
  data = self._normalize_yolo_results(data, getattr(config, 'index_to_category', None))
135
139
 
@@ -179,7 +183,7 @@ class VehicleMonitoringUseCase(BaseProcessor):
179
183
  except Exception as e:
180
184
  self.logger.warning(f"AdvancedTracker failed: {e}")
181
185
 
182
- self._update_tracking_state(processed_data)
186
+ self._update_tracking_state(processed_data, has_zones=has_zones)
183
187
  self._total_frame_counter += 1
184
188
 
185
189
  frame_number = None
@@ -200,7 +204,7 @@ class VehicleMonitoringUseCase(BaseProcessor):
200
204
  counting_summary["categories"][category] = counting_summary["categories"].get(category, 0) + 1
201
205
 
202
206
  zone_analysis = {}
203
- if config.zone_config and config.zone_config['zones']:
207
+ if has_zones:
204
208
  # Convert single frame to format expected by count_objects_in_zones
205
209
  frame_data = processed_data #[frame_detections]
206
210
  zone_analysis = count_objects_in_zones(frame_data, config.zone_config['zones'], stream_info)
@@ -210,7 +214,11 @@ class VehicleMonitoringUseCase(BaseProcessor):
210
214
  # Merge enhanced zone analysis with original zone analysis
211
215
  for zone_name, enhanced_data in enhanced_zone_analysis.items():
212
216
  zone_analysis[zone_name] = enhanced_data
213
-
217
+
218
+ # Adjust counting_summary for zones (current counts based on union across zones)
219
+ per_category_count = {cat: len(self._current_frame_track_ids.get(cat, set())) for cat in self.target_categories}
220
+ counting_summary['per_category_count'] = {k: v for k, v in per_category_count.items() if v > 0}
221
+ counting_summary['total_count'] = sum(per_category_count.values())
214
222
 
215
223
  alerts = self._check_alerts(counting_summary,zone_analysis, frame_number, config)
216
224
  predictions = self._extract_predictions(processed_data)
@@ -266,6 +274,9 @@ class VehicleMonitoringUseCase(BaseProcessor):
266
274
  enhanced_zone_analysis = {}
267
275
  zones = config.zone_config['zones']
268
276
 
277
+ # Get track to category mapping
278
+ track_to_cat = {det.get('track_id'): det.get('category') for det in detections if det.get('track_id') is not None}
279
+
269
280
  # Get current frame track IDs in each zone
270
281
  current_frame_zone_tracks = {}
271
282
 
@@ -291,6 +302,9 @@ class VehicleMonitoringUseCase(BaseProcessor):
291
302
  # Get detection center point
292
303
  center_point = get_bbox_bottom25_center(bbox) #get_bbox_center(bbox)
293
304
 
305
+ # Flag to check if this track is in any zone this frame
306
+ in_any_zone = False
307
+
294
308
  # Check which zone this detection is in using actual zone polygons
295
309
  for zone_name, zone_polygon in zones.items():
296
310
  # Convert polygon points to tuples for point_in_polygon function
@@ -300,8 +314,21 @@ class VehicleMonitoringUseCase(BaseProcessor):
300
314
  # Check if detection center is inside the zone polygon using ray casting algorithm
301
315
  if point_in_polygon(center_point, polygon_points):
302
316
  current_frame_zone_tracks[zone_name].add(track_id)
317
+ in_any_zone = True
303
318
  if track_id not in self._total_count_list:
304
319
  self._total_count_list.append(track_id)
320
+
321
+ # If in any zone, update global current and total (cumulative only if new)
322
+ if in_any_zone:
323
+ cat = track_to_cat.get(track_id)
324
+ if cat:
325
+ # Update current frame global (union across zones)
326
+ self._current_frame_track_ids.setdefault(cat, set()).add(track_id)
327
+
328
+ # Update global cumulative if first time in any zone
329
+ if track_id not in self._tracked_in_zones:
330
+ self._tracked_in_zones.add(track_id)
331
+ self._per_category_total_track_ids.setdefault(cat, set()).add(track_id)
305
332
 
306
333
  # Update zone tracking for each zone
307
334
  for zone_name, zone_counts in zone_analysis.items():
@@ -311,7 +338,7 @@ class VehicleMonitoringUseCase(BaseProcessor):
311
338
  # Update current zone tracks
312
339
  self._zone_current_track_ids[zone_name] = current_tracks
313
340
 
314
- # Update total zone tracks (accumulate all track IDs that have been in this zone)
341
+ # Update total zone tracks (accumulate all track IDs that have been in zone)
315
342
  self._zone_total_track_ids[zone_name].update(current_tracks)
316
343
 
317
344
  # Update counts
@@ -686,7 +713,7 @@ class VehicleMonitoringUseCase(BaseProcessor):
686
713
  "total_frames_processed": getattr(self, '_total_frame_counter', 0)
687
714
  }
688
715
 
689
- def _update_tracking_state(self, detections: list):
716
+ def _update_tracking_state(self, detections: list, has_zones: bool = False):
690
717
  if not hasattr(self, "_per_category_total_track_ids"):
691
718
  self._per_category_total_track_ids = {cat: set() for cat in self.target_categories}
692
719
  self._current_frame_track_ids = {cat: set() for cat in self.target_categories}
@@ -699,8 +726,10 @@ class VehicleMonitoringUseCase(BaseProcessor):
699
726
  bbox = det.get("bounding_box", det.get("bbox"))
700
727
  canonical_id = self._merge_or_register_track(raw_track_id, bbox)
701
728
  det["track_id"] = canonical_id
702
- self._per_category_total_track_ids.setdefault(cat, set()).add(canonical_id)
703
- self._current_frame_track_ids[cat].add(canonical_id)
729
+ if not has_zones:
730
+ self._per_category_total_track_ids.setdefault(cat, set()).add(canonical_id)
731
+ # For current frame, add unconditionally here; will be overridden/adjusted if has_zones in _update_zone_tracking
732
+ self._current_frame_track_ids.setdefault(cat, set()).add(canonical_id)
704
733
 
705
734
  def get_total_counts(self):
706
735
  return {cat: len(ids) for cat, ids in getattr(self, '_per_category_total_track_ids', {}).items()}
@@ -58,9 +58,9 @@ from .smoothing_utils import (
58
58
  create_default_smoothing_config
59
59
  )
60
60
 
61
- from .color_utils import (
62
- extract_major_colors
63
- )
61
+ # from .color_utils import (
62
+ # extract_major_colors
63
+ # )
64
64
 
65
65
  # Configuration utilities for easy setup
66
66
  from ..core.config_utils import (
@@ -127,11 +127,11 @@ __all__ = [
127
127
  'create_bbox_smoothing_tracker',
128
128
  'create_default_smoothing_config',
129
129
 
130
- # Color utilities
131
- 'extract_major_colors',
132
- 'rgb_to_lab',
133
- 'lab_distance',
134
- 'find_nearest_color',
130
+ # # Color utilities
131
+ # 'extract_major_colors',
132
+ # 'rgb_to_lab',
133
+ # 'lab_distance',
134
+ # 'find_nearest_color',
135
135
 
136
136
  # Configuration utilities
137
137
  'create_people_counting_config',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: matrice_analytics
3
- Version: 0.1.3
3
+ Version: 0.1.31
4
4
  Summary: Common server utilities for Matrice.ai services
5
5
  Author-email: "Matrice.ai" <dipendra@matrice.ai>
6
6
  License-Expression: MIT
@@ -13,29 +13,63 @@ matrice_analytics/boundary_drawing_internal/usage/simple_boundary_launcher.py,sh
13
13
  matrice_analytics/post_processing/README.md,sha256=bDszazvqV5xbGhMM6hDaMctIyk5gox9bADo2IZZ9Goo,13368
14
14
  matrice_analytics/post_processing/__init__.py,sha256=dxGBUQaRCGndQmXpYAWqUhDeUZAcxU-_6HFnm3GRDRA,29417
15
15
  matrice_analytics/post_processing/config.py,sha256=p0BHD4XM5jFueibW7cfusrA4OMHP2_9PD9lNvTxtaiI,6569
16
- matrice_analytics/post_processing/post_processor.py,sha256=F7xPIQEpcae3V5wqUZiJgCnENtX7sqwyeO2hVzvw1RQ,43114
16
+ matrice_analytics/post_processing/post_processor.py,sha256=meE4fDlF6F7SEwLrSOm3cfBmER2QUa2XCU_xyzqHzzc,43944
17
17
  matrice_analytics/post_processing/advanced_tracker/README.md,sha256=RM8dynVoUWKn_hTbw9c6jHAbnQj-8hEAXnmuRZr2w1M,22485
18
18
  matrice_analytics/post_processing/advanced_tracker/__init__.py,sha256=tAPFzI_Yep5TLX60FDwKqBqppc-EbxSr0wNsQ9DGI1o,423
19
19
  matrice_analytics/post_processing/advanced_tracker/base.py,sha256=VqWy4dd5th5LK-JfueTt2_GSEoOi5QQfQxjTNhmQoLc,3580
20
20
  matrice_analytics/post_processing/advanced_tracker/config.py,sha256=hEVJVbh4uUrbIynmoq4OhuxF2IZA5AMCBLpixScp5FI,2865
21
21
  matrice_analytics/post_processing/advanced_tracker/kalman_filter.py,sha256=KBUKLVULnMoJoaRXCtVzPnfj0qobSXmc5PItzPo5Nmo,16017
22
- matrice_analytics/post_processing/advanced_tracker/matching.py,sha256=ebnOiXjwb3MKqUs0buNF7KRlNf10Xa9eIKBXYpqRaDM,7644
23
- matrice_analytics/post_processing/advanced_tracker/strack.py,sha256=uBinhL4rp_om4dcXDAwoecsCqw6BpzITyad4XjapE6I,9374
22
+ matrice_analytics/post_processing/advanced_tracker/matching.py,sha256=q2xBf8m0DJVUvBN0YHCoSfN7l8MMY9UxyqocqOHYDls,7666
23
+ matrice_analytics/post_processing/advanced_tracker/strack.py,sha256=OSai-SSpC9_uFNWD83B4JYchI4YMdPJvKs2qYFb1UAU,9375
24
24
  matrice_analytics/post_processing/advanced_tracker/tracker.py,sha256=yN_tUzDZ-8M4NSoZrKf0OW0JA0JxOvz2oYKgbm-os88,15687
25
25
  matrice_analytics/post_processing/core/__init__.py,sha256=QlgoJwjTU-3UYTEmFRN6wFWpOr7zNSnrohoqLBF5bNY,1434
26
26
  matrice_analytics/post_processing/core/base.py,sha256=V6iF2_u8APBKIeudNBUP-_cHL4FAYrgEpM7W7fbtT74,29112
27
27
  matrice_analytics/post_processing/core/config.py,sha256=20RGCpqo7RDIW0fzI2p4i_Yb5lldddmtELRwaNdKFnY,127079
28
28
  matrice_analytics/post_processing/core/config_utils.py,sha256=QuAS-_JKSoNOtfUWgr7Alf_wsqODzN2rHlQu-cHRK0s,34311
29
29
  matrice_analytics/post_processing/face_reg/__init__.py,sha256=yntaiGlW9vdjBpPZQXNuovALihJPzRlFyUE88l3MhBA,1364
30
- matrice_analytics/post_processing/face_reg/compare_similarity.py,sha256=ogAF-r36TRhz7I-k9iIuut4oo_4J6Gfzs8YZ_E9ycso,23381
31
- matrice_analytics/post_processing/face_reg/embedding_manager.py,sha256=MWM5y3EQMLborcbjiqEUGERq076kIJESQLLuNcj8Cmw,30759
32
- matrice_analytics/post_processing/face_reg/face_recognition.py,sha256=UKibp2cnnamutAeKjYONIBWrwwEGfYugp1Qrkyvi7n8,85397
33
- matrice_analytics/post_processing/face_reg/face_recognition_client.py,sha256=8J7z4Y9Zr2OUNU4lFFwGcJ4ijiX7V7aKf3fEntFbMJM,13913
34
- matrice_analytics/post_processing/face_reg/people_activity_logging.py,sha256=4x5CFNA9dQ7RDaUphHNr3B8xy92loddHsRJqHjmjDYM,11031
30
+ matrice_analytics/post_processing/face_reg/compare_similarity.py,sha256=NlFc8b2a74k0PqSFAbuM_fUbA1BT3pr3VUgvSqRpJzQ,23396
31
+ matrice_analytics/post_processing/face_reg/embedding_manager.py,sha256=2n7GR8D9SklCf3LVjaHkQAwH9psw2wFI2iNjA0bWisU,31487
32
+ matrice_analytics/post_processing/face_reg/face_recognition.py,sha256=aGL8dsK2D63K4Z-yXbSuM4bd8v6e_F7rlXRUujoaZoE,89866
33
+ matrice_analytics/post_processing/face_reg/face_recognition_client.py,sha256=lPCnmd_W-euRaYsh2vJlkO7toBngHZrTUTFqkkKuy38,27549
34
+ matrice_analytics/post_processing/face_reg/people_activity_logging.py,sha256=n6yV6WgFKMGM1fJZcTpliMap8wKyWv5t8dGOk7Dymvw,11894
35
35
  matrice_analytics/post_processing/ocr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
36
  matrice_analytics/post_processing/ocr/easyocr_extractor.py,sha256=FwVoUATYdiZtfhSAoiyCo_9dgA786pFZfONx6tsQOfE,11403
37
- matrice_analytics/post_processing/ocr/postprocessing.py,sha256=m3zn72C-x4sYaMFJY5-ZIrj-zoFB26yv8Y3xGRkJsq0,12421
37
+ matrice_analytics/post_processing/ocr/postprocessing.py,sha256=RILArp8I9WRH7bALVZ9wPGc-aR7YMdqV1ndOOIcOnGQ,12309
38
38
  matrice_analytics/post_processing/ocr/preprocessing.py,sha256=LZolyUw4syMU6Q0V6SQzvkITVSmlkvwu0p9cUNhkbgA,1790
39
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/__init__.py,sha256=OHd4VO0dI8daHojE5900DvreiDT6SGOSZF6VvxU0Tx4,184
40
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/__init__.py,sha256=5KSlPRsGuPR4lG0E8VI4iJIJwZa99KcYL1MTr97GwGo,101
42
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/cli.py,sha256=AaJZ0szAReibXTGZfWqc3lRLxGQVOHBaBP3WUJWgiyg,1028
43
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/dataset_stats.py,sha256=u-osj-2437rIJZG1WXNLSApHBdV-F_vbeu9NygsUrzw,4562
44
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/export.py,sha256=ylj1CbQ2vAJ_M4NOZQWtHsZXMDmX3WdPfs3mvdzVMCg,12058
45
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/train.py,sha256=dhOu11kHwbWbhdJwWAowWcdpXmdpBvYHQV_KSUJenq8,13541
46
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/utils.py,sha256=kVv8lQVplLLS_xQXm3yzldwPCdgbkOUPbdqIlOKW-3Q,4163
47
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/valid.py,sha256=QMrjMaS9W4uYKtRIdsUsAiJ71ova0pp4pdC0GUeHzRc,2414
48
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/validate_dataset.py,sha256=OFCPmD1vn5WQcIpeOxEcduu0-uld0M2u7facLaaqGvE,7834
49
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/visualize_augmentation.py,sha256=xY91PYBsMriDG7EUQ1J0IXZVpOWBDMRqZ7hTNhECKsU,4930
50
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/cli/visualize_predictions.py,sha256=X5kVE6F5bkHjcQnFaViEX30h-VuI_jt-u_fs0rBXcRQ,2915
51
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/__init__.py,sha256=fmPIAPhXXybCDCo65gx8b42MKd19H2Or-K-_F3YNjSA,111
52
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/process.py,sha256=95jqOlJrwqAWzoK4eF0VlP2OQ56t8fiCT77O1eQyq34,8453
53
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/types.py,sha256=6UWjHJkjgwWOWm-p5vme68BXMbyJ7BqhjH3862ryfSc,1791
54
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/core/utils.py,sha256=3vEm2bFnM8YqHlkrmgsTfYQHWAN93gsI1A6RhqA5bhw,2390
55
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/__init__.py,sha256=HBawmgXGYaq4prckXAwu5dSl6UFfGkrHaMrYFXp1RNQ,106
56
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/config.py,sha256=GH29zCil_zDm4jXiBgUNWbmHc9TX9L0iSB3zq6q2HJo,2353
57
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/hub.py,sha256=w5w5INxtEmPpbm59uWnzCbL4_1509fjvsUa_ORKy3ts,5324
58
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/inference/plate_recognizer.py,sha256=oCgsIX3d0SBct9k8lV3Oqc-PclD0hqSNVK-6FIVCznM,12766
59
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/augmentation.py,sha256=SmqedpgDOmt3B9BvSmZs8awQMoOgQQdtHOHL7zn0YkU,3739
62
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/data/dataset.py,sha256=QrcmhX7sofSLO23a7UVD9dDtnhe0CgdKCtzt6NylwqY,3434
63
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/config.py,sha256=kpWLIt1xDffGRdGQ1YGJ-U24kRBTpx2ELgAMiwLGwao,3528
65
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/layers.py,sha256=8K7I8rNdwlsb7KaPaQ5q4vHEXDkesQ13mhbVJLiQBgA,19004
66
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/loss.py,sha256=aOnmbsqRnaiUt0i1rlB9ZfDPnVMp5NMm20ODOsXIASE,1410
67
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/metric.py,sha256=35vzfbBFr3G0tOpTty0g0J5uIHXxuEKhA-Pydy6QMcw,3104
68
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/model_builders.py,sha256=9i6gvuTlYxrkwE7FAsnY3Ur8AEu7bk2R938YRhGd_-Y,3273
69
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/model/model_schema.py,sha256=QCefJASmrZhyzhyWWlZ6XU-GX5Qj64lF2ZeKvh3CV0w,11070
70
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/backend_utils.py,sha256=fzXhuSyWeDmmTFn1zg-HWmTDMg4RoeHEzkUOC0NO6AQ,926
72
+ matrice_analytics/post_processing/ocr/fast_plate_ocr_py38/train/utilities/utils.py,sha256=-KmNupy00zNJBv2L0dWMD9Cvw7pt1I4BjWXRhJVQ8H4,6743
39
73
  matrice_analytics/post_processing/test_cases/__init__.py,sha256=zUU2kKrIcCl8WeyjjQViwp7PWTZlKPuF8M2pZkxoNNQ,42
40
74
  matrice_analytics/post_processing/test_cases/run_tests.py,sha256=RBFGvxFR-gozxnQFzkWLrs90vLlp8Bsn-Z7MLQrNw4o,4731
41
75
  matrice_analytics/post_processing/test_cases/test_advanced_customer_service.py,sha256=yQXxpzZR_OuOHRsNBVoJJdGGWiDlFHp5vMj93V4NZBI,35001
@@ -66,14 +100,14 @@ matrice_analytics/post_processing/usecases/cardiomegaly_classification.py,sha256
66
100
  matrice_analytics/post_processing/usecases/cell_microscopy_segmentation.py,sha256=eQ_s5u3Vnvja6-FmI6ZPxlNkaZtG-pVjTu8NuLjZJ5M,43714
67
101
  matrice_analytics/post_processing/usecases/chicken_pose_detection.py,sha256=-e8di7Am-E-FCQFrSY8qJTO1aWtdRAVJoE-VKBgcyyI,29291
68
102
  matrice_analytics/post_processing/usecases/child_monitoring.py,sha256=z3oymoqq4hDGwA8MkdEONZW_Vx5CAZmvzZaNLsqmCfw,39380
69
- matrice_analytics/post_processing/usecases/color_detection.py,sha256=vAnDvCBJ6DwGgswapBjn5D8Wp0ww0xs2YYgqjNkUW1U,93423
103
+ matrice_analytics/post_processing/usecases/color_detection.py,sha256=d9Gg61Wj5r-QGNtok4u5Z_uZ5VYsamU0Uqer7LgR2hY,90408
70
104
  matrice_analytics/post_processing/usecases/color_map_utils.py,sha256=SP-AEVcjLmL8rxblu-ixqUJC2fqlcr7ab4hWo4Fcr_k,2677
71
105
  matrice_analytics/post_processing/usecases/concrete_crack_detection.py,sha256=pxhOH_hG4hq9yytNepbGMdk2W_lTG8D1_2RAagaPBkg,40252
72
106
  matrice_analytics/post_processing/usecases/crop_weed_detection.py,sha256=Ao1k5fJDYU_f6yZ8VO-jW8-esECV0-zY5Q570c_fako,35674
73
107
  matrice_analytics/post_processing/usecases/customer_service.py,sha256=UWS83qxguyAyhh8a0JF5QH9DtKxO8I-gI2BPOjLPxBw,44642
74
108
  matrice_analytics/post_processing/usecases/defect_detection_products.py,sha256=blvo4wmak-wlvPSZOcmRsV1FoZSeGX_dUAX5A1WheBE,45949
75
109
  matrice_analytics/post_processing/usecases/distracted_driver_detection.py,sha256=rkyYHbmcYUAfKbmmKyKxHlk47vJ_fogHWKhQjrERsok,40316
76
- matrice_analytics/post_processing/usecases/drone_traffic_monitoring.py,sha256=vlRuW1LFccbU9Df1CyCx7MN4OxUKM1X-ZxIQFYxfzQ0,46430
110
+ matrice_analytics/post_processing/usecases/drone_traffic_monitoring.py,sha256=Gsp00sJ0a_tzczuePteRz7aGcqP7XtVrPzDGK7j8g5s,30492
77
111
  matrice_analytics/post_processing/usecases/drowsy_driver_detection.py,sha256=mkO3XWRw_nsj5Mvq1Ub-lWT2a3pk8YLw1y7TlIBQl_U,40337
78
112
  matrice_analytics/post_processing/usecases/dwell_detection.py,sha256=5jHA-bSKzfZ9SeINjmIgdEHBhZKQEJFISFSEbah2MGQ,41016
79
113
  matrice_analytics/post_processing/usecases/emergency_vehicle_detection.py,sha256=3Mim_JvynHEkOtFRjh4dNTznwCqMgbdia4Iyk8RoPTc,39975
@@ -82,7 +116,7 @@ matrice_analytics/post_processing/usecases/face_recognition.py,sha256=T5xAuv6b9O
82
116
  matrice_analytics/post_processing/usecases/fashion_detection.py,sha256=f9gpzMDhIW-gyn46k9jgf8nY7YeoqAnTxGOzksabFbE,40457
83
117
  matrice_analytics/post_processing/usecases/field_mapping.py,sha256=JDwYX8pd2W-waDvBh98Y_o_uchJu7wEYbFxOliA4Iq4,39822
84
118
  matrice_analytics/post_processing/usecases/fire_detection.py,sha256=6ZwIWSweFZoeRk1CoOtOdlEV-CtYj3gWnhSQw6ONZxg,52294
85
- matrice_analytics/post_processing/usecases/flare_analysis.py,sha256=-egmS3Hs_iGOLeCMfapbkfQ04EWtZx97QRuUcDa-jMU,45340
119
+ matrice_analytics/post_processing/usecases/flare_analysis.py,sha256=3nf4fUeUwlP_UII0h5fQkUGPXbr32ZnJjaM-dukNSP8,42680
86
120
  matrice_analytics/post_processing/usecases/flower_segmentation.py,sha256=4I7qMx9Ztxg_hy9KTVX-3qBhAN-QwDt_Yigf9fFjLus,52017
87
121
  matrice_analytics/post_processing/usecases/gas_leak_detection.py,sha256=KL2ft7fXvjTas-65-QgcJm3W8KBsrwF44qibSXjfaLc,40557
88
122
  matrice_analytics/post_processing/usecases/gender_detection.py,sha256=DEnCTRew6B7DtPcBQVCTtpd_IQMvMusBcu6nadUg2oM,40107
@@ -91,8 +125,8 @@ matrice_analytics/post_processing/usecases/intrusion_detection.py,sha256=VwvRexU
91
125
  matrice_analytics/post_processing/usecases/leaf.py,sha256=cwgB1ZNxkQFtkk-thSJrkXOGou1ghJr1kqtopb3sLD4,37036
92
126
  matrice_analytics/post_processing/usecases/leaf_disease.py,sha256=bkiLccTdf4KUq3he4eCpBlKXb5exr-WBhQ_oWQ7os68,36225
93
127
  matrice_analytics/post_processing/usecases/leak_detection.py,sha256=oOCLLVMuXVeXPHyN8FUrD3U9JYJJwIz-5fcEMgvLdls,40531
94
- matrice_analytics/post_processing/usecases/license_plate_detection.py,sha256=WmVmtp-GLUSNtBxjZHUtUk_M9lPp_8gA0rdzFXVL1SY,44961
95
- matrice_analytics/post_processing/usecases/license_plate_monitoring.py,sha256=ft7Gu1Pofcozl9ylae1tiHAAKOK_vWaJNX6-uD0OXyk,59372
128
+ matrice_analytics/post_processing/usecases/license_plate_detection.py,sha256=dsavd92-wnyXCNrCzaRj24zH7BVvLSa09HkYsrOXYDM,50806
129
+ matrice_analytics/post_processing/usecases/license_plate_monitoring.py,sha256=FqVEqpNbFr5yxcx26jns_iyPyIIWiewoC6A8bLRQnPQ,70716
96
130
  matrice_analytics/post_processing/usecases/litter_monitoring.py,sha256=XaHAUGRBDJg_iVbu8hRMjTR-5TqrLj6ZNCRkInbzZTY,33255
97
131
  matrice_analytics/post_processing/usecases/mask_detection.py,sha256=L_s6ZiT5zeXG-BsFcskb3HEG98DhLgqeMSDmCuwOteU,41501
98
132
  matrice_analytics/post_processing/usecases/natural_disaster.py,sha256=ehxdPBoYcZWGVDOVn_mHFoz4lIE8LrveAkuXQj0n9XE,44253
@@ -100,7 +134,8 @@ matrice_analytics/post_processing/usecases/parking.py,sha256=lqTGqcjUZZPFw3tu11H
100
134
  matrice_analytics/post_processing/usecases/parking_space_detection.py,sha256=xwhkJjGGKcT827URbasi3olYqhd95Sh0zsEIphwzcgY,39561
101
135
  matrice_analytics/post_processing/usecases/pcb_defect_detection.py,sha256=xH3q-WoR3TwMUeUvWw1W7vPLdCUfu_Kl_gQ9dZFf1SE,43006
102
136
  matrice_analytics/post_processing/usecases/pedestrian_detection.py,sha256=hPFtvpWXXEsbDavmuiXIhrosMNlOhGya--jukT-ZOHA,39288
103
- matrice_analytics/post_processing/usecases/people_counting.py,sha256=baFxuwVGRkNPKCXR-caf9kSVBFejrotaILg_rs3BA_A,84756
137
+ matrice_analytics/post_processing/usecases/people_counting.py,sha256=IeNu33nWhzRlbOPf8DPbzQp1QRdPSAIr4nO3A1wUr_k,35272
138
+ matrice_analytics/post_processing/usecases/people_counting_bckp.py,sha256=WM9te7oYyhu5f_bIMye_D5BpEn6CwA-6Kz95IMLmSbs,82209
104
139
  matrice_analytics/post_processing/usecases/people_tracking.py,sha256=iXzGJgqKgWxvIVLqa1cFKkiF0DrHolwghSiJ2P8mDhc,90484
105
140
  matrice_analytics/post_processing/usecases/pipeline_detection.py,sha256=VsLTXMAqx0tRw7Olrxqx7SBLolZR7p2aFOrdSXLS-kE,30796
106
141
  matrice_analytics/post_processing/usecases/plaque_segmentation_img.py,sha256=d__a0PkkObYVoC-Q5-2bFVfeyKnQHtB5xVAKVOCeFyk,41925
@@ -123,7 +158,7 @@ matrice_analytics/post_processing/usecases/theft_detection.py,sha256=Rs_zKn2z9YM
123
158
  matrice_analytics/post_processing/usecases/traffic_sign_monitoring.py,sha256=nDlEzHgMlUjy_VtJ7usnEzMcdSs-jouqaoJpJ8DYUMw,34351
124
159
  matrice_analytics/post_processing/usecases/underground_pipeline_defect_detection.py,sha256=W_2joZStsP0jl2zn89-jtdtqqGv3vJ0amsalbE5WKwo,37647
125
160
  matrice_analytics/post_processing/usecases/underwater_pollution_detection.py,sha256=jqP1ZKfDZe2-56Lyvgb2DxnbqRfvxm6pPL0Ck3esfBk,40356
126
- matrice_analytics/post_processing/usecases/vehicle_monitoring.py,sha256=tV18K-toLjKVWlcPI657reWC6x2kgy84jdZIBa7SNpQ,48216
161
+ matrice_analytics/post_processing/usecases/vehicle_monitoring.py,sha256=4WC3K9LbpP3kuBoYR_0LY75UEo6gtgPBYu93eFUUmDA,50006
127
162
  matrice_analytics/post_processing/usecases/warehouse_object_segmentation.py,sha256=5uZXTJL_A3tUEN08T-_ZQpUoJ9gqbuuMc4z2mT4sMnQ,43753
128
163
  matrice_analytics/post_processing/usecases/waterbody_segmentation.py,sha256=JsCxDEMB8s4WDcezfJDr2zrjM-TCjB9hxOztzSvWmpY,45268
129
164
  matrice_analytics/post_processing/usecases/weapon_detection.py,sha256=AhbVpJaa2I3aRCEAdIxovY5xd9370dUY4JllCQ8tdT4,37185
@@ -131,16 +166,16 @@ matrice_analytics/post_processing/usecases/weld_defect_detection.py,sha256=b0dAJ
131
166
  matrice_analytics/post_processing/usecases/wildlife_monitoring.py,sha256=TMVHJ5GLezmqG7DywmqbLggqNXgpsb63MD7IR6kvDkk,43446
132
167
  matrice_analytics/post_processing/usecases/windmill_maintenance.py,sha256=G1eqo3Z-HYmGJ6oeZYrpZwhpvqQ9Lc_T-6S7BLBXHeA,40498
133
168
  matrice_analytics/post_processing/usecases/wound_segmentation.py,sha256=ehNX6VuWMB3xAnCySO3ra3Tf_5FUNg5LCSdq_91h374,38342
134
- matrice_analytics/post_processing/usecases/color/clip.py,sha256=0nxfXdp8U0MByvYVwlgFEoPk93f-7PwEOj006bQ_6eM,15265
169
+ matrice_analytics/post_processing/usecases/color/clip.py,sha256=QvBREqRR-dFLY2NNLayErOvZIA_9-QAqkwrlWlp9oPM,16310
135
170
  matrice_analytics/post_processing/usecases/color/color_map_utils.py,sha256=SP-AEVcjLmL8rxblu-ixqUJC2fqlcr7ab4hWo4Fcr_k,2677
136
- matrice_analytics/post_processing/usecases/color/color_mapper.py,sha256=o_UldCQNC5QqKAIxmfnvySA9NlT4AuOpcyh_LC6n7zw,17452
171
+ matrice_analytics/post_processing/usecases/color/color_mapper.py,sha256=nKPc28mJLlrl2HPua5EUUMweRRSI6WrrUBkeitTm7ms,17459
137
172
  matrice_analytics/post_processing/usecases/color/clip_processor/merges.txt,sha256=n9aR98gDkhDg_O0VhlRmxlgg0JtjmIsBdL_iXeKZBRo,524619
138
173
  matrice_analytics/post_processing/usecases/color/clip_processor/preprocessor_config.json,sha256=j7VHQDZW6QGbCYLSMQsEW-85udKoEaDJh1blLUjiXbY,504
139
174
  matrice_analytics/post_processing/usecases/color/clip_processor/special_tokens_map.json,sha256=LNs7gzGmDJL8HlWhPp_WH9IpPFpRJ1_czNYreABSUw4,588
140
175
  matrice_analytics/post_processing/usecases/color/clip_processor/tokenizer.json,sha256=bZEJzIOJd_PKlKN57sNq7MfIB-F4XNcpZgyi_AFx-zU,3642073
141
176
  matrice_analytics/post_processing/usecases/color/clip_processor/tokenizer_config.json,sha256=w9KmfEiln_qP2S3gYGCFJLEsrpOstP6D5esDFHoAH1o,774
142
177
  matrice_analytics/post_processing/usecases/color/clip_processor/vocab.json,sha256=UEe1Vs6GzK9qois__M_FLTkepKzNq5wvJAfaW3QtQ2M,862328
143
- matrice_analytics/post_processing/utils/__init__.py,sha256=tBmon3z4wYoaNuHhkhCxv_R7b90r5r1gz0rfJJjNJjM,3786
178
+ matrice_analytics/post_processing/utils/__init__.py,sha256=E4_V_Rq3aMRtdUyJuvXoiAY67V5xBlwLJeiL20RuDqo,3802
144
179
  matrice_analytics/post_processing/utils/advanced_counting_utils.py,sha256=D6jlZNRCfPtfG8COv3AMCbCfZf4_DK9rFhwzVJEYjpg,19152
145
180
  matrice_analytics/post_processing/utils/advanced_helper_utils.py,sha256=W8mDqJTpg98YJgWYBod0rZUNbR4bmvYMeWAGASs14_s,11624
146
181
  matrice_analytics/post_processing/utils/advanced_tracking_utils.py,sha256=tKEGjq-1bJ_AeXEWl_clr-7vAry0NLU_P_Q0cbSqLFI,16942
@@ -153,8 +188,8 @@ matrice_analytics/post_processing/utils/format_utils.py,sha256=UTF7A5h9j0_S12xH9
153
188
  matrice_analytics/post_processing/utils/geometry_utils.py,sha256=BWfdM6RsdJTTLR1GqkWfdwpjMEjTCJyuBxA4zVGKdfk,9623
154
189
  matrice_analytics/post_processing/utils/smoothing_utils.py,sha256=78U-yucAcjUiZ0NIAc9NOUSIT0PWP1cqyIPA_Fdrjp0,14699
155
190
  matrice_analytics/post_processing/utils/tracking_utils.py,sha256=rWxuotnJ3VLMHIBOud2KLcu4yZfDp7hVPWUtNAq_2xw,8288
156
- matrice_analytics-0.1.3.dist-info/licenses/LICENSE.txt,sha256=_uQUZpgO0mRYL5-fPoEvLSbNnLPv6OmbeEDCHXhK6Qc,1066
157
- matrice_analytics-0.1.3.dist-info/METADATA,sha256=BbBRQf68qsbNYIQGNwCJdhSpzkcAklvhaQzQVd8CGnA,14377
158
- matrice_analytics-0.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
159
- matrice_analytics-0.1.3.dist-info/top_level.txt,sha256=STAPEU-e-rWTerXaspdi76T_eVRSrEfFpURSP7_Dt8E,18
160
- matrice_analytics-0.1.3.dist-info/RECORD,,
191
+ matrice_analytics-0.1.31.dist-info/licenses/LICENSE.txt,sha256=_uQUZpgO0mRYL5-fPoEvLSbNnLPv6OmbeEDCHXhK6Qc,1066
192
+ matrice_analytics-0.1.31.dist-info/METADATA,sha256=mbvw2ctIVZ0OR5eg_tmW8pjWlFCyh3hFaxCTYtJ1jyE,14378
193
+ matrice_analytics-0.1.31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
194
+ matrice_analytics-0.1.31.dist-info/top_level.txt,sha256=STAPEU-e-rWTerXaspdi76T_eVRSrEfFpURSP7_Dt8E,18
195
+ matrice_analytics-0.1.31.dist-info/RECORD,,