91学术服务平台

您好,欢迎来到91学术官网!站长邮箱:91xszz@sina.com

发布论文

论文咨询

基于改进YOLOv7的湖面漂浮物目标检测算法

  2024-01-02    41  上传者:管理员

摘要:为提高湖面多种类和小体积的漂浮垃圾检测识别的准确度与推理检测速度,结合湖面垃圾漂浮物的图像特征,采用半结构化剪枝技术创建X-Toss剪枝框架,并基于YOLOv7目标检测模型,提出一种轻量化湖面漂浮物实时检测方法C-X-YOLOv7。X-Toss剪枝框架使用DFS算法生成父子卷积核计算图,利用特定的内核模式剪枝卷积核,降低迭代剪枝的计算成本。融合CA注意力机制对模型进行加权,减少模型过拟合现象,提高模型准确性和泛化能力。结果表明:对湖面垃圾检测识别,C-X-YOLOv7模型识别准确率为91.7%,召回率为91.2%,与YOLOv7模型对比分别提升2.6%、2.5%;推理加速度上,X-Toss剪枝框架在RTX 2080 Ti与NVIDIA Jetson TX2上分别实现YOLOv7的1.98×和2.17×的加速比,相较于PD、NMS、NS等剪枝框架,X-Toss的推理加速比和能耗均有提升。研究表明C-X-YOLOv7湖面漂浮物检测方法为湖面垃圾检测识别提供了一种新思路。

  • 关键词:
  • DFS算法
  • YOLOv7
  • 剪枝技术
  • 半结构化剪枝
  • 推理加速比
  • 注意力机制
  • 湖面漂浮物
  • 目标检测
  • 加入收藏

当今,由于部分人缺乏环保意识,垃圾乱扔的现象随处可见,一些垃圾出现在湖面等水域上。如果这些垃圾不及时清理,将会污染水资源,影响正常生活环境。传统的解决方案是作业人员在湖面上进行垃圾捕捞,这种方式依赖大量人力,且存在高风险。因此,一种水面智能清污机器人应运而生,准确识别水面上的垃圾变的尤为关键。随着人工智能和机器学习的发展,学者们提出了新的湖面目标检测方法[1⁃3]。文献[4]将人工智能应用于湖面目标检测,并用实测数据验证了检测方法,证明基于神经网络的人工智能解决方案以非常低的计算成本实时提供了较好的检测性能。文献[5]通过改进数据稀疏性和小目标特征的R⁃CNN,利用非最大值抑制模型来消除可能的重叠检测框,提出了一种基于快速区域卷积神经网络的海防雷达目标检测方法。该算法利用双阶段目标检测器进行目标检测识别,但单阶段目标检测器比双阶段检测器重量轻。单阶段检测器使用单一前馈网络,该网络包括分类和回归,以创建边界框来定位目标,比双阶段检测器速度更快,代表算法有YOLOv4、YOLOv7、SDD等。文献[6]改进了YOLOv4模型中的Mosaic数据增强算法以进行数据扩充,并利用动态加权平衡损失改善类别不平衡,提高了检测精度。文献[7]结合YOLOv5和暗通道去雾算法,融合了SE注意力机制模块和改进的非极大值抑制模型,提高了海上舰船识别的精确度。文献[8]通过轻量化SSD的骨干网络,并采用深度可分离卷积和注意力机制等优化策略,提高了检测精度。由于模型版本的更新迭代,上述单阶段目标检测器模型的检测精度已经被新的版本——YOLOv7所超越,改进后的模型参数量大,推理时间长,在检测精度与推理时间两方面都需要改进。文献[9]通过使用GhostNet网络替换YOLOv7的主干特征提取网络,并使用深度可分离卷积替换普通卷积,提高了微藻目标检测的精度和速度。上述算法需要更换YOLOv7的主干特征提取网络和所有的卷积层,操作过程复杂、工作量大,可以使用更加简化的半结构化剪枝技术对模型进行轻量化。为了在保持模型精度的同时提高推理时间,近年来提出了许多技术,如剪枝、量化和知识蒸馏。量化需要专门的硬件支持来实现高效的部署,而这在嵌入式板中可能无法实现;知识蒸馏要求学生模型具有鲁棒性,以吸收和保留从教师模型中获得的信息,这需要花费大量的时间和复杂的计算;与之相比,剪枝既不需要复杂的计算,也没有硬件约束。使用结构化或非结构化剪枝技术,小心地修剪掉不影响总体精度的冗余权重,以增加目标检测器模型的稀疏性。

