I let an AI build a Yolo26 node set for vvvv. It escalated a bit

Yolo26 for vvvv

This is a preview / test implementing the latest Yolo release by ultralytics (models exported to ONNX).

Preview

There is a local nuget inside the dist folder, install from vvvv´s nuget command line:
nuget install VL.Yolo26 -Source "C:\dist;``https://api.nuget.org/v3/index.json``" -Version 0.4.2 -PreRelease
(modify C:\dist to your actual folder you put the nuget into)

There is no nuget.org package yet but i will continue to burn as many tokens as it takes to publish it soon with all features:) (3 of 5 implemented by now)

Note: Just noticed the read back pipeline nodes wont work in vvvv 7.0. Did not investigate this further. Suggest you just run it in 7.3
Note2: Smoothest pipeline is Texture (GPU only), Most demanding is the Segment Task (Mask generation)

What has been built:

I have explored 3 different input and pipeline approaches and kept them all around. The outcome for now is 3 different node families across 3 yolo tasks (Detect, Pose, Segmentation). The difference at first was about image input (IVideoSource VS Stride Texture readback), then came a third variant that is a GPU only implementation for almost the whole processing pipeline. Skia was out of scope for now and the category naming might be worth reconsidering.
As a bonus there is extensive documentation written along by the agent including all node and pin descriptions in the editor.
Find help patches in help browser.

Video vs Texture vs Readback

Video Texture Texture Readback
Input IVideoSource (CPU frames) Stride Texture (GPU) Stride Texture (GPU)
Pixels to CPU Source already CPU Never (zero-copy) GPU→CPU readback, delayed
Preprocess CPU ImagePreprocessor GPU compute CPU ImagePreprocessor
ORT EP CPU or DirectML DirectML only, DML1 + IoBinding CPU or DirectML
Threading Background worker Mainloop (sync GPU wait) Mainloop readback + worker
Mainloop blocking No Yes No
Patch deps VL.Video typical VL.Stride required VL.Stride required

All nodes

Node Category Input Inference
Detect (Video) ML.YOLO26 IVideoSource CPU or DirectML; background thread
Detect (Texture) ML.YOLO26.Stride Stride Texture Zero-copy GPU (D3D12 + DirectML IoBinding)
Detect (Texture Readback) ML.YOLO26.Stride Stride Texture Non-blocking GPU→CPU readback, then CPU/DirectML worker
Pose (Video) ML.YOLO26 IVideoSource CPU or DirectML; background thread
Pose (Texture) ML.YOLO26.Stride Stride Texture Zero-copy GPU
Pose (Texture Readback) ML.YOLO26.Stride Stride Texture Readback + CPU/DirectML worker
Segment (Video) ML.YOLO26 IVideoSource CPU or DirectML; four toggled mask outputs
Segment (Texture) ML.YOLO26.Stride Stride Texture Zero-copy GPU; proto on GPU, mask assembly in compute shaders
Segment (Texture Readback) ML.YOLO26.Stride Stride Texture Readback + same CPU mask assembly as Segment (Video)

Credits to @tonfilm for the vvvv skills. Agent said they helped a lot:)

Models:

The repository ships with nano models for now, for convenient testing and help patches.
From: @zwh20081 on Hugging Face (yolo26-onnx)
See docs/models.md for more info.

Aaaand fingers crossed the nodes work for you too.

Did you know that there is a Yolo VL package already? It’s based on YoloDotNet which afaiu also supports Yolo26. Maybe extend the existing package instead of creating a new one from scratch?

Yes i know there is one. This here is also a proof of concept and learning project for me to explore AI coding. I was surprised how well it went after the first prompt and then could not let go :)
And actually it was joreg insisting to publish it :)

but i also said it would be smarter to extend the existing one…

Honestly, i dont remember that