THU-MIG / yolov10

YOLOv10: Real-Time End-to-End Object Detection
https://arxiv.org/abs/2405.14458
GNU Affero General Public License v3.0
9.08k stars 829 forks source link

同样的环境下测试,yolov5n/s比yolov10n/s inference速度都要快 #339

Open yf0994 opened 1 month ago

yf0994 commented 1 month ago

用同一份数据集分别训练yolov5n/s和yolov10n/s,用pt和导出onnx测试,发现yolov5的inference速度比yolov10的inference速度要块不少,下面分别是yolov5n和yolov10n的测试结果: yolov10n: image 1/8 /home/data/backups/source/yolo/yolov10/../testimg/CH120240508-003928-701.mp4_20240621_181520.494.jpg: 288x512 2 motorcycles, 17.7ms image 2/8 /home/data/backups/source/yolo/yolov10/../testimg/CH120240508-003928-701.mp4_20240621_181526.094.jpg: 288x512 1 motorcycle, 17.0ms image 3/8 /home/data/backups/source/yolo/yolov10/../testimg/CH120240508-005028-712.mp4_20240621_182045.836.jpg: 288x512 1 bus, 2 suvs, 16.9ms image 4/8 /home/data/backups/source/yolo/yolov10/../testimg/CH120240508-005028-712.mp4_20240621_182047.787.jpg: 288x512 1 bus, 3 suvs, 16.9ms image 5/8 /home/data/backups/source/yolo/yolov10/../testimg/CH120240508-005028-712.mp4_20240621_182051.964.jpg: 288x512 1 bus, 3 suvs, 16.9ms image 6/8 /home/data/backups/source/yolo/yolov10/../testimg/CH120240508-005228-714.mp4_20240621_182124.833.jpg: 288x512 2 suvs, 2 sedens, 16.9ms image 7/8 /home/data/backups/source/yolo/yolov10/../testimg/CH120240508-010529-727.mp4_20240621_182613.612.jpg: 288x512 1 motorcycle, 1 suv, 1 pedestrian, 1 mpv, 16.9ms image 8/8 /home/data/backups/source/yolo/yolov10/../testimg/CH120240508-010529-727.mp4_20240621_182617.387.jpg: 288x512 2 motorcycles, 1 suv, 1 seden, 2 mpvs, 17.0ms Speed: 1.3ms preprocess, 17.0ms inference, 0.7ms postprocess per image at shape (1, 3, 288, 512)

yolov5n: image 1/8 /home/data/backups/source/yolo/testimg/CH120240508-003928-701.mp4_20240621_181520.494.jpg: 288x512 2 motorcycles, 9.8ms image 2/8 /home/data/backups/source/yolo/testimg/CH120240508-003928-701.mp4_20240621_181526.094.jpg: 288x512 1 motorcycle, 12.4ms image 3/8 /home/data/backups/source/yolo/testimg/CH120240508-005028-712.mp4_20240621_182045.836.jpg: 288x512 1 bus, 2 suvs, 9.0ms image 4/8 /home/data/backups/source/yolo/testimg/CH120240508-005028-712.mp4_20240621_182047.787.jpg: 288x512 1 bus, 3 suvs, 8.1ms image 5/8 /home/data/backups/source/yolo/testimg/CH120240508-005028-712.mp4_20240621_182051.964.jpg: 288x512 1 bus, 3 suvs, 9.0ms image 6/8 /home/data/backups/source/yolo/testimg/CH120240508-005228-714.mp4_20240621_182124.833.jpg: 288x512 2 suvs, 2 sedens, 8.2ms image 7/8 /home/data/backups/source/yolo/testimg/CH120240508-010529-727.mp4_20240621_182613.612.jpg: 288x512 1 motorcycle, 1 suv, 1 pedestrian, 1 mpv, 8.2ms image 8/8 /home/data/backups/source/yolo/testimg/CH120240508-010529-727.mp4_20240621_182617.387.jpg: 288x512 1 motorcycle, 1 suv, 1 seden, 1 mpv, 8.3ms Speed: 3.1ms pre-process, 9.1ms inference, 40.9ms NMS per image at shape (1, 3, 288, 512)

yingliu0518 commented 1 month ago

是否在推理的时候没有关闭一对多的头?

yf0994 commented 1 month ago

是否在推理的时候没有关闭一对多的头?

没有关闭

maryhh commented 3 weeks ago

是否在推理的时候没有关闭一对多的头?

没有关闭

这个怎么关闭呢?export 导出到onnx就是自动关闭了吗?

yingliu0518 commented 3 weeks ago

你好,可以可视化一下ONNX模型的输入和输出就知道关闭了没有。我刚刚看了一下,我导出的ONNX模型输出形状为[1,300,6],这说明应该是关闭了的

maryhh commented 3 weeks ago

你好,可以可视化一下ONNX模型的输入和输出就知道关闭了没有。我刚刚看了一下,我导出的ONNX模型输出形状为[1,300,6],这说明应该是关闭了的

我导出的onnx是1,300,6,但是测试还是很慢,单张640x640推理速度都到100+ms了。。。

yingliu0518 commented 3 weeks ago

你好,可以可视化一下ONNX模型的输入和输出就知道关闭了没有。我刚刚看了一下,我导出的ONNX模型输出形状为[1,300,6],这说明应该是关闭了的

我导出的onnx是1,300,6,但是测试还是很慢,单张640x640推理速度都到100+ms了。。。

100ms也太夸张了,可能有其他因素?我刚刚在我电脑上测试了一下,单张基本上13ms(4080)

Meansnj commented 3 weeks ago

请问yolov10在推理的时候,怎么关闭一对多的头呢?谢谢