打假Yolov7的精度,不是所有的论文都是真实可信

关注并星标

从此不迷路

计算机视觉研究院

6516d25aa5265d2698f10f57acb56d00.gif

8b54e23ebc16066258fba9e1417891ef.gif

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

计算机视觉研究院专栏

作者:Edison_G

最近我们分享了Yolov6和Yolov7两个新框架,但是好多同学希望我们真正的对代码进行详细解读,今天“计算机视觉研究院”就先对Yolov7的性能做一次真实实验对比。

之前“计算机视觉研究院”分享了yolo系列的最新两个版本:

Yolov7:最新最快的实时检测框架,最详细分析解释(附源代码)

d94efde1a9385a2700f6046cc54dbfd8.png

e896b37405f1348d47307218d92f7f5a.png

劲爆!YOLOv6又快又准的目标检测框架开源啦(附源代码下载)

67cea3ebab3017e25e57eda116f65427.jpeg

Rep-PAN 结构图

818fdac1baccfc4e65610389420367db.png

今天我们基于Yolov7的开源代码,实现了其论文中的一些实验。

在MS COCO的数据集上结果如下:

a2186ed35eb189bffe579d828ec2b5f7.png

首先在coco验证集上,验证官方提供的yolov7.pt,其实用的是L版本(类似YOLOv5-L,YOLOX-L,PPYOLOE-L),结果如下:

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

注:以下改动需要bs=1去验证:

python3.7 test.py --data data/coco.yaml --img 640 --batch 1 --conf 0.001 --iou 0.65 --device 0 --weights yolov7.pt --name yolov7_640_val
  • 改数据预处理letterbox的auto=True,因为实际预测都是固定尺寸,也只能到640尺寸

e0bd91c19e7b7b4d9abf9e5aa7009264.png

be80e3994e5c3351f92f212c5277a38d.jpeg

通过上面的结果很明显可以看到mAP为50.8,掉了0.4。

  • eval的时候NMS是有trick的,multi_label表示一个框是否可以赋予两个类别,但是我们实际部署的时候就是一个框对应一个类别,所以再把multi_label设为False

8d2ae36e861b73bec1378ecec7b393c5.png

测试结果好像又掉了0.2....

bacb7981925015783ff889d97be1b840.jpeg

这种YOLO系列测速都是没有比对nms的耗时的,所以为了精度可以对nms大作文章。进nms前的max_nm设置到了30000,实际部署的时候,进入nms的Tensor如果很大会很耗时,一般都不会设置到这么大,1000足够了,改max_nms=1000。同时还有max_det=300表示每张图最多几个框,真的有必要300这么多吗? cocoapi评测工具虽然是max_det=100,但是改300真的也会涨点。

53527215572d4db55a6e8b5ff0e8403f.png

max_nms=30000,max_det=300这种操作不仅eval过程变慢,生成json的时候更慢,而且如果是训练早期还没训的很好的时候去eval,肯定会很慢。

为什么边训边eval的时候感觉很快?
原因:边训边eval和单独拿权重去eval,从数据处理到评测工具都走的不是一套逻辑!

再加改max_nms从30000到1000,mAP虽然没掉,但recall下降:

ec9b340d4eeee8f05cdd5a4bce2a53f7.jpeg

再加改max_det从300到100,mAP又掉了0.1:

0dcfc67caa51143f4088cc112cda9f5b.jpeg

按照上面的3点操作后,X版本mAP只有52.1了,掉了0.8个点。

python3.7 test.py --data data/coco.yaml --img 640 --batch 1 --conf 0.001 --iou 0.65 --device 3 --weights yolov7x.pt --name yolov7_640_val

outside_default.png

但是实际对比yolov7和yolov6,结果确实会有一些质的提升。

e2d7af287c2f2d488e863ae4fe07b8ad.png

Yolov7

dbca41aa44607a0eedb74d9210c02585.png

Yolov6

c3ee5061463b31d419c414a6412ec6fc.png

先恭喜2022LPL夏季赛常规赛焦点战,RNG 2-1翻盘击败EDG,拿下LPL德比大战的胜利。

© THE END 

转载请联系本公众号获得授权

3b37f8889a4a90bd11225a8d03596568.gif

计算机视觉研究院学习群等你加入!

我们开创“计算机视觉协会”知识星球两年有余,也得到很多同学的认可,最近我们又开启了知识星球的运营。我们定时会推送实践型内容与大家分享,在星球里的同学可以随时提问,随时提需求,我们都会及时给予回复及给出对应的答复。

e9b87ce17b69858e4a8cc93431904ed8.jpeg

ABOUT

计算机视觉研究院

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

VX:2311123606

9c93cc8d6ac91a7b3dc5a949e11138a0.png

往期推荐 

🔗

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
很抱歉,根据提供的引用内容中并没有提及YOLOv8的预测精度显示。因此,我无法回答关于YOLOv8预测精度的问题。请提供更多相关信息或引用内容以便我能够帮助您。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [打假Yolov7精度,不是所有的论文都是真实可信](https://blog.csdn.net/gzq0723/article/details/125954732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [YOLOv8预测参数详解(全面详细、重点突出、大白话阐述小白也能看懂)](https://blog.csdn.net/qq_37553692/article/details/130910432)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [这是本人发表的一篇共一,其中我也是通讯作者,主要是使用yolov5s轻量级框架去检测柑橘是否患有黄龙病,...](https://download.csdn.net/download/zyxpython/87774872)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值