How comparable is assessing openCV Trackers on recorded versus live video

Having trialled all the inbuilt openCV trackers (in python), I have found that none of them are sufficiently accurate for my particular computer vision task. I am trying to track an animal in an arena using these methods, and unfortunately none of them work well enough for long enough.

I have found an alternative, which is to use DeepLabCut-Live, wherein you pre train a neural network to sample data and then use the resulting model to track the animal in real time.

At this point, I would like to compare how the openCV trackers performed relative to the DLC-Live to justify using this particular approach and my question is: will these trackers perform similarly on recorded video compared to live video, or are there differences (other than the frame rate/ processing time) which will prevent this comparison from being accurate.

Ideally, I want to evaluate all the approaches on the same set of videos so the results are comparable, hence the question

recorded vs live makes no difference, except for execution speed.

with a recorded video, you can take the time to process every frame. you will likely have to drop frames of a live video because DNN inference is costly and may not be quick enough to process every frame.

  • tracking quality: identical. why should the model see any difference between live and recorded video?

  • execution speed: that is best answered by benchmarks.

“built-in” just means some GSoC worker wrote some code. it is not generally indicative of state of the art performance.

there’s a DNN sample called “DaSiamRPN” that is said to work really well.

if you need to initialize tracking automatically, you’ll have to add an object detector that finds your type of object. then you can initialize the tracker from that.

assuming you have annotated boxes (ground truth) for your videos, you could try opencv’s tracking benchmark program , it collects timing , IOU accuracy.

This is very helpful, thank you.

I recognise that the inbuilt openCV trackers are not state of the art, but for this project, they were my first attempt and I have to document the approaches that I took to finding the solution that we have taken.

The DaSiamRPN is really interesting, I had tried previously to get it to work but was unsuccessful. It might be worth a second try

Thanks this is very helpful.