1. 引言
随着全球工业化进程的加速,水污染问题日益严重,其中水面垃圾问题尤为突出。水面垃圾不仅破坏了水域环境的美观,更重要的是,它对水生生物健康和人类的生活质量构成了严重威胁。因此,有效的水面垃圾监测和清理是保护环境和管理水资源的重要手段。
随着智能交通技术的快速发展,智能驾驶的水面无人船悄然兴起 [1] ,尤其是专门从事水面清洁的无人船,它们使得漂浮垃圾的清理工作实现全自动化、全天候操作。这些无人船还能够进入人类无法难以到达的危险区域,从而大幅提升漂浮垃圾清理的效率和工作安全性 [2] [3] 。
在水面垃圾清理的无人船运用中,垃圾检测系统的检测精度和速度成为了评估其清洁效率的关键指标。得益于计算机视觉和深度学习技术的广泛应用,无人船配备的图像采集系统能够充分利用所捕获的视觉图像信息。因此,基于视觉图像的水面垃圾检测成为了目标最经济、最有效的检测手段 [4] 。文献 [5] 通过在YOLOv3主干网络后添加SE-PPM模块的方式加强网络提取水面目标特征的能力。文献 [6] 将多尺度特征与注意力机制相结合,提出一种水面小目标检测算法,解决复杂海面场景下小目标特征信息匮乏,纹理信息不清晰等问题。这些方法都采用水平检测框的方式进行目标定位。而在本文研究的水面垃圾检测场景中,无人船检测的角度通常带有俯视倾角,这就意味着观测点和目标物体不处于相同的水平面。加之无人船的航行路径并非固定,因此无人船捕捉到的图像会随着观察角度的变化而出现缩放和旋转等多种情况。若仍然采用传统的水平检测框识别目标,将会在检测过程中引入大量背景噪声,不仅增加了错拣的可能,而且在目标较为密集的情况下导致检测框之间的严重重叠,从而出现漏检的情况。
针对上述问题,本文改进YOLOv5模型提高了其对水面垃圾检测应用场景的适用性。主要贡献如下:
1) 增加角度预测网络和损失函数,以及用于角度分类的动态角度平滑算法以改进角度预测能力。
2) 优化主干网络中的BottleneckCSP模块来增强模型提取定向水面垃圾特征的能力。
3) 优化特征聚合网络以提高多尺度特征融合效果。
2. 水面垃圾旋转目标检测模型
如图1所示,水面垃圾检测方案框架包括五个部分:输入层、特征提取主干网络、特征聚合网络、检测头和动态平滑模块。其中,主干网络主要由Focus模块、卷积模块和基于优化BottleneckCSP的OP BottleneckCSP模块组成。Focus模块通过切片操作减少计算量并提升运算速度。BottleneckCSP是一种卷积结构,在模型学习中表现出良好的性能。主干网络用于从水面垃圾图像中提取特征,并生成三种不同大小的特征图。特征聚合网络融合来自主干网络的多尺度特征,以提高水面垃圾旋转角度特征的学习能力。检测头基于多尺度特征图生成水面垃圾的类别、位置和旋转角度。最后,动态平滑模块部分加密角度标签的独热标签编码用于模型训练。
2.1. 检测头网络的改进
原始的YOLOv5检测器缺乏用于角度预测的网络结构,并且不能提供水面垃圾物体的抓取角度信息。因此,水上清污机器人无法根据垃圾的实时角度设置最佳的抓取方案,这样在抓拣过程中容易导致物体掉落或者抓取失败。因此,我们优化了检测头的结构。角度预测可以通过回归或分类实现。回归中会对角度产生连续的预测值,但是这样会存在周期性边界问题,这会导致损失函数在周期性变化边界处的值突然增加,进而增加学习难度。例如,在180˚长边定义方法中,定义的标签范围是(−90˚, 90˚)。当垃圾的真实角度是89˚而预测值为−90˚时,模型学习到的误差为179˚,但是实际误差应该是1˚,这影响了模型的学习。
因此,我们在检测头中增加了卷积网络分支,并用旋转目标框长边绕中心顺时针旋转得到的180个类别来定义角度标签。角度卷积网络使用特征聚合网络获得的多尺度特征中提取的信息生成角度预测。
在检测头中,角度卷积网络和原始网络共享特征聚合网络的输出作为输入特征图。角度预测网络和原始网络的输出合并如式(1)所示:
(1)
其中,
是水面垃圾的预测类别,
和
是目标框预测的中心坐标,
和
为预测框长边和短边的预测长度,
为定向水面垃圾的预测角度。
2.2. 角度平滑与损失函数
将角度预测作为一个分类任务可以避免回归引起的周期性边界问题,但仍然存在一些局限性。传统的分类任务的损失函数计算大多为交叉熵损失,标签的形式为独热标签编码,如式(2)和(3)所示:
(2)
(3)
其中,
是样本
角度的独热标签编码,
是定向垃圾的角度,
是检测模型的预测值。
如式(2)和式(3)所示,对于不同角度的错误预测,会获得相同的损失值,并且无法量化错误的角度差值,这使得模型训练难以确定定向水面垃圾的角度。为了解决这一问题,本文基于CSL算法提出了一种动态平滑标签算法,来优化角度的“独热标签编码”标签。
平滑标记算法如式(4)所示,其中
为旋转角度值,
为平滑范围,
为平滑函数。角度标签向量为密集分布因为
在平滑范围内。平滑函数值如式(5),其中当
时,函数最大值为1;当
时,函数最大值为0。
(4)
(5)
CSL算法部分增加了独热标签编码。当模型的角度预测在平滑范围内时,可以获得不同预测角度的不同损失值,所以它可以量化角度类别预测中的错误。然而,CSL算法对平滑范围很敏感,如果平滑范围太小,平滑标签将退化为独热编码并失去效果,很难学习角度信息。如果范围过大,角度预测的偏差将会很大,很容易导致抓取失败,特别是对于那些长宽比较大的水面垃圾。因此,本文提出动态平滑函数,用于调整角度标签的平滑幅度和范围。
动态平滑函数使用动态高斯函数来平滑角度标签。从图2可以看出,高斯函数的平滑幅度和范围受到均方根(RMS)值的控制。RMS的值越大,曲线越平坦;RMS的值越小,曲线越陡峭,平滑范围越小。因此,本文通过逐步缩小高斯函数的RMS值的方法实现动态平滑,如式(6)所示。本文采用线性退火和余弦退火的方式来调整RMS,如式(7)和式(8)所示:
(6)
(7)

