基于改进YOLOv4的轻量化目标检测算法

2022-07-29 08:49钟志峰夏一帆周冬平晏阳天
计算机应用 2022年7期
关键词:主干轻量化类别

钟志峰,夏一帆,周冬平,晏阳天

基于改进YOLOv4的轻量化目标检测算法

钟志峰,夏一帆*,周冬平,晏阳天

(湖北大学 计算机与信息工程学院,武汉 430062)( ∗ 通信作者电子邮箱1479099354@qq.com)

针对当前YOLOv4目标检测网络结构复杂、参数多、训练所需的配置高以及实时检测每秒传输帧数(FPS)低的问题,提出一种基于YOLOv4的轻量化目标检测算法ML-YOLO。首先,用MobileNetv3结构替换YOLOv4的主干特征提取网络,从而通过MobileNetv3中的深度可分离卷积大幅减少主干网络的参数量;然后,用简化的加权双向特征金字塔网络(Bi-FPN)结构替换YOLOv4的特征融合网络,从而用Bi-FPN中的注意力机制提高目标检测精度;最后,通过YOLOv4的解码算法来生成最终的预测框,并实现目标检测。在VOC2007数据集上的实验结果表明,ML-YOLO算法的平均准确率均值(mAP)达到80.22%,与YOLOv4算法相比降低了3.42个百分点,与YOLOv5m算法相比提升了2.82个百分点;而ML-YOLO算法的模型大小仅为44.75 MB,与YOLOv4算法相比减小了199.54 MB,与YOLOv5m算法相比,只高了2.85 MB。实验结果表明,所提的ML-YOLO模型,一方面较YOLOv4模型大幅减小了模型大小,另一方面保持了较高的检测精度,表明该算法可以满足移动端或者嵌入式设备进行目标检测的轻量化和准确性需求。

目标检测;轻量化网络;YOLOv4;MobileNetv3;加权双向特征金字塔网络

0 引言

目标检测主要分为以YOLO(You Only Look Once)系列算法[1-4]为代表的一阶段目标检测和以R-CNN(Region-Convolutional Neural Network)系列算法[5-7]为代表的二阶段目标检测[8]。二阶段的目标检测第一阶段先得到存在物品的候选区域,第二阶段再对候选区域中生成的候选框进行框大小和位置的回归预测生成预测框;而一阶段目标检测直接在整张图片中生成若干候选框,再对这些候选框进行类别、框大小以及位置的回归预测生成预测框。一阶段目标检测比二阶段目标检测速度更快但准确率较低,对于需要进行快速目标检测的场景,目前通常使用一阶段目标检测算法。

YOLOv4(You Only Look Once version 4)和YOLOv5(You Only Look Once version 5)算法是对YOLOv3(You Only Look Once version 3)算法改进的一阶段目标检测算法,YOLOv5算法在YOLOv4算法两个月后由不同团队推出,并且有从轻量的s型到相对复杂的x型5个版本结构。YOLOv5并未发表论文,并且YOLOv4和YOLOv5的主干特征提取网络和特征融合网络均使用CSPDarknet(Cross Stage Partial Darknet)和PANet(Path Aggregation Network)结构,两者性能其实很接近,YOLOv4的可定制化程度很高。从目前的实验结果[9]来看,基于Darknet的YOLOv4仍然是YOLO系列相对最为准确的算法。而对于更轻量化的YOLOv5s模型来说,虽然该模型大小只有14 MB,但算法平均准确率均值(mean Average Precision, mAP)较低,只有68%左右,无法满足本文所需的相对较高精确率的需求。

故基于算法资料的丰富性,以及本文所追求的综合轻量化和高mAP算法需求考虑,本文选择YOLOv4算法进行轻量化改进。

为了实现轻量化网络,文献[10-13]中将YOLO(YOLO-Tiny)的主干网络替换成MobileNet系列[14-16]主干网络,虽然大幅减小了网络参数量,但mAP的下降也相对严重;文献[17-18]中提出将YOLO系列主干网络添加密集模块,减小网络深度,虽然使网络参数减少,但网络结构也变得复杂,网络中每个模块会和多个模块连接,增加计算量;文献[19]中采用网络剪枝的方法去掉了对特征提取用处不大的特征层,提高了网络效率,但是,剪枝的效果很难与其他剪枝方法比较,并且对于不同的数据集优化效果不稳定。上述文献都难以在模型大小大幅减少的情况下,稳定保持算法的准确率。

针对上述问题,本文提出了一种轻量化网络结构ML-YOLO(MobileNetv3Lite-YOLO)。ML-YOLO用MobileNetv3替换YOLOv4的主干网络来大幅减少参数量,并简化EfficientDet[20]的加权双向特征金字塔网络(weighted Bi-directional Feature Pyramid Network,Bi-FPN)结构,在ML-YOLO的特征融合网络中加入类注意力机制来弥补网络轻量化带来的mAP下降问题。ML-YOLO在VOC(Visual Object Classes) 2007数据集上的mAP达到80.22%,仅比YOLOv4算法低3.42个百分点,而模型大小为44.75 MB,相较于YOLOv4减少了81.68%。