因此本研究将利用剪枝技术加速对象检测器,结合湖面垃圾图像特征,并基于YOLOv7目标检测模型,提出一种轻量化湖面漂浮物检测模型C⁃X⁃YOLOv7。该模型使用了一种新颖的剪枝方法——半结构化剪枝,使用深度优先搜索算法生成父子卷积核计算图,利用特定的内核模式剪枝卷积核和相关的连通性,从而降低迭代剪枝的计算成本。融合CA注意力机制模块来加强特征提取能力,使用湖面垃圾漂浮物数据集对模型进行训练与测试,并与其他常用检测模型进行检测效果的对比,以期为湖面垃圾漂浮物检测识别提供一种新思路。


1、算法理论


1.1 CA注意力机制模块

CA注意力机制模块[10]不仅考虑了通道信息,还考虑了方向相关的位置信息。它通过对不同通道的特征进行加权,从而提高模型对重要特征的关注度,进一步提高模型的性能。计算公式如下:

式中:X表示输入的特征图;g (X)表示通过全局平均池化(Global Average Pooling)对X进行降维得到的特征向量;σ表示Sigmoid函数。

首先对输入的特征图X进行全局平均池化,得到一个特征向量g (X);再将g (X)输入到一个全连接层中,得到一个向量z;然后将z输入到一个Sigmoid函数中,得到一个0~1之间的值,表示每个通道的权重;最后将权重与原始特征图X逐元素相乘,得到加权后的特征图f_{CA}(X)。CA注意力机制结构如图1所示。

图1 CA注意力机制结构流程图  

1.2 DFS算法

DFS(DepthFirstSearch,深度优先搜索)算法过程为沿着每一个可能的路径向下进行搜索,直到不能再深入为止,并且每一个节点只能访问一次。

算法搜索遍历的步骤如下:

1)首先找到初始节点A。

2)依次从A未被访问的邻接点出发,对整个图进行深度优先遍历。

3)若有节点未被访问,则回溯到初始节点,继续进行深度优先遍历。

4)直到所有与顶点A路径相通的节点都被访问过一次。


2、C⁃X⁃YOLOv7模型的构建


2.1 注意力模块

目前,轻量级网络的注意力机制大都采用SE模块,仅考虑了通道间的信息,忽略了位置信息,所以本研究引入CA注意力机制模块。将CA注意力机制添加进YOLOv7结构中,共有两种方法:第一种,将Backbone骨干特征提取网络中所有的C3模块均替换成CA模块,替换后检测效果有提升,可以检测到未做改动前检测不到的目标,但是准确率、召回率以及平均精度均值均有下降,需要手动调整阈值,才能达到满意的效果;第二种,在Backbone骨干特征提取网络的最后一层添加CA注意力模块,替换原有输出层,替换后检测效果比第一种方法略有提高,并且不需要手动调整阈值,所以在本文研究中使用第二种方法将CA注意力机制模块引入本文模型中。

2.2 改进的半结构化剪枝框架X⁃Toss

高精度的目标检测使得检测模型更加复杂,产生较大的内存占用和更多的推理时间。为了减少操作延迟,同时保持模型精度,采用剪枝技术是一种有效的手段。在剪枝技术中,基于模型的半结构化剪枝可以提供比非结构化剪枝更好的稀疏性,同时确保比结构化剪枝技术更好的准确性。当前的技术主要集中在3×3卷积核上,这限制了可实现的稀疏性,进而限制了推理加速的优势。因此,为了增加此类模型的稀疏性,基于模型的剪枝技术有时会在这3×3个卷积核上使用连通性修剪。但是,连接剪枝中使用的“每层最后一个内核”这项标准,会导致其中重要信息的丢失,从而降低模型的精确率。

为了解决这些问题,本文提出了一种三步剪枝方法来剪枝1×1卷积核:

1)将1×1个卷积核组成3×3个临时权重矩阵;

2)对这些权重矩阵应用卷积核模型修剪;

3)将临时权重矩阵分解为1×1卷积核,并重新分配给它们的原始层。

半结构化剪枝的X⁃Toss流程图如图2所示。

1)使用深度优先搜索(DFS)算法寻找模型中的父子层耦合,由此得到的父子图用来减少剪枝的计算需求。当父层的修剪反映在图中的子层中时,计算成本就会减少;然后跟踪DFS,在子图中识别出3×3和1×1卷积核,并对它们应用特定内核大小的剪枝。

