CVPR2021|特征金字塔的新方式YOLOF

简介: 构建特征金字塔最普遍使用的方式是FPN,FPN的成功主要有两点,一是多尺度特征融合,二是分而治之,所谓分而治之就是对不同尺度的目标在不同的分辨率上检测。

Introduction


构建特征金字塔最普遍使用的方式是FPN,FPN的成功主要有两点,一是多尺度特征融合,二是分而治之,所谓分而治之就是对不同尺度的目标在不同的分辨率上检测。


作者基于FPN进行了一项实验。针对多尺度特征融合提出多层输入和单层输入的方式,针对分而治之提出在单层检测和多层检测的方式,两者结合就是如下图所示的MiMo,SiMo,MiSo,SiSo。

86cbca73d5a120c8318729d52ad236a8.png根据图a和b可得出多尺度融合的特征所带来的精度提升很少。对比图a和c,分而治之的方式可带来12的mAP的提升。

 

这可以得出两个结论:


(1) 这表明C5层基本融合了全部语义信息,没必要进行多尺度融合。


(2) 分而治之带来的益处远多于多尺度特征融合。

 

然而相比于单层检测,使用分而治之意味着需要更多的内存,降低推理速度,且对于one-stages的检测器来说结构更复杂。

 

基于第一个实验的结论,作者进行了第二个实验--比较MiMo和SiSo这两种Encoder-Decoder方式。


实验结果如下图所示,MiMo的精度比SiSo更高,但推理速度慢了很多,且MiMo与SiSo的内存之比为134G vs 6G。

 c2a9c6e68b9f2ec84ab47a8aceb3061c.png


经过分析,SiSo精度低的原因是有两个:


(1) 与C5的特征感受野的匹配的尺度范围有限。


(2) 在单层通过稀疏anchor方式产生的positive anchor数量极其不平衡。

 

基于以上两个实验,作者提出不再使用多尺度融合,而是要扩大C5所能匹配的尺度范围,这样能在提高精度的同时,充分利用SiSo的速度和低内存的优点。所使用的方式就是对这两个问题进行改进。


Methods

 

提出Dilated Encoder来解决C5的尺度匹配范围的问题,提出Uniform Matching来解决单层positive anchors数量不平衡的问题。

 

Dilated Encoder


为方便读者理解,先补充一点说明,特征金字塔的一种方式就是FPN这种使用降采样来构建,另一种方式就是通过多支路使用不同空洞率的空洞卷积 (dilation convolution)来构建。


关于特征金字塔这种技术,在很多论文中提出了一些新的特征融合方式,在下一篇中将对特征金字塔进行技术总结,感兴趣的读者请关注公众号《CV技术指南》的技术总结部分。


在这里就是使用了第二种方式来构建特征金字塔,但有所不同的是,这里并不是使用多支路,而是将其串联,一条支路中使用四种空洞率的空洞卷积,看图更容易理解。

c1c430c5fb7af23087b2ea9d91c6dca3.png

Dilated Encoder由一个Projector和四个Residual Blocks组成,其中Residual Blocks中3x3卷积的空洞率是不一样的。

 

Uniform Matching

 

MiMo和SiSo产生的anchor的数量比为100K vs 5K,由于使用Max-IOU这种匹配方式,大的GT boxes会比小的GT boxes产生更多的positive anchor,这使得网络在训练过程中将更多的注意放在了大的 GT boxes,而忽视了小的。


因此Uniform Matching的方式是使用最近邻方式来匹配。具体方式是选择GT boxes最近的K个boxes, 这样的方式不管GT boxes大小可以匹配相同数量的Boxes。

 

conclusion


1.以608x608的输入,YOLOF 在2080Ti上以60fps的速度实现了44.3 mAP的精度。


2.与YOLO_v4相比,在提高了0.8mAP的基础上快了13%。


3.达到RetinaNet的精度,并比它快2.5倍。


4.仅用了一层特征就达到了DETR的精度,训练速度快了7倍。

 

相关文章
|
6月前
|
机器学习/深度学习 算法 内存技术
【CVPR2021】CondenseNetV2:用于深度网络的稀疏特征再激活
【CVPR2021】CondenseNetV2:用于深度网络的稀疏特征再激活
145 2
【CVPR2021】CondenseNetV2:用于深度网络的稀疏特征再激活
|
6月前
|
机器学习/深度学习 数据挖掘 计算机视觉
【论文速递】CVPR2021 - 基于自适应原型学习和分配的小样本分割
【论文速递】CVPR2021 - 基于自适应原型学习和分配的小样本分割
|
6月前
|
机器学习/深度学习 缓存 算法
【论文速递】CVPR2020 - CRNet:用于小样本分割的交叉参考网络
【论文速递】CVPR2020 - CRNet:用于小样本分割的交叉参考网络
|
机器学习/深度学习 PyTorch 算法框架/工具
【论文泛读】 ResNeXt:深度神经网络的聚合残差变换(ResNet的改进,提出了一种新的维度)
【论文泛读】 ResNeXt:深度神经网络的聚合残差变换(ResNet的改进,提出了一种新的维度)
【论文泛读】 ResNeXt:深度神经网络的聚合残差变换(ResNet的改进,提出了一种新的维度)
|
4月前
|
编解码 计算机视觉 网络架构
【YOLOv10改进- 特征融合NECK】BiFPN:加权双向特征金字塔网络
YOLOv10专栏探讨了目标检测的效率提升,提出BiFPN,一种带加权和自适应融合的双向特征金字塔网络,优化了多尺度信息传递。EfficientDet系列利用这些创新在效率与性能间取得更好平衡,D7模型在COCO测试集上达到55.1 AP。YOLOv8引入MPDIoU,结合BiFPN学习分支权重,提高检测精度。详情见[YOLOv10 创新改进](https://blog.csdn.net/shangyanaf/category_12712258.html)和相关文章。
|
5月前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv8改进 | Neck | 添加双向特征金字塔BiFPN【含二次独家创新】
💡【YOLOv8专栏】探索特征融合新高度!BiFPN优化版提升检测性能🔍。双向加权融合解决信息丢失痛点,统一缩放增强模型效率🚀。论文&官方代码直达链接,模块化教程助你轻松实践📝。立即阅读:[YOLOv8涨点全攻略](https://blog.csdn.net/m0_67647321/category_12548649.html)✨
|
6月前
|
机器学习/深度学习 编解码 自然语言处理
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
274 0
|
6月前
|
传感器 编解码 自动驾驶
即插即用 | Lite-FPN让CenterNet系列再涨4个点(3D检测也适用)
即插即用 | Lite-FPN让CenterNet系列再涨4个点(3D检测也适用)
212 0
|
6月前
|
机器学习/深度学习 算法 固态存储
MFDS-DETR开源 | HS-FPN多级特征融合+Deformable Self-Attention,再续DETR传奇
MFDS-DETR开源 | HS-FPN多级特征融合+Deformable Self-Attention,再续DETR传奇
808 0
|
6月前
|
存储 算法 自动驾驶
【论文速递】CVPR2022 - 用于语义分割的跨图像关系知识蒸馏
【论文速递】CVPR2022 - 用于语义分割的跨图像关系知识蒸馏