1 相关算法

1.1 YOLOv4算法

图1 YOLOv4网络框架

1.2 MobileNet 算法

图2 标准卷积和深度可分离卷积对比

本文分别计算两种卷积所用参数量,结果如式(1)(2)所示:

进行标准卷积的时候输入通道数远小于输出通道数,将式(1)(2)进行比较得到式(3):

1.3 Bi-FPN

EfficientDet中所用的Bi-FPN是典型的复杂双向特征融合FPN(Feature Pyramid Network)结构,如图3,Bi-FPN在传统的双向特征融合FPN(如PANet)的基础上去掉了进入FPN结构的最高维特征层和最低维特征层的两个中间节点,同时在中间各个特征层加入一条输入特征图与输出特征图相连的残差边,在一定程度上简化了FPN的结构。

由于在每个进行特征融合的节点,不同的特征图输入对最后输出的贡献权重应该是不同的,Bi-FPN引入了一个权重进行训练,来调整不同输入对输出特征图的贡献度。

在权重的选择方面,Bi-FPN使用了快速归一化的优化策略(fast normalized fusion),它在与基于Softmax的优化实现的效果相似的情况下提高了30%的速度。快速归一化优化的公式如式(4):

其中:、 为在特征融合节点输入的特征图数,;为输入的特征图矩阵;为防止分母为0的常数,值为10-4;、为输入各特征图权重,权重初始值范围为、,之后每训练一次权重将通过ReLU(Rectified Linear Unit)激活函数保证值恒大于0。经过多轮训练,最终在每个特征融合节点,输入的特征图将获得使目标检测算法效果最好的权重。

2 改进算法

本文提出的ML-YOLO算法主要进行了两方面改进:一是用MobileNetv3替换YOLOv4的主干网络,二是改进FPN的结构为Bi-FPN-Lite,网络框架如图4所示。

图4 ML-YOLO网络框架

表 1 ML-YOLO 主干网络结构

图5bneck结构

Fig. 5bneck structure

主干网络中,ML-YOLO使用由swish激活函数改进的h-swish激活函数。式(5)为swish激活函数:

3 实验与结果分析

3.1 实验环境配置及数据介绍

本文实验所用的是VOC2007数据集,如图6,数据集包含人、自行车、汽车等20个类别的9 963幅图像,并且已经人工标注好了YOLO系列算法中所需的真实框的位置、大小、类别信息。

训练所用的实验平台硬件配置为Intel Xeon CPU,2080 Ti x2 GPU,128 GB内存的工作站,系统为Windows 10。测试算法的实验平台为Intel Core i7-6700HQ CPU,960M GPU,内存为8 GB的笔记本电脑。统一设置训练轮次为100,批大小为16,初始学习率为1E-3,Bi-FPN-Lite中的起始权重均设为1。训练集共5 012幅图像,在每轮训练时都会取90%的照片用于训练,另外10%的照片实时检测训练效果,如图7。本实验会选取各轮次中损失最低的一组权重文件进行mAP大小、网络结构参数量、模型大小、实时检测每秒传输帧数(Frames Per Second, FPS)的对比。

图 6 VOC2007数据集

图 7 验证VOC2007数据集上的训练效果

3.2 消融实验及结果分析

表 2 ML-YOLO消融实验

ML-YOLO与YOLOv4实时检测FPS对比如图8,ML-YOLO实时检测FPS为14.15,每秒传输帧率比YOLOv4提升了123.54%,极大地提高了实时目标检测的速度。

图 8 ML-YOLO与YOLOv4实时检测FPS对比

ML-YOLO与YOLOv4的部分检测结果如图9。图9(a)代表ML-YOLO在VOC测试集中各个类别的真阳(True Positive)物品和假阳(False Positive)物品的检测数量。True Positive代表检测到物品为某个类别并且物品确实为这个类别的数量;False Positive代表检测到物品为某个类别,但物品并不是这个类别或者没有这个物品的数量。这两个指标可以衡量检测算法检测准确率;图9(b)为ML-YOLO在VOC测试集中各个类别的误检率,可以反映算法在测试集上生成错误的预测框的概率;图9(c)代表ML-YOLO算法的mAP以及算法在各个类别的平均准确率(Average Precision, AP),图中每个柱状图都代表一个类别的AP;图9(d)为YOLOv4算法的mAP以及算法在各个类别的AP。对比图9(c)、图9(d),可以看出,本文所提出的ML-YOLO的mAP下降并不明显,可以保持较好的性能。

