基于轻量化网络的YOLOv4检测算法研究

发布日期:2021年9月17日
基于轻量化网络的YOLOv4检测算法研究 基于轻量化网络的YOLOv4检测算法研究

本内容试读结束

下载后可阅读完整内容,立即下载

针对YOLOv4算法网络模型大、运算量大、运行效率低的问题,本文提出一种基于GhostNet的YOLOv4轻量化模型,使用GhostNet代替原网络中的CSPDarknet-53,通过一些简单的线性运算代替部分卷积,减少卷积运算,从而减少参数量以及浮点运算量。然后,在GhostNet中引入CBAM模块,结合通道注意力机制和通道注意力机制,增强模型对有效特征关注。另外使用HDC代替原始网路中的SPPNet,减少浅层网络特征的丢失。最后,将改进的算法与基于其他轻量化网络的YOLOv4算法对比。实验结果证明,与原始YOLOv4相比,在精度损失较小的情况下,基于GhostNet以及注意力机制的YOLOv4轻量化模型的大小得到了压缩,检测速度有了明显的提升。

随着深度学习的技术不断攀升,在目标检测方面应用基于深度卷积神经网络的一系列算法之后,在速度和精度上都取得了极大的进步。卷积神经网络实现了在特征提取、边界框的以及目标分类的判别。

目前基于卷积神经网络的目标检测算法大体分为两类:两阶段检测算法,例如,R-CNN [1]、Fast R-CNN [2]和Faster R-CNN 等算法;单阶段检测算法,例如YOLO 算法和SSD 等算法[3]。两阶段目标检测算法有两个步骤,先是生成候选区域,然后对候选区域进行分类、回归,产生最后结果。由此可见, 这类目标检测算法步骤多,训练困难,虽然准确度高,但是检测速度慢[4]。于是学者们将两个阶段融合为一个阶段,即单阶段目标检测算法。该类算法通过将目标定位转换为回归,可以一步获取目标的类别概率以及坐标位置,不再使用候选框[5]。这类算法虽然提高了检测速率,但是检测的准确率也降低了。

但无论是两阶段目标检测算法还是单阶目标检测算法,为了更好地进行目标特征提取,网络层数不断深化,但是由此也导致了参数量剧增,极大地增加了浮点运算的运算量,并且对内存资源的占用也是极大的负担[6]。

于是学者们开始对网络进行轻量化设计,2016 年,Iandola 等在文献[7]中提出SqueezeNet 轻量化网络, 该网络是基于Fire module 模块构建的, 与Inception 的网络构建一致, 参数量有所减少。

2017 年Howard 等在文献[8]中提出Mobilenet_v1 轻量化网络,基本组件就是引入的深度可分离卷积,同时引入两个超参数,经过改进模型参数量得到进一步降低。同年,Zhang 等人提出了ShuffleNet v1 轻量化网络,该算法使用分组卷积代替1 × 1 卷积,并进行Channel Shuffle,达成通道间信息交互,保证网络性能。2018 年, Mark [9]等在文献[9]中提出了Mobilenet_v2 轻量化网络, 该网络是在Howard 的基础上引入了倒残差网络以及线性瓶颈结构, 用Relu6 激活函数代替 Narrow layer 后的ReLU, 因为Relu6 在增加高维空间非线性方面更加有效,这样能够保持特征多样性,增强网络表达能力。同年Ma [10]等人在文献[10]中提出ShuffleNet v2 轻量化网络,该网络先划分通道,一个分支不操作,一个分支卷积,然后先拼接再进行Channel Shuffle 操作。2019 年Grace [11]等在文献[11]中提出Mobilenet_v3 轻量化网路,该网络是对Mobilenet_v2 的改进,在MobileNet_v3 中先进行平均池化[12],再使用1 × 1 卷积,保留了高维特性,还减少了延迟, 与Mobilenet_v2 的瞬息相反, 此外, Mobilenet_v3 主要使用了NAS (Neural Network Search),



相关标签