通过标准组合法在所有可能的组合中生成模型掩模,使用以下公式计算:

式中:n是矩阵的大小;k是模型掩模的大小。使用以下两个标准来缩小所使用的卷积核模型的数量:丢弃所有没有相邻非零权重的模型,这样做是为了保持卷积核模型的半结构化性质;通过使用范围[-1,1]内的随机初始化计算内核的L2范数来选择最常用的卷积核模型。k的取值范围为1~8,这可以产生8种不同类型的图案组。为了提高模型的稀疏度,非零权重的数量需要更低。文献[11⁃12]在卷积核模型修剪中使用了由内核中的4个非零权重组成的4通道模型。但是这导致模型具有相对较低的稀疏性,并且为了克服这个问题,文献[11⁃12]使用的方式为连接性剪枝。由于连接性剪枝的局限,在本文研究的X⁃TOSS框架中使用2通道模型,使用2个非零权重。

图2 半结构化剪枝的X⁃Toss流程图

2)通过算法为3×3卷积核模型修剪。首先使用3×3父核权重作为输入,并初始化一个变量来存储内核权重。创建一个由2EP模型组成的模型组,初始化一个空列表(L2_dict),在应用模型组中的卷积核模型后,该列表可以存储临时卷积核的L2范数。接着遍历卷积核模型,计算卷积核的L2范数,这个L2范数存储在L2_dict list中。通过使用来自L2_dict的L2范数找到临时内核的最佳卷积核模型,将卷积核模型的值存储,并更新为其原始权重矩阵。遍历父层中的所有内核,并将其存储为父层组中其余3×3内核的内核掩码。为父核找到合适的模型后,利用卷积映射将这些模型应用于相应的子内核。通过执行1×1到3×3内核转换,将这种模型匹配方法应用于1×1内核。对特定组中的所有内核应用相同的内核掩码,可以减少框架修剪整个模型所花费的时间。

3)通过算法为1×1内核进行修剪。通过执行1×1到3×3的变换,在内核修剪中移除了连通性剪枝,这可以保持模型的准确性,并减少因连通性剪枝而导致的损失。

2.3 C⁃X⁃YOLOv7模型

将CA注意力模块融入在YOLOv7的Backbone端,将提出的半结构化剪枝框架X⁃Toss应用在Conv卷积层。C⁃X⁃YOLOv7模型结构如图3所示。

图3 C⁃X⁃YOLOv7模型结构   


3、湖面漂浮物(垃圾)检测试验


3.1 试验环境及参数设置

本文试验运行系统为Windows 10,Intel Xeon Silver 4210(CPU),16 GB RAM,GTX 2080Ti(GPU),NVIDIA高性能嵌入式计算机Jetson TX2,软件为Pycharm2021,CUDA10.1,CUDNN7.4.2,深度学习框架为Pytorch 1.7.1。

3.2 评估标准

目标检测领域通常使用如下三种数据进行评估:精确率、召回率、平均精度均值。为了客观地评价本文提出的C⁃X⁃YOLOv7模型的效果,也采用这三种数据作为评价指标。计算公式为:

式中:TP为湖面漂浮物被正确预测的个数;FP是湖面漂浮物被错误预测的个数;FN是湖面漂浮物未被预测到的个数;AP是平均精度;P是精确率;R是召回率;mAP是平均精度均值;N是样本数量类别。

推理加速比(Inference Speedup)是一个无单位的比值,用于衡量模型推理或预测速度的提升程度,计算方式是将优化前的推理时间除以优化后的推理时间。例如,如果优化前的推理时间是10 s,优化后的推理时间是5 s,那么推理加速比就是10 5=2,表示推理速度提升了2×。

3.3 消融试验

为了验证本文提出的X⁃Toss半结构化剪枝框架C⁃X⁃YOLOv7模型的客观性和有效性,将不同的模型在相同的系统、相同的硬件配置下进行对比试验。在配置环境及初始训练参数一致的情况下,本文改进的YOLOv7网络模型与其他网络模型在硬件RTX 2080Ti上总体试验结果如表1所示。

