Santosh Mahto
5186341c28
gstanalytics : Add tensor decoder element for yolo detection models
...
Existing tensor decoder has been bifurcated into two seperate gst
element as:
`yoloodv5tensordecoder`: decodes tensors output(masks) from detection-only
models e.g yolov8s.onnx
`yolsegv8tensordecoder`: decoder tensors output(masks and logits) from
segementation models e.g FastSAM or yolov8s-seg
2025-09-01 16:37:15 +02:00
Daniel Morin
96ac4c9a43
tensordecoders: rename element
...
- yolotensordecoder replaced with yolov8segtensordecoder
2025-09-01 16:36:41 +02:00
Daniel Morin
8f08bafa5d
tensordecoders: address MR comments
2025-09-01 16:36:41 +02:00
Daniel Morin
3f3cfc0c91
tensordecoders: Remove object locking in properties accessors
2025-09-01 16:36:41 +02:00
Daniel Morin
a194dcc293
tensordecoders: add property label-file to exemple
2025-09-01 16:36:41 +02:00
Daniel Morin
64e0805126
tensordecoder: Improve class retrieval
...
- Optimize the way to retrieve class with maximum confidence. Avoir multiple
pass.
- Add support for label files
2025-09-01 16:36:41 +02:00
Santosh Mahto
07920e7122
gst-analytics : Adapt and Rename fastsamtensordecoder to yolo based.
...
YOLOv8 model have same tensor output format as FastSAM, so for better
generalization rename fastsamtensordecoder to yolotensordecoder. This
also requires code adaptation to support Yolo based model.
2025-09-01 16:36:41 +02:00
Olivier Crête
f967d58093
fastsamtensordecoder: Set mask resolution based on model output
2025-09-01 16:34:56 +02:00
Daniel Morin
7aa0319af6
fastsamtensordecoder: Add FastSAM tensor decoder
...
Co-authored-by: Vineet Suryan <vineet.suryan@collabora.com>
# Conflicts:
# subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json
# subprojects/gst-plugins-bad/gst/tensordecoders/gsttensordecoders.c
# subprojects/gst-plugins-bad/gst/tensordecoders/meson.build
2025-09-01 16:34:56 +02:00
Daniel Morin
c2d83fabbd
tensordecoders: fix wrong assumption in ultralightfacedetectortensordec
...
- UltraLightFaceDetection was assmuming only one TensorMeta could be attach to
buffer. We need to look at all TensorMeta attach to the buffer and check for
the one it support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9564 >
2025-08-22 23:10:31 +00:00
Olivier Crête
edd46c51f1
ssdtensordecoder: Use tensor ids from the registry
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9439 >
2025-07-29 14:20:14 -04:00
Olivier Crête
d1b00839c3
classifiertensordecoder: Use utility functions to get tensors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9419 >
2025-07-21 14:49:42 +00:00
Olivier Crête
d1483d6c55
classifiertensordecoder: Handle error cases better with labels file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9419 >
2025-07-21 14:49:42 +00:00
Olivier Crête
fe0d7f249d
ssdobjectdetector: Validate tensor type and dimensions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9419 >
2025-07-21 14:49:42 +00:00
Olivier Crête
2c3f2747d6
tensormeta: Check dimensions when retrieving tensor
...
Modify the API to retrieve the tensor meta to check for the dimensions
as well.
Also fix an API mistake, the buffer whose dimensions should be checheck
is the one inside the GstTensor, not another buffer some outside.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9411 >
2025-07-17 17:43:32 +00:00
raghu447
d868357270
tensordecoder: rename facedetector element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9344 >
2025-07-16 20:35:04 +00:00
Sebastian Dröge
7c1381cfd6
ssdobjectdetector: Use correct tensor data index for the scores
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9322 >
2025-07-02 21:56:58 +00:00
raghu447
4b6c732fdd
analytics: add a convenient API to retrieve tensor
...
use the API in facedetector tensor decoding
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9162 >
2025-06-09 10:06:43 +05:30
raghu447
251d74ca69
tensordecoder: add facedetector tensor decoding support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8600 >
2025-06-03 18:48:36 -04:00
Daniel Morin
57e8dbfeb4
analytics: change tensor-id and use new API
...
- tensor-id changed to match tensor-id-registry at https://github.com/collabora/tensor-id-registry
- Use new GstTensorMeta API to get tensor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8548 >
2025-05-10 19:18:41 +00:00
Daniel Morin
ec60daa66d
tensordecoder: add general classifier tensor-decoder
...
- Classification output is more standard compare to other tensor-decoder.
- This tensor-decoder implement a standard classification tensor-decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8548 >
2025-05-10 19:18:40 +00:00
Daniel Morin
55e9e3cb13
tensordecoders: updating element classification
...
- `TensorDecoder` is clashing with media decoder which cause decodebin use it.
Replacing with `Tensordecoder` to avoid clash
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8819 >
2025-04-15 00:30:06 +00:00
Mathieu Duponchelle
3de86b2b97
docs: port plugins to explicit sources
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273 >
2025-01-13 19:17:13 +01:00
Olivier Crête
d934ea3f7a
tensormeta: Add APIs to create and access GstTensorMeta contents
...
Also document those APIs better.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
4295386804
tensors: Use full GstTensorDataType type name in type members
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
8169863f01
analytics: Make GstTensor more suitable for inline allocation
...
GstTensor contained two fields (data, dims) that were dynamicallay allocated. For
data it's for a GstBuffer and we have pool for efficient memory management. For
dims it's a small array to store the dimension of the tensor. The dims field
can be allocated inplace by moving it at the end of the structure. This will
allow a better memory management when GstTensor is stored in an analytics meta
which will take advantage of the _clear interface for re-use.
- New api to allocate and free GstTensor
To continue to support use-cases where GstTensor is not stored in an
analytics-meta we provide gst_tensor_alloc, gst_tensor_alloc_n and
gst_tensor_free that will facilitate memory management.
- Make GstTensor a boxed type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
8fa4c8f2f0
tensordecoders: Move decoder out of the ONNX plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00