mot_evaluation
mot_evaluation copied to clipboard
Confusion on mme array
I am confused about the line152 in utils/measurements.py
"if ct in gt_inds[t - 1].keys() and last_non_empty != -1:"
Why do I think it would be properer if use 'or' rather than 'and' after reading
the following lines' codes?
Thanks for replying.
As far as I remember, the line means "If the estimated id is different from the latest estimated id w.r.t. the same ground-truth id, and it is not the first time being detected, count it as an id switch "
Thanks very much for your reply.
But now I'm confused the results of MOTA/MOTAL are negative (My own data, but I've formatted them into the same format as MOT16,
GT: frame number, ID, coordinate x(top left), coordinate y(top left), width, height, confidence, class, visibility
RES: frame number, ID, coordinate x(top left), coordinate y(top left), width, height, -1, -1, -1, -1)
But the result, for example: IDF1 IDP IDR | Rcll Prcn FAR | GT MT PT ML | FP FN IDs FM | MOTA MOTP MOTAL 0.0 0.0 0.0 | 0.0 0.0 3.16 | 11 0 0 11 | 1709 5940 0 0 | -28.8 nan -28.8
But I still think if just make a judgement on whether id (ct) shows up for the first time, **"if
last_non_empty != -1:"** is enough.
**ct in gt_inds[t - 1].keys() ** indicates id (ct) does exist in the last frame in gt file. Why is it supposed
to exist in the last frame ?
Thanks for reply.
I am also getting same error. why MOTA is negative?
I am also getting same error. why MOTA is negative?
as MOTA is defined,
MOTA = 1 - (FP + FN + IDS)/GT,
It's normal that MOTA can be negative.
Imagine a case when nothing is detected, FN = GT, and FP > 0, then
1 - FN/GT - (FN + IDS)/GT = - (FN + IDS)/GT < 0