YOLOv5模型压缩:综述
- Abstract
- Introduction
- 剪枝
-
- 基于ln-范数修剪模型
- Feature map activation
- Batch normalization scaling factor (BNSF)
- First-order derivative
- Mutual information
- Granularity of Pruning
-
- 非结构化剪枝
- 结构化剪枝
-
- 基于通道的修剪
- 基于滤波器的修剪
- 基于核的剪枝
- 关于剪枝的最新研究
- 量化
-
- 量化区间:均匀或非均匀
- 量化方案:QAT PTQ
- 量化部署方案
- 量化YOLOv5的最新研究
- 结论
- 剪枝挑战与未来方向
- 量化的挑战与未来
论文地址:https://arxiv.org/abs/2307.11904
文章末尾有相关论文链接~
Abstract
近年来,研究人员一直 致力于改进YOLO目标检测器。自其问世以来,已经推出了八个主要版本的YOLO,旨在提高其准确性和效率,尽管YOLO的明显优点使其在许多领域得到了广泛应用,但是资源有限的设备上部署他存在挑战。为了解决这个问题,开发了各种神经网络压缩方法,主要分为:网络剪枝、量化和知识蒸馏三大类
利用模型压缩方法的丰硕成果,如降低内存使用和推理时间等,使他们成为在硬件受限的边缘设备上部署大型神经网络时受到亲耐,甚至可以说是必要的方法。
通过这样做,我们识别出在适应YOLOv5的剪枝和量化压缩中存在的差距,并提供这一领域进一步探索的未来方向。在几个版本的YOLO中,我们特别选择了YOLOv5,因为他在文献中具有较新和较高的流行度的优秀权衡。
Introduction
作为一个基本问题,目标检测多年来一直是一个活跃的研究领域。目标检测 的主要目标是在给定的图像中识别和定位不同类别的感兴趣对象。目标检测是许多其他高级计算机视觉任务的基础,从语义分割到目标跟踪到活动识别,近年来,基于深度学习的方法,如卷积神经网络,在目标检测任务中取得了最先进的性能。由于计算能力和尖端算法的进步,目标检测变得更加准确,能够应用于广泛的实际应用。
与传统目标检测方法相比,使用CNNs可以减轻目标检测中特征提取、分类和定位的问题。通常,目标检测可以通过两种方法进行,即单阶段和双阶段。在前者中,算法直接预测对象的边界框和类别概率,而在后者中,算法首先生成一组区域建议,然后将这些建议分类为对象或背景。不同于Faster R-CNN [6]和R-FCN [12]作为双阶段目标检测方法,如YOLO [5]、SSD [13]、 EfficientDet [14]和RetinaNet [15]等单阶段方法通常使用一个全卷积神经网络(FCN)来检测对象的类 别和空间位置,而不需要中间步骤。
在不同的单阶段目标检测方法中,自2016年发布以来,YOLO一直受到了广泛关注。YOLO的主 要思想是将输入图像划分为一个网格单元,并针对每个单元预测边界框和类别概率。YOLO将目标检 测视为回归问题。此外,由于它使用单个神经网络进行目标检测和分类,因此可以同时优化这两个任 务,从而提高整体的检测性能。YOLOv1采用了一个简单的结构,其中包含24个卷积层和两个全连接 层,用于生成概率和坐标 [5]。
自发布以来,YOLO已经经历了多个改进和变体。2017年,YOLOv2(也称为YOLO9000)发布, 通过使用多尺度训练,锚点框,批归一化,Darknet-19架构和改进的损失函数等方式改进了性能 [16]。 其后,Redmon和Farhadi介绍了YOLOv3,它采用了特征金字塔网络,带锚点框的卷积层,空间金字 塔池化(SPP)块,Darknet-53架构和改进的损失函数 [17]。与之前的版本不同,YOLOv4由不同的 作者引入。A. Bochkovskiy等人利用CSPDarknet53架构,Bag-of-Freebies,Bag-of-Specials,mish激活函 数,Weighted-Residual-Connections(WRC),Spatial Pyramid Pooling(SPP)和Path Aggregation Network
(PAN)提高了YOLO的性能[18]。
2020年,Ultralytics推出YOLOv5,提供了五种不同大小的版本