XaiJu
tblankensmith
tblankensmith

patreon


Yolo TouchDesigner Plugin: Multi-Pose, Object, VisDrone, & Face Tracking + More

This plugin brings Ultralytics YOLO into TouchDesigner with no install required. Just drag and drop the yolo.tox into your project.

Features

Get Started

  1. Download the .tox file linked at the bottom of this post.

  2. Place the .tox file next you project .toe file so TouchDesigner can reference it locally. ⚠️NOTE if you don't do this, saving your project will take an eternity

  3. Drop it into your TouchDesigner project.

Using this Plugin in Your Projects

TLDR: as long as you don’t modify the plugin’s internal source code, you’re free to use it in commercial projects without open-sourcing your codebase.

This plugin bundles an open-source YOLO model (licensed under AGPL-3.0) together with my own TouchDesigner work. To stay compliant, I’ve released the web app + networking code that powers the model under AGPL-3.0 — the source is freely available.

Source Code is Available Here:

What this means for you:

The plugin communicates with TouchDesigner over WebSockets, which creates a clear boundary between the AGPL-licensed code (the web component) and your project code. This separation means your TouchDesigner networks remain your own and can stay closed-source.

That said, I’d highly encourage you to open-source your work to support the broader open-source community.

Yolo TouchDesigner Plugin: Multi-Pose, Object, VisDrone, & Face Tracking + More

Comments

Hey! That’s strange, it’s working fine on my end with a random RTSP feed. One thing I optimized is to only process frames when the video cooks. I wonder if that trigger isn't happening correctly on your end. To check this: 1) With your feed connected and playing, go inside the component. 2) In the lower-left area, find the commented section called “Upload Frames.” 3) You’ll see an “img_info” CHOP and a select3 CHOP connected to it. There should be a channel in the select3 named "total_cooks" that updates continuously. I’m curious if that channel isn't updating on your end.

Torin Blankensmith

Hi, I'm setting up an exhibition where I need to use the VisDrone function for tracking, sourced from a ceiling-mounted IP camera. The function works perfectly with recorded camera footage (Movie file In TOP). When I connect the Video Stream In TOP with the camera's RTSP feed, the PLUGIN functionality stops. Given that I'm also using other network components, I wonder if there is a known WebSocket conflict with the Stream In TOP when using RTSP. Any advice on configuration changes or known workarounds would be greatly appreciated. Thank you!

ddmystudio

Thanks so much for this, Torin! It's amazing.

Noah Eisenbruch

Yeah this needs a video tutorial. On the custom parameters page, there's a generate Gui for the object and pose tracing. Those will create the helper components to create different visuals and also get a bunch of useful chop data

Torin Blankensmith

Hello, this is really exciting! Forgive me if it's a stupid question, but I cant seem to figure out how to get a Moviefilein TOP to be the source for the data, it just shows the same as the webcam, am i supposed to press something to switch the source? Thanks in advance.

Nicklas Mathews

thanks Torin, looks great cant wait to test. so far it works great witch 60 frames on M1 Max.

Cyril


More Creators