一种适合无人机部署的轻量级YOLO剪枝模型
王睿旸,施欣妤,陈伟,陆科名,陈曦珑
(上海市刑事科学技术研究院,上海200080)
摘要:计算复杂度一直制约着目标检测算法在边缘端设备中的部署,利用模型剪枝方法,对流行的目前检测算法YOLOv3进行了精简,提出了一种适合于无人机部署的目标检测模型,在几乎不降低模型精度的前提下大大降低了模型的参数量和浮点计算量。通过L1正则化、几何中心匹配、通道剪枝、层剪枝、知识蒸馏等方法,对YOLOv3算法进行了剪枝和优化。
关键词:目标检测;稀疏训练;通道剪枝;知识蒸馏
1概述
在机器视觉领域,目标检测是指从给定图像中提取出有效目标区域。近年来,目标检测技术已经在监控、搜寻、追踪、质检等任务中取得了广泛的应用,极大地提高了这些任务的执行效率,降低了人力成本。在无人机巡查、自动驾驶等场景中,目标检测的部署需求也迅速增长。实际应用中目标检测算法通常部署在云服务器端或者边缘计算设备端,目前这两种部署方式都还存在一些问题。在云端部署场景中,云服务器往往需要同时处理多个视频流,这对云服务器的内存和计算力都提出了很高的要求。在一些实时性要求高
的边缘计算的场景中,边缘计算设备的内存和计算力往往不能支撑目标检测算法实时运算,尤其是在手机、无人机平台等依赖电池供电的边缘计算设备中,目标检测算法的功耗也是很大问题。
以卷积神经网络(Convolutional Neural Networks, CNN)为基础的方法由于其出的性能,已经成为目标检测算法的主流方法。近些年来,很多基于CNN的目标检测算法涌现出来,在实际应用中最受欢迎的是YOLOv3目标检测模型。虽然在检测速度和精度方面表现都很优异,但大规模部署时,YOLOv3模型仍需要非常大的内存和计算力来保障运行,在无人机平台等边缘计算设备中,大内存占用和计算开销还带来大功耗。因此,如何在不明显牺牲精度的前提下大幅降低算法的参数量和浮点计算量,在实际应用非常具有研究价值。近年来,模型剪枝、知识蒸馏等方法已经在一些计算机视觉、自然语言处理任务中取得了不错的效果,降低了相关模型的计算量,提升了模型的实际应用价值。
使用模型剪枝和知识蒸馏的方法,对YOLOv3模型进行了简化。神经网络模型分为很多层,层间通过通道连接,具体连接方式通过权重参数实现,模型剪枝的思想是剪除模型中对输出“贡献”较低的权重参数,想要尽可能地增大剪枝比例,就要尽可能多地使模型中参数成为低“贡献”参数,通过对模型参数施加L1正则化使得YOLOv3模型的网络权重参数的分布更加稀疏,使得更多的参数趋于零。为了使剪除参数更精确,同时还采用几何中心匹配的方式进行剪除,剪除与各层几何中心距离较近的参数。在模型剪枝中,不仅使用通道剪枝,还使用了层剪枝,即将低“贡献”的层直接剪除。将正常训练的复杂模型作为“教师网络”、剪枝得到的精简模型作为“学生网络”,使用知识蒸馏的方法对剪枝后的模型进行微调,得
到一个小型的目标检测模型。在实际数据集中评估了这个小型的目标检测模型,相比于YOLOv3模型,参数量降低94.8%、浮点计算量降低了76.4%、模型大小降低94.3%,推断速度大幅提升。
2算法设计
将模型剪枝与知识蒸馏应用到目标检测中,对YOLOv3目标检测模型进行精简。神经网络模型性能的提升通常会伴随者网络深度的增加,这意味着更大的计算开销和能耗。在实际应用中,往往会对模型进行压缩,典型的模型压缩方法就是模型剪枝。在大型神经网
基金项目:获上海市公安局科学技术发展基金项目(编号:2019012)资助。
作者简介:王睿旸,男,学生,研究方向:人工智能技术应用;施欣妤,学生;陈伟,硕士;陆科名,硕士;陈曦珑,学士
。
络中,各个节点的权重不同,对模型的“贡献”也不
同,剪除这些节点对模型性能的影响很小,计算开销却
可以大大降低。模型剪枝正是基于这种目的,综合使用
基于L1正则化因子和基于几何中心欧式距离的“贡献”
评价方法,尝试将网络小型化,达到模型精度和速度的
最优权衡。将层剪枝与通道剪枝相结合,这样有助于获
得更高的剪枝比例、得到参数量和浮点计算量更小的模 型,并在剪枝后微调部分引入了知识蒸馏策略,这样能
够获得更好的微调效果,减少剪枝造成的模型精度损 失。模型的训练步骤如图1所示。
稀疏训练
正常训练 稀疏训练 剪枝 蒸馏微调
初始模型 YOLOv3 稀疏模型 剪枝模型 精简模型 最终模型
图1剪枝流程示意图
2.1 YOLOv3提出的模型是基于YOLOv3模型改进得到的,YOLOv3
是YOLO (You Only Look Once)系列目标检测算法中的
第3版。相比之前的算法,第1, YOLOv3采用了一个 叫Darknet 的新的骨干网络,Darknet 采用了类似ResNet
的跳层连接方式,改善了骨干网络的特征提取能力;第2,
YOLOv3使用了多个特征图进行预测,针对小目标,
YOLOv3的精度有显著提升;第3, YOLOv3用交叉熵 损失作为类别损失,当预测的目标类别很复杂的时候, 这种损失函数效果更好。2.2稀疏训练
在正常训练的神经网络模型中,模型中的参数权重 的分布是高熵的,总体上趋近于均匀分布或者高斯分
布,这是不利于模型剪枝的,因为低权重的参数占比很 低。因此,在网络训练时对于每一个参数都引入了一个
缩放因子与参数对应通道的输出相乘,缩放因子的数值 由训练得到,代表此参数通道对模型结果的“贡献”。
在卷积神经网络中,批归一化方法被广泛使用,直接使
用其比例因子作为缩放因子。为了获得更加稀疏的缩放
因子,对其施加了 L1正则化,在应用L1正则化时对其
进行了平滑以获得更好的鲁棒性。2.3通道剪枝与层剪枝
主要使用了通道剪枝和层剪枝两种模型剪枝方法。
通道剪枝的流程为第一步根据稀疏训练后的缩放因子剪
枝,第二步根据几何中心距离进行二次剪枝。对于第一
步,先根据需求设定全局剪枝率,然后根据缩放因子进 行排序,根据设定的全局剪枝率来剪除排序靠后的通道
权重参数,对于Darknet 网络中的每组“捷径连接” (shortcut),将相连的各卷积层的剪枝界线取并集,用合
并后的界线进行剪枝,剪枝的同时对每一个层的最少保
留通道数做了限制。为了降低剪枝时的精度损失,对激
活偏置进行了后处理,将层中的激活偏置传给后来层,
随后将其置零。对于第二步,对于同一层的通道,先计
算各通道的几何中心, 然后计算各通道与几何中心的欧
式距离,靠近几何中心的通道“贡献”小,根据阈值剪
除这些通道。层剪枝实在通道剪枝策略基础上衍生出来
的,针对每一个“捷径连接”的前一层进行评估,对其
缩放因子的均值进行排序, 由小到大进行层剪枝。 为保 证YOLOv3结构的完整性,这里每剪一个“捷径连接”,
会同时剪掉一个它前面的两个卷积层。在此只考虑剪主
干中的“捷径连接”。2.4微调与知识蒸馏
提高剪枝比例会导致模型精度下降,通常情况下可
以通过微调来部分回复这部分精度损失。微调的方法一
般方法是直接使用训练集对模型进行再训练,采用知识
蒸馏的方法对剪枝后模型进行微调。知识蒸馏是一种效
果非常好的模型压缩方法,已经广泛应用于工业界,其
核心思想是通过迁移知识,从而通过训练好的大模型得 到更加适合推理的小模型,具体方法使是通过引入与
“教师”网络的输出作为总损失的一部分,以诱导“学
生”网络的训练,使得“学生”网络的输出更接近于 “教师”网络,实现知识迁移,在结构相似的情况下这
种方法的效果尤为明显。“教师”网络的模型参数量和
计算开销通常大于“学生”网络,相应地,其推理精度
也通常优于“学生”网络,且“教师”网络推理精度越 高,越有利于“学生”网络的学习。应用在YOLO 中的
蒸馏模型如图2所示。对于模型中的分类和回归网络的
蒸馏,采取了不同的策略。
134 2021.1
电圈第程技巧与维討
■丿
3.2实验模型和对照模型对于分类网络的蒸馏,使用正常训练的YOLOv3网
络作为“教师”网络,而剪枝后的模型作为“学生”网络,训练样本先输入“教师”网络,“学生”网络以此样本作为输入,以“教师网络”输出的概率分布作为样本标签进行训练,这样就可以使“学生”网络的输出分布趋近于“教师”网络。为了使“学生”网络在训练时接受到更多的信息量,在网络最后的分类层引入蒸馏温度T,在训练“学生”网络的时候,可以使用较高的蒸馏温度T使得“教师”网络输出的分布更平缓,携带更多的信息量,让“学生”网络更容易学习,在训练结束以后再使用正常的温度T=1来进行推断。
对于回归网络的蒸馏,分别计算“学生”和“老师”相对真实标签的差别,如果“学生”更远,“学生”会向真实标签学习,而不是向“老师”的输出学习。“教师网络”提供的知识包括中间特征层的中间层的Hint知识、分类层的知识、回归层的知识,为了确保“学生”网络学习到这些知识,学生”网络的优化目标由Hint层的L2损失、分类损失以及回归损失组成。Hint学习需要计算“教师”网络与“学生”网络中间层输出的特征图之间的差别,并且在“学生”网络中需要添加可学习的适配层,以确保对应的层输出的特征图与教师网络输出的Hint维度一致。
2.5迭代
模型剪枝的方法需要根据具体需求经验性地确定剪枝比例以获得精度和速度之间的最佳权衡,这种效果往往不是一步就能达到的,迭代渐近地进行“稀疏训练-剪枝-蒸馏微调”这一过程来趋近最佳结果。
正则化网络3实验
为了评估提出方法的有效性,在开源无人机视角数据集VisDrone-Det上做了测试。
3.1数据集
VisDrone-Det数据集由天津大学机器学习与数据挖掘实验室AISKYEYE队伍负责收集,全部基准数据集由无人机捕获,采集于中国14个城市,包括288个视频片段,总共包括261908帧和10209个静态图像。这些帧由260多万个常用目标(如行人、汽车、自行车和三轮车)的手动标注框组成。因为数据集是由无人机拍摄而来,行人和远景的物体的标注框就非常小,这对模型的精度提出了很大的挑战°本实验主要使用VisDrone-Det数据集中应用于目标检测的部分°
实验对象分为实验组和对照组,实验组为提出的剪枝的YOLOv3模型,对照组为YOLOv3模型以及一个基于YOLOv3的剪枝模型——SlimYOLOv3°
(1)基准模型YOLOv3:本实验对比的基准模型为一个流行的pytorch版本YOLOv3-SPP开源实现,其权重为YOLO官方提供的Darknet权重。
(2)对照模型SlimYOLOv3:SlimYOLOv3是一个应用于无人机场景的YOLOv3剪枝模型,主要实现方式是采用酌参数对权重进行稀疏训练并进行通道剪枝。
(3)实验模型:实验模型即工作得到的模型,该模型是在SlimYOLOv3的基础上进行改进,扩展了评价权 重参数“贡献”的方法,对激活偏移值添加了处理,降低剪枝时的精度损失,同时应用层剪枝和通道剪枝,并采用知识蒸馏对剪枝后的模型进行精度恢复。
3.3实验步骤
在实验中,提出的YOLOv3模型中,非极大值抑制(Non-Maximum Suppression,NMS)方法使用的是TorchVi-sion提供的NMS方法,而对照组中的模型实现方法采用的是模型作者自己实现的方法,实验中所有模型的目标置信度阈值均为0.001,所有非极大值抑制阈值均为0.5°实验的训练平台为单张Nvidia Tesla V100GPU,测试平台为单张Nvidia Titan XP,所有模型的输入图像尺寸为416*416°
(1)正常训练:正常训练对知识蒸馏有帮助,在文中是必要的。实验采用YOLO官方权重文件来初始化模型,学习率设为0.001,批样本量大小为64,训练轮数为100°
(2)稀疏训练:稀疏因子s设为0.005,训练过程中恒定不变,训练轮数为300°
(3)剪枝:同时进行层剪枝和通道剪枝,通道剪枝率设为85%,剪去12个“捷径连接”(shortcut),共剪去36
层。
(4)微调:微调采用知识蒸馏的方法,“教师”网络为正常训练的模型,“学生”网络为剪枝后的模型,批样本量大小为32,训练轮数为100°为了体现文中采用的知识蒸馏微调策略的有效性,实验还对剪枝后的模型进行了普通策略的微调,训练轮数为100,批样本量大小为64°
3.4评价标准
实验只要关注模型的精度和速度以及模型大小
、
参数量、浮点计算量,实验精度的考察指标为交并比
(Intersection over Union, IoU)为 0.5 处的平均精度值
(mean Average Precision, mAP),模型速度的考察指标为
模型推断时的每秒帧率(Frames Per Second, FPS),模
型浮点计算量单位为BFLOPS,其意义为十亿次浮点运 算(Billion Float Operations)o
3.5实验结果
表1训练、剪枝、微调得到的各模型在VisDrone-Det
数据集上的测试结果
模型参数量
BFLOPS 模型大小
mAP FPS 正常训练模型62.6M 65.71231MB 0.16520稀疏训练模型
62.6M 65.71231MB 0.154
20
剪枝模型 3.26M 15.513.2MB 0.15358正常微调模型 3.26M 15.513.2MB 0.160
58蒸馏微调模型
3.26M
15.5
13.2MB
0.165
58
工作经过以上实验步骤,分别得到了正常训练的模
型、稀疏训练的模型、剪枝剪层的模型以及蒸馏微调后
的模型,各个模型实测的性能如表1所示。可以看出,
相对于正常训练的模型,稀疏训练策略能够有效地使模
型稀疏化,但这也付出了精度降低的代价,剪枝后精度
进一步降低。然后,通过知识蒸馏的微调策论,模型很
快恢复了检测精度,使用的知识蒸馏微调策略实际应用
效果非常好,知识蒸馏的微调策略对于精度恢复的效果 优于普通微调策略。微调过程中的平均精度值与分类召 回率随着训练轮数变化如图3所示,提出的知识蒸馏微 调策略收敛更快、最终达到的精度和召回率都优于普通
微调策略。
训练轮数
训练轮数
图3普通微调策略与知识蒸馏微调策略平均精度值
与分类召回率效果对比图
微调之后的得到了最终的模型,提出的模型与对
照模型的性能对比如表2所示。表2中的YOLOv3-SPP
模型为YOLOv3官方项目收录的一个改进版,SlimY-
OLOv3-50为SlimYOLOv3作者给出的50%通道剪枝的
模型,SlimYOLOv3-90 为 SlimYOLOv3 作者给出的 90%
通道剪枝的模型,模型-85-12为本文工作按照上述方
法进行85%通道剪枝以及12层层剪枝的模型。表2中 YOLOv3-SPP 模型及模型-85-12模型的测试结果为工
作在本实验平台上的实测,SlimYOLOv3-50及SlimY-
OLOv3-90模型测试结果为SlimYOLOv3的理论数据。
由于SlimYOLOv3论文没有公开训练好的模型,工作未
能在本实验环境中实测SlimYOLOv3的FPS,所以表2
中没有列出SlimYOLOv3的FPS 。提出的剪枝策略训练
出的模型,在参数量、模型大小、精度方面都优于
SlimYOLOv3模型,对比YOLOv3-SPP,在模型精度不
降低的前提下,模型参数量降低94.8%、模型大小降低 94.3%、推断速度大幅提升。
表2 YOLOv3、SlimYOLOv3和剪枝模型在
VisDro n e-Det 数据集上的测试结果
模型
参数量
模型大小
mAP FPS YOLOv3-SPP 62.6M 231MB 0.16521
SlimYOLOv3-5020.8M 79.6MB
0.157-SlimYOLOv3-90
8M 30.6MB
0.145-
模型-85-12 3.26M
13.2MB 0.165
58
4结语
从实验结果看,工作从参数量、浮点计算量上比
YOLOv3-SPP 小很多,推理速度快很多,同时精度几乎
完全相同,对比SlimYOLOv3,精度和参数量都优于
SlimYOLOv3o 无人机作为未来监督巡检的重要手段,
受限于电池容量,对应用算法的计算速度及内存及功耗
要求都很高,在不降低精度情况下将YOLOv3-SPP 参数
量压缩95%,这意味着更快的运算速度以及更低的计算
功耗及内存功耗,有助于推动无人机在行政执法中的应
用,从立体的维度提升调查执法效率。
参考文献
[1] Yihui He, Xiangyu Zhang, and Jian Sun. Channel prun
ing for accelerating very deep neural networks. In Pro
ceedings of the IEEE International Conference on
Computer Vision, 2017: 1389-1397.
[2] Zehao Huang and Naiyan Wang. Data-driven sparse
structure selection for deep neural networks. In Pro ceedings of the European Conference on Computer Vi-
(下转第176页)
化,电幾爲与劉
4
SreeaeBBHI*>SBSI3EIEIEIEIffiEBBI!IBBBeaeBI3BigBlslBBai3IIBBEISBHI3glBBIIIIIIBSSI3aBIIIglEISa3BEIQISB>E 实用第一f智慧密集
区域传输节点,对信息传输安全状态进行识别与监测,才可以实现信息的继续传输,否则会启动信息安全防护机制,改变数据信息传输渠道,再发送出安全监控指令。
3结语
人们的正常工作与生活都已经离不开互联网,如果没有对网络安全给予足够重视,会在使用互联网过程中出现信息泄露,严重情况下会造成经济情况和不良社会影响。采用虚拟专用网络技术对互联网络进行安全保护,可以更好保护企业、个人的数据信息,突破网络物理位置间的约束,保证企业间、企业与个人间的数据传输安全,具有很高的保密性,实现对违法入侵人员的追踪,降低网络环境的安全风险,通过虚拟专用网络技术的进行远程连接,也可以降低硬件配置成本,提高企业的管理效率,提高网络环境的安全性、稳定性。
(上接第173页)
系统报警以令防火墙系统改变访问控制策略,借此过滤与删除入侵数据包,限制入侵者的进一步行动。结合针对获取信息的识别以及分析所用原理的差异,入侵检测技术基本分为以下两种:异常入侵检测以及误用入侵检测,借由入侵检测技术能够监测网络安全,但该技术必须联合防火墙共同使用,方能构建一个健全的网络安全保护体系。
4结语
随着科学技术的高速发展,计算机网络已然成为人们日常生活中必不可少的工具。但也不可否认,计算机网络安全问题带给用户诸多困扰,如何保证计算机网络安全也是目前广大计算机用户比较关切的问题。大数据背景下,信息数据安全的重要性更为突出。因此,作为计算机用户,应加强对计算机硬件与软件的保护,并通
参考文献
[1]蓝方力.虚拟网络技术在计算机网络安全中的应用
[J]•网络安全技术与应用,2020,(12):28-29. [2]柳成霞.虚拟专用网络技术在计算机网络信息安全中
的应用[J].数字通信世界,2020,(11):177-178.
[3]汪晓睿•计算机网络信息安全中虚拟专用网络技术
的应用分析[J].数码世界,2020,(11):266-267.
[4]姜大从•计算机网络安全中的虚拟网络技术应用与
探讨[J]•电脑知识与技术,2020,16(30):30-31.
⑸童瀛,周宇,姚焕章,梁剑.虚拟网络技术在计算
机网络安全中的应用价值探析[J]•中国新通信, 2020,22(20):85-87.
过安装防火墙与杀毒软件避免外部的恶意攻击,从而确保计算机网络信息的安全性。
参考文献
[1]梁晓雷.浅论计算机网络信息安全问题及防护策略
[J].数字化用户,2018,024(007):130.
[2]张勃•浅论计算机网络信息安全中数据加密技术
[J]•科教导刊(电子版),2019,000(007):276-276.
⑶张鑫,金双.浅论计算机网络信息安全中数据加密
技术[J]•山东工业技术,2019,283(05):152. [4]孟珊.浅论计算机网络信息安全中数据加密技术
[J].电脑迷,2018,000(023):45-46.
[5]尚戌.浅论大数据时代人工智能在计算机网络技术
中的应用[J]•市场周刊•理论版,2018,(33): 132-132.
(上接第136页)
sion,2018:304-320.
[3]Byeongho Heo,Minsik Lee,Sangdoo Yun,et al.Knowl
edge distillation with adversarial samples supporting decision boundary.In Proceedings of the AAAI Conference on Artificial Intelligence,volume33,2019: 3771-3778.[4]Redmon,Joseph and Farhadi,Ali.YOLOv3:An Incre
mental Improvement.arXiv preprint arXiv:1804.02767, 2018.
[5]Pengyi Zhang,Yunxin Zhong,and Xiaoqiong Li.Slimy-
olov3:Narrower,faster and better for real-time uav applications.In Proceedings of the IEEE International Conference on Computer Vision Workshops,
2019.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论