VL.Yolo.GPU

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…

For sure. Created an issue on github anyway maybe they’ll “fix it”.

1 Like

Is it possible this is only GTX compatible? it works super nice on a GTX 1080 but hangs skia on two other machines with RTX 3080 Ti. The skia renderer freezes for several minutes on startup on those machines. When it comes back, object detection is broken anyways.

According to this cuda added support for RTX 30 cards with version 11.1. So I guess you are out of luck. Unfortunately the underlying library seems to be abandoned. I failed to compile a working version myself. It is very finicky since (IIRC) all the dependencies (OpenCVSharp & Darknet) also need to be compiled with support for the same Cuda version.

You could check out the following fork which seems to have added support for at least cuda 11:

It also moved from OpenCvSharp to EmguCV though. Which will most likely make it incompatible with VL.OpenCV which is based on the former.

Or try this lib:

The current version is for Net 5.0 so you’d need to use an older version (11.1.1 I think).

Would like to look into it myself but I am currently busy.

Last but not least: try to get your hands on 20 series cards which are suported by cuda 10, afaik.

1 Like

Oh its a pity:( but will check out the options you mentioned, thanks for the info and links!
And also can confirm it works on the 20 series, just tried on a RTX 2060.

I think its not worth trying the YoloCSharp fork when its not compatible with OpenCV.
Also cant find any hint on the CUDA 11 support.

For FastYolo the last non .NET 5 release is 1.0.7
Unfortunately it targets .NETCoreApp 3.1 and only supports CUDA 10.1 :(

Mh ok only was an assumption on my part based on this commit message.

oh missed that. just saw CUDA 10 in the requirements section.