yolov8tensordec

This element can parse per-buffer inference tensors meta data generated by an upstream inference element

Example launch command:

Test image file, model file and labels file can be found here : https://gitlab.collabora.com/gstreamer/onnx-models

gst-launch-1.0 -v v4l2src
! videoconvertscale qos=false ! video/x-raw, pixel-aspect-ratio=1/1
! onnxinference model-file=yolov8s.onnx
! yolov8tensordec class-confidence-threshold=0.8 iou-threshold=0.3
max-detections=100 label-file=labels/COCO_classes.txt
! objectdetectionoverlay ! glimagesink sink=gtkglsink

The original repository of the Yolo is located at https://github.com/ultralytics/ultralytics. For easy experimentation, the models based on Yolo architecture in Onnx format can be found at https://col.la/gstonnxmodels . This model already has tensors name embedded matching default values of tensors-detections-name and tensors-logits-name properties. It's also possible to embed tensor-ids into any model based on Yolo architecture to allow this tensor-decoder to decode tensors.This process is described in the Readme of repository: https://col.la/gstonnxmodels"

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBaseTransform
                    ╰──yolov8tensordec

Factory details

Authors: – Daniel Morin , Santosh Mahto

Classification:Tensordecoder/Video

Rank – primary

Plugin – tensordecoders

Package – GStreamer Bad Plug-ins

Pad Templates

sink

video/x-raw:
        tensors: "tensorgroups\,\ yolo-v8-out\=\(/uniquelist\)\{\ \(caps\)\"tensor/strided\\\,\\\ tensor-id\\\=\\\(string\\\)yolo-v8-out\\\,\\\ dims\\\=\\\(int\\\)\\\<\\\ 1\\\,\\\ \\\[\\\ 1\\\,\\\ 2147483647\\\ \\\]\\\,\\\ \\\[\\\ 1\\\,\\\ 2147483647\\\ \\\]\\\ \\\>\\\,\\\ dims-order\\\=\\\(string\\\)col-major\\\,\\\ type\\\=\\\(string\\\)float32\"\ \}\;"

Presencealways

Directionsink

Object typeGstPad


src

video/x-raw:

Presencealways

Directionsrc

Object typeGstPad


Properties

box-confidence-threshold

“box-confidence-threshold” gfloat

Boxes with a location confidence level inferior to this threshold will be excluded

Flags : Read / Write

Default value : 0.4


class-confidence-threshold

“class-confidence-threshold” gfloat

Classes with a confidence level inferior to this threshold will be excluded

Flags : Read / Write

Default value : 0.4


iou-threshold

“iou-threshold” gfloat

Maximum intersection-over-union between bounding boxes to consider them distinct.

Flags : Read / Write

Default value : 0.7


label-file

“label-file” gchararray

Label file

Flags : Read / Write

Default value : NULL


max-detections

“max-detections” guint

Maximum object/masks detections.

Flags : Read / Write

Default value : 100


The results of the search are