作者单位:港大, 同济大学, 字节AI Lab, UC伯克利

文章目录

  • 论文以及源码获取
  • 论文题目
  • 参考文献
  • 1. 研究背景
  • 2. 贡献
  • 3. 相关工作
    • 3.1 DSConv
    • 3.2 MBConv
    • 3.3 SENet
  • 4. 主要内容
    • 4.1 Micro_YOLO
    • 4.2 Progressive Channel Pruning![在这里插入图片描述](https://img-blog.csdnimg.cn/a2d2985640b74b70b05f79a6bfc15741.png)
  • 5. 仿真分析
    • 5.1
    • 5.2
    • 5.3
    • 5.4
    • 5.5
  • 6. 论文总结

论文以及源码获取

论文下载:点击

论文题目

《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
《Micro-YOLO:探索目标检测压缩模型的有效方法》

参考文献

Hu L. and Li Y. (2021). Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model.In Proceedings of the 13th International Conference on Agents and Artificial Intelligence - Volume 2: ICAART, ISBN 978-989-758-484-8, pages 151-158. DOI: 10.5220/0010234401510158

1. 研究背景

深度学习模型在目标检测的性能上取得了重大突破。然而,在传统模型中,例如Faster R-CNN和YOLO,由于计算资源有限和功率预算紧张,这些网络的规模使其难以部署在嵌入式移动设备上。
➢现有方法
(1)量化 (2)剪枝 (3)知识蒸馏 (4)低秩分解
➢现有研究
(1)YOLO-lite:开发了YOLO-Lite网络,其中从YOLOv2-tiny中删除了批量归一化层以加速目标检测
(2)YOLO nano:Yolo nano创建了一个高度紧凑的网络YOLO-nano,它是一个基于YOLO网络的8位量化模型,并在PASCAL VOC 2007数据集上进行了优化。
➢本文目的
本文在不影响目标检测质量的情况下开发了一种高效轻量且快速的物体检测模型的方法。

2. 贡献

(一)提出了一种新的基于轻量级CNN的目标检测模型,即基于YOLOv3-Tiny的Micro-YOLO,它在保持检测性能的同时显着减少了参数数量和计算成本。
(二)设计渐进式通道级剪枝算法以最小化数量参数并最大化检测性能。
(三)与原始YOLOv3-tiny网络相比,所提出的Micro-YOLO网络将参数数量减少了3.46倍,乘法累加操作(MAC)减少了2.55倍,同时在COCO数据集上评估的mAP略微减少了0.7%。

3. 相关工作

3.1 DSConv


链接:https://arxiv.org/pdf/1901.01928v1.pdf

原理:将传统的卷积内核分解为两个组件来实现这一点。其中之一是只有整数值张量,不可训练,并根据预训练网络中浮点 (FP) 权重的分布进行计算。另一个组件由两个分布移位器张量组成,它们将量化张量的权重定位在模拟原始预训练网络分布的范围内:其中一个移动每个内核的分布,另一个移动每个通道。这些权重可以重新训练,使网络能够适应新的任务和数据集。

从原理可以知道他最重要的有两个组件,1.可变量化内核 (VQK)-浮点模型量化 2.改变 VQK 的分布以试图模仿原始卷积核的分布

DSConv 的总体目标是通过使用量化和分布偏移来模拟卷积层的行为。通过将浮点运算替换为整数运算,将卷积核中的内存使用量减少了 14 倍,并将运算速度提高了 10 倍。

3.2 MBConv


MBConv 结构主要由一个 1x1 的普通卷积(升维作用),一个 kxk 的 Depthwise Conv 卷积。k 的具体值主要有 3x3 和 5x5 两种情况,一个 SE 模块,一个 1x1 的普通卷积(降维作用),一个 Droupout 层构成。

3.3 SENet

4. 主要内容

4.1 Micro_YOLO


为了减小网络的大小,研究者探索了可选择的轻量级卷积层来替代YOLO网络中的卷积层Conv。MobileNet网络采用两个轻量级卷积层(a)DSConv和(b)MBConv。




其中k表示内核大小,Cin表示输入通道数,Cout表示输出通道数,W和H表示特征图的宽度和高度,α和β分别表示MBConv中的扩展因子和缩减因子。

4.2 Progressive Channel Pruning

在确定新提出的Micro-YOLO网络的架构后,研究者可以通过使用剪枝技术进一步减少权重参数。在提出的工作中,研究者采用了粗粒度剪枝,因为DSConv和MBConv层主要由1×1内核大小组成,这为细粒度剪枝留下了最小的空间。因此,研究者提出了一种渐进式剪枝方法来在修改后的网络中搜索“更薄”的架构,具体伪代码流程如图所示:首先我们会在修剪前评估mAP原始值和通道数,紧接着会重新计算新的通道数(每次训练降低1/16的通道数),然后网络被重新训练了20个epoch来重新评估新的mAP(第9-11行)来代替旧的mAP,直到新的mAP的大小比原始的mAP大小低0.5%的时候就结束,并返回修剪后的网络。

5. 仿真分析

5.1


如表1所示,我们计算不同所需参数的数量层类型和不同的输入通道用根据(2)-(7)相同的内核大小。请注意,输出通道的数量是输入通道数量的两倍。如最后两列所示表中,MBConv中使用的参数的数量DSConv层明显小于Conv层。

5.2


了解不同卷积的影响模型尺寸、计算成本和mAP的类型,我们将YOLOv3-tiny的Conv替换为我们提出的策略。表2显示了模型大小,计算由不同卷积组成的网络的代价在COCO数据集上求值的类型和mAP。作为如表所示,只有DSConv的网络层的模型尺寸和计算量要小得多与网络相比,成本由MBConv组成层。但是,使用MBConv层是错误的更有效地维护mAP,而DSConv可应用于减少参数的数量。因此,有必要在网络的Model Size和mAP之间选择一个最优的权衡。如表1和表2所示,在输入通道和卷积层数导致模型尺寸的增加。我们使用DSConv在第12层,MBConv在其余层因为第12层包含了最大的数量的参数。这就导致了模型大小降低了3.46 n,而mAP只退化了1.7%

5.3

内核的选择尺寸是提高mAP的关键。因此,我们选择第3,第5,第7,第9和第11层为YOLOv3-tiny检测部分前的层,探讨不同内核大小对其影响层。对于每一层,我们选择内核大小3 × 3 × 5 × 5,从而得到25=32种不同的排列和组合。为了拯救我们的训练每次实验我们训练20个纪元寻找这些排列的最佳组合和组合。如图4所示,在32种组合中,质量交织着3 × 3和5 × 5内核的网络尺寸是最好的。由此可见,这是最好的mAP是利用大小卷积核来实现的3、5、3、5、3分别在第3、第5、第7、第9、第11层。

5.4


如表3所示,当我们对2/16个通道执行修剪时,大多数卷积层不能进一步修剪。如果我们继续执行修剪操作,mAP 将开始显著降级。因此,表3所示的结果也证实了我们的猜想: 随着网络深度和卷积层通道数量的增加,卷积层对修剪的“容忍度”逐渐增加,使我们能够在更深的层(如第11层和第13层)修剪更多的通道。特别地,我们甚至在不减少 mAP 的情况下,删除了第13层中的6/16个通道,即384个通道。然而,在第15层,我们观察到一个异常情况,即1/16的通道数量不能被修剪。我们怀疑原因可能是这层离检测层太近了。

5.5


表4说明了该模型大小,计算成本,映射COCO数据集和FPS YOLOv3-tiny, YOLO-lite, YOLO-nano和Micro-YOLO。

6. 论文总结

在本文中,我们探讨了几种模型压缩提出了一种改进的目标检测方法基于YOLOv3-的微yolo体系结构很小。我们分析了几种类型的卷积层,如深度可分卷积(DSConv)以及与挤压和的反向瓶颈卷积激励块(MBConv),以确定最优层为我们的Micro-YOLO网络。我们也探讨在这些卷积中不同核大小的影响对Micro-YOLO性能的影响。此外,我们提出了一种新的渐进式通道修剪方法方法使参数的数量最小化计算成本和mAP略有降低原来的网络。微型yolo只需要2.56M参数和1.10GMAC计算实现32.4%的mAP和328帧的成本比原来的YOLOv3-微小的网络。应用修剪技术后,我们可以进一步减少参数的数量和mAP计算成本为1.92M和0.87GMAC的29.3%和357帧。我们也比较我们的工作与其他各种基于yolo的网络对象检测并取得了良好的效果。我们相信我们的方法压缩YOLOv3-Tiny可以高度适用于未来的版本YOLO或其他对象检测模型。

论文精度笔记(五):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》相关推荐

  1. 论文解读《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》

    论文:Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model  基于CNN的目标检测模 ...

  2. 论文阅读:Saliency-Guided Region Proposal Network for CNN Based Object Detection

    论文阅读:Saliency-Guided Region Proposal Network for CNN Based Object Detection (1)Author (2)Abstract (3 ...

  3. 论文阅读笔记(五)——狐猴识别系统:一种便于狐猴个体识别的面部识别系统

    论文阅读笔记(五)--狐猴识别系统:一种便于狐猴个体识别的面部识别系统 论文简介 论文中文翻译:狐猴识别系统:一种便于狐猴个体识别的面部识别系统 论文名称:<LemurFaceID: a fac ...

  4. 论文学习笔记(1):Efficient L0 resampling of point sets

    论文学习笔记(1):Efficient L0 resampling of point sets 本文出自2019年"Computer Aided Geometric Design" ...

  5. YoLo: You Only Look Once: Unified, Real-Time Object Detection译文

    Abstract摘要 We present YOLO, a new approach to object detection. Prior work on object detection repur ...

  6. 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

    论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...

  7. 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)

    论文原址:https://arxiv.org/pdf/1808.01244.pdf github:https://github.com/princeton-vl/CornerNet 摘要 本文提出了目 ...

  8. 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1904.02701.pdf github:https://github.com/OceanPang/Libra_R-CNN 摘要 相比模型的结构 ...

  9. 目标检测论文解读1:(RCNN解读)Rich feature hierarchies for accurate object detection...

    一.番外说明 大家好,我是小P,今天和大家一起学习目标检测领域的经典文章-RCNN,希望大家支持和喜欢.此外,对"目标检测/模型压缩/语义分割"感兴趣的小伙伴,欢迎加入QQ群 81 ...

最新文章

  1. python数字类型-Python数字类型介绍
  2. jmeter命令行压测
  3. oracle强制切换redolog组
  4. 潜藏中国30年,营收远超老干妈6倍,它才是真正的隐形辣酱冠军
  5. 双剑携手良师益友,学习机行业破局在望
  6. 安装程序无法创建新的系统分区也无法定位现有系统分区_不要再给硬盘胡乱分区了,这里有最方便安全的分区方法。...
  7. RRT算法原理和代码详解(快速扩展随机树)
  8. 系統封裝(4)--封裝系統(龍帝國封裝工具)
  9. faststone capture截图,怎么截不出图?关于FastStone Capture无法截图、FastStone Capture捕捉矩形区域之后没反应、
  10. 主流网站统计系统的评测
  11. android 各版本对应的API(sdk) Level以及中文名称
  12. 画以载道:艺术演变的动力与社会思潮的嬗变
  13. 注意了!朋友圈发一张照片,是如何泄露你的地址信息的?
  14. java解析html之HTMLparser初次尝试
  15. 人工智能-动物识别系统
  16. 成立大数据公司 新华三“数据引擎”要干些什么事?
  17. 图解十大经典机器学习算法入门
  18. linux嵌入式学习教程,浅析嵌入式Linux学习的八大步骤
  19. 女孩取名起名字:带染字的古风女孩名字
  20. [stm32] 一个简单的stm32vet6驱动的天马4线SPI-1.77寸LCD彩屏DEMO

热门文章

  1. 六旋翼农用喷药、航拍功能无人机设计
  2. 两发两收信道估计方法
  3. MATLAB GUI设计 多个选项卡/子页面
  4. echart基本使用
  5. 矩阵乘法精解!(一图胜千言)
  6. Qt QPainter鼠标绘制线条、矩形、多边形
  7. Excel里 第三方插件加载
  8. Maven之pom.xml与setting.xml配置文件详解
  9. 高性能服务器程序框架
  10. 鼎捷软件数字中国建设成果展亮相,赋能工业数字化转型