removed-openvino-op

#1
Files changed (1) hide show
  1. README.md +17 -33
README.md CHANGED
@@ -1,5 +1,6 @@
1
  ---
2
  license: other
 
3
  license_link: LICENSE
4
  library_name: openvino
5
  pipeline_tag: object-detection
@@ -10,6 +11,7 @@ tags:
10
  - yolo26
11
  - motion-tracking
12
  - multi-object-tracking
 
13
  - edge-ai
14
  - metro
15
  - dlstreamer
@@ -24,7 +26,7 @@ language:
24
  | Property | Value |
25
  |---|---|
26
  | **Category** | Object Detection + Multi-Object Tracking |
27
- | **Base Model** | [YOLO26](https://docs.ultralytics.com/models/yolo26/) (Ultralytics) + DLStreamer `gvatrack` (Kalman filter tracker) |
28
  | **Source Framework** | PyTorch (Ultralytics) |
29
  | **Supported Precisions** | FP32, FP16, INT8 (mixed-precision) |
30
  | **Inference Engine** | OpenVINO |
@@ -53,8 +55,7 @@ Typical Metro deployments include:
53
 
54
  Available YOLO26 variants: `yolo26n`, `yolo26s`, `yolo26m`, `yolo26l`, `yolo26x`.
55
  Smaller variants (`yolo26n`, `yolo26s`) are recommended for high-FPS edge deployment.
56
- The default tracker is `short-term-imageless` (Kalman filter-based, no image data required).
57
- DLStreamer also supports `tracking-type=deep-sort` for more robust re-identification using a feature extraction model (e.g., mars-small128).
58
 
59
  ---
60
 
@@ -158,8 +159,8 @@ import numpy as np
158
  import gi
159
 
160
  gi.require_version("Gst", "1.0")
161
- gi.require_version("GstAnalytics", "1.0")
162
- from gi.repository import Gst, GLib, GstAnalytics
163
 
164
  Gst.init(None)
165
 
@@ -211,34 +212,16 @@ while True:
211
  stdin=subprocess.PIPE, stderr=subprocess.DEVNULL,
212
  )
213
 
214
- # Read detection / tracking metadata via GstAnalytics.
215
- rmeta = GstAnalytics.buffer_get_analytics_relation_meta(buf)
216
  regions_data = []
217
- if rmeta is not None:
218
- od_entries = []
219
- trk_map = {} # metadata_id -> tracking_id
220
- idx = 1
221
- while True:
222
- ok_od, od = rmeta.get_od_mtd(idx)
223
- ok_trk, trk = rmeta.get_tracking_mtd(idx)
224
- if not ok_od and not ok_trk:
225
- break
226
- if ok_od:
227
- label = GLib.quark_to_string(od.get_obj_type())
228
- _, x, y, w, h, conf = od.get_location()
229
- od_entries.append((idx, label, int(x + w / 2), int(y + h / 2)))
230
- if ok_trk:
231
- ok2, tid, _, _, _ = trk.get_info()
232
- if ok2:
233
- trk_map[idx] = tid
234
- idx += 1
235
- for od_id, label, cx, cy in od_entries:
236
- tid = 0
237
- for trk_meta_id, tracking_id in trk_map.items():
238
- if rmeta.get_relation(od_id, trk_meta_id) != GstAnalytics.RelTypes.NONE:
239
- tid = tracking_id
240
- break
241
- regions_data.append((tid, label, cx, cy))
242
 
243
  # Map buffer read-only and copy pixels to a writable numpy array.
244
  success, map_info = buf.map(Gst.MapFlags.READ)
@@ -289,8 +272,9 @@ Licensed under the MIT License. See [LICENSE](LICENSE) for details.
289
 
