VL.Yolo.GPU

With YOLOv3-416 I get about 40 FPS with a GTX 1070 Ti and the results seem to be quite stable.

image

Unfortunately just installing the used library as nuget doesn’t work. The nuget shows up but vvvv doesn’t find all the dependencies. So I did some c&p and referenced the dll directly.

VL.Yolo.GPU

Additionaly you’ll have to:


* I selected Custom and installed only the cuda stuff
image
image

**You’ll need an Nvidia developer account
The folder content should be:
image

8 Likes

hi björn, just wanted to thank you for your tests and descriptions of them :)
trust me, this kind of “blog posts” are really helpful and inspiring.

1 Like

Thanks, but like I already “said” when posting the youtube stuff, I barely know what I am doing. So use it with caution. Would be nice if some of the pros would actually look at the stuff and provide some feedback.

1 Like


I get no errors (apart from skia and a cv play pin on the video player, how do I check for versioning in VL, should it not flag V errors?)
But I get no output. I did have some PATH errors when installing cuda, I have followed the instructions and edited my PATH so it is shorter, but still spouts errors when reinstalling, is this the likely culprit?

image

Hi @catweasel, along with installing Cuda, have you updated your GPU drivers? I can’t test this contrib at t eh moment cos my computer is cooking, but I’ll try and check it out this weekend

No output meaning the renderer is blank or just no output from Detect/HoldLatest?

I didn’t encounter any errors while installing cuda. I had cuda 10.1 installed prior to this, I uninstalled it restarted and then installed 10.0. As I said I installed only the cuda specific stuff not the graphics driver that came with the installer. I am currently at home so can’t check the graphics card driver version but iirc it’s 431 something.
The patch was last saved with preview 578 which is more recent than the version you can get from the vvvv-gamma-2019.1-preview blogpost. More recent versions are available from teamcity.
You can check the version the patch was last saved with by clicking on the document name.
image

Have you tried disconnecting (and reconnecting) the red pins?

edit:
Maybe this helps with the path problems:

Updated Drivers.
Deleted all mentions of Cuda and some defunct lines from the system PATH with the app linked in the stackoverflow. Reinstalled Cuda, no errors this time, hurrah!
Teamcity link is not happy so I am running the last preview.
(An error occurred during a connection to teamcity.vvvv.org:8111. SSL received a record that exceeded the maximum permissible length. Error code: SSL_ERROR_RX_RECORD_TOO_LONG )
EDIT ** took the port number out of the link and got the login page, as guest and its downloading…**
EDIT2 Installed latest gamma, and still no dice

The externals are all happy when I go into Detect, the video plays, but Yolo detects nothing…

image

image
Another though the zip you add to \VL.Yolo.GPU\Dependencies\YoloCSharp 1.0.0 Should it be in the cuda folder, or straight into the folder?

Straight into the folder.

1 Like

!!!
It works! Sorry for all the hassle, and thanks for doing it, well done!
I’ll have to see if the Yolo Tiny works too, which would up the fps :)
A beer for Bjoern please barman!

I tried with yolo tiny it’s yielding about 60 FPS – I suspect it’s because the skia renderer has vsync enabled and it would go faster otherwise. However the results are bad in comparison.

Edit: What GPU are you using?

17-20fps on a gtx1060 laptop, which is pretty reasonable, when I try and change the configs I get blue screens though so I havent got anywhere with tiny.
By the way I have checked tracking ID’s and they all seem to return 0…

Try pausing vvvv while changing the files or abort the AsyncLoop.
As for the Ids try removing the Filter, just input an empty string instead of person.

Edit: Got the class ID mixed up with the tracking ID. Don’t know what’s happening there. Can’t check right now.

Pausing or stopping stop the pc from bluescreening, but gamma sudden quits, when I start it again which is better! I have also tried saving it after changing the paths, quitting gamma, and then reopening the new patch and it still crashes! There isnt a names file that needs to be changed is there?
Here is my crashy patch…
VL.YoloTiny.GPU.vl (86.9 KB)

Currently not in front of a PC so can’t check the patch. The names file should be the same. Where did yo get the tiny files?
I used:
https://github.com/pjreddie/darknet/raw/master/cfg/yolov3-tiny.cfg
https://pjreddie.com/media/files/yolov3-tiny.weights

Elias posted this to matrix the other day to disable vsync.
VL.Skia.Utils.vl.zip (3.1 KB)

Found this commit in one of the forks, where TrackingId and Framecounter were removed …

1 Like

For IDs something like this could help

Just tried and it’s working.

There also seems to be a way to enable the tracking stuff.

But one needs to make changes to the darknet/cpp code. Just had a look at it and getting it to compile seems to be a pita.

They must have been corrupted downloads for the weights/config, as I redownloaded from your links and now it works, 60fps, sweet :)
I think @readme 's suggestion might be the easier fix for id’s ;)
If I ever fancy a week or 2 of selfharm, it might be interesting to create a dataset of just humans from a variety of cctv etc
Tiny doesn seem to be less accurate than the full dataset, no surprise there I guess, but good to know there are options…