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

Presencealways

Directionsink

Object typeGstPad


src

video/x-raw:

Presencealways

Directionsrc

Object typeGstPad


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