title: Do we need to pass all the detections from a object detection model or filtered detections based on confidence threshold for calculation of mAP?
body: <p>I am working on evaluating the multiple object detection models. I am getting a list of detections from pre-trained models and then I have to provide the detections to another library which will calculate the mAP. My question is whether do I need to first filter out the list of detections and then provide it to the library for mAP calculations? or it's necessary to send all the detections without filtering it, so that mAP calculations are accurate.</p>
  <p>For explaining it clearly, providing the below example.<br></p>
  <pre><code>format of list elements - (class, box, score)
  detections = [(c1, b1, 0.90), (c1, b2, 0.85), (c1, b2, 0.45)] //total 3 elements
  filtered_detections = [(c1, b1, 0.90), (c1, b2, 0.85)] // score &gt; confidence_threshold, lets say 0.5
  
  mAP1 = calculate_mAP(ground_truth, detections)
  mAP2 = calculate_mAP(ground_truth, filtered_detections)
  </code></pre>
  <p>How the mAP1 and mAP2 will be different? let's consider PASCAL VOC implementation for mAP here.</p>