此外为了检测ML-YOLO算法在VOC2007数据集以外图片中表现,本文还选取了一张包含自行车、人、汽车等复杂场景的图片进行目标检测,对比改进算法的实际效果,结果如图10。

每个框的上方数值代表算法检测框的置信度,置信度是YOLO系列算法评估检测框准确性的指标,表示预测框检测到某个物品种类时,预测框与物品真实框的重合程度,如式(11):

如图11,对比细节可以看出ML-YOLO相较于YOLOv4检测出了更多远处的人,对小物品的敏感度更高,不过对被遮挡的车敏感度有所下降。

图 11 ML-YOLO与YOLOv4检测细节对比

3.3 ML-YOLO与其他算法对比

为了比较ML-YOLO算法与其他主流目标检测算法的性能,本文在VOC 2007数据集上进行了ML-YOLO算法与主流目标检测算法的对比实验,实验结果如表3。

表 3 ML-YOLO与其他算法对比

实验结果表明相较于YOLOv5s、EfficientDet-d0等非常轻量化的算法,ML-YOLO虽然模型大小稍大,但mAP有较大幅度提高,并且FPS相差不大。另外与YOLOv4、CenterNet这些模型较大的算法相比,ML-YOLO的mAP比YOLOv4低3.42个百分点,比CenterNet高出3.12个百分点,同时处理速度有较大提升。综合模型大小、mAP和FPS来看,ML-YOLO确实有较好性能。

4 结语

本文提出的ML-YOLO是通过替换YOLOv4的主干网络为MobileNetv3、简化Bi-FPN所得到的轻量化网络。MobileNetv3通过深度可分离卷积大幅度减少了卷积所需的参数量,又加入了注意力机制,通过分配特征图每个通道不同权重优化主干网络特征提取效果;简化的Bi-FPN结构继承了PANet双向特征融合特点的同时,适当较少了结构中的节点数,同时加入了注意力机制,在减少卷积次数的同时提高了不同层间特征融合的鲁棒性,提高了算法的mAP。

未来将会考虑进一步优化ML-YOLO系列算法的主干网络结构,尝试加入不同的FPN结构,在提高算法mAP的同时进一步减小模型大小和参数量,并且在工程中实现运用。

[1] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 779-788.

[2] REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017: 6517-6525.

[3] REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. (2018-04-08) [2021-04-08].https://arxiv.org/pdf/1804.02767.pdf.

[4] BOCHKOVSKIY A, WANG C Y, LIAO H Y M. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. (2020-04-23) [2021-04-08].https://arxiv.org/pdf/2004.10934.pdf.

[5] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]// Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2014: 580-587.

[6] GIRSHICK R. Fast R-CNN[C]// Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2015: 1440-1448.

[7] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6):1137-1149.

[8] ZOU Z X, SHI Z W, GUO Y H, et al. Object detection in 20 years: a survey[EB/OL]. (2019-05-16) [2021-04-08].https://arxiv.org/pdf/1905.05055.pdf.

[9] JOCHER G. YOLOv5[EB/OL]. [2021-04-08].https://github.com/ultralytics/yoloV5/issues/6.

[10] 齐榕,贾瑞生,徐志峰,等. 基于YOLOv3的轻量级目标检测网络[J]. 计算机应用与软件, 2020, 37(10):208-213.(QI R, JIA R S, XU Z F, et al. Lightweight object detection network based on YOLOv3 [J]. Computer Applications and Software, 2020, 37(10):208-213.)

[11] JIN Y Z, WEN Y X, LIANG J T. Embedded real-time pedestrian detection system using YOLO optimized by LNN[C]// Proceedings of the 2020 International Conference on Electrical, Communication, and Computer Engineering. Piscataway: IEEE, 2020: 1-5.

[12] 黄靖淞,左颢睿,张建林. 轻量化目标检测算法研究及应用[J]. 计算机工程, 2021, 47(10):236-241.(HUANG J S, ZUO H R,ZHANG J L. Research and application on lightweight object detection algorithm[J]. Computer Engineering, 2021, 47(10):236-241.)

[13] 邵伟平,王兴,曹昭睿,等. 基于MobileNet与YOLOv3的轻量化卷积神经网络设计[J]. 计算机应用, 2020, 40(S1):8-13.(SHAO W P, WANG X, CAO Z R, et al. Design of lightweight convolutional neural network based on MobileNet and YOLOv3[J]. Journal of Computer Applications, 2020, 40(S1):8-13.)

[14] HOWARD A G, ZHU M L, CHEN B, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL]. (2017-04-17) [2021-04-08].https://arxiv.org/pdf/1704.04861.pdf.

