浙江大学学报(工学版), 2023, 57(6): 1195-1204 doi: 10.3785/j.issn.1008-973X.2023.06.015

计算机与控制工程

基于分割注意力与线性变换的轻量化目标检测

张艳,, 孙晶雪, 孙叶美,, 刘树东, 王传启

1. 天津城建大学 计算机与信息工程学院,天津 300384

2. 天津市智慧养老与健康服务工程研究中心,天津 300384

3. 天津凯发电气股份有限公司,天津 300392

Lightweight object detection based on split attention and linear transformation

ZHANG Yan,, SUN Jing-xue, SUN Ye-mei,, LIU Shu-dong, WANG Chuan-qi

1. School of Computer and Information Engineering, Tianjin Chengjian University, Tianjin 300384, China

2. Tianjin Intelligent Elderly Care and Health Service Engineering Research Center, Tianjin 300384, China

3. Tianjin Keyvia Electric Limited Company, Tianjin 300392, China

通讯作者: 孙叶美,女,实验师. orcid.org/0000-0002-7576-4422. E-mail: sunyemei1216@163.com

收稿日期: 2022-06-26  

基金资助: 国家重点研发计划资助项目(2021YFB3301600);天津市科技计划资助项目(22YDTPJC00840)

Received: 2022-06-26  

Fund supported: 国家重点研发计划资助项目(2021YFB3301600);天津市科技计划资助项目(22YDTPJC00840)

作者简介 About authors

张艳(1982—),女,副教授,博士,从事机器视觉与图像处理研究.orcid.org/0000-0003-0692-3028.E-mail:zhangyan@tcu.edu.cn , E-mail:zhangyan@tcu.edu.cn

摘要

为了满足目标检测的实时性和模型轻量化需求,提高目标检测精度,对YOLOv5中的特征融合模块进行优化,提出基于金字塔分割注意力与线性变换的轻量化目标检测算法PG-YOLOv5. 利用金字塔分割注意力模块,捕获不同尺度特征图的空间信息以丰富特征空间,提升网络的多尺度特征表示能力,提高目标检测的精度. 利用基于线性变换的GhostBottleNeck模块,以少量原始特征图与线性变换得到的特征图相结合的方式,有效减少模型参数量. 算法的平均精度均值从YOLOv5L的81.2%提高到PG-YOLOv5的85.7%,PG-YOLOv5的参数量比YOLOv5L的下降了36%. 将PG-YOLOv5部署到Jetson TX2,并编写目标检测软件. 实验结果表明,基于Jetson TX2的目标检测系统的图像处理速度为262.1 ms/帧,PG-YOLOv5的平均精度均值为85.2%;与YOLOv5原始模型相比,PG-YOLOv5更适合边缘端部署.

关键词: 目标检测 ; 金字塔分割注意力 ; 线性变换 ; 轻量化 ; YOLO

Abstract

To meet the real-time and model lightweight requirements of target detection and improve the accuracy of object detection, a lightweight target detection algorithm PG-YOLOv5 based on pyramid split attention and linear transformation was proposed. The feature fusion module in YOLOv5 was optimized by PG-YOLOv5. First, the pyramid split attention module was used to capture the spatial information of feature maps at different scales to enrich the feature space, thus the multi-scale feature representation ability of the network and the accuracy of object detection were improved. Then, the GhostBottleNeck module based on linear transformation was used to combine a small amount of original feature maps with those obtained from linear transformation, which reduced the number of model parameters effectively. The mean average precision of the algorithm increased from 81.2% of YOLOv5L to 85.7% of PG-YOLOv5, and the number of parameters of PG-YOLOv5 was 36% lower than that of YOLOv5L. The PG-YOLOv5 was deployed on Jetson TX2 and an object detection software was designed. Experimental results showed that the image processing speed of the target detection system based on Jetson TX2 was 262.1 ms/frame, and the mean average precision of PG-YOLOv5 was 85.2%. Compared with the YOLOv5L original model, PG-YOLOv5 is more suitable for edge deployment.

Keywords: object detection ; pyramid split attention ; linear transformation ; lightweight ; YOLO

