随着城镇化进程的不断加速,垃圾堆成为城市管理的重要问题,智能化的垃圾堆检测算法,可以有效提高环境管理的水平和效率。在YOLOv7检测算法的基础上,通过引入注意力机制、改进MPConv模块以及优化损失函数对模型进行改进,提出了YOLO-AF垃圾堆检测模型。引入注意力机制和使用焦点模块增强特征信息解决垃圾堆和背景相似导致检测精度低问题,综合利用二元交叉熵损失函数和Kullback-Leibler散度损失函数解决垃圾分类不平衡问题。实验结果表明,在多类型垃圾堆检测任务中,YOLO-AF垃圾堆检测模型相较于YOLOv7表现出更高的精度、召回率和mAP,性能得到显著提升,训练300轮次的模型mAP值为92.45%。在同等条件下,检测效果优于当前主流的目标检测算法,可以较好地满足垃圾堆实时工业检测的需求。 With the continuous acceleration of urbanization, garbage heaps have become an important problem in urban management, and intelligent garbage heap detection algorithms can effectively im-prove the level and efficiency of environmental management. On the basis of the YOLOv7 detection algorithm, the YOLO-AF garbage heap detection model was proposed by introducing the attention mechanism, improving the MPConv module and optimizing the loss function. The attention mechanism is introduced and the focus module is used to enhance the feature information to solve the problem of low detection accuracy caused by the similarity of garbage and background. The binary cross entropy loss function and Kullback-Leibler divergence loss function are comprehensively used to solve the unbalanced problem of garbage classification. Experimental results show that the YOLO-AF garbage heap detection model shows higher accuracy, recall rate and mAP than YOLOv7 in multi-type garbage heap detection tasks, and the performance is significantly improved, and the mAP value of the model after 300 rounds of training is 92.45%. Under the same conditions, the de-tection effect is better than the current mainstream object detection algorithm, which can better meet the needs of real-time industrial detection of garbage heaps.
随着城镇化进程的不断加速,垃圾堆成为城市管理的重要问题,智能化的垃圾堆检测算法,可以有效提高环境管理的水平和效率。在YOLOv7检测算法的基础上,通过引入注意力机制、改进MPConv模块以及优化损失函数对模型进行改进,提出了YOLO-AF垃圾堆检测模型。引入注意力机制和使用焦点模块增强特征信息解决垃圾堆和背景相似导致检测精度低问题,综合利用二元交叉熵损失函数和Kullback-Leibler散度损失函数解决垃圾分类不平衡问题。实验结果表明,在多类型垃圾堆检测任务中,YOLO-AF垃圾堆检测模型相较于YOLOv7表现出更高的精度、召回率和mAP,性能得到显著提升,训练300轮次的模型mAP值为92.45%。在同等条件下,检测效果优于当前主流的目标检测算法,可以较好地满足垃圾堆实时工业检测的需求。
垃圾堆检测,YOLOv7算法,注意力机制,焦点模块,特征提取
Qi Song1, Chunmiao Yuan1, Likun Cao1, Chenchen Huang1, Qingyong Yang2*
1School of Software, Tiangong University, Tianjin
2School of Software and Communication, Tianjin Sino-German University of Applied Sciences, Tianjin
Received: Jan. 26th, 2024; accepted: Feb. 22nd, 2024; published: Feb. 29th, 2024
With the continuous acceleration of urbanization, garbage heaps have become an important problem in urban management, and intelligent garbage heap detection algorithms can effectively improve the level and efficiency of environmental management. On the basis of the YOLOv7 detection algorithm, the YOLO-AF garbage heap detection model was proposed by introducing the attention mechanism, improving the MPConv module and optimizing the loss function. The attention mechanism is introduced and the focus module is used to enhance the feature information to solve the problem of low detection accuracy caused by the similarity of garbage and background. The binary cross entropy loss function and Kullback-Leibler divergence loss function are comprehensively used to solve the unbalanced problem of garbage classification. Experimental results show that the YOLO-AF garbage heap detection model shows higher accuracy, recall rate and mAP than YOLOv7 in multi-type garbage heap detection tasks, and the performance is significantly improved, and the mAP value of the model after 300 rounds of training is 92.45%. Under the same conditions, the detection effect is better than the current mainstream object detection algorithm, which can better meet the needs of real-time industrial detection of garbage heaps.
Keywords:Garbage Heap Detection, YOLOv7 Algorithm, Attention Mechanism, Focus Module, Feature Extraction
Copyright © 2024 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
随着城镇化进程不断推进以及人口的集聚和生活水平的提高,城市中产生的垃圾量急剧增加,城市垃圾堆积不仅影响城市景观和市容,更给环境卫生和居民生活带来了严重问题 [
由于垃圾堆的多样性和环境的复杂性等问题,经常导致检测的精度的准确率不高,因此我们提出了YOLO-AF模型来实现更加准确的垃圾堆检测。该模型以YOLOv7 [
在垃圾检测领域,Mittal G等人 [
超声波传感器和GSM模块也被用于跟踪整个垃圾收集过程。Singh A等人 [
YOLO [
YOLOv7由四个模块组成,分别是输入、骨干、头部和预测。输入模块将输入图像缩放到统一的像素大小,以满足骨干网络的输入大小要求。骨干模块由若干个BConv卷积层、E-ELAN卷积层和MPConv卷积层组成,其中BConv由卷积层、批量归一化(BN)层和LeakyReLU激活函数组成,用于提取不同尺度的图像特征。E-ELAN卷积层保持了原有的ELAN设计架构,通过引导不同特征组的计算块来学习更多样化的特征,在不破坏原有梯度路径的情况下提高网络的学习能力。MPConv卷积层在BConv层上增加了一个Maxpool层,形成两个分支,以提高网络的特征提取能力。头部模块采用传统的PAFPN结构,引入自下而上的路径,便于将底层信息向高层传递,从而实现不同层次特征的高效融合。预测模块通过REPConv结构调整PAFPN输出的不同尺度的P3、P4和P5特征的图像通道数,最后通过卷积进行预测。
垃圾堆检测模型需要同时满足实时性和准确性的要求。鉴于检测精度和速度之间的良好平衡,我们选择YOLOv7作为基线模型,针对目前垃圾检测存在的问题进行改进,以实现实时准确的垃圾检测性能。
在复杂的现场环境中检测垃圾需要考虑许多因素,可变照明条件、遮挡、垃圾和背景颜色相似等问题,都将导致垃圾堆检测不准确。注意力机制是指通过对网络输入部分赋予不同的权重,使模型忽略不相关的信息,专注于重要信息,可以有效提高模型在复杂背景下的特征提取能力。因此,我们将注意力机制模块SE嵌入到YOLOv7的网络结构中来学习通道间的重要性权重,以增强对特定特征的关注度,SE模块如图1所示。
图1. SE模块图
SE模块主要由Squeeze和Excitation两个模块组成。Squeeze步骤通过全局平均池化将每个通道的特征进行降维,得到一个全局垃圾堆特征向量,表示了每个通道的整体贡献。Excitation模块通过学习一个激励向量,可以调整每个通道的权重,从而强化对不同通道对垃圾堆重要特征的关注度。这个激励向量的学习是通过两个全连接层来实现的,这些层可以自适应地学习权重,以适应不同任务的需要。最后,SE模块将每个通道的激励与原始垃圾特征相乘,以生成具有注意力机制的垃圾堆特征图,从而突出垃圾堆的关键特征,增强提取垃圾堆关键特征的能力,减少了复杂背景对垃圾堆检测的干扰。
在Squeeze模块 [
z i = 1 H × W ∑ j = 1 H ∑ k = 1 W x i j k (1)
其中, z i 为 i 通道压缩后的特征值, H 和 W 分别为垃圾堆特征图的高度和宽度, x i j k 为 i 通道在垃圾堆特征图中 ( j , k ) 位置的特征值。
在Excitation模块 [
s i = σ ( W 2 δ ( W 1 z i ) ) (2)
式中, s i 为第 i 个通道的激励值, W 1 和 W 2 为两个全连接层的权重矩阵,
最后,SE模块将每个通道的激励与原始垃圾堆特征映射相乘,生成具有注意机制的特征映射。如等式(3)所示:
y i = s i ⋅ x i (3)
其中, y i 是最终输出垃圾堆特征图中的第 i 通道, s i 是该通道的激活值, x i 是原始垃圾堆特征图中的第 i 通道。
我们将SE模块添加到YOLOv7的骨干网络(如ResNet50)的末端,以增强图像特征的表征能力。SE模块可以自动识别并增强图像中垃圾堆的重要特征,同时抑制噪声和不相关信息,从而提高垃圾堆检测准确性。
在进行实际垃圾检测中,由于会出现垃圾堆的特征不明显,干扰检测效果。为了让模型更全面地捕捉目标的特征,提高目标检测的性能,更好地适应垃圾堆检测任务,我们通过在YOLOv7的MPConv模块中集成多个卷积核,从而扩展感受野的范围,使其能够有效地捕捉不同尺度下的特征,多尺度信息融合后有助于提高算法对垃圾堆在不同细粒度上的表示能力,增强了检测的全局感知能力。YOLOv7中MPConv模块的两个分支的下分支使用3 × 3卷积内核进行卷积操作 [
图2. MPConv卷积过程
受YOLOv5中焦点模块的启发,我们用Focus模块 [
图3. F-MPConv模块
综上所述,改进后的YOLOv7模型如图4所示,我们称之为YOLO-AF。
图4. YOLO-AF模型示意图
对于深度学习模型,通过损失反向传播 [
L B C E ( y , y ^ ) = − 1 N ∑ i = 1 N ( y i ⋅ log ( y ^ i ) + ( 1 − y i ) ⋅ log ( 1 − y ^ i ) ) (4)
其中 N 为像素总数, y i 为真实标签, y ^ i 为模型的预测。虽然二值交叉熵损失函数在大多数检测任务中表现良好,但在垃圾分类不平衡方面可能存在一些缺点。
Kullback-Leibler散度损失函数 [
L K L D i v ( p , q ) = ∑ i p i ⋅ log ( p i q i ) (5)
Kullback-Leibler散度损失函数的优点是能够处理类别不平衡问题,因为对于每个像素都考虑了真实标签和模型输出之间的差异。为了解决垃圾分类不平衡问题,我们综合利用了二元交叉熵损失函数和Kullback-Leibler散度损失函数的优点,将它们权重相加,并为每个损失函数分配一个权重,选择将权重均分为0.5,以平等地考虑它们的贡献。我们提出的垃圾检测模型的损失函数如式(6)所示,我们将其称之为rdrop loss。
L ( y , y ^ , p , q ) = 0.5 ⋅ L B C E ( y , y ^ ) + 0.5 ⋅ L K L D i v ( p , q ) (6)
通过将二值交叉熵损失函数的像素级预测与Kullback-Leibler散度损失函数的类不平衡处理能力相结合,我们的模型可以解决类不平衡问题,得到更准确的垃圾堆检测结果。
论为了涵盖垃圾堆在不同环境和场景中的多样性,我们在城市、郊区和乡村等不同地域进行了广泛的数据采集,并标注了相应的数据集。通过高分辨率的数字相机和无人机等设备,获取了包括公共场所、居民区等不同场景下的垃圾堆图像。这些图像覆盖了垃圾的各种类型、规模和形状,确保了数据集的多样性。我们选取不同环境和不同时间的垃圾堆图片作为研究对象,图像分辨率为640 × 640像素。为了得到多样性的图像数据,采集的图像包括五个场景:生活垃圾、建筑垃圾、白天、夜晚和遮挡,垃圾堆数据图像如图5所示。
图5. 垃圾堆图片示例:(a) 夜晚的生活垃圾;(b) 白天的生活垃圾;(c)遮挡的生活垃圾;(d) 白天的建筑垃圾
为了增加数据集的多样性和训练算法的鲁棒性,采用随机旋转、镜像翻转、亮度调整等方式,生成更多样化的训练样本,提高算法对于光照、角度和噪声等变化的适应能力,使得垃圾堆检测在实际场景中更为可靠。整个数据集共3370张图片,划分为训练集、验证集和测试集,三者的比例为8:1:1,数据集结构如表1所示。
数据集 | 图像分辨率(像素) | 图像数量 |
---|---|---|
训练集 | 640 | 2696 |
验证集 | 640 | 337 |
测试集 | 640 | 337 |
表1. 垃圾堆数据集信息
实验配置如下:操作系统为Windows 10的64位操作系统的专业版;深度学习框架为Pytorch1.7;CUDA版本为11.1;编程语言为Python 3.9。训练时输入图片的大小为640 × 640。为了减少训练过程时间,获得更好的训练效果,将学习率设置为0.001,权重衰减系数设置为0.0005,使用Adam优化器,训练批次设置为16,迭代周期设置为300个epoch。
为了全面、客观地评估改进YOLOv7算法的性能,采用精度(P)、召回率(R)、F1得分(F1)、平均精度(AP)和mAP对检测性能进行评价,涵盖了模型在不同方面的表现 [
1) 精度(Precision)
精度是指模型在所有被预测为正类别的样本中,实际为正类别的比例更高的精度意味着算法更少地将负样本错误地分类为正样本,具有更好的准确性。
p = TP TP + FP × 100 % (7)
2) 召回率(Recall)
召回率衡量了模型能够正确检测出所有正样本的能力。高召回率表示算法对于真实存在的垃圾堆有更好的捕捉能力,避免了漏检的情况。
R = TP TP + FN × 100 % (8)
3) F1得分(F1 Score)
F1得分是精度和召回率的调和平均,综合考虑改进YOLOv7模型的准确性和全面性。追求更平衡的F1得分,以确保算法在准确性和召回率之间取得良好的平衡。
F 1 = 2 PR P + R × 100 % (9)
4) 平均精度(Average Precision, AP)
平均精度综合模型在不同类别上的精度表现,考量每个类别的精度,从而更全面地评估了算法在各类别上的性能。
AP = ∫ 0 1 P ( R ) d R × 100 % (10)
5) 平均精度均值(mean Average Precision, mAP)
mAP是AP的平均值,提供对整个数据集的综合评估。mAP综合考虑了模型在不同类别上的性能,为算法的整体效果提供了直观的度量。
mAP = 1 n AP i × 100 % (11)
其中,TP是被检测为垃圾堆的垃圾堆,FP是被检测为垃圾堆的背景,FN是未被检测的垃圾堆。P和R可以从TP、FP和FN计算,F1可以从P和R计算。
为了证明本文所提模型的优越性,利用控制变量原理进行对比实验,将所提模型与当前主流的目标检测器在相同实验环境和相同数据集上的检测性能进行了对比,在我们的数据集训练200个epoch后,训练结果显示性能趋于平稳。因此,300个epoch足以用于数据集的训练过程。表2显示了不同模型在P、R、F1、mAP和平均检测时间的训练结果,最佳结果都以粗体突出显示。
Model | P (%) | R (%) | F1 (%) | mAP (%) | Average Detection Time (ms) |
---|---|---|---|---|---|
YOLOv3 | 85.34 | 83.22 | 84.26 | 86.02 | 23.82 |
YOLOv4-tiny | 84.13 | 82.64 | 83.37 | 85.60 | 22.87 |
YOLOv4 | 84.87 | 82.75 | 83.80 | 85.44 | 23.04 |
YOLOv5s | 86.45 | 83.39 | 84.89 | 87.91 | 18.91 |
YOLOv6 | 86.10 | 84.55 | 85.32 | 86.73 | 20.48 |
YOLOv7-tiny | 88.24 | 83.57 | 85.84 | 88.32 | 18.54 |
YOLOv7 | 87.02 | 85.64 | 86.32 | 89.57 | 19.76 |
Ours | 91.27 | 88.47 | 89.85 | 92.45 | 21.95 |
表2. YOLO-AF与其他模型的检测效果比较
对比结果表明,我们的模型不仅保证了较高的检测精度,而且满足了实时检测速度要求。YOLO-AF在精度(P)、召回率(R)、F1得分(F1)、以及平均精度(mAP)上分别为91.27%、88.47%、89.85%和92.45%,都明显超过原有的算法。特别是在mAP方面,达到了92.45%,有着显著提升。YOLO-AF在垃圾堆检测方面优于表2中的其他模型,在检测速度和检测精度之间取得了良好的平衡。8个模型的检测时间均小于25 ms,YOLO-AF虽然平均检测时间略高于YOLOv7-tiny (21.95 ms对比18.54 ms),但仍满足实时性要求,考虑到性能的全面提升,这种增加是可以接受的。
为了验证我们的YOLO-AF模型对垃圾堆检测的优化效果,进行了多个消融实验。每个实验都使用相同的训练参数和不同的模型结构进行,分别为:实验1:嵌入SE注意力机制模块;实验2:替换损失函数为rdrop loss;实验3:添加F-MPConv模块;实验4:嵌入SE注意力机制模块及添加F-MPConv模块;实验5:嵌入SE注意力机制模块及添加F-MPConv模块和替换损失函数rdrop loss。消融试验的结果如表3所示。
实验序号 | 方法 | mAP (%) | R (%) | Average Detection Time (ms) |
---|---|---|---|---|
0 | Yolo v7 | 89.57 | 85.64 | 19.76 |
1 | +SE | 91.87 | 84.65 | 23.37 |
2 | +rdrop loss | 91.51 | 83.79 | 21.34 |
3 | +F-MPConv | 92.04 | 87.56 | 22.45 |
4 | +SE+ F-MPConv | 92.26 | 86.46 | 22.63 |
5 | +SE+rdrop loss+ F-MPConv | 92.45 | 88.47 | 21.95 |
表3. 消融实验结果
由表3所示,通过引入SE注意力机制,整体性能有所提升,mAP提高至91.87%,通过对通道进行加权,使网络更加关注重要的特征,有助于提升对垃圾堆的细致表达。但召回率略微下降至84.65%,而平均检测时间增加至23.37 ms。
通过优化损失函数后,mAP进一步提高至91.51%,但召回率略微降低至83.79%,而平均检测时间略有增加至21.34 ms。这是由于优化后的损失函数更加关注难以训练的样本,导致对于一些正样本的捕捉不足。增加的平均检测时间表明,引入更复杂的损失函数会带来一些计算负担。
通过使用F-MPConv模块,模型性能得到显著提升,mAP和召回率分别达到92.04%和87.56%,平均检测时间为22.45 ms。通过融合多尺度信息和增强非线性特性,使得模型更好地捕捉垃圾堆的复杂特征,使得性能明显得到提升。
通过将SE和F-MPConv模块结合使用后,mAP持续提升至92.26%,Recall稍有下降至86.46%,平均检测时间为22.63 ms。SE注意力机制对于提高精度有一定帮助,但在Recall和检测速度上有轻微的影响。
同时引入SE、优化的损失函数和F-MPConv模块后,mAP保持在92.45%,而Recall显著提高至88.47%,平均检测时间为21.95 ms。可以看出,结合SE、优化的损失函数和F-MPConv模块,整体性能相较于基准模型得到了提升,综合考虑了精度、召回率和检测速度的权衡。
为了探究YOLO-AF模型与原YOLOv7模型在不同场景下的垃圾堆检测性能的差异,从测试集中选取50张不同场景的垃圾堆图片进行测试。测试结果如表4所示。从表4可以看出,待测试的垃圾堆数量为61个生活垃圾,56个建筑垃圾,55个白天的垃圾堆,58个夜晚的垃圾堆以及60个被遮挡的垃圾堆。将YOLO-AF模型输出的检测结果与图片的标注数据进行对比,可以看出,YOLO-AF模型对五种场景的垃圾堆的检测结果优于原始模型。
场景 | 模型 | 待测试的垃圾堆数量 | 识别正确 | 识别错误 | ||
---|---|---|---|---|---|---|
数量 | 正确率(%) | 数量 | 错误率(%) | |||
生活垃圾 | YOLOv7 | 61 | 53 | 86.89 | 3 | 4.92 |
Ours | 61 | 57 | 93.44 | 2 | 3.28 | |
建筑垃圾 | YOLOv7 | 56 | 49 | 87.50 | 2 | 3.57 |
Ours | 56 | 51 | 91.07 | 1 | 1.79 | |
白天 | YOLOv7 | 58 | 51 | 87.93 | 3 | 5.17 |
Ours | 58 | 53 | 91.38 | 1 | 1.72 | |
夜晚 | YOLOv7 | 56 | 48 | 85.71 | 4 | 7.14 |
Ours | 56 | 52 | 92.86 | 1 | 1.79 | |
遮挡 | YOLOv7 | 60 | 50 | 83.33 | 5 | 8.33 |
Ours | 60 | 54 | 90.00 | 2 | 3.33 |
表4. YOLO-AF模型与YOLOv7在不同类型下检测垃圾堆的对比结果
对于不同垃圾类别,YOLO-AF模型可以准确区分生活垃圾和建筑垃圾,识别的正确率分别达到了93.44%和91.07%,相较于YOLOv7的86.89%和87.50%有明显提升。针对不同光线下的场景,在光线充足的白天,YOLO-AF模型识别的正确率为91.38%,而YOLOv7为87.93%;而在光线不足的夜晚,YOLO-AF模型识别的正确率为92.86%,而YOLOv7仅为85.71%。在遮挡情况下的检测任务中,YOLO-AF模型同样表现出卓越的性能,识别正确率达到了90.00%,相对于YOLOv7的83.33%有显著提升。
这些结果不仅显示改进后的YOLOv7模型在不同垃圾类别下的更高准确性,而且在识别错误率方面也相对较低。总体而言,YOLO-AF模型相较于YOLOv7在实际垃圾堆检测中展现了更为可靠和准确的性能,为其在实际应用场景中的广泛推广提供了有力的支持,因此,YOLO-AF更适合复杂环境中的垃圾堆检测。然而,在某些情况下,我们的算法无法成功检测,这些检测失败的主要原因是无人机拍摄的角度和距离与现实监控摄像存在一定差距,而且在现实环境中,存在可以模仿垃圾堆特征的不规律摆放的物体。这种相似性可能会导致错误检测。不同场景下垃圾堆的检测结果如图6所示。
图6. 检测结果比较:第一行为YOLOv7检测结果示例,第二行为YOLO-AF检测结果示例
本文提出的YOLO-AF主要是实现复杂环境下对垃圾堆的高效检测。该模型使用在各种复杂环境中收集的不同类别垃圾堆作为数据集。通过增加注意力机制,对原有网络模块进行改进,优化损失函数,提高了模型的检测速度和精度。实验结果表明,本文改进的策略可以显著提高复杂环境中不同类型垃圾堆的检测精度,而不会显著影响检出率。
本文提出的模型在计算性能较强的个人计算机上表现良好,但其模型复杂度较高,在低配计算平台上无法达到实时检测的要求,在弱光条件且高度遮挡的场景中需要提高检测性能。未来,我们计划探索模型压缩和轻量级设计,目的是在移动和嵌入式设备上部署模型,同时平衡准确性和速度。我们将研究使用立体相机计算的点云图像,这可能会更准确地识别和定位垃圾堆。
宋 琦,苑春苗,曹立昆,黄臣臣,杨清永. YOLO-AF:结合注意力机制和焦点卷积的垃圾堆检测模型YOLO-AF: A Garbage Heap Detection Model Combining Attention Mechanism and Focus Convolution[J]. 计算机科学与应用, 2024, 14(02): 468-479. https://doi.org/10.12677/CSA.2024.142047
https://doi.org/10.1051/matecconf/201823201056
https://doi.org/10.1109/ACCESS.2019.2932117
https://doi.org/10.1109/ICAIS50930.2021.9395916
https://doi.org/10.1109/WACVW58289.2023.00029
https://doi.org/10.1145/2971648.2971731
https://doi.org/10.1007/978-3-030-12804-3_15
https://doi.org/10.1007/978-3-030-19651-6_41
https://doi.org/10.1109/ICACCCN.2018.8748568
https://doi.org/10.1109/ICRITO.2016.7785008
https://doi.org/10.1109/ICACCI.2018.8554678
https://doi.org/10.1109/CVPR.2016.91
https://doi.org/10.1109/TPAMI.2016.2577031
https://doi.org/10.3390/app11104614
https://doi.org/10.1371/journal.pone.0214587
https://doi.org/10.1145/3596286.3596289
https://doi.org/10.1145/3592686.3592717
https://doi.org/10.1016/j.eswa.2021.116270
https://doi.org/10.30534/ijatcse/2020/175942020
https://doi.org/10.1109/TIT.2014.2320500
https://doi.org/10.3389/fbioe.2022.861079