比yolo-fastest更快!更强!全新设计的超实时Anchor-free目标检测算法

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

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

极市导读

 

本文将介绍一个针对计算资源紧缺的ARM平台设计的算法——FastestDet。该算法相比于yolo-fastest单核耗时减少了10%,mAP0.5的指标要比yolo-fastestv2提升接近1个点。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

1. 测试指标

表中耗时是用NCNN测的,测试平台为RK3568 ARM-CPU,FastestDet相比于yolo-fastest单核耗时减少了10%,mAP0.5的指标要比yolo-fastestv2提升接近1个点。

2. 概要

这次本来是打算把yolo-fastestV2代码重构下(本来yolo-fastestV2的代码就临时东拼西凑写的),性能在优化下,结果改着改着就面目全非了,和yolo八杆子打不着了,再叫yolo-fastestV2.5或者V3就容易误导大家了,干脆叫个新名字FastestDet吧。
其实算法的代码框架半年前就写完了,但是一直拖到现在才完善发布,主要是搞这个轻量级目标检测这个算是自己业余爱好,自己平日工作不是搞这类算法的,所以就平日下班没事儿做做实验,学习学习看看论文,探索优化(其实根本原因是前段时间沉迷游戏,占着家里炼丹的炉子没法炼丹)

3. 算法定位

FastestDet是设计用来接替yolo-fastest系列算法,相比于业界已有的轻量级目标检测算法如yolov5n, yolox-nano, nanoDet, pp-yolo-tiny, FastestDet和这些算法压根儿不是一个量级,FastestDet无论在速度还是参数量上,都是要小好几个数量级的(不要在拿int8的模型和我fp32的模型比体积了,不公平),但是精度自然而然也比不过。
FastestDet是针对计算资源紧缺的ARM平台设计的,突出单核效能,因为在实际业务场景中,不会把所有CPU资源都给推理框架做模型推理的,假如说你想在例如树莓派, RK3399, RK3568去跑实时目标检测,那么FastestDet是比较好的选择,或者移动端上不想占用太多cpu资源,也可以去用单核并设置cpu sleep去推理FastestDet,在低功耗的条件下运行算法。

4. 算法特性

先说下FastestDet的几个重要特性: 1.单轻量化检测头 2.anchor-free 3.跨网格多候选目标 4.动态正负样本分配 5.简单的数据增强 下面我就一个个去详细讲下吧:

4.1 单轻量化检测头

这个是对网络结构上对算法模型进行优化,主要是提升算法运行速度,简化后处理步骤,大家可以先看下这块的网络结构:
其实多检测头设计的是为了适应检测不同尺度物体目标,高分辨率的检测头负责检测小物体,低分辨的检测头负责检测大物体,一种分而治之的思想。我个人觉得根因在于感知野,不同尺度的物体所需要的感知野是不同的,而模型每层的感知野都是不一样的,包括FPN也是对不同感知野特征的汇总融合。
这块单检测头我也是参考的YOLOF的思想,在网络结构中,采用类似inception的5x5分组卷积并行网络结构,期待能融合不同感知野的特征,让单个检测头也能适应检测不同尺度的物体。

4.2 Anchor-Free

原先的anchor-base算法在训练模型都需要对数据集进行anchor-bias的运算,anchor-bias可以理解为对数据集中标注物体的宽高进行聚类,得到一组先验宽高,网络在这组先验宽高的基础上去优化预测框的宽高。FastestDet采用的是anchor-free算法,模型是直接回归gt于特征图宽高的scale值的,是没有先验宽高。这种方法可以简化模型后处理。而且对于anchor-base算法每个特征图的特征点是对应N个anchor候选框的,而这种anchor-free每个特征图的特征点只对应一个候选框,所以在推理速度上也是有优势的。

4.3 跨网格多候选目标

这块还是借鉴了yolov5,不单单只把gt中心点所在的网格当成候选目标,还把附近的三个也算进行去,增加正样本候选框的数量,如下图所示:
球球猫在努力拉粑粑

4.4 动态正负样本分配

所谓的动态正负样本分配其实就是在模型训练过程去动态分配正负样本,这是有别于以前yolo-fastest的,原先yolo-fastest的anchor-bias设置好以后, 通过计算anchor-bias与gt宽高的scale,对scale卡固定阈值分配正负样本(参考yolov5的做法),而anchor-bias和gt在训练过程中都是不变的,所以正负样本分配在训练过程中也是不变的。而在FastestDet的正负样本分配参考的ATSS,通过设置预测框与GT计算的SIOU的均值作为分配正负样本的阈值,假如当前预测框与GT的SIOU阈值大于均值,那么为正样本,反之异然。(为什么没有参考simota?那是因为在构建cost矩阵时,不同loss的权重还得调超参,懒的调了)

4.5 简单的数据增强

对于轻量级的模型数据增强要慎重,本来学习能力差,脑子不怎么好使,上来给难题做可不拉跨,所以采用简单的数据增强如随机平移和随机缩放,并没有采用moscia和Mixup。

5. 测试效果图 



参考
项目源代码: https://github.com/dog-qiuqiu/FastestDet


公众号后台回复“项目实践”获取50+CV项目实践机会~

△点击卡片关注极市平台,获取 最新CV干货
极市干货
最新数据集资源 医学图像开源数据集汇总(二)
技术解读 一文打尽NMS技术的种种这是一篇对YOLOv7的详细解读和剖析
极视角动态: 青岛日报专访|极视角陈振杰:创业的每一个决定都要经得起逻辑推演 启动报名|2022GCVC全球人工智能视觉产业与技术大会,7月22日青岛见!