PDF (1383KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

张艳, 孙晶雪, 孙叶美, 刘树东, 王传启. 基于分割注意力与线性变换的轻量化目标检测. 浙江大学学报(工学版)[J], 2023, 57(6): 1195-1204 doi:10.3785/j.issn.1008-973X.2023.06.015

ZHANG Yan, SUN Jing-xue, SUN Ye-mei, LIU Shu-dong, WANG Chuan-qi. Lightweight object detection based on split attention and linear transformation. Journal of Zhejiang University(Engineering Science)[J], 2023, 57(6): 1195-1204 doi:10.3785/j.issn.1008-973X.2023.06.015

目标检测作为计算机视觉领域的基础任务,被广泛应用在安防监控、自动驾驶领域[1]. 现实场景对目标检测方法的参数量和检测速度均有较高的要求,如何在优化目标检测算法、提高检测精度的同时既减少模型参数量又提高检测速度,成为该领域研究的主要任务. 传统目标检测算法主要包括基于像素分析的检测方法[2]、基于识别的检测方法[3],缺点是时间复杂度高、实时性差. 基于深度学习的目标检测算法主要包括基于候选区域的双阶段目标检测算法、基于边界框回归的单阶段目标检测算法. 双阶段目标检测算法先生成一系列的候选区域,再对每个候选区域进行类别分类和位置回归,如R-CNN[4]、Fast R-CNN[5]算法. 单阶段目标检测算法在产生候选框的同时进行分类和边界框回归,将目标边界框的定位问题转化为回归问题,得到目标的位置信息和目标类别信息,相比双阶段算法检测速度更快,计算成本更低,更适合用于实时目标检测,如YOLO[6-7]系列算法.

目标检测算法将注意力模块嵌入现有的卷积神经网络,以显著提升网络的特征表示能力. 王立辉等[8]提出基于GhostNet与注意力模块结合的模型,将压缩激励注意力(squeeze-and-excitation,SE)模块嵌入YOLOv3网络. 但该注意力模块仅考虑了通道注意力,忽略了空间注意力,导致多尺度特征提取能力不足. Woo等[9]提出CBAM(convolutional block attention module),并将CBAM嵌入YOLOv3网络,融合空间注意力和通道注意力,提升了网络提取有效特征的能力,但CBAM仅考虑了局部信息,无法建立远距离依赖. Zhang等[10]提出低成本但有效的金字塔分割注意力(pyramid split attention,PSA)模块,将其引入ResNet模型中,捕获不同尺度特征图的空间信息,提升了网络的多尺度特征表示能力. 卷积神经网络一般通过设计较深的卷积层、大量堆叠残差块与跳跃连接来丰富特征信息,提高目标检测精度,但该类方法在提高检测精度的同时,增加了网络的复杂度、计算量(如EfficientNet[11]、RetinaNet[12]),应用到移动端或嵌入式设备时有一定困难. 为了提高检测效率,研究者提出了各种减少目标检测网络参数量和计算量的方法. 如ShuffleNet[13]通过逐点卷积和组卷积随机整合实现特征图“重组”,大幅度减少了模型参数量,提高了检测速度;GhostNet[14]在不改变输出特征图尺度和通道大小的前提下,通过线性变换生成相似的特征图,减少了网络模型参数量与计算复杂度.

本研究利用PSA模块和GhostBottleNeck模块优化YOLOv5模型的特征融合模块,提出基于分割注意力与线性变换的轻量化目标检测算法PG-YOLOv5. 基于Jetpack,将PG-YOLOv5算法部署到Jetson TX2,并使用QT编写目标检测软件,以显示监控图像和目标检测结果.

1. PG-YOLOv5

PG-YOLOv5包括骨干网络(Backbone)、颈部网络(Neck)和预测输出端(Head). 其中骨干网络选用CSPDarknet53,包括切片操作(Focus)、卷积层(Conv)、跨阶段局部瓶颈(BottleNeckCSP)模块和空间金字塔池化(spatial pyramid pooling,SPP)模块. 颈部网络又叫特征融合网络,包括GhostBottleNeck模块、PSA模块、BottleNeckCSP模块、拼接操作(C)和上采样(Upsample). 预测输出端由3个输出头(Conv2d)组成,其中na为每个网络对应的锚框数量,nc为数据集中类别的数量,整体网络结构如图1所示. 1)骨干网络利用卷积层和跨阶段局部瓶颈模块对输入图像进行特征提取,并将提取到的丰富特征信息传递给颈部网络. 2)优化后的颈部网络利用PSA模块捕获不同尺度特征图的空间信息以丰富特征空间;通过提取多尺度特征图的通道注意权重来构建跨维度交互,建立多尺度通道注意力间的长期依赖关系,提升网络的多尺度特征表示能力,并在深层网络中引入基于线性变换的GhostBottleNeck模块替代YOLOv5的部分BottleNeckCSP模块,使用低计算成本的线性变换扩展特征. 3)预测输出端进行边界框修正和筛选,输出最终预测结果.

图 1

图 1   PG-YOLOv5的网络结构

Fig.1   Overall network structure of PG-YOLOv5


1.1. 金字塔分割注意力模块

