I trained a YOLOv7 model for a detection task. I have only one class, which is the object I want to detect. I ran test.py with --conf-thresh to 0.001 (default) and a second time with --conf-thresh to 0.5. I got the two following PR_curve PR_curve with conf thresh to 00.1

PR_curve with conf thresh to 0.5

and I don't understand what is happening. Isn't [email protected] defined to be the average precision at 0.5 threshold ? Why does the value change if I change the threshold ?


1 Answer 1


From my understanding, [email protected] is the average precision at an IOU threshold, not confidence threshold. IOU (intersection over union) defines how to determine true/false positive detections, while confidence determines what the actual detection is.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.