Objects instantly lost on KLT tracker

Hi,
I noticed that when i’m using the KLT Tracker algorithm, sometimes the bbox will instantly get lost by the algorithm. Why does it behaves like this ? and how to prevent it ?

For example, on the dashcam.mp4 notice how the far right blue bounding box on the panel instantly get lost on frame 2 :

I get a lot of this case on homogeneous background, with a median filter i get better results. It’s probably linked to the method used, do you have any quick suggestion on how to prevent this before i look into details on KLT ?

Hi,

The original box found in first frame is not good.
It just covers partial of the sign so it is quite possible to lost.

You can try to adjust the parameter of KLT tracker to see if it helps first.
https://docs.nvidia.com/vpi/group__VPI__KLTFeatureTracker.html#structVPIKLTFeatureTrackerParams

Thanks.

Hi AastaLLL,

It just covers partial of the sign so it is quite possible to lost.

I tried many bbox around this sign. As KLT is heavily based on feature extraction, I have deliberately put the bounding box on the the edge of the sign. With the idea that maybe that would help it track the sign with the important contrast white/grey, but that doesn’t change the fact that it get lost in the next frame :

Here is the bbox exclusively on the sign :

I understand each KLT parameter but at what value these thresholds are compared : nccThresholdKill, nccThresholdStop, nccThresholdUpdate ?
I have already modified these parameters to get the algo to not lost bbox and to update more often the box for example. For this example, the only bbox size on the sign that doesn’t get lost with modified parameters is when it track the background. So my main goal is to prevent the loss of the object, because i can’t deal with a tracking algorithm that reject my bounding box.

Thanks.

Hi,

Do you know the size of your bounding box?
We do have a known limitation that the tracker is not working on the bbox > 64x64.

Thanks.

Hi AastaLLL,
Yes i do know that the limitation is 64*64.
I’m using the initial script with the initial configuration, but i added : 0 980 228 34 32 in the .txt file.
I tried to vary these parameters but got no luck.
Even if the correct bbox is 0 982 231 32 31. To prevent the loss of the bbox, the only way i have for now is that i have to loop the input bbox and vary these parameters until it doesn’t get lost.