[15] SANDLER M, HOWARD A, ZHU M L, et al. MobileNetV2: inverted residuals and linear bottlenecks[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 4510-4520.

[16] HOWARD A, SANDLER M, CHEN B, et al. Searching for MobileNetV3[C]// Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE, 2019: 1314-1324.

[17] 冯媛,李敬兆. 改进的卷积神经网络行人检测方法[J]. 计算机工程与设计, 2020, 41(5):1452-1457.(FENG Y, LI J Z. Improved convolutional neural network pedestrian detection method[J]. Computer Engineering and Design, 2020, 41(5):1452-1457.)

[18] HU X L, LIU Y, ZHAO Z X, et al. Real-time detection of uneaten feed pellets in underwater images for aquaculture using an improved YOLO-V4 network[J]. Computers and Electronics in Agriculture, 2021, 185: No.106135.

[19] FANG W, WANG L, REN P M. Tinier-YOLO: a real-time object detection method for constrained environments[J]. IEEE Access, 2020, 8: 1935-1944.

[20] TAN M X, PANG R M, LE Q V. EfficientDet: scalable and efficient object detection[C]// Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2020: 10778-10787.

[21] HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.

[22] WANG W H, XIE E Z, SONG X G, et al. Efficient and accurate arbitrary-shaped text detection with pixel aggregation network[C]// Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE, 2019: 8439-8448.

[23] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 7132-7141.

ZHONG Zhifeng, born in 1971, Ph. D., professor. His research interests include artificial intelligence, signal processing, system integration.

XIA Yifan, born in 1998, M. S. candidate. His research interests include object detection, machine vision.

ZHOU Dongping, born in 1997, M. S. candidate. His research interests include recommender system, knowledge graph.

YAN Yangtian, born in 1997, M. S. candidate. His research interests include deep learning, natural language processing.

Lightweight object detection algorithm based on improved YOLOv4

ZHONG Zhifeng, XIA Yifan*, ZHOU Dongping, YAN Yangtian

(,,430062,)

YOLOv4 (You Only Look Once version 4) object detection network has complex structure, many parameters, high configuration required for training and low Frames Per Second (FPS) for real-time detection. In order to solve the above problems, a lightweight object detection algorithm based on YOLOv4, named ML-YOLO (MobileNetv3Lite-YOLO), was proposed. Firstly, MobileNetv3 was used to replace the backbone feature extraction network of YOLOv4, which greatly reduced the amount of backbone network parameters through the depthwise separable convolution in MobileNetv3. Then, a simplified weighted Bi-directional Feature Pyramid Network (Bi-FPN) structure was used to replace the feature fusion network of YOLOv4. Therefore, the object detection accuracy was optimized by the attention mechanism in Bi-FPN. Finally, the final prediction box was generated through the YOLOv4 decoding algorithm, and the object detection was realized. Experimental results on VOC (Visual Object Classes) 2007 dataset show that the mean Average Precision (mAP) of the ML-YOLO algorithm reaches 80.22%, which is 3.42 percentage points lower than that of the YOLOv4 algorithm, and 2.82 percentage points higher than that of the YOLOv5m algorithm; at the same time, the model size of the ML-YOLO algorithm is only 44.75 MB, compared with the YOLOv4 algorithm, it is reduced by 199.54 MB, and compared with the YOLOv5m algorithm, it is only 2.85 MB larger. Experimental results prove that the proposed ML-YOLO model greatly reduces the size of the model compared with the YOLOv4 model while maintaining a higher detection accuracy, indicating that the proposed algorithm can meet the lightweight and accuracy requirements of mobile or embedded devices for object detection.

object detection; lightweight network; YOLOv4 (You Only Look Once version 4); MobileNetv3; Bi-FPN (weighted Bi-directional Feature Pyramid Network)

This work is partially supported by Hubei Province Technological Innovation Special Project (2018ACA13).

TP391.4

A

1001-9081(2022)07-2201-09

10.11772/j.issn.1001-9081.2021050734

2021⁃05⁃10;

2021⁃09⁃22;

2021⁃09⁃24。

湖北省技术创新专项(2018ACA13)。

钟志峰(1971—),男,湖北黄冈人,教授,博士,主要研究方向:人工智能、信号处理、系统集成; 夏一帆(1998—),男,湖北黄冈人,硕士研究生,主要研究方向:目标检测、机器视觉; 周冬平(1997—),男,湖北随州人,硕士研究生,主要研究方向:推荐系统、知识图谱; 晏阳天(1997—),男,湖北孝感人,硕士研究生,主要研究方向:深度学习、自然语言处理。

猜你喜欢
主干轻量化类别
轻量化材料在商用车白车身的应用
基于ABAQUS的某轻卡车蓄电池支架轻量化
重卡车架轻量化设计
抓主干,简化简单句
一起去图书馆吧
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
简析基于概率预测的网络数学模型建构
群文阅读:为孩子打好生命底色
选相纸 打照片