yolov7正负样本分配详解

2022 年 7 月 23 日 极市平台
↑ 点击 蓝字  关注极市平台

作者丨骚骚骚@知乎(已授权)
来源丨https://zhuanlan.zhihu.com/p/543160484
编辑丨极市平台

极市导读

 

整体上在正负样本分配中,yolov7的策略算是yolov5和YOLOX的结合。因此本文先从yolov5和YOLOX正负样本分配策略分析入手,后引入到YOLOv7的解析中。>>加入极市CV技术交流群,走在计算机视觉的最前沿

整体上在正负样本分配中,yolov7的策略算是yolov5和YOLOX的结合

首先大概回顾一下yolov5和YOLOX正负样本分配。

由于笔者能力有限,文章中可能出现一些错误,欢迎大家指出。

一、yolov5正负样本分配策略

在我之前的文章中有详细介绍:

目标检测正负样本分配策略:

https://zhuanlan.zhihu.com/p/477598659

步骤:

步骤①:anchors和gt匹配,看哪些gt是当前特征图的正样本

步骤②:将当前特征图的正样本分配给对应的grid

图1:实线网格代表特征图。虚线代表将一个特征点grid分为四个象限。蓝色点代表gt的中心点所处位置。

那么其特点是:

anchor base

②一个gt可能会和多个anchor进行匹配。

③某个anchor与gt匹配上,都会在当前anchor上有3个正样本。(理论上如果有9个anchor,那么一个gt至多可能生成9*3=27个正样本)

二、YOLOX正负样本分配策略

在我之前的文章中有详细介绍:

YOLOX深度解析(二)-simOTA详解:

https://zhuanlan.zhihu.com/p/394392992

图2:源自旷视公众号

那么其特点是:

anchor free

②simOTA能够做到自动的分析每个gt要拥有多少个正样本。

③能自动决定每个gt要从哪个特征图来检测。

三、yolov7正负样本分配策略

首先,yolov7也仍然是anchor base的目标检测算法,yolov7将yolov5和YOLOX中的正负样本分配策略进行结合,流程如下:

yolov5:使用yolov5正负样本分配策略分配正样本

YOLOX: 计算每个样本对每个GT的Reg+Cla loss(Loss aware)

YOLOX: 使用每个GT的预测样本确定它需要分配到的正样本数(Dynamic k)

YOLOX: 为每个GT取loss最小的前dynamic k个样本作为正样本

YOLOX: 人工去掉同一个样本被分配到多个GT的正样本的情况(全局信息)

其实主要是将simOTA中的第一步“使用中心先验”替换成“yolov5中的策略”

代码中也大量的复用了yolov5和YOLOX中的源码。

个人感觉,yolov5策略与YOLOX中simOTA策略的融合,相较于只使用yolov5策略,加入了loss aware,利用当前模型的表现,能够再进行一次精筛。而融合策略相较于只使用YOLOX中simOTA,能够提供更精确的先验知识

yolov6等工作中也都使用了simOTA作为分配策略,可见simOTA确实是能带来很大提升的策略。

四、yolov7中AUX HEAD

图3:yolov7论文中对于aux head的介绍

yolov7中的p6 model中都使用了aux head。

论文中提到使用aux head与lead head共同进行模型优化,而aux head的标签是较为“粗糙的“。

通过查看源码,发现aux head的assigner和lead head的assigner仅存在很少的不同,包括:

①lead head中每个anchor与gt如果匹配上,分配3个正样本,而aux head分配5个。

②lead head中将top10个样本iou求和取整,而aux head中取top20。

这也印证了论文中的观点。aux head不那么strong,aux head更关注于recall,而lead head从aux head中精准筛选出样本。

图4:yolov7论文中对于aux head的介绍

按照yolov7中的这个正负样本分配方式,那么针对图5中,蓝色点代表着gt所处的位置,实线组成的网格代表着特征图grid,虚线代表着一个grid分成了4个象限以进行正负样本分配(不理解的需要去看下yolov5的assign方式)。

如果一个gt位于蓝点位置,那么在lead head中,黄色grid将成为正样本在aux head中,黄色+橙色grid将成为正样本

