Hi,
First of all great work! This is just to let you know that I implemented an evaluation code using the official COCO API to compare the precision of the TensorRT implementation of yolov7 vs the official Pytorch one.
Using Yolov7 base model at 640x640 with your TensorRT implementation:
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.504
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.690
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.545
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.341
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.553
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.657
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.380
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.614
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.658
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.510
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.706
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.799
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.51206
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.69730
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.55521
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.35247
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.55937
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.66693
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.38453
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.63765
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.68772
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.53766
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.73549
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.83868
It's very close and definitely in the acceptable range! For the record, it takes ~10.9 ms / img (~5ms for inference only) with batch 1 on a RTX 2070 (TRT 8.4).
Hi, First of all great work! This is just to let you know that I implemented an evaluation code using the official COCO API to compare the precision of the TensorRT implementation of yolov7 vs the official Pytorch one.
Using Yolov7 base model at 640x640 with your TensorRT implementation:
Pytorch (https://github.com/WongKinYiu/yolov7#testing) :
It's very close and definitely in the acceptable range! For the record, it takes ~10.9 ms / img (~5ms for inference only) with batch 1 on a RTX 2070 (TRT 8.4).
It's available here https://github.com/adujardin/tensorrt_inference/tree/coco_eval/yolov7#coco-ap-evaluation I can make a PR if you're interested, let me know.