alanlukezic / csr-dcf

Discriminative Correlation Filter with Channel and Spatial Reliability
228 stars 73 forks source link

How much speed up is expected if we use parallel programming like cuda? #17

Open robosina opened 5 years ago

robosina commented 5 years ago

Hi, I'm curious about what happen if we take another step for this awesome algorithm and add GPU support to it? does the performance may be added dramatically ?

alanlukezic commented 5 years ago

Hi, if you want a faster version of this algorithm you can check OpenCV contrib tracking module, where you can find c++ implementation of this tracker (CSRT tracker). It runs approximately at 30 FPS, while multi-thread version (which runs still on the CPU only) runs at 50 FPS. I think that GPU implementation could speed up calculations like Fourier transform and other per-element operations, but I cannot estimate how much.

robosina commented 5 years ago

Thanks @alanlukezic

jsunyerdev commented 1 year ago

Hi, if you want a faster version of this algorithm you can check OpenCV contrib tracking module, where you can find c++ implementation of this tracker (CSRT tracker). It runs approximately at 30 FPS, while multi-thread version (which runs still on the CPU only) runs at 50 FPS. I think that GPU implementation could speed up calculations like Fourier transform and other per-element operations, but I cannot estimate how much.

Hi, Alan! I am an university student working in a project where I need to track a ball in real time. Of all the trackers I tried, CSRT Tracker is the best one by now, but I just get 15fps.

I am running the CSRT Tracker of OpenCV with C++ in a video stream of 512x424 pixels. Without the tracker I get 28fps, but when I enable the tracker I get just 15fps. I tried it in a Macbook Pro 2019 and also in a HP Elitebook, and I get similar results.

Under which circumstances should I be able to track at 30fps?

Thanks a lot! Jordi