Description
Hi yurymalkov,
I'm sorry to disturb you again. I have a question about the recall performance evaluation in sift_1b.cpp
. In sift_1b.cpp
, the number of returned sample for each query is 1, then for the samples at top K (top@K) in the ground truth, if the returned sample is in the samples at top K, it counts 1. I think there is another method which is more appropriate than this. This method is as follows:
The number of retrieved samples for each query is K (top@K), and for the sample at top 1 (top@1) in the ground truth, we check whether it (the sample of ground truth at top 1) in the top@K of retrieved samples. If true, it counts 1.
I think this evaluation is better than the method adopted in sift_1b.cpp
. Taking face retrieval as example, we want to get high recall rate. If the same face doesn't recall at top of 10, we can set the number of retrieved samples to big, such as top@50.
How do you think about the evaluation method in the sift_1b.cpp
and the method I show it on above?
Looking forward to your reply.