当前位置:网站首页>打假Yolov7的精度,不是所有的论文都是真实可信
打假Yolov7的精度,不是所有的论文都是真实可信
2022-07-24 14:39:00 【计算机视觉研究院】
关注并星标
从此不迷路
计算机视觉研究院

公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式
计算机视觉研究院专栏
作者:Edison_G
最近我们分享了Yolov6和Yolov7两个新框架,但是好多同学希望我们真正的对代码进行详细解读,今天“计算机视觉研究院”就先对Yolov7的性能做一次真实实验对比。
之前“计算机视觉研究院”分享了yolo系列的最新两个版本:
Yolov7:最新最快的实时检测框架,最详细分析解释(附源代码)


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

Rep-PAN 结构图

今天我们基于Yolov7的开源代码,实现了其论文中的一些实验。
在MS COCO的数据集上结果如下:

首先在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尺寸


通过上面的结果很明显可以看到mAP为50.8,掉了0.4。
eval的时候NMS是有trick的,multi_label表示一个框是否可以赋予两个类别,但是我们实际部署的时候就是一个框对应一个类别,所以再把multi_label设为False

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

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

max_nms=30000,max_det=300这种操作不仅eval过程变慢,生成json的时候更慢,而且如果是训练早期还没训的很好的时候去eval,肯定会很慢。
为什么边训边eval的时候感觉很快?
原因:边训边eval和单独拿权重去eval,从数据处理到评测工具都走的不是一套逻辑!再加改max_nms从30000到1000,mAP虽然没掉,但recall下降:

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

按照上面的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
但是实际对比yolov7和yolov6,结果确实会有一些质的提升。

Yolov7

Yolov6

先恭喜2022LPL夏季赛常规赛焦点战,RNG 2-1翻盘击败EDG,拿下LPL德比大战的胜利。
THE END
转载请联系本公众号获得授权

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

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

往期推荐
边栏推荐
- SQL Server syntax - create database
- Where can Huatai Securities open an account? Is it safe to use a mobile phone
- Beijing all in one card listed and sold 68.45% of its equity at 352.888529 million yuan, with a premium rate of 84%
- C multithreaded lock collation record
- MySQL community download address
- threw exception [Circular view path [index]: would dispatch back to the current handler URL [/index]
- Was installer startup error
- Is it safe for Huatai Securities to open an account? Can it be handled on the mobile phone?
- 老虎口瀑布:铜梁版小壶口瀑布
- 【NLP】下一站,Embodied AI
猜你喜欢

bibliometrix: 从千万篇论文中挖掘出最值得读的那一篇!
![Rasa 3.x 学习系列-Rasa [3.2.4] - 2022-07-21 新版本发布](/img/1e/27f107d514ded6641410cc5a45764b.png)
Rasa 3.x 学习系列-Rasa [3.2.4] - 2022-07-21 新版本发布

Multithreaded common classes

After five years of contact with nearly 100 bosses, as a headhunter, I found that the secret of promotion was only four words

ISPRS2018/云检测:Cloud/shadow detection based on spectral indices for multi/hyp基于光谱指数的多/高光谱光学遥感成像仪云/影检测

Simple understanding and implementation of unity delegate

看完这篇文章,才发现我的测试用例写的就是垃圾

深度学习中的学习率调整策略(1)

Leetcode high frequency question 56. merge intervals, merge overlapping intervals into one interval, including all intervals

老虎口瀑布:铜梁版小壶口瀑布
随机推荐
The solution to the error of [installation detects that the primary IP address of the system is the address assigned by DHCP] when installing Oracle10g under win7
VS编译后的应用缺少dll
C language -- program environment and preprocessing
C multithreaded lock collation record
Fraud detection cases and Titanic rescued cases
达梦实时主备集群搭建
本机异步网络通信执行快于同步指令
看完这篇文章,才发现我的测试用例写的就是垃圾
The spiral matrix of the force buckle rotates together (you can understand it)
JS judge whether the data is empty
ISPRS2018/云检测:Cloud/shadow detection based on spectral indices for multi/hyp基于光谱指数的多/高光谱光学遥感成像仪云/影检测
茅台冰淇淋“逆势”走红,跨界之意却并不在“卖雪糕”
bibliometrix: 从千万篇论文中挖掘出最值得读的那一篇!
Kotlin类与继承
深度学习中的学习率调整策略(1)
[matlab] matlab drawing Series II 1. Cell and array conversion 2. Attribute cell 3. delete Nan value 4. Merge multiple figs into the same Fig 5. Merge multiple figs into the same axes
String - Sword finger offer 58 - ii Rotate string left
CSDN垃圾的没有底线!
Dialog manager Chapter 2: create frame window
关于构建网络安全知识库方向相关知识的学习和思考
