jiyanggao/Video-Person-ReID

Evaluation Code Confusion relating to g_pid/q_pid mask for matches array

arpitkalla opened this issue · 2 comments

So I am trying to use resnet50ta for a task of my own. When running the algorithm to only evaluate on the Mars dataset, I print out gallery_ids and query_ids:

g_pids : [   0    0    0 ... 1496 1496 1500]
q_pids : [   2    2    2 ... 1496 1500 1500]

This is in accordance to the .mat split where there are query_IDX = 12179 and 12180 which in the track_test_info represent the 1500 tracklet.

The issue/confusion I have comes in the line 24 and 25 in eval_metrics.py:

remove = (g_pids[order] == q_pid) & (g_camids[order] == q_camid)
keep = np.invert(remove)

According to me we should not have the keep mask cause even though the pids of the tracklets are the same, they are different tracklets, thus have to be recombined/reid as the same id.

With commenting the masking lines the results increase, but I am not sure if this is correct or not, any clarification would be appreciated.

hello,i do not know i am right or wrong, just my understanding.
line 24 and 25 mean remove in the same camera id so that every id in the different camera.
Although they are different tracklets, but only in the same camera, we must remove.

why you masking lines the results increase, i think because in this data "MARS",
there is no one only in the one camera, every id has two more camera.
i just say my thought.