YOLOv4官方改进版来了!指标炸裂55.8% AP!Scaled-YOLOv4:扩展跨阶段局部网络
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
YOLOv4-large在COCO上最高可达55.8 AP!速度也高达15 FPS!YOLOv4-tiny的模型实现了1774 FPS!(在RTX 2080Ti上测试)
作者单位:YOLOv4原班人马(AlexeyAB等人)
papers: 公号后台回复 SYOLO 获取
code:
https://github.com/WongKinYiu/PyTorch_YOLOv4
1
摘要
我们展示了基于CSP方法的YOLOv4目标检测神经网络,可以上下缩放,并且适用于小型和大型网络,同时保持最佳的速度和准确性。本文提出了一种网络缩放方法,该方法不仅可以修改深度,宽度,分辨率,还可以修改网络的结构。
YOLOv4-large模型达到了最先进的结果:
在Tesla V100上以15 FPS的速度,MS COCO数据集的AP为55.4%(AP50为73.3%),而随着测试时间的增加,YOLOv4-large的模型达到了55.8% AP(73.2 AP50)。据我们所知,这是目前所有已发表作品中COCO数据集的最高准确性。
YOLOv4-tiny模型在RTX 2080Ti上以443 FPS的速度实现了22.0%的AP(42.0%AP50),而使用TensorRT,批处理大小= 4和FP16精度,YOLOv4-tiny的模型实现了1774 FPS。
2
本文思路
通过对目前最先进的物体检测器的分析,我们发现YOLOv4[1]的主干CSPDarknet53几乎匹配所有通过网络架构搜索技术得到的最优架构特征。
CSPDarknet53的深度、瓶颈比、龄期间宽度生长比分别为65、1和2。因此,我们开发了基于YOLOv4的模型缩放技术,提出了scale -YOLOv4。提出的缩放yolov4具有出色的性能,如下图所示。
scale - yolov4的设计过程如下
首先对yolov4进行了重新设计,提出了YOLOv4-CSP,然后基于onYOLOv4-CSP开发了scale - yolov4。
在提出的scale - yolov4中,本文讨论了线性缩放模型的上界和下界,并分别分析了小模型和大模型缩放时需要注意的问题。因此,我们能够系统地开发YOLOv4-large和yolov4 -tiny模型。Scaled-YOLOv4能够在速度和精度之间实现最好的平衡,能够在15 fps、30 fps和60fps的影片以及嵌入式系统上进行实时对象检测。
我们总结了本文的工作:
设计了一种针对小模型的强大的模型缩放方法,系统地平衡了浅层CNN的计算代价和存储带宽;
设计一种简单有效的大型目标检测器缩放策略;
分析各模型缩放因子之间的关系,基于最优组划分进行模型缩放;
实验证实了FPN结构本质上是一种一次性结构;
利用上述方法开发yolov4 - tiny 和 yolo4v4 -large。
3
模型缩放原则
3.1 General principle of model scaling
在设计有效的模型比例方法时,我们的主要原则是:当比例上升/下降时,我们希望增加/减少的定量成本越低/越高越好。在这一节中,我们将展示和分析各种常用的CNN模型,并试图了解它们在面对(1)图像大小,(2)层数,(3)通道数的变化时的定量代价。我们选择的cnn是ResNet, ResNext和Darknet。
或者是具有b基层通道的k层CNNs, ResNet层的计算是k∗{conv1×1,b/4 - conv3×3,b/4 - conv1×1,b}, ResNext层的计算是k∗{conv1×1,b/2 - gconv3×3/32,b/2 - conv1×1,b}。暗网层的计算量为k∗{conv1×1,b/2 - conv3×3,b}。将可用于调整图像大小、层数和通道数的缩放因子分别设置为:当这些比例因子发生变化时,FLOPs的相应变化见表1。
由表1可以看出,尺度大小、深度和宽度都会导致计算成本的增加。它们分别表现为平方增长、线性增长和平方增长。CSPNet可以应用于各种CNN架构,同时减少了参数和计算量。此外,它还提高了准确性,减少了推理时间。我们将它应用到ResNet、ResNeXt和Darknet中,观察计算量的变化,如表2所示。
从表2所示的图中可以看出,将上述CNNs转换为CSPNet后,新的架构可以有效地减少ResNet、ResNeXt和Darknet上的计算量(FLOPs),分别减少23.5%、46.7%和50.0%。因此,我们使用CSP-ized的模型作为执行模型伸缩的最佳模型。
3.2 Scaling Tiny Models for Low-End Devices
对于低端设备,设计模型的推理速度不仅受到计算量和模型大小的影响,更重要的是必须考虑外围硬件资源的限制。因此,在执行tiny模型缩放时,我们还必须考虑诸如内存带宽、内存访问成本(MACs)和DRAM流量等因素。为了适应上述因素的同时,我们的设计必须符合以下原则:
使计算资源的申请不超过O(whkb2):
轻量级模型不同于大型模型,其参数必须更高的利用效率以达到所需的精度与少量的计算。在进行模型缩放时,我们希望计算资源的申请尽可能的低。在表3中,我们分析了有效利用参数的网络,如DenseNet和OS-ANet的计算负荷。
最小化/平衡feature map的大小:
为了在计算速度上得到最好的折衷,我们提出了一个新的概念,即在CSPOSANet的计算块之间进行梯度截断。如果我们将原来的CSPNet设计应用到DenseNet或ResNet架构上,由于这两种架构的第j层输出是第1层到(j−1)层输出的积分,我们必须将整个计算块作为一个整体来处理。
由于OSANet的计算块与平面网结构相匹配,从计算块的任意层构造CSPNet都可以达到梯度截断的效果。我们利用该特性对基层的b通道和计算块生成的kg通道进行重新规划,并将其分割为通道数相等的两条路径,如表4所示。
在卷积后保持相同的通道数:
在评估低端设备的计算成本时,还必须考虑功耗,影响功耗的最大因素是内存访问成本(MAC)。通常一个卷积运算的MAC计算方法如下:
最小化卷积输入/输出(CIO):
CIO是一个可以测量DRAM IO状态的指示器。表5列出了OSA、CSP和我们设计的CSP OSANet的CIO。当kg > b/2时,提出的CSP OSANet可以获得最佳的CIO。
3.3 Scaling Large Models for High-End GPUs
由于希望在对CNN模型进行缩放后提高准确性并保持实时推理速度,所以在进行复合缩放时,必须在目标检测器众多的缩放因子中找到最佳的组合。通常,我们可以调整对象检测器的输入、主干和颈部的比例因子。表6总结了可以调整的潜在缩放因子。
图像分类与目标检测最大的区别在于,前者只需要识别图像中最大成分的类别,而后者需要预测图像中每个目标的位置和大小。在单级目标检测器中,利用与每个位置相对应的特征向量来预测该位置的目标类别和大小。更好地预测物体大小的能力基本上取决于特征向量的感受野。在CNN的建筑中,与感受野最直接相关的是stage。feature pyramid network (FPN)的架构告诉我们,更高的stage更适合预测大的物体。表7说明了感受野与几个参数之间的关系。
4
Scaled-YOLOv4 具体实现
4.1 CSP-ized YOLOv4
YOLOv4是为通用GPU上的实时目标检测而设计的。在本节中,我们将重新设计YOLOv4 toYOLOv4-CSP,以获得最佳的速度/精度取舍。
Backbone:
在CSPDarknet53的设计中,跨级处理的下采样卷积计算不包括在残差块中。因此,我们可以推断CSPDarknet每个阶段的计算量为whb2(9/4+3/4+5k/2)。由上面推导的公式可知,CSPDarknet stage只有在满足k >1的情况下,才会比Darknet stage有更好的计算优势。CSPDarknet53中每个阶段拥有的剩余层数分别为1-2-8-8-4。为了获得更好的速度/精度折衷,我们将第一个CSP stage转换为原始的Darknet残差层。
Neck:
为了有效地减少计算量,我们对YOLOv4中的PAN体系结构进行了CSP-ize。PAN体系结构的计算列表如图2(a)所示。它主要整合来自不同特征金字塔的特征,然后通过两组反向的暗网残留层,没有捷径连接。经过csp化,新的计算列表的架构如图2(b)所示。这个新的更新有效地减少了40%的计算量。
SPP:
SPP模块最初是插入在Neck第一个计算列表组的中间位置。因此,我们还将SPP模块插入到CSPPAN的第一个计算列表组的中间位置。
4.2 YOLOv4-tiny
YOLOv4-tiny是为低端GPU设备设计的,设计将遵循3.2节中提到的原则。
我们将使用PCB架构的CSPOSANet来构成YOLOv4的主干。我们设g=b/2为增长率,最终使其增长到b/2 +kg= 2bat。通过计算,我们得到k= 3,其结构如图3所示。对于每个阶段的通道数量和颈部部分,我们采用yolov3 -tiny的设计。
4.3 YOLOv4-large
YOLOv4-large是为云GPU设计的,主要目的是实现高精度的目标检测。我们设计了一个完全csp化的模型YOLOv4-P5,并将其扩展到YOLOv4-P6和YOLOv4-P7。YOLOv4-P5、YOLOv4-P6、YOLOv4-P7的结构如图4所示。我们设计了对输入大小#stage执行复合缩放,将每个阶段的深度尺度设为2^ds_i, ds设为[1,3,15,15,7,7,7]。
最后,我们进一步使用推断时间作为约束来执行额外的宽度缩放。
实验表明,当宽度缩放因子为1时,YOLOv4-P6可以在30帧/秒的视频中达到实时性能。对于YOLOv4-P7来说,当宽度缩放因子等于1.25时,它可以在15 fps的视频中达到实时性能。
5
实验结果
5.1 消融实验
CSP-ized
YOLOv4-tiny
YOLOv4-large
5.2 Scaled-YOLOv4对标基准
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3
在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
YOLOv4官方改进版来了!指标炸裂55.8% AP!Scaled-YOLOv4:扩展跨阶段局部网络相关推荐
- yolov4用1050ti_c++调用yolov4模型进行目标检测-使用yolov4官方接口
前言 yolo系列用c写的,在工程中的部署特别方便.4月份yolov4横空出世,之前试了试效果,精度确实有了很大的提升,AB大神nb.最近需要在C++项目中使用yolov4,尝试了opencv的调用( ...
- Scaled Yolov4论文解读
Scaled Yolov4 一.简介 本文提出了一种通过修改网络的深度,宽度,分辨率和网络结构的网络缩放方法.YOLOv4-large模型达到了当前state-of-the-art结果,在MS COC ...
- r型聚类典型指标_文献解读 | 缺陷和非缺陷型精神分裂症脑网络功能紊乱的共性和异性...
# 导读 精神分裂症是一种高度异质性疾病,缺陷型精神分裂症(DS)与非缺陷型精神分裂症患者(NDS)存在症状上的差异.缺陷型精神分裂症的阴性症状具有原发性和持久性的特点.早期影像学研究报道了DS的 ...
- CVPR 2021 Oral | 55.1 AP!VFNet:全面提升密集目标检测性能
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文转载自:AI人工智能初学者 VarifocalNet: An IoU-aware Dense Objec ...
- 深度学习-目标检测评估指标P-R曲线、AP、mAP
基本概念 P-R曲线中,P为图中precision,即精准度,R为图中recall,即召回率. Example 下面通过具体例子说明. 首先用训练好的模型得到所有测试样本的confidence sc ...
- 在Hiweed 0.55 上安装辉煌04(增强)--极速III型 网络摄像头
我用的网络摄像头是 极速公司的产品,135元人民币. Windows 下驱动为 极速三型. 芯片可能是301P 的. 首先下载驱动. 网址: http://mxhaard.free.fr/down ...
- 一文读懂YOLOv5 与 YOLOv4
作者:William 来源:自动驾驶全栈工程师知乎专栏 链接:https://www.zhihu.com/people/william.hyin/columns YOLO之父Joseph Redmon ...
- 【经典论文解读】YOLOv4 目标检测
前言 YOLO是一种目标检测方法,它的输入是整张图片,输出是n个物体的检测信息,可以识别出图中的物体的类别和位置.YOLOv4是在YOLOv3的基础上增加了很多实用的技巧,使得速度与精度都有较大提升. ...
- 目标检测算法YOLOv4详解
YOLOv4是精度速度最优平衡, 各种调优手段是真香,本文主要从以下几个方面进行阐述: YOLOv4介绍 YOLOv4框架原理 BackBone训练策略 BackBone推理策略 检测头训练策略 检测 ...
最新文章
- OpenCV学习笔记之掩码操作
- python解释器下安装z3_再次:在Windows上安装Z3 Python
- 2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017)
- 是银弹吗?业务基线方法论
- 如何提高个人的职涯“本钱”
- nodpad 设置护眼_Notepad++更改背景颜色(护眼色)
- 国家广电总局:立即停播“椰树牌椰汁”等部分版本广告
- flask 启动服务
- Leetcode每日一题:剑指offer22.lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof(链表中倒数第k个节点)
- Deep Cosine Metric Learning for Person Re-Identification
- 彩色文档转换为黑白色pdf文档
- Python 中把 Word 文档转换成 PDF
- 核磁共振测量动物脂肪、水分、瘦肉、代谢
- uniapp实现下拉加载更多 u-loadmore
- np.random.seed()函数
- 第四章 资本主义制度的形成及其本质
- 没钱去巴西? 谷歌地图街景带你游览比赛场馆
- 恋物志(一):网红带货,宠主追捧,2021年宠物智能硬件会火吗?
- Camtasia2023版本软件电脑自带录屏功能使用教程
- Excel公式中的countif 和 conutifs 和sumproduct