Closed 1user-null closed 7 months ago
Hi! Thank you very much for detailing the issue with depth regarding the evaluation.
I am sorry to say that this part of the evaluation code is no longer valid as it doesn't incorporate the idea of point-based tracking. It is some leftover code from a long time ago that we missed during the cleanup. Many apologies for the confusion. You shouldn't have to see this messy code.
The proper way to evaluate our results is through a modified point-based AB3DMOT tracking evaluation script. Right now, this point-based AB3DMOT evaluation script is a standalone script which can only be used for post-training result evaluation. We are working on incorporating it into Track4D, so there will be more detailed evaluation metrics during the training.
If you would like an early look at the standalone version of the evaluation script, please contact us via email.
Hello, your work is very good, but I cannot reproduce your results, and I think there is something wrong with the code of your evaluation indicator.
1.I followed your steps to reproduce and found that the MOTA indicator was greater than 0.9. After careful inspection, I found that it was because you annotated FP in the code, but it was still greater than 0.9 after uncommenting it.
`def mismatches(mappings_prev, mappings_curr, aff_mat, objs, gt_objs): fp = 0 mismat = 0 if mappings_prev == None: return 0
for m in mappings_prev.keys():
`
2.I found that in your evaluation index, miss is directly compared with the size between the true value and the detection. This should be incorrect. The correct thing should be to use the true value minus the tracking value to judge the missed detection after the tracking result comes out. Because there are a large number of false detections in your test results, this will result in no missed detections at all during the evaluation. `def eval_tracking(args, objs, gt_objs, mappings_prev, mappings_curr, aff_mat):
matched but affinity < thres, false positive
`
3.I gave a modified judgment criterion, but under this judgment criterion there were a large number of missed detections, so that MOTA<0, I don’t know if there is something wrong with the writing.
`def mismatches(mappings_prev, mappings_curr, aff_mat, objs, gt_objs): fp = 0 # 误检 fn = 0 # 漏检 mismat = 0 # 身份切换 tracked = 0 # 成功跟踪到的真实目标数量
`