Figure 2. Gaussian function curves with different root-mean-square values
图2. 不同均方根值的高斯函数曲线
(8)
其中,
是垃圾旋转角度的值,与函数的峰值位置相对应;
是垃圾角度的编码范围;
是RMS的值;
是编码位置与角度值之间的圆周距离。例如,
为179˚时,当
为0时,
等于1;epoch和epochs分别表示模型当前训练轮数和最大轮数,
和
是超参数。从式(6)可以看出,DSM根据编码位置和角度值之间的距离动态密集化角度标签。在模型训练前期,由于epoch较小,
的值较大,此时平滑范围较大,模型对角度的学习在窗口域内。平滑范围越大,模型学习就越能接近最优点的邻域内。所以,DSM降低了角度学习的难度,并提高了水面垃圾检测的召回率。随着epoch值的增加,角度平滑范围减小。模型学习目标从最优区域变为了最优点,这使得角度预测的偏差更小。角度预测的准确性越高,水面垃圾的召回率就越高,特别是在对长宽比较大的垃圾角度预测上。
本文采用基于动态平滑算法的交叉熵损失函数计算水面垃圾的角度损失,公式如式(9)所示:
(9)
式中,
,
代表角度的预测值,
是图片子域量化值,该模型能够预测所有子域。
的值为0或者1,表示图像中是否存在目标。当预测值越接近真实值,交叉熵的值就越小。
此外,本文采用GIoU损失函数来计算检测边界框的回归损失。图3中A和B分别为检测目标的真实框和预测框。C是A和B外接的最小矩形,白色区域为
。计算公式如式(10)-(12)所示。GIoU不仅能够表示真实框与预测框重叠部分,还能够表示非重叠部分,这样能够解决由于A与B不重叠而导致梯度不计算的问题。
(10)
(11)
(12)
上式中,A和B分别为检测目标的真实框和预测框。C是A和B外接最小矩形,置信度损失函数和类别损失函数如式(13)和(14)所示。其中
和
表示网格
的预测框
是否为目标框,
表示权重系数。
(13)
(14)
改进后模型的损失函数是上述损失函数的加权和,如式(15)所示:
(15)
2.3. 特征提取网络的改进
特征提取骨干网络可以提取图像中垃圾目标的特征信息。因为在定向水面垃圾检测中加入了角度预测,所以对于进行有效的特征提取提出了更高的要求,特别是在垃圾长宽比较大、垃圾重叠的情况下。
BottleneckCSP是YOLOv5骨干网络中的主要模块。该模块使用bottleneck架构进行堆叠,随着网络的深入,特征提取能力逐渐增强,但是浅层特征逐渐丢失。浅层特征具有较低的语义信息,由于较少的卷积操作所以它可以被细化。采用多层特征融合的方式在计算机视觉任务中能取得不错的效果。旁路路径被认为是简化网络训练的关键因素。将不同层学习到的特征图串联起来,可以增强特征信息。此外,加入注意力机制即根据不同特征的重要性分配不同权重的方法在应对图像识别任务时效果良好。CA (Coordinate Attention Mechanism)注意力机制就是其中一种表现良好的注意力机制。所以将BottleneckCSP中的中间特征进行融合并加入CA注意力机制模块,增强特征提取能力。
由于bottleneck中的残差块连接,由bottleneck间过多的特征融合导致的特征冗余不适合模型训练,参数量的增加意味着要消耗更多资源。因此,本文采用层间合并的方法连接特征层,如图4所示,优化后的模块命名为OPBottlencekCSP。
OPBottleneckCSP中的CA模块结构如图5所示。输入特征图沿水平坐标和垂直坐标进行编码,得到全局字段并对位置信息进行编码操作,有助于网络更准确地检测目标位置。
如式(16)所示,CA模块将输入的特征图生成水平和竖直方向的特征图,然后进行1 × 1的卷积变换,生成的
为水平和竖直方向空间信息的中间层特征图,
为下采样尺度,
为卷积运算。
(16)
其中
在空间维度上分为
和
。如式(17)和式(18)所示,通过卷积操作将其转化为与输入特征图相同的通道数,
和
作为注意力权值参与特征图运算,CA模块的输出结果如式(19)所示。