极市原创作者激励计划 #


极市平台深耕CV开发者领域近5年,拥有一大批优质CV开发者受众,覆盖微信、知乎、B站、微博等多个渠道。通过极市平台,您的文章的观点和看法能分享至更多CV开发者,既能体现文章的价值,又能让文章在视觉圈内得到更大程度上的推广。

对于优质内容开发者,极市可推荐至国内优秀出版社合作出书,同时为开发者引荐行业大牛,组织个人分享交流会,推荐名企就业机会,打造个人品牌 IP。

投稿须知:
1. 作者保证投稿作品为自己的 原创作品。
2. 极市平台尊重原作者署名权,并支付相应稿费。文章发布后,版权仍属于原作者。
3.原作者可以将文章发在其他平台的个人账号,但需要在文章顶部标明首发于极市平台

投稿方式:
添加小编微信Fengcall(微信号:fengcall19),备注:姓名-投稿
△长按添加极市平台小编

点击阅读原文进入CV社区

收获更多技术干货

登录查看更多
0

相关内容

Yolo算法,其全称是You Only Look Once: Unified, Real-Time Object Detection,You Only Look Once说的是只需要一次CNN运算,Unified指的是这是一个统一的框架,提供end-to-end的预测,而Real-Time体现是Yolo算法速度快。
CVPR 2022 | 用于目标检测的双加权标签分配
专知会员服务
7+阅读 · 2022年3月26日
CVPR2022 | 一种适用于密集场景的渐进式端到端目标检测器
【AAAI2022】锚框排序知识蒸馏的目标检测
专知会员服务
25+阅读 · 2022年2月10日
【AAAI2022】锚点DETR:基于transformer检测器的查询设计
专知会员服务
12+阅读 · 2021年12月31日
浙大《深度学习低样本目标检测》综述论文
专知会员服务
73+阅读 · 2021年12月13日
重邮高新波等最新《少样本目标检测算法》综述论文
专知会员服务
32+阅读 · 2021年11月2日
专知会员服务
47+阅读 · 2021年5月21日
专知会员服务
29+阅读 · 2021年4月5日
专知会员服务
15+阅读 · 2021年4月3日
【NeurIPS 2020】一种端到端全自由度抓取姿态估计网络简介
专知会员服务
19+阅读 · 2020年10月18日
目标检测:Anchor-Free时代
极市平台
42+阅读 · 2019年4月17日
FCOS: 最新的one-stage逐像素目标检测算法
极市平台
15+阅读 · 2019年4月14日
CVPR2018 目标检测算法总览(最新的目标检测论文)
极市平台
21+阅读 · 2018年12月21日
ECCV 2018 | CornerNet:目标检测算法新思路
极市平台
13+阅读 · 2018年8月11日
一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
七月在线实验室
11+阅读 · 2018年7月18日
期待已久的—YOLO V3
计算机视觉战队
20+阅读 · 2018年4月13日
SSD多盒实时目标检测教程
论智
13+阅读 · 2018年4月5日
YOLO算法的原理与实现
机器学习研究会
42+阅读 · 2018年1月19日
国家自然科学基金
9+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2010年12月31日
Arxiv
0+阅读 · 2022年9月14日
Connection Reduction of DenseNet for Image Recognition
Arxiv
0+阅读 · 2022年9月12日
Tracking Small and Fast Moving Objects: A Benchmark
Arxiv
0+阅读 · 2022年9月9日
Arxiv
11+阅读 · 2019年4月15日
VIP会员
相关VIP内容
CVPR 2022 | 用于目标检测的双加权标签分配
专知会员服务
7+阅读 · 2022年3月26日
CVPR2022 | 一种适用于密集场景的渐进式端到端目标检测器
【AAAI2022】锚框排序知识蒸馏的目标检测
专知会员服务
25+阅读 · 2022年2月10日
【AAAI2022】锚点DETR:基于transformer检测器的查询设计
专知会员服务
12+阅读 · 2021年12月31日
浙大《深度学习低样本目标检测》综述论文
专知会员服务
73+阅读 · 2021年12月13日
重邮高新波等最新《少样本目标检测算法》综述论文
专知会员服务
32+阅读 · 2021年11月2日
专知会员服务
47+阅读 · 2021年5月21日
专知会员服务
29+阅读 · 2021年4月5日
专知会员服务
15+阅读 · 2021年4月3日
【NeurIPS 2020】一种端到端全自由度抓取姿态估计网络简介
专知会员服务
19+阅读 · 2020年10月18日
相关资讯
目标检测:Anchor-Free时代
极市平台
42+阅读 · 2019年4月17日
FCOS: 最新的one-stage逐像素目标检测算法
极市平台
15+阅读 · 2019年4月14日
CVPR2018 目标检测算法总览(最新的目标检测论文)
极市平台
21+阅读 · 2018年12月21日
ECCV 2018 | CornerNet:目标检测算法新思路
极市平台
13+阅读 · 2018年8月11日
一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
七月在线实验室
11+阅读 · 2018年7月18日
期待已久的—YOLO V3
计算机视觉战队
20+阅读 · 2018年4月13日
SSD多盒实时目标检测教程
论智
13+阅读 · 2018年4月5日
YOLO算法的原理与实现
机器学习研究会
42+阅读 · 2018年1月19日
相关基金
国家自然科学基金
9+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2010年12月31日
相关论文
Top
微信扫码咨询专知VIP会员