# 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\"\ \}\;"

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-raw:

Presence – always

Direction – src

Object type – GstPad

## 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