Figure 4. The optimized BottleneckCSP module
图4. 优化后的BottleneckCSP模块
(17)
(18)
(19)
优化后的特征提取骨干网络结构如图6所示。它通过卷积模块和OPBottleneckCSP模块提取特征,并通过1/8,1/16和1/32三次下采样操作生成三种尺寸的特征图。

Figure 6. Improved feature extraction network
图6. 改进后的特征提取网络
2.4. 特征聚合网络的改进
YOLOv5特征聚合网络由特征金字塔网络(FPN) [7] 和路径聚合网络(PANet) [8] 组成。PANet的结构如图7(a)所示。PANet沿着自顶向下和自底向上两条路径进行特征聚合。然而聚合的特征是高语义的深度特征,而高分辨率的浅层特征没有融合。为了更有效地利用输入特征,本文对PANet进行改进,如图7(b)所示。

Figure 7. Network structure before and after PANet improvement
图7. PANet改进前后的网络结构
改进后的PANet增加了输入特征映射与输出特征映射之间的端到端连接,建立了低级特征到高级特征点对点连接路径,可以在不增加太多成本的情况下实现图像中高分辨率和复杂语义特征的融合。通过对高分辨率和低分辨率特征图的语义信息的提取,进一步增强了旋转水面垃圾目标的角度特征信息,提高了模型的检测能力。
经过优化后的水面垃圾旋转目标检测方法命名为YOLOv5m-OW。当图片输入模型中时,模型使用主干网络提取特征,并生成三种不同尺寸的下采样特征图,用于检测水面垃圾。特征聚合网络进行特征聚合和融合,增强模型学习特征的能力。检测头根据多尺度特征生成水面垃圾目标的预测信息,在模型的训练阶段,使用动态平滑模块对训练集数据进行平滑处理,并通过损失函数计算预测中的损失,包括类别、角度和位置进行迭代学习。
3. 实验设计与结果分析
3.1. 实验数据集
本文采用水面垃圾数据集FloW-Img [9] 。该数据集标注框采用的水平框的方式进行标注,因此本文使用roLabelImg工具进行旋转目标框标注,最终数据集中包括8068张水面垃圾图像,垃圾类别主要为塑料瓶(Bottle),模型训练时,对数据集进行划分,其中训练集6194张图片,验证集1005张图片,测试集869张图片。
3.2. 评价指标
为了评估YOLOv5m-OW的性能,本文采用召回率(Recall)和平均准确率(mAP),公式如式(20)和式(21)所示。mAP50表示模型在IOU大于等于0.5的条件下检测目标的平均准确性。
(20)
(21)
3.3. 实验设计与结果分析
本实验将YOLOv5m-OW与其它主流的水平框检测方法如SSD [10] ,YOLOv3 [11] ,YOLOv5s,YOLOv5m进行对比实验结果如表1所示。SSD,YOLOv3,YOLOv5s以及YOLOv5m都是单阶段目标检测模型,通过单个神经网络预测目标位置和类别,具有较高实时性。但是它们本身仅支持水平目标检测。