图5:训练时,lead head和aux head中正样本分配图示(蓝色点代表着gt所处的位置,实线组成的网格代表着特征图grid,虚线代表着一个grid分成了4个象限以进行正负样本分配。如果一个gt位于蓝点位置,那么在lead head中,黄色grid将成为正样本。在aux head中,黄色+橙色grid将成为正样本)

而在推理时,下图6中,蓝色点代表着gt所处的位置,实线组成的网格代表着特征图grid,虚线代表着一个grid分成了4个象限,而依照yolov5中的中心点回归方式,仅能将图中红色特征grid,预测在图中红色+蓝色区域,是根本无法将中心点预测到gt处的!而该红色特征grid在训练时是会作为正样本的

在aux head中,模型也并没有针对这种情况对回归方式作出更改。所以其实在aux head中,即使被分配为正样本的区域,经过不断的学习,可能仍然无法完全拟合至效果特别好。

图6:推理时,红色grid可推理出的cx、cy范围(蓝色点代表着gt所处的位置,实线组成的网格代表着特征图grid,虚线代表着一个grid分成了4个象限)

而在loss融合方面,aux head loss 和lead head loss 按照0.25:1的比例进行融合。

公众号后台回复“ECCV2022”获取论文分类资源下载~

△点击卡片关注极市平台,获取 最新CV干货

极市干货
算法项目: CV工业项目落地实战大航海 | 附极力值攻略 极市打榜|目标检测算法上新!(年均分成5万)
实操教程 Pytorch - 弹性训练原理分析《CUDA C 编程指南》导读
极视角动态: 极视角作为重点项目入选「2022青岛十大资本青睐企业」榜单! 极视角发布EQP激励计划,招募优质算法团队展开多维度生态合作!


点击阅读原文进入CV社区

收获更多技术干货

登录查看更多
5

相关内容

CVPR 2022 | 用于目标检测的双加权标签分配
专知会员服务
7+阅读 · 2022年3月26日
【AAAI2022】锚框排序知识蒸馏的目标检测
专知会员服务
25+阅读 · 2022年2月10日
浙大《深度学习低样本目标检测》综述论文
专知会员服务
74+阅读 · 2021年12月13日
专知会员服务
26+阅读 · 2021年8月24日
专知会员服务
21+阅读 · 2021年7月28日
专知会员服务
17+阅读 · 2021年4月24日
专知会员服务
32+阅读 · 2020年12月25日
目标检测正负样本区分策略和平衡策略总结
极市平台
0+阅读 · 2022年3月1日
目标检测:Nms-Free时代
极市平台
0+阅读 · 2022年1月10日
目标检测回归损失函数总结
极市平台
0+阅读 · 2021年10月27日
目标检测中边界框的回归策略
极市平台
17+阅读 · 2019年9月8日
进化历程详解:YOLOv1到YOLOv3
极市平台
31+阅读 · 2019年8月27日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
4+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
19+阅读 · 2018年5月17日
VIP会员
相关VIP内容
CVPR 2022 | 用于目标检测的双加权标签分配
专知会员服务
7+阅读 · 2022年3月26日
【AAAI2022】锚框排序知识蒸馏的目标检测
专知会员服务
25+阅读 · 2022年2月10日
浙大《深度学习低样本目标检测》综述论文
专知会员服务
74+阅读 · 2021年12月13日
专知会员服务
26+阅读 · 2021年8月24日
专知会员服务
21+阅读 · 2021年7月28日
专知会员服务
17+阅读 · 2021年4月24日
专知会员服务
32+阅读 · 2020年12月25日
相关资讯
目标检测正负样本区分策略和平衡策略总结
极市平台
0+阅读 · 2022年3月1日
目标检测:Nms-Free时代
极市平台
0+阅读 · 2022年1月10日
目标检测回归损失函数总结
极市平台
0+阅读 · 2021年10月27日
目标检测中边界框的回归策略
极市平台
17+阅读 · 2019年9月8日
进化历程详解:YOLOv1到YOLOv3
极市平台
31+阅读 · 2019年8月27日
相关基金
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
4+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员