在不同的硬件上,将未进行任何修剪的基础模型(Base Model,BM)的试验数据作为标准,将本文的半结构化剪枝框架X⁃Toss分别与PatDNN(PD)[12]、Neural Magic SparseML(NMS)[13]、Network Slimming(NS)[14]这三种使用不同修剪方法的框架进行对比。在RTX2080 Ti上,X⁃Toss在YOLOv7模型上实现1.98×的推理时间加速比;在NVIDIA Jetson TX2上,X⁃Toss在YOLOv7模型上实现2.17×的推理时间加速比。现阶段性能较好的修剪框架PD在RTX 2080 Ti上的推理时间加速比为1.69×,在JetsonTX2上的推理时间加速比为2.05×,X⁃Toss在RTX 2080 Ti和Jetson TX2上的推理时间加速比分别比PD提升了0.29×和0.12×,并且使用能耗均低于上述几种修剪框架,试验数据如表2所示。不同检测模型对于湖面上的塑料瓶这一种类漂浮物的检测结果如图4所示。 

表1 不同改进策略的湖面垃圾识别效果对比  

图4 不同模型的湖面垃圾检测对比试验结果     

表2 不同剪枝方法框架在两种硬件条件下的结果对比  

从结果得出,YOLOv7模型的准确率略低于C⁃YOLOv7模型并且存在漏检的问题,C⁃YOLOv7模型虽然精确度有提升,但是依然存在漏检的情况,甚至出现了误检。C⁃X⁃YOLOv7模型对湖面垃圾的识别准确率较前两种方法均有提高,并且解决了漏检和误检的问题。C⁃X⁃YOLOv7模型的准确率为91.7%,较其他两种模型分别提高了5.2%和2.6%;平均精度均值为68.6%,较其他两种模型分别提高了3.3%和1.5%。


4、结论


本文研究以YOLOv7模型为基础,提出了C⁃X⁃YOLOv7模型。通过添加CA注意力机制模块和改进半结构化剪枝框架X⁃Toss轻量化了YOLOv7模型,提高了对湖面漂浮物(垃圾)的检测精度和速度。本文中湖面漂浮物的数据集主要依靠网络搜寻获取,数据集背景类型大致相同,相对单一简单。今后的研究将进一步丰富湖面漂浮物数据集,并考虑湖面波浪反光干扰的因素,在去除湖面反光等干扰因素方面有创新性研究成果。


参考文献:

[6]陈昭俊,储珺,曾伦杰.基于动态加权类别平衡损失的多类别口罩佩戴检测[J].图学学报,2022,43(4):590-598.

[7]张晓鹏,许志远,曲胜,等.基于改进YOLOv5深度学习的海上船舶识别算法[J].大连海洋大学学报,2022,37(5):866-872.

[8]毛晓波,徐向阳,李楠,等.基于改进SSD和Jetson Nano的口罩佩戴检测门禁系统[J].郑州大学学报(工学版),2021,42(6):85-92.

[9]吴志高,陈明.基于改进YOLOv7的微藻轻量级检测方法[J].大连海洋大学学报,2023,38(1):129-139.

[10]侯思祖,徐岩,李柏奎,等.基于Yolo网络的配电网故障选线方法[J/OL].中国测试:1-9[2022-07-03].


基金资助:中国医药教育协会2022重大科学攻关问题和医药技术难题重点课题(2022KTMO36);


文章来源:徐宏伟,李然,张家旭.基于改进YOLOv7的湖面漂浮物目标检测算法[J].现代电子技术,2024,47(01):105-110.

分享:

91学术论文范文

相关论文

推荐期刊

网友评论

加载更多

我要评论

中国环境科学

期刊名称:中国环境科学

期刊人气:4125

期刊详情

主管单位:中国科学技术协会

主办单位:中国环境科学学会

出版地方:北京

专业分类:工业

国际刊号:1000-6923

国内刊号:11-2201/X

邮发代号:2-572

创刊时间:1981年

发行周期:月刊

期刊开本:大16开

见刊时间:一年半以上

论文导航

查看更多

相关期刊

热门论文

【91学术】(www.91xueshu.com)属于综合性学术交流平台,信息来自源互联网共享,如有版权协议请告知删除,ICP备案:冀ICP备19018493号

微信咨询

返回顶部

发布论文

上传文件

发布论文

上传文件

发布论文

您的论文已提交,我们会尽快联系您,请耐心等待!

知 道 了

登录

点击换一张
点击换一张
已经有账号?立即登录
已经有账号?立即登录

找回密码

找回密码

你的密码已发送到您的邮箱,请查看!

确 定