基于反残差结构的轻量级多目标检测网络 下载: 1087次
1 引言
目标检测是计算机视觉领域研究的热点问题之一,在医学、交通、**等各个领域有广泛的应用前景[1]。目前,目标检测方法主要分为传统目标检测方法和基于深度学习的目标检测方法[2]。传统的目标检测方法[3]主要步骤为:1)选择候选区域;2)提取候选区域的特征;3)应用分类器检测候选区域是否含有目标。但传统的目标检测方法由于应用手工特征,导致对图像中多尺度目标检测时稳健性差,利用滑动窗口选择候选区域时时间复杂度高。基于深度学习的目标检测无需人工设计特征,且有较高的检测精度,逐渐成为目标检测的主流算法,主要可分为两种:一是基于区域的目标检测方法;二是基于回归的目标检测方法。基于区域的方法由区域提取和目标分类两步构成,其典型代表有Girshick等[4]提出的 R-CNN目标检测框架。R-CNN框架首先提取候选框,调整候选框为固定尺寸;其次应用卷积神经网络(CNN)对候选区域特征进行提取;最后应用支持向量机(SVM)分类及回归算法得到预测框。为优化提取候选框过程和提高检测精度,R-CNN框架的变体SPP-Net[5]、Fast-R-CNN[6]、Faster-R-CNN[7]、R-FCN[8]等逐一出现,并在各个领域得到广泛应用[9-11]。虽然基于区域的目标检测方法能产生较高的精度,但是检测速度慢。为解决检测速度的问题,基于回归的目标检测方法应运而生。基于回归的方法,不产生候选框,将目标位置和类别问题转换为回归问题,典型代表为YOLO和SSD算法。2016-2018年,Redmon等[12-14]提出YOLO框架,将目标分类和定位转换为回归问题。2016年Liu等[15]提出的SSD框架沿用了YOLO基于回归的思想,结合Faster-R-CNN的anchor box(候选框),提出prior box(预设框),加入特征金字塔,有效平衡检测速度与精度,但是SSD算法对训练样本依赖严重。2018年,Redmon等[14]提出的YOLO第3个版本借鉴了残差网络,引入anchor box,使用多尺度预测,具有较强的实时检测能力,因此本文引入YOLO端到端的思想。
目标检测可以应用于安防、汽车辅助驾驶等方面,但上述目标检测方法参数多、计算量大、生成模型大等导致数据难以移植到计算能力及存储空间有限的嵌入式终端应用。目前,优化CNN的方法主要有3类:一是采用手工方式设计高效的网络结构,典型代表有SqueezeNet[16]、MobileNet[17-18];二是通过微调等方法细化结构,典型代表有剪枝[19-20]、量化[21]、低秩分解[22]等;三是使用迁移知识,通过训练好的大模型得到小模型,典型代表有知识蒸馏[23]。其中手工设计结构深度可分离卷积,比常规卷积效率更高,同时仍能保持高精度。因此本文应用深度可分离卷积,旨在解决深度学习方法对计算资源的依赖问题。
综上所述,本文针对基于深度学习的目标检测模型对运行平台计算力大,难以移植到嵌入式平台的问题,提出轻量级多目标检测网络(IR-YOLO)。该网络引入反残差块,利用多尺度特征图检测不同尺寸目标,在不影响检测精度的同时,减少了模型计算量和参数存储量。
2 YOLOv3-Tiny目标检测原理
基于回归的目标检测算法是高效完成检测任务的最常用的方法,其将目标分类和定位转换为回归问题,达到了实时检测的目的[24]。YOLOv3-Tiny框架是在YOLOv3基础上应用嵌入式平台的轻量级目标检测网络,虽然YOLOv3-Tiny在检测精度上较YOLOv3降低,但是能实现模型尺寸压缩,即YOLOv3-Tiny可将YOLOv3特征检测网络darknet-53缩减为7层常规卷积和6层max pooling(最大池化)下采样层。
首先将输入图片调整成10种不同尺寸,将调整后的图片按13×13、26×26划分网格(grid cell);然后在非重叠的
式中:
YOLOv3-Tiny网络损失函数由边界框中心坐标误差项、边界框的宽与高误差项、预测置信度误差项和预测类别误差项组成,损失函数计算公式为
式中:等式右第一项为中心坐标损失,第二项为边界框的宽高损失,第三项为置信度损失,第四项为类别预测损失。其中:
3 IR-YOLO网络
YOLOv3-Tiny框架可以实现端到端的目标检测,然而随着网络层数的增长,参数和计算量也随之成倍增长,从而导致模型计算资源开销增大。因此为减少网络模型参数存储量和计算量,利用深度可分离卷积构造反残差块代替常规卷积层,设计轻量级多目标检测网络。IR-YOLO网络由多个反残差块堆叠来进行特征提取,其实现分为两个部分,一是构造反残差块,二是设计网络结构。
3.1 反残差块的构造
为解决常规卷积参数存储量和计算量随网络层数加深而成倍增长,导致模型尺寸增大,难以在计算资源受限的硬件平台应用的问题,应用深度可分离卷积代替常规卷积,构造反残差块,将“空间跨通道”特征学习过程转变为空间特征学习和通道组合两部分:一是深度卷积在每个输入通道上独立地进行空间卷积;二是点卷积将深度卷积输出结果映射到新的通道空间。深度可分离卷积解耦过程如
图 1. 深度可分离卷积解耦过程图。(a)标准卷积;(b)深度可分离卷积
Fig. 1. Decoupling process of the depth separable convolution. (a) Standard convolution; (b) depth separable convolution
深度可分离卷积能够有效减少参数,常规卷积计算可表示为
深度卷积计算可表示为
式中,
综上所述,深度可分离卷积有效降低了网络的计算复杂度。虽然深度可分离卷积有效降低了模型参数存储量,但会导致网络层数加深。残差结构能够解决随网络层数加深梯度消失的问题,常规残差模块先通过1×1卷积层压缩特征图通道,然后在低通道应用3×3卷积层提取特征,最后再通过1×1的卷积层扩张特征图通道。但是残差结构在压缩特征图时存在损害特征表达的问题,因此在特征提取过程中利用反残差模块,先通过1×1卷积层扩张通道,然后在高维特征图应用3×3的深度卷积层提取特征,最后再通过1×1的点卷积层将深度卷积结果映射到新的通道空间。残差结构与反残差结构如
图 2. 残差结构与反残差结构。(a)残差结构;(b)步长为1的反残差结构
Fig. 2. Residual block and inverted residual block. (a) Residual block; (b) inverted residual block when stride is 1
表 1. 反残差块参数
Table 1. Parameters of inverted residual block
|
由于组合通道数的点卷积层使用ReLU会导致负值变为0,从而失去部分信息,因此使用线性激活函数可解决组合通道过程中信息损失问题。
3.2 IR-YOLO网络架构
为解决目标检测网络参数存储量大的问题,提出IR-YOLO轻量级多目标检测网络,网络结构如
4 实验结果及分析
4.1 实验环境
从计算力消耗、模型大小、检测速度和检测精度4个方面验证IR-YOLO网络性能。本文实验环境为:Cuda 8.0加速;硬件配置为Intel(R) Core(TM) i7-8750H CPU 2.20 GHz、GeForce GTX 1070 Mobile显卡;操作系统为Ubuntu 18.04.1 LTS。实验采用VOC 2007+2012数据集,其中:训练集和验证集共21503张图片,标注64046个目标;测试集7013张图片,共12032个目标。VOC数据集标记20个类别,数据集中各类数据不平衡,其中Person类别目标较多。各个类别目标占比见
表 2. VOC数据集
Table 2. VOC dataset
|
4.2 网络的训练
为验证IR-YOLO框架的有效性,选取VOC训练集分别训练YOLOv3-Tiny模型和IR-YOLO模型。实验中超参数设置如
表 3. 超参数
Table 3. Hyper parameters
|
基于经验及实验验证设定超参数,根据实验平台硬件资源,设计Batch(批次)为64;基于训练卷积神经网络经验值,设计初始学习率为0.001,然后根据迭代次数更新学习率;参考YOLO系列算法设计权重衰减参数为0.0005,动量为0.9。
YOLOv3-Tiny模型和IR-YOLO模型的训练损失如
由
4.3 实验结果及分析
为进一步验证IR-YOLO模型能有效减少参数和计算量,将IR-YOLO与YOLO中轻量级检测模型YOLOv3-Tiny进行比较,分析常规卷积及基于深度可分离卷积的反残差结构需要的浮点运算次数,对比结果如
表 4. 浮点运算次数对比
Table 4. Comparison on number of floating point operations
|
从
为验证模型检测速度,分别在图形处理单元(GPU)和中央处理单元(CPU)环境下进行验证实验,两种模型对比结果如
表 5. IR-YOLO模型与YOLOv3-Tiny模型检测速度对比
Table 5. Comparison detection speed of IR-YOLO model and YOLOv3-Tiny model
|
从
根据
检测准确率表示为
式中,
召回率表示为
式中,
式中,
式中,
两种模型对应权重的检测精度如
由
为进一步验证IR-YOLO模型的检测精确度,选取YOLOv3-Tiny模型75000次权重和IR-YOLO模型95000次权重进行实验验证,在VOC 2007测试集上对比IR-YOLO与YOLOv3-Tiny的检测精度,结果如
表 6. 不同训练次数mAP对比
Table 6. Comparison mAP of different training numbers
|
表 7. IR-YOLO模型与YOLOv3-Tiny模型在VOC数据集上检测结果对比
Table 7. Comparison of detection results of IR-YOLO and YOLOv3-Tiny on VOC dataset%
|
两种模型在VOC数据集的检测精度直方图如
YOLOv3-Tiny在VOC 2007+2012数据集上mAP为45.60%,IR-YOLO算法在VOC 2007+2012数据集上mAP为46.07%,两种模型的检测精度基本一致。
YOLOv3-Tiny模型和IR-YOLO模型实验效果对比如
从
5 结论
针对深度学习目标检测方法计算复杂度高、计算资源开销大、生成检测模型规模大,难以在硬件资源受限平台应用的问题,提出一种轻量级的多目标检测网络IR-YOLO。通过深度可分离卷积代替常规卷积,解决了模型参数存储量和计算量大的问题。通过反残差结构先升维、提取特征、再降维的特征提取过程,及组合通道过程应用线性激活函数,降低信息损失,解决了由于减小网络模型尺寸导致的精度下降问题。实验结果表明IR-YOLO模型在不影响检测精度的前提下,模型尺寸减小47.7%。下一步工作将进一步研究网络结构对提升模型训练速度及目标检测精度的影响。
[1] 王彦情, 马雷, 田原. 光学遥感图像舰船目标检测与识别综述[J]. 自动化学报, 2011, 37(9): 1029-1039.
[2] 张慧, 王坤峰, 王飞跃. 深度学习在目标视觉检测中的应用进展与展望[J]. 自动化学报, 2017, 43(8): 1289-1305.
[3] 尹宏鹏, 陈波, 柴毅, 等. 基于视觉的目标检测与跟踪综述[J]. 自动化学报, 2016, 42(10): 1466-1489.
[4] GirshickR, DonahueJ, DarrellT, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 580- 587.
[6] GirshickR. Fast R-CNN[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: 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] Dai JF, LiY, He KM, et al. R-FCN: object detection via region-based fully convolutional networks[C]∥Advances in Neural Information Processing Systems 29 (NIPS 2016), December 5-10, 2016, Centre Convencions Internacional Barcelona, Barcelona SPAIN. Canada: NIPS, 2016: 379- 387.
[9] 曹宇剑, 徐国明, 史国川. 基于旋转不变Faster R-CNN的低空装甲目标检测[J]. 激光与光电子学进展, 2018, 55(10): 101501.
[10] 冯小雨, 梅卫, 胡大帅. 基于改进Faster R-CNN的空中目标检测[J]. 光学学报, 2018, 38(6): 0615004.
[11] 张超, 陈莹. 残差网络下基于困难样本挖掘的目标检测[J]. 激光与光电子学进展, 2018, 55(10): 101003.
[12] RedmonJ, DivvalaS, GirshickR, et al. You only look once: unified, real-time object detection[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 779- 788.
[13] RedmonJ, FarhadiA. YOLO9000: better, faster, stronger[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 6517- 6525.
[14] RedmonJ, Farhadi A. YOLOv3: an incremental improvement[J/OL]. ( 2018-04-08)[2019-03-01]. https:∥arxiv.org/abs/1804. 02767.
[15] LiuW, AnguelovD, ErhanD, et al. SSD: single shot multibox detector[M] ∥Leibe B, Matas J, Sebe N, et al. European conference on computer vision-ECCV 2016. Lecture Notes in Computer Science. Cham: Springer, 2016, 9905: 21- 37.
[16] Iandola FN, HanS, Moskewicz MW, et al. SqueezeNet: AlexNet-level accuracy with 50× fewer parameters and < 0.5 MB model size[J/OL]. ( 2016-11-04)[2019-03-01]. https:∥arxiv.org/abs/1602. 07360.
[17] Howard AG, Zhu ML, ChenB, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[J/OL]. ( 2017-04-17)[2019-03-01]. https:∥arxiv.org/abs/1704. 04861.
[18] SandlerM, HowardA, Zhu ML, et al. MobileNetV2: inverted residuals and linear bottlenecks[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 4510- 4520.
[19] YoonJ, Hwang SJ. Combined group and exclusive sparsity for deep neural networks[C]∥Proceedings of the 34th International Conference on Machine Learning, August 6-11, 2017, Sydney, NSW, Australia. New York: ACM, 2017, 70: 3958- 3966.
[20] LiuZ, Li JG, Shen ZQ, et al. Learning efficient convolutional networks through network slimming[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 2736- 2744.
[21] Zhou SC, Wu YX, Ni ZK, et al. DoRefa-Net: training low bitwidth convolutional neural networks with low bitwidth gradients[J/OL]. ( 2018-02-02)[2019-03-01]. https:∥arxiv.org/abs/1606. 06160.
[22] Sainath TN, KingsburyB, SindhwaniV, et al. Low-rank matrix factorization for Deep Neural Network training with high-dimensional output targets[C]∥2013 IEEE International Conference on Acoustics, Speech and Signal Processing, May 26-31, 2013, Vancouver, BC, Canada. New York: IEEE, 2013: 6655- 6659.
[23] HintonG, VinyalsO, Dean J. Distilling the knowledge in a neural network[J/OL]. ( 2015-03-09)[ 2019-03-01]. https:∥arxiv.org/abs/1503. 02531.
[24] 吴帅, 徐勇, 赵东宁. 基于深度卷积网络的目标检测综述[J]. 模式识别与人工智能, 2018, 31(4): 335-346.
Article Outline
刘万军, 高明月, 曲海成, 刘腊梅. 基于反残差结构的轻量级多目标检测网络[J]. 激光与光电子学进展, 2019, 56(22): 221003. Wanjun Liu, Mingyue Gao, Haicheng Qu, Lamei Liu. Light-Weight Multi-Object Detection Network Based on Inverted Residual Structure[J]. Laser & Optoelectronics Progress, 2019, 56(22): 221003.