FastestDet:比yolov5更快!更强!全新设计的超实时Anchor-free目标检测算法(附源代码下载)
共 2078字,需浏览 5分钟
·
2022-07-09 20:43
本篇文章转自于知乎——qiuqiuqiu,主要设计了一个新颖的轻量级网络!
https://zhuanlan.zhihu.com/p/536500269 编辑:计算机视觉研究院
代码地址:https://github.com/dog-qiuqiu/FastestDet
01
概述
02
新框架算法
先说下FastestDet的几个重要特性:
单轻量化检测头
anchor-free
跨网格多候选目标
动态正负样本分配
简单的数据增强
下面我就一个个去详细讲下吧:
单轻量化检测头
这个是对网络结构上对算法模型进行优化,主要是提升算法运行速度,简化后处理步骤,大家可以先看下这块的网络结构:
其实多检测头设计的是为了适应检测不同尺度物体目标,高分辨率的检测头负责检测小物体,低分辨的检测头负责检测大物体,一种分而治之的思想。
我个人觉得根因在于感知野,不同尺度的物体所需要的感知野是不同的,而模型每层的感知野都是不一样的,包括FPN也是对不同感知野特征的汇总融合。这块单检测头我也是参考的YOLOF的思想,在网络结构中,采用类似inception的5x5分组卷积并行网络结构,期待能融合不同感知野的特征,让单个检测头也能适应检测不同尺度的物体。
Anchor-Free
原先的anchor-base算法在训练模型都需要对数据集进行anchor-bias的运算,anchor-bias可以理解为对数据集中标注物体的宽高进行聚类,得到一组先验宽高,网络在这组先验宽高的基础上去优化预测框的宽高。FastestDet采用的是anchor-free算法,模型是直接回归gt于特征图宽高的scale值的,是没有先验宽高。这种方法可以简化模型后处理。而且对于anchor-base算法每个特征图的特征点是对应N个anchor候选框的,而这种anchor-free每个特征图的特征点只对应一个候选框,所以在推理速度上也是有优势的。
跨网格多候选目标
这块还是借鉴了yolov5,不单单只把gt中心点所在的网格当成候选目标,还把附近的三个也算进行去,增加正样本候选框的数量,如下图所示:
动态正负样本分配
所谓的动态正负样本分配其实就是在模型训练过程去动态分配正负样本,这是有别于以前yolo-fastest的,原先yolo-fastest的anchor-bias设置好以后, 通过计算anchor-bias与gt宽高的scale,对scale卡固定阈值分配正负样本(参考yolov5的做法),而anchor-bias和gt在训练过程中都是不变的,所以正负样本分配在训练过程中也是不变的。
而在FastestDet的正负样本分配参考的ATSS,通过设置预测框与GT计算的SIOU的均值作为分配正负样本的阈值,假如当前预测框与GT的SIOU阈值大于均值,那么为正样本,反之异然。(为什么没有参考simota?那是因为在构建cost矩阵时,不同loss的权重还得调超参,懒的调了)
简单的数据增强
对于轻量级的模型数据增强要慎重,本来学习能力差,脑子不怎么好使,上来给难题做可不拉跨,所以采用简单的数据增强如随机平移和随机缩放,并没有采用moscia和Mixup。
03
实验结果
交流群
欢迎加入公众号读者群一起和同行交流,目前有美颜、三维视觉、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群
个人微信(如果没有备注不拉群!) 请注明:地区+学校/企业+研究方向+昵称
下载1:何恺明顶会分享
在「AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析
下载2:终身受益的编程指南:Google编程风格指南
在「AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!
下载3 CVPR2021 在「AI算法与图像处理」公众号后台回复:CVPR,即可下载1467篇CVPR 2020论文 和 CVPR 2021、CVPR2022 最新论文