MIV-XJTU / ARTrack

Apache License 2.0
228 stars 33 forks source link

Is there a way to know if object is gone from the object ? #53

Closed iMaTzzz closed 6 months ago

iMaTzzz commented 6 months ago

Basically, I wanted to know if there was a way to know if a tracked object is gone from the frame (low score ?) Because when it comes to full occlusion, the tracker just goes nuts (for example tracking a car).

AlexDotHam commented 6 months ago

You can use the maximum probability value of each coordinate estimation as the prediction confidence (I have tried using the mean of four coordinates) as the indicator of disappearance. In ARTrackV2, our experiments have shown that although this approach does not provide a point, it can limited the identification of target disappearance, but it may cause potential misjudgment of similar targets.

iMaTzzz commented 6 months ago

I understand, I guess it would be at least a way to automate this process instead of me trying to manually process the video and add a frame number where the tracker should stop tracking.

maximum probability value of each coordinate estimation as the prediction confidence

Where can I find the probability of each estimation ? The estimations are located in out['seqs'] right (before getting processed), is it another key/value inside the out dictionary ?

AlexDotHam commented 6 months ago

out['class'] contains the respective probability you need, or you can change the code in ./lib/models/layers/head_seq.py line 891, the value is the probability and extra_seq is the coordinate

iMaTzzz commented 6 months ago

I understand, thank you.

I tried printing the probabilities but the results seem to be weird. This is just an example: classes=array([[0.22669046, 0.24877244, 0.20131457, 0.21281606]], dtype=float32), mean=0.22239838540554047 For some reason, throughout the whole video, even though the car is perfectly tracked, the mean is still low (around 20%) and as the car disappears at the end, the mean doesn't really change. Am I doing things wrong ?

AlexDotHam commented 6 months ago

This is an imperfect indicator for evaluating whether the goal disappears, and it cannot be 100% certain of its disappearance. However, it can demonstrate good performance at certain times, and your probability is normal. If you do not use SIoU loss during training, you may achieve better results.