# yolo26tensordec

This element can parse per-buffer inference tensor meta data generated by an upstream inference element. It handles the YOLO26 object detection output format where Non-Maximum Suppression is performed internally by the model, producing a fixed-size list of finalised detections.

The element expects a single output tensor with shape BATCH_SIZE x MAX_DET x 6 (float32, row-major) where each detection row contains: X1 (left), Y1 (top), X2 (right), Y2 (bottom), confidence score, class index. Bounding box coordinates are in absolute pixel space relative to the model input resolution.

## Example launch commands:

### Object detection from a webcam:

     gst-launch-1.0 v4l2src ! videoconvertscale !  \
       ! onnxinference model-file=yolo26n.onnx \
       ! yolo26tensordec score-threshold=0.3 label-file=COCO_classes.txt \
       ! objectdetectionoverlay ! videoconvertscale ! autovideosink

### Object detection from a JPEG image:

     gst-launch-1.0 multifilesrc location=bus.jpg ! jpegdec ! videoconvertscale \
       ! onnxinference execution-provider=cpu model-file=yolo26n.onnx \
       ! yolo26tensordec score-threshold=0.3 label-file=COCO_classes.txt \
       ! objectdetectionoverlay ! videoconvertscale ! autovideosink

The original repository of YOLO26 is located at https://github.com/ultralytics/ultralytics.

NOTE: This tensor decoder is for the "One-to-One head", which means setting end2end=True in the training. When using the "One-to-Many head", setting end2end=False, the YOLO26 model will produce the same output as YOLOv8 and one should use the yolov8tensordec tensor decoder.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──yolo26tensordec

## Factory details

Authors: – Olivier Crête

Classification: – `Tensordecoder/Video`

Rank – primary

Plugin – tensordecoders

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

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

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-raw:

Presence – always

Direction – src

Object type – GstPad

## Properties

### label-file

    “label-file” gchararray

Label file

Flags : Read / Write

Default value : NULL

### score-threshold

    “score-threshold” gfloat

Threshold for deciding when to remove boxes based on score

Flags : Read / Write

Default value : 0.3

The results of the search are