290
  - [YOLO26 Documentation](https://docs.ultralytics.com/models/yolo26/)
291
  - [Ultralytics Multi-Object Tracking](https://docs.ultralytics.com/modes/track/)
 
 
292
  - [Intel DLStreamer gvatrack](https://docs.openedgeplatform.intel.com/2026.0/edge-ai-libraries/dlstreamer/elements/gvatrack.html)
293
- - [DLStreamer Object Tracking Guide](https://docs.openedgeplatform.intel.com/2026.0/edge-ai-libraries/dlstreamer/dev_guide/object_tracking.html)
294
  - [OpenVINO Documentation](https://docs.openvino.ai/)
295
  - [NNCF Post-Training Quantization](https://docs.openvino.ai/latest/nncf_ptq_introduction.html)
296
  - [Intel DLStreamer](https://docs.openedgeplatform.intel.com/2026.0/edge-ai-libraries/dlstreamer/index.html)
 
1
  ---
2
  license: other
3
+ license_name: intel-custom
4
  license_link: LICENSE
5
  library_name: openvino
6
  pipeline_tag: object-detection
 
11
  - yolo26
12
  - motion-tracking
13
  - multi-object-tracking
14
+ - bot-sort
15
  - edge-ai
16
  - metro
17
  - dlstreamer
 
26
  | Property | Value |
27
  |---|---|
28
  | **Category** | Object Detection + Multi-Object Tracking |
29
+ | **Base Model** | [YOLO26](https://docs.ultralytics.com/models/yolo26/) (Ultralytics) + [BoT-SORT](https://github.com/NirAharon/BoT-SORT) tracker |
30
  | **Source Framework** | PyTorch (Ultralytics) |
31
  | **Supported Precisions** | FP32, FP16, INT8 (mixed-precision) |
32
  | **Inference Engine** | OpenVINO |
 
55
 
56
  Available YOLO26 variants: `yolo26n`, `yolo26s`, `yolo26m`, `yolo26l`, `yolo26x`.
57
  Smaller variants (`yolo26n`, `yolo26s`) are recommended for high-FPS edge deployment.
58
+ The default tracker is BoT-SORT; ByteTrack is available as an alternative with lower computational overhead.
 
59
 
60
  ---
61
 
 
159
  import gi
160
 
161
  gi.require_version("Gst", "1.0")
162
+ from gi.repository import Gst
163
+ from gstgva import VideoFrame
164
 
165
  Gst.init(None)
166
 
 
212
  stdin=subprocess.PIPE, stderr=subprocess.DEVNULL,
213
  )
214
 
215
+ # Read detection / tracking metadata.
216
+ frame = VideoFrame(buf, caps=caps)
217
  regions_data = []
218
+ for region in frame.regions():
219
+ tid = region.object_id()
220
+ label = region.label()
221
+ rect = region.rect()
222
+ cx = int(rect.x + rect.w / 2)
223
+ cy = int(rect.y + rect.h / 2)
224
+ regions_data.append((tid, label, cx, cy))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
225
 
226
  # Map buffer read-only and copy pixels to a writable numpy array.
227
  success, map_info = buf.map(Gst.MapFlags.READ)
 
272
 
273
  - [YOLO26 Documentation](https://docs.ultralytics.com/models/yolo26/)
274
  - [Ultralytics Multi-Object Tracking](https://docs.ultralytics.com/modes/track/)
275
+ - [BoT-SORT Tracker](https://github.com/NirAharon/BoT-SORT)
276
+ - [ByteTrack Tracker](https://github.com/FoundationVision/ByteTrack)
277
  - [Intel DLStreamer gvatrack](https://docs.openedgeplatform.intel.com/2026.0/edge-ai-libraries/dlstreamer/elements/gvatrack.html)
 
278
  - [OpenVINO Documentation](https://docs.openvino.ai/)
279
  - [NNCF Post-Training Quantization](https://docs.openvino.ai/latest/nncf_ptq_introduction.html)
280
  - [Intel DLStreamer](https://docs.openedgeplatform.intel.com/2026.0/edge-ai-libraries/dlstreamer/index.html)