You Only Look One-level Feature论文阅读
paper: https://arxiv.org/abs/2103.09460
code: https://github.com/megvii-model/YOLOF
介绍
FPN通过其多尺度融合和分而治之(多个输出),能够大大提升检测器的精度;
作者将FPN看做是一个 Multiple-in-Multiple-out (MiMo)的编码器;
通过在RetinaNet上实验(图1)验证了多尺度特征金字塔(FPN)中其关键作用的是“分而治之”,而不是多尺度的特征融合;
SiMo相比于MiMo仅下降了0.9的mAP,MiSo和SiSo都下降了~12的mAP;
这个现象证明了两个点:
(1)C5的特征有足够的上下文信息来检测多个尺度的物体,这使得SiMo编码器实现了不错的效果;
(2)多尺度融合好处远不如分而治之的好处,因此多尺度融合可能不是FPN最主要的作用;
往深处思考,分而治之是一个目标检测的优化问题,它将一个复杂的检测问题通过目标尺度分成几个子问题,促进优化过程;
论文提出的YOLOF仅仅使用单个C5特征(下采样率32)来做检测,为了过渡SiSo和MiMo编码器的差距,
(1)作者设计了一个编码器结构来为不同尺度的目标提取多尺度上下文信息,补偿缺失的多层特征;
(2)添加了一个uniform匹配机制来解决单个特征图上稀疏的anchors造成的positive anchors的不平衡问题;
贡献慨括
(1)论文证明了FPN中主要是“分而治之”解决了密集目标检测的优化问题,带来了明显的收益,而不是多尺度特征融合;
(2)提出了YOLOF,没有使用FPN,简单有效的架构,提出了空洞编码器和Uniform 匹配,过渡SiSo和MiMo编码器的差距;
(3)大量的实验表明各个组件的重要性,相比于RetinaNet、DETR、YOLOv4,差不多的精度下,论文实现了更快的速度;
相关工作
多层特征检测器:SSD首先使用多尺度特征图来提升模型的精度,FPN在SSD和Unet的思想基础上融合了浅层特征和深层特征来设计提取更丰富语义特征的特征金字塔,
之后的很多工作也是在此基础上进行改进,FPN也作为一个检测器标配组件,另一类方法是通过多分支和空洞卷积来获取特征金字塔;
单层特征检测器:one-stage中,YOLO和YOLOv2都只用了最后的特征层做预测,速度很快但是效果较差,
CornerNet和CenterNet也只采用了单层特征层,但设置下采样步长为4来检测所有物体;
最近DETR的出现,证明了只使用单层C5特征也可以达到SOTA的精度,但由于anchor-free机制和transformer学习,DETR需要更长的时间来收敛;
作者研究多层检测的机制,从优化的角度出发,提供了一个可选择的解决方法,且YOLOF收敛更快,能够