Table 1. Comparison between YOLOv5m-DSM and horizontal frame detection methods
表1. YOLOv5m-OW与水平框检测方法比较
从表1中可以得出,与SSD,YOLOv3和YOLOv5s相比,YOLOv5m的召回率和平均准确率都更高。主要原因在于水平框在面对垃圾重叠,垃圾长宽比较大的情况下常出现误检的情况。与原网络YOLOv5m相比,YOLOv5m-OW在召回率和平均准确率上分别提升了7.5%和10.8%,这说明改进后的YOLOv5算法对于水面垃圾检测效果更好,也证明了动态平滑标记的有效性。
表2为YOLOv5m-OW模型与其它主流旋转目标检测方法在该数据集上的结果对比图。在表中可以看到,与Gliding-Vertex [12] 相比,召回率和平均准确率分别提高了2.3%和3.7%。与R3Det [13] 相比,分别提高了3.3%和3.2%。同时,召回率和平均准确率也优于S2A-Net [14] ,而且参数更少。本文模型的GFLOPS也低于其它比较算法,使得该模型更适合嵌入在无人船设备中使用。

Table 2. Comparison between YOLOv5m-DSM and horizontal frame detection methods
表2. YOLOv5m-OW与主流旋转目标检测算法的比较
通过对网络模型进行消融实验,对各个改进方案的优化效果进行结果分析,实验对比结果如表3所示。其中opt1a表示线性退火,opt1b表示余弦退火。opt2表示基于OPBootleneckCSP模块对特征提取骨干网络进行的改进,opt3表示基于YOLOv5对PANet结构的特征聚合网络的改进,实验结果如表3所示。

Table 3. The ablation experiment of each improved scheme
表3. 各个改进方案的消融实验
由表3可以看出,加入动态平滑算法和相应的损失函数后,模型召回率和平均精确度分别提高了5.3%和8.2%。加入动态平滑算法并加入OPBottleneckCSP模块后,模型分别提高了6.3%和9.7%。加入动态平滑算法和改进PANet模块后,模型分别提高了6.2%和9.5%,最终的YOLOv5m-OW模型召回率和平均精度分别提高了7.5%和11.1%。
为了验证本文提出改进方法的水面垃圾检测性能,利用该方法对一些较为复杂的水面垃圾场景进行了实际测试,实验结果如图8所示。
4. 结论
本文主要研究基于YOLOv5的水面垃圾旋转目标检测,为了实现无人船准确判断水面垃圾的角度以便机械臂能够设置合适的抓取角度,本文在检测头中增加了角度预测网络,提供水面垃圾角度信息,并提出了计算角度损失的动态平滑算法,增强了模型的角度预测能力。此外,通过优化模型的主干网络和特征聚合网络,提高了方法的特征提取和聚合能力。实验结果表明,提出的改进旋转目标检测算法YOLOv5m-OW的召回率和平均准确率分别为94.6%和93.2%,在水面垃圾检测上优于传统的水平目标检测算法以及主流的旋转目标检测算法,具备将模型移植进无人船设备的可行性,能够准确高效地检测复杂场景的水面垃圾。

Figure 8. Results of rotating target detection of water garbage
图8. 水面垃圾旋转目标检测结果
参考文献