为了提升网络对于多尺度特征的提取能力,利用基于通道注意力的PSA模块优化特征融合模块,PSA的网络结构如图2所示. 压缩拼接(proposed squeeze and concat,SPC)模块切分通道,通过切片操作(Split),将输入特征图 $ {\boldsymbol{X}} \in {{\bf{R}}^{{{C}} \times {{H}} \times {{W}}}} $切分为S个分支,针对每个通道特征图上的空间信息提取多尺度特征,生成多尺度特征图 $ {{\boldsymbol{F}}_{{i}}} \in {{{{\bf{R}}}} ^{{C'} \times H \times W}} $

图 2

图 2   金字塔分割注意力模块的网络结构

Fig.2   Structure of pyramid split attention module


$ \left[ {{{\boldsymbol{X}}_{{0}}}{{,}}\;{{\boldsymbol{X}}_{{1}}}{{,}}\;\cdots{{,}}\;{{\boldsymbol{X}}_{{{S - 1}}}}} \right] = {{\text{Spilt}}} \;{\boldsymbol{X}}, $

$\begin{split} \\ \left.\begin{array}{l} {{\boldsymbol{F}}_{{i}}} = {{\rm{Conv}}} \;({{{K}}_{{i}}} \times {{{K}}_i},{{{G}}_{{i}}})({{{\boldsymbol{X}}}});\\ {{{K}}_i} = 2 \times ({{i}}+1)+1,\;\;{{i}} = 0,1, \cdots, {{S}} - 1 . \end{array}\right\} \end{split}$

式中: $ {{{K}}_i} $为第i个核的大小; $ {{{G}}_{{i}}} $为组卷积中第i组的大小, $ {{{G}}_{{i}}} = 2^{({{K}_{{i}} - 1})/{2}} $. 不同尺度的特征图 $ {{\boldsymbol{F}}_{{i}}} $有相同的通道维度 $ \mathop C\nolimits' = {C \mathord{\left/ {\vphantom {C S}} \right. } S} $,压缩和激励模块(SEWeight)获得不同尺度特征图的注意力权重 ${{\boldsymbol{Z}}_{i}} \in {{\bf{R}}^{{C'} \times 1 \times 1}}$,连接 $ {{\boldsymbol{Z}}_i} $,得到整个多尺度通道注意力权重向量 $ {\boldsymbol{Z}} $

$ {{\boldsymbol{Z}}_i} = {{\rm{SEWeight}}} \;{{\boldsymbol{F}}_i},\quad {{i}} = 0,1, \cdots ,{{S}} - 1; $

$ \begin{split} \\ {\boldsymbol{Z}} = {\rm{Cat}}\;[{{\boldsymbol{Z}}_0},{{\boldsymbol{Z}}_1}, \cdots ,{{\boldsymbol{Z}}_{{S} - 1}}]. \end{split}$

式中:Cat为拼接操作,SEWeight操作用于生成注意力权重. 利用Softmax操作对通道注意力信息进行权值重标定,得到多尺度通道的重校准权重 $ {{\boldsymbol{a}_i}} $,连接 $ {{\boldsymbol{a}_i}} $得到整个多尺度通道注意力向量 $ {\boldsymbol{a}} $,实现多尺度通道注意力之间的信息交互:

$ \mathop {\boldsymbol{a}}\nolimits_{{i}} = {{\rm{Softmax}}}\; \mathop{\boldsymbol{ Z}}\nolimits_{{i}} = \frac{{\exp \;\mathop {\boldsymbol{Z}}\nolimits_{{i}} }}{{\displaystyle\sum\nolimits_{{{i}} = 0}^{{{S}} - 1} {\exp \;\mathop {\boldsymbol{Z}}\nolimits_{{i}}} }}, $

$ {\boldsymbol{a}} = {\rm{Cat}}\;[{{\boldsymbol{a}}_{0}},{{\boldsymbol{a}}_{1}}, \cdots ,{{\boldsymbol{a}}_{{S} - 1}}]. $

将多尺度通道的重校准权重与对应的尺度特征图 $ {{\boldsymbol{F}}_i} $相乘,得到加权后的特征图 $ {\boldsymbol{X}}_i' $;将 ${\boldsymbol{ X}}_i' $进行维度连接,输出得到含有丰富多尺度信息的特征图 $ {{\boldsymbol{X}}'} $

$ {\boldsymbol{X}}_{{i}}' = {{\boldsymbol{F}}_{{i}}} \odot {{\boldsymbol{a}}_{{i}}}, $

$ {{\boldsymbol{X}}{{'}}} = {{\rm{Cat}}}\; \left[ {{{\boldsymbol{X}}_0},{{\boldsymbol{X}}_1}, \cdots ,{{\boldsymbol{X}}_{{{S}} - 1}}} \right]. $

式中: $ \odot $为通道方向的乘法.

1.2. GhostBottleNeck模块

为了减少模型参数量,引入基于线性变换的GhostBottleNeck模块,优化特征融合模块. 如图3所示,GhostBottleNeck模块基于残差块的思想集成Ghost模块. 第1个Ghost模块增加输入特征图的通道数,第2个Ghost模块减少输出特征图的通道数,使减少后的通道数与原输入特征图的通道数相匹配,再将输入和Ghost模块的输出相加.

图 3

图 3   GhostBottleNeck模块的网络结构

Fig.3   Structure of GhostBottleNeck module


图4所示,与普通卷积不同,Ghost模块利用卷积层生成部分原始特征图,再对生成的部分原始特征图进行线性变换,生成另外一部分特征图,叠加生成的这2个部分的特征图,得到最终的特征图. 在这个过程中,使用了少量的卷积运算和线性变换,特征图冗余、网络的参数量均减少. 在普通卷积过程中,给定输入特征图 $ {\boldsymbol{X}} \in {{\bf{R}}^{{{C}} \times {{H}} \times {{W}}}} $, 输出特征图 $ {\boldsymbol{Y}} $, 计算量为 $n \times {h'} \times {w'} \times c \times k \times k$,其中C、HW分别为输入特征图的通道数、高度、宽度,n$ {h'} $$ {w'} $分别为输出特征图的通道数、高度、宽度, $ k \times k $为卷积核f的大小. 对于Ghost模块,给定输入特征图 $ {\boldsymbol{X}} \in {{{\bf{R}}}^{{C} \times {H} \times {W}}} $,利用卷积层,生成具有m个通道的原始特征图 $ {{\boldsymbol{Y}}'} \in {{{\bf{R}}} ^{{m} \times {{h}^{'}} \times {{w}^{'}}}} $

图 4

图 4   普通卷积与Ghost模块特征图生成过程对比

Fig.4   Comparison between ordinary convolution and Ghost module feature map gengration process


$ {{\boldsymbol{Y}}'} = {\boldsymbol{X}} * {{\boldsymbol{f}}'}+{\boldsymbol{b}}. $

式中: $ {{\boldsymbol{f}}'} \in {{{\bf{R}}}^{{c} \times {k} \times {k} \times {m}}} $为使用的卷积核, $ m \leqslant n $. 为了获得网络所需的n个特征图,对 $ {{\boldsymbol{Y}}'} $中的每个原始特征图进行线性运算生成s个特征图:

$ \mathop {\boldsymbol{y}}\nolimits_{{{ij}}} = \mathop {{\varPhi }}\nolimits_{i,j} ({\boldsymbol{y}}_i');\;\; {{i}} = 1,2, \cdots ,{{m}},\;\;{{j}} = 1,2, \cdots ,{{s}}. $

式中: $ \mathop {\boldsymbol{y}} \nolimits_i' $$ {{\boldsymbol{Y}}'} $中第i个原始特征图; $ \mathop {{\varPhi }}\nolimits_{{{i,j}}} $为第j个线性运算,用于生成第j个特征图 $ \mathop {\boldsymbol{y}}\nolimits_{{{ij}}} $,即 $ \mathop {\boldsymbol{y}}\nolimits_i' $可以具有一个或多个特征图 $ \left\{ {\mathop {\boldsymbol{y}}\nolimits_{{{ij}}} } \right\} $,可以获得 $ n = m \times s $个特征图,即Ghost模块的输出为 $ \mathop {{{\boldsymbol{Y}}}}\nolimits_{{\text{Ghost}}} = \left[ {\mathop {\boldsymbol{y}}\nolimits_{11} ,\mathop {\boldsymbol{y}}\nolimits_{12} ,\cdots,\mathop {\boldsymbol{y}}\nolimits_{{{ms}}} } \right] $,线性运算在每个通道上单独运行,其计算量比普通卷积少.

在设计网络结构过程中,当利用普通卷积和Ghost模块生成相同数量的特征图时,Ghost模块优化普通卷积的理论加速比为

$\begin{split} {{\displaystyle r}}_{s}=&\dfrac{n\times {{\displaystyle h}}{{'}}\times {{\displaystyle w}}{{'}}\times c\times k\times k}{\dfrac{n}{s}\times {{\displaystyle h}}{{'}}\times {{\displaystyle w}}{{'}}\times c\times k\times k+(s-1)\times \dfrac{n}{s}\times {{\displaystyle h}}{{'}}\times {{\displaystyle w}}{{'}}\times d\times d}=\\ & \dfrac{c\times k\times k}{\dfrac{1}{s}\times c\times k\times k+\dfrac{s-1}{s}\times d\times d}\approx \dfrac{s\times c}{s+c-1}\approx s.\\[-15pt] \end{split}$

其中 $ d\times d $$ k\times k $大小相似,且 $ s\ll c $. 参数压缩率为

$ \mathop r\nolimits_c = \dfrac{{n \times c \times k \times k}}{{\dfrac{n}{c} \times c \times k \times k+\dfrac{{s \times c}}{s} \times d \times d}} \approx \dfrac{{s \times c}}{{s \times c - 1}} \approx s.$

图5所示,本研究利用GhostBottleNeck模块替代原特征融合模块中的部分BottleNeckCSP模块,设计3种不同结构的特征融合模块. 特征融合模块中第1个和第5个BottleNeckCSP模块的卷积通道数最多,增加了模型的参数量,因此使用GhostBottleNeck模块替代这2个位置的BottleNeckCSP模块可以有效地减少模型的参数量. 特征融合模块1用GhostBottleNeck模块替代特征融合模块中第1个BottleNeckCSP模块,特征融合模块2用GhostBottleNeck模块替代第5个BottleNeckCSP模块,特征融合模块3用GhostBottleNeck模块替代第1个和第5个BottleNeckCSP模块.

图 5

图 5   3种不同结构的特征融合模块

Fig.5   Feature fusion modules with three different structures


1.3. 损失函数

YOLOv5算法的损失函数为定位损失、置信度损失和分类损失的加权和:

$ \begin{split} & {{\rm{Loss}}} = 1 - \left({{\rm{IoU}}} - \frac{{\left| {C\left( {A \cup B} \right)} \right|}}{{\left| C \right|}}\right)+ \\ &\quad\sum\limits_{i = 0}^{S \times S} {\sum\limits_{j = 0}^X {{{I}}_{i j}\left\{ { - [{{\hat C}_i}\ln (P_i)+(1 - {{\hat C}_i})\ln (1 - P_i)]} \right\}} } + \\ &\quad\sum\limits_{i = 0}^{S \times S} {\sum\limits_{j = 0}^X {{{I}}_{i j}^{{\text{no}}}\left\{ { - [{{\hat C}_i}\ln (P_i)+(1 - {{\hat C}_i})\ln (1 - P_i)]} \right\}} } + \\ & \quad\sum\limits_{i = 0}^{S \times S} {\sum\limits_{j = 0}^X {{{I}}_{i j} \sum\limits_{c \in {\text{classes}}} {\left\{ { - [{{\hat p}_i}\ln ({P_{{\rm{c}},i}})+({\text{1}} - {{\hat p}_{i}})\ln ({\text{1}} - {P_{{\rm{c}},i}})]} \right\}.} } } \end{split} $

式中:classes为待识别目标的类别,IoU为交并比,通过预测框和真实框之间的距离反映检测的效果;A为预测框,B为真实框,C为包含AB的最小凸闭合框; $ S \times S $为输入图像被分割成的网格数量;X为每个单元格预测框的数量; $ {{I}}_{i j} $表示是否负责该目标,若负责该目标,则 $ {{I}}_{i j} = 1 $,否则为0; $ {{I}}_{i j}^{{\text{no}}} $表示是否不负责该目标,若负责该目标,则 $ {{I}}_{i j}^{{\text{no}}} = 1 $,否则为0;i为第i个网格,j为第j个锚点; $ {\hat C_i} $为样本的标签,Pi为样本预测为正样本的概率; $ {\hat p_i} $为期望类别, $ {p_{{\rm{c}},i}} $为类别的概率.

2. 基于Jetson TX2的目标检测系统设计

目标检测系统包括PC端、Jetson TX2开发板、Jetson TX2连接的显示器和摄像头等硬件设备. 目标检测软件安装在PC端,用来实时展示监控视频和安全帽佩戴检测的结果,Jetson TX2显示器展示Jetson TX2中程序的运行情况,确保检测算法正常运行. Jetson TX2读取监控视频后,利用在嵌入式平台中的目标检测算法进行安全帽佩戴检测,检测结果在PC端的软件界面中显示. 目标检测算法设计流程图如图6所示. 本研究基于Pytorch架构开发目标检测算法,并在服务器中训练得到最优模型;使用Tracing方法编写TorchScript脚本,将服务器中训练好的网络模型PG-YOLOv5转换为后缀为pt的模型;将转换后的网络模型部署到Jetson TX2开发板中;在PC端的检测软件中显示检测结果并提醒. 使用Qt Creater开发的目标检测软件的界面如图7所示,主要包括输入待检测视频、输出检测视频图像界面,推理进度条及播放暂停功能,显示监控图像和目标检测结果,保存检测记录.

图 6

图 6   目标检测算法设计流程图

Fig.6   Object detection algorithm design flow chart


图 7

图 7   目标检测软件的界面

Fig.7   Interface of object detection software


3. 实验及结果分析

使用Pascal VOC自然图像数据集和SHWD安全帽佩戴检测数据集进行实验. 其中自然图像数据集的训练验证集由Pascal VOC 2007、Pascal VOC 2012组成,共16 551张图片,测试集使用Pascal VOC 2007,共4 952张图片,安全帽佩戴检测数据集包括6 064张训练验证集图片,1 517张测试集图片.

3.1. 实验环境及评价指标

CPU为Intel(R)Xeon(R) Gold 5115 CPU @2.40 Ghz,内存为32 GB,GPU为NVIDIA TiTAN V 12 GB. 软件平台为Windows7 操作系统,Pytorch深度学习框架. 在进行模型训练时,输入图像尺寸为640×640,Batch-Size为8,Epochs为120,初始学习率为0.01,权重的衰减速率为 $ 5 \times {10^{ - 4}} $,动量设置为0.937,学习率调整策略为固定步长衰减. 使用召回率、平均精度均值mAP、单张图片推理时间tI、每秒1.0×109次的浮点运算数(GFLOPS)和参数量nr等评价指标评估模型的有效性与实时性,其中AP为单一类别的平均精度,mAP为各类别AP和的平均值. 精确率rP、召回率rR和平均精度AP的计算式分别为

$ {{r_{\rm{P}}}} = \frac{{{{\rm{TP}}}}}{{{{\rm{TP}}}+{{\rm{FP}}}}}, $

$ {{r_{\rm{R}}}} = \frac{{{{\rm{TP}}}}}{{{{\rm{TP}}}+{{\rm{FN}}}}}, $

$ {{\rm{AP}}} = \int_0^1 {{r_{\rm{P}}}} \left( {{r_{\rm{R}}}} \right){\rm{d}} {{r_{\rm{R}}}} . $

式中:TP表示正样本被正确识别为正样本,即正的正样本;FP为假的正样本;FN为假的负样本.

3.2. 实验结果分析

3.2.1. 消融实验

为了研究PG-YOLOv5的多尺度特征提取及降低参数量的能力,针对5种模型进行消融实验,实验结果如表1所示. 模型1添加PSA模块,模型2添加PSA模块和采用特征融合模块1,模型3添加PSA模块和采用特征融合模块2,本研究模型添加PSA模块和采用特征融合模块3. 所有消融实验均基于Pascal VOC数据集进行测试,模型训练的参数均相同. 模型1相较于原始模型,平均精度均值从81.2%提高到84.8%,说明本研究设计的PSA模块充分利用了多尺度特征图的特征信息,提升了网络对于多尺度特征的提取能力. 模型2、3的平均精度均值相较于原始模型虽有提高,但参数量较原始模型减少较少,未达到减少参数量的目的. 本研究模型的参数量为28.49×106,相较于原始模型下降了36%,GFLOPS相较于原始模型下降了12.1%,平均精度均值从原始模型的81.2%提高到85.7%,该模型在提高检测精确度的同时,降低了网络模型的参数,更适合边缘端部署.

表 1   基于YOLOv5L改进的模型在Pascal VOC数据集上的消融实验结果

Tab.1  Ablation results on Pascal VOC dataset based on YOLOv5L model

模型 PSA 特征融合模块1 特征融合模块2 特征融合模块3 mAP/% rR/% tI/ms nr/106 GFLOPS
原始模型 81.2 75 3.6 44.53 114.4
模型1 84.8 78.5 21.1 44.39 113.9
模型2 85.6 82.3 9.6 36.47 107.4
模型3 86.8 82 8.4 36.47 107.4
本研究模型 85.7 81.8 8.1 28.49 100.6

新窗口打开| 下载CSV


3.2.2. 对比实验

为了验证PG-YOLOv5的有效性,将本研究算法与经典目标检测算法进行对比实验,平均精度均值及部分类别的平均精度如表2所示. 其中部分类别为在Pascal VOC数据集的20个类别中随机挑选的9个类别,分别为bike、bird、bottle、bus、car、cat、person、sheep、tv. 3种算法的检测结果图如图8所示. 由表2可知,和DSSD[15]、DES[16]相比,RefineDet[17]、R-FCN[18]的mAP低;相较于DSSD、DES、RefineDet、R-FCN,SPANDet[19]的mAP均有所提升,但对于尺度变化大的目标检测效果不佳;PG-YOLOv5的mAP从SPANDet的82.6%提高到85.7%,特别是bottle类,本研究算法mAP提高最多,说明PG-YOLOv5对小目标具有较好的检测效果. 由图8可以看出,输入图像中的对象具有不同的尺度,且尺度差异大. SPANDet未检测出马,该算法关注到了小尺度目标,但是单尺度变化较大导致该算法漏检了大尺度目标,因此SPANDet对尺度变化较大的图像的检测效果不佳. YOLOv5L对于尺度变化较大的图像检测效果较好,未出现漏检情况,但检测精确度较低. PG-YOLOv5可以准确检测出人和马,可以很好地适应不同尺度的目标,在尺度变化较大的情况下,未出现漏检情况,且检测精确度高. 实验结果表明,本研究算法引入的PSA模块能够有效提高网络对于不同尺度目标的检测能力.

表 2   不同目标检测算法在Pascal VOC数据集上的检测实验结果对比

Tab.2  Comparison of experimental results of different target detection algorithms on Pascal VOC dataset %

算法 主干网络 AP mAP
bike bird bottle bus car cat person sheep tv
DSSD ResNet-101 84.9 80.5 53.9 85.6 86.2 88.9 79.7 78 79.4 78.6
DES VGG-16 86.0 78.1 53.4 87.9 87.3 88.6 80.8 80.2 79.5 79.7
RefineDet VGG-16 85.4 81.4 60.2 86.4 88.1 89.1 82.6 82.7 79.4 80
R-FCN ResNet-101 87.2 81.5 69.8 86.8 88.5 89.8 81.2 81.8 79.9 80.5
SPANDet VGG-16 87.5 83.3 69.7 88.7 89.2 89.1 84.7 85.6 81.5 82.6
本研究 CSPDarknet 94.0 86.0 80.0 91.4 93.2 92.2 90.2 89.5 84.0 85.7

新窗口打开| 下载CSV


图 8

图 8   3种算法在Pascal VOC数据集上的目标检测结果图

Fig.8   Object detection results of three algorithm on Pascal VOC dataset


为了进一步验证PG-YOLOv5在检测精度和模型参数方面的优势,将本研究算法与YOLO系列目标检测算法进行对比,实验结果如表3所示,检测结果图如图9所示. 由表3可知,YOLO系列算法在自然图像数据集上均取得较好的检测精度,但随着模型不断加深,参数量和GFLOPS不断变大. 算法平均精度均值分别从YOLOv5L的81.2%、YOLOv5X的82.8%提高到PG-YOLOv5的85.7%,PG-YOLOv5的参数量比YOLOv5L的减少了36%. 本研究算法具有较高的检测精确度,实现了网络模型的轻量化. 由图9可以看出,输入图像中的对象具有不同的尺度,且尺度差异大. 对于上侧的图片,YOLOv5L与PG-YOLOv5均检测到目标餐桌,但YOLOv5L检测的概率较低;对于下侧的图片,PG-YOLOv5检测到目标的概率均高于YOLOv5L. 实验结果表明,与YOLOv5原始模型相比,本研究算法具有较好的检测效果.

表 3   不同目标检测算法在Pascal VOC数据集上的检测评价指标对比

Tab.3  Comparison of detection evaluation indicators for different target detection algorithms on Pascal VOC dataset

算法 mAP/% rR/% tI/ms nr/106 GFLOPS
YOLOv3 80.20 74.70 4.5 58.66 155.1
YOLOv4 80.70 75.90 5.2 61.12 136.3
YOLOv5L 81.20 75.00 3.6 44.53 114.4
YOLOv5X 82.80 75.80 6.4 83.21 217.5
P本研究 85.70 81.80 8.1 28.49 100.6

新窗口打开| 下载CSV


图 9

图 9   YOLOv5L算法与PG-YOLOv5算法的检测结果图

Fig.9   Detection result diagram of YOLOv5L algorithm and PG-YOLOv5 algorithm


基于SHWD数据集将Duan等[20]所提算法、Faster-RCNN[21]、CenterNet[23]、YOLOv3[22]与PG-YOLOv5进行目标检测实验对比,各算法的平均精度均值如表4所示,检测结果图如图10所示. 由表4可知,Faster-RCNN算法的mAP比YOLOv3、CenterNet的低,PG-YOLOv5的mAP是5种算法的mAP中最高的,为95.7%. 由图10可以看出,PG-YOLOv5能够准确检测出是否佩戴安全帽.

表 4   不同目标检测算法在SHWD数据集上的平均精度均值

Tab.4  Mean average precisions of different target detection algorithms on SHWD dataset

算法 mAP/%
Faster-RCNN[21] 85.0
YOLOv3[22] 88.5
CenterNet[23] 90.0
Duan等[20] 92.0
本研究 95.7

新窗口打开| 下载CSV


图 10

图 10   PG-YOLOv5在SHWD数据集上的检测结果图

Fig.10   Detection result of PG-YOLOv5 on SHWD dataset


3.2.3. 系统测试结果及分析

系统测试中使用的检测视频为某施工现场的实际监控视频,时长为19 s. 如图11所示为目标检测软件检测工地人员安全帽佩戴的情况检测结果图,可以看出,较小的目标和未佩戴安全帽的情况均能够被软件准确检测出来. 基于Jetson TX2使用PG-YOLOv5检测人员安全帽佩戴情况的检测结果如图12所示,目标检测系统的图像处理速度为262.1 ms/帧,mAP = 85.2%,说明本研究算法适合边缘端部署.

图 11

图 11   工地安全帽佩戴情况的软件检测界面展示图

Fig.11   Display diagram of software interface for testing wearing of safety helmet on construction site


图 12

图 12   Jetson TX2显示器上目标检测算法的检测结果

Fig.12   Detection results of target detection algorithm on Jetson TX2


4. 结 语

本研究提出的基于分割注意力与线性变换的轻量化目标检测算法,利用基于通道注意力的金字塔分割注意力模块,有效解决了目标检测中多尺度特征提取能力差的问题;利用GhostBottleNeck模块设计不同特征融合模块的生成策略,减少了模型的参数量. 本研究模型在保证检测准确的同时,还减少了模型的参数量和计算量,实现了检测精度和模型参数量的较好平衡. 相较于YOLOv5,所提算法的参数量更少、平均精度均值更高、检测速度更快、更适合边缘端部署.本研究仍存在不足,例如在工地安全帽佩戴检测实验中,使用的公开数据集样本较为单一,缺少对实际建筑工地数据集的采集,导致对较复杂场地下的安全帽佩戴检测效果不佳. 此外,数据集制作需要标记数据,该工作耗时较长. 下一步计划1)结合自监督学习方法,自动生成伪标签,提高标记数据的效率. 2) 通过自监督学习来学习 数据集中更高级的语义信息,使得目标检测任务更加智能化.

参考文献

张德祥, 王俊, 袁培成

基于注意力机制的多尺度全场景监控目标检测方法

[J]. 电子与信息学报, 2022, 44 (9): 3249- 3257

[本文引用: 1]

ZHANG De-xiang, WANG Jun, YUAN Pei-cheng

Object detection method for multi-scale full-scene surveillance based on attention mechanism

[J]. Journal of Electronics and Information Technology, 2022, 44 (9): 3249- 3257

[本文引用: 1]

袁益琴, 何国金, 王桂周, 等

背景差分与帧间差分相融合的遥感卫星视频运动车辆检测方法

[J]. 中国科学院大学学报, 2018, 35 (1): 50- 58

[本文引用: 1]

YUAN Yi-qin, HE Guo-jin, WANG Gui-zhou, et al

A background subtraction and frame subtraction combined method for moving vehicle detection in satellite video data

[J]. Journal of University of Chinese Academy of Sciences, 2018, 35 (1): 50- 58

[本文引用: 1]

ZHU J, ZOU H, ROSSET S, et al

Multi-class AdaBoost

[J]. Statistics and its Interface, 2009, 2: 349- 360

DOI:10.4310/SII.2009.v2.n3.a8      [本文引用: 1]

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

[本文引用: 1]

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

[本文引用: 1]

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

[本文引用: 1]

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

[本文引用: 1]

王立辉, 杨贤昭, 刘惠康, 等

基于GhostNet与注意力机制的行人检测跟踪算法

[J]. 数据采集与处理, 2022, 37 (1): 108- 121

DOI:10.16337/j.1004-9037.2022.01.009      [本文引用: 1]

WANG Li-hui, YANG Xian-zhao, LIU Hui-kang, et al

Pedestrian detection and tracking algorithm based on GhostNet and attention mechanism

[J]. Journal of Data Acquisition and Processing, 2022, 37 (1): 108- 121

DOI:10.16337/j.1004-9037.2022.01.009      [本文引用: 1]

WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module [C]// Proceedings of the European Conference on Computer Vision. [S.l.]: Springer, 2018: 3-19.

[本文引用: 1]

ZHANG H, ZU K, LU J, et al. EPSANet: an efficient pyramid squeeze attention block on convolutional neural network[C]// Proceedings of the Asian Conference on Computer Vision, 2022: 1161-1177.

[本文引用: 1]

TAN M, LE Q V. EfficientNet: rethinking model scaling for convolutional neural networks [C]// Proceedings of the 36th International Conference on Machine Learning. [S.l.]: PMLR, 2019: 6105-6114.

[本文引用: 1]

LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection [C]// Proceedings of the IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 2980-2988.

[本文引用: 1]

ZHANG X, ZHOU X, LIN M, et al. ShuffleNet: an extremely efficient convolutional neural network for mobile devices [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 6848-6856.

[本文引用: 1]

HAN K, WANG Y, TIAN Q, et al. GhostNet: more features from cheap operations [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 1580-1589.

[本文引用: 1]

FU C Y, LIU W, RANGA A, et al. DSSD: deconvolutional single shot detector [EB/OL]. (2017-01-23). https://arxiv.org/pdf/1701.06659.pdf.

[本文引用: 1]

ZHANG Z, QIAO S, XIE C, et al. Single-shot object detection with enriched semantics [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 5813–5821

[本文引用: 1]

ZHANG S, WEN L, BIAN X, et al. Single-shot refinement neural network for object detection [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 4203-4212.

[本文引用: 1]

DAI J, LI Y, HE K, et al. R-FCN: object detection via region-based fully convolutional networks [C]// Proceedings of the 30th International Conference on Neural Information Processing Systems. [S.l.]: CAI, 2016: 379-387.

[本文引用: 1]

HAO S, WANG Z, SUN F

Stacked pyramid attention network for object detection

[J]. Neural Processing Letters, 2022, 54: 2759- 2782

DOI:10.1007/s11063-021-10505-x      [本文引用: 1]

DUAN Q, PING K, LI F, et al. Method of safety helmet wearing detection based on key-point estimation without anchor [C]// 2020 17th International Computer Conference on Wavelet Active Media Technology and Information Processing. Chengdu: IEEE, 2020: 93-96

[本文引用: 2]

REN S, HE K, 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: 1137-1149.

[本文引用: 2]

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

[本文引用: 2]

DUAN K, BAI S, XIE L, et al. CenterNet: keypoint triplets for object detection [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 6569-6578.

[本文引用: 2]

/