APP下载

基于持续无监督域适应策略的水面漂浮物目标检测方法

2023-10-29陈任飞李忠文

系统工程与电子技术 2023年11期
关键词:漂浮物源域缓冲区

陈任飞, 彭 勇,*, 李忠文

(1. 大连理工大学水利工程学院, 辽宁 大连 116024; 2. 大连理工大学经济管理学院, 辽宁 大连 116024)

0 引 言

漂浮垃圾威胁水体生态系统,对环境造成严重污染[1-2]。应对内陆水域漂浮垃圾的传统策略是依靠人力,效率低且成本高[3]。以机器视觉为代表的人工智能技术在漂浮物治理中得到了广泛应用,通过视觉信息检测漂浮物是较为经济的解决方案,如无人船和视觉相机[4-5]。近年来出现了基于深度学习的方法来解决漂浮物检测的难题,如Faster R-CNN[6]、YOLO[7]、SSD[8]等。尽管目前在漂浮物检测方面取得了一定的进步,但仍存在以下问题。

(1) 小尺度漂浮物检测精度低。大多数漂浮物的图像面积较小,缺乏物体检测的外观信息,为漂浮物识别和定位带来巨大挑战[9-10]。现有的物体检测方法通常通过学习物体多尺度的表征信息来检测小物体,如Liu等人利用卷积特征图检测小尺度目标,但浅层的特征图的判别能力较差,导致了假阳性现象[8]。Tsung等采用特征金字塔网络(feature pyramid network,FPN)代表不同尺度的目标对象,通过上采样将不同分辨率特征图进行特征融合,但会降低检测精度[11]。同时,Bai等提出一种端到端的多任务生成对抗网络(multi-task generative adversarial network,MTGAN),通过生成超分辨率网络将小尺度目标进行上采样检测,缓解了FPN中的精度下降问题[10]。Li等提出一种感知生成对抗网络(perceptual generative adversarial networks,PGAN),通过缩小不同尺度目标的差异性来改善小目标检测性能,但网络复杂造成推理时间长[12]。因此,现有的物体检测方法并没有完全解决复杂水面环境中的小尺度目标物检测难题。由于小尺度目标的检测依赖于高分辨率特征图,而低层特征图在小尺度漂浮物检测任务中性能失效[13]。因此,如何调整多尺度特征层的语义信息,是提升小尺度漂浮物检测性能的关键。

(2) 域转移会降低检测性能。由于源域数据集和目标域数据集之间的分布差异,物体检测性能会大幅下降[14]。以无监督域适应为代表的迁移学习是解决域转移问题的有效方法[15-16]。基于域适应的Faster R-CNN和CM-SSD在目标检测的无监督域适应中得到广泛应用[17-18]。Xiong等提出了一种源数据自由域适应目标检测方法,通过使用源模型挖掘语义类别信息,以Faster R-CNN为基准实现域适应目标检测[19]。Kim等通过采用生成对抗网络构造中间域图像,通过多域判别器学习特征以实现特征对齐[20]。上述方法需要满足整体目标域数据集在域适应过程可用性假设,但现实检测中包括大量漂浮物场景并且同一场景的环境也会随着时间的推移而变化,导致无法直接应用于实际场景中的漂浮物目标检测[21]。例如,当漂浮物突然进入一个新环境,导致漂浮物目标域和源域数据集的分布完全不匹配。持续学习能够让深度学习网络以持续的方式进行优化,适应目标域物体检测的新任务[22]。Hoffman等提出了一种基于流形准则的方法来处理缓慢变化目标域的流式目标数据[23]。同样,Wulfmeier等提出了一种基于生成对抗网络的持续适应目标域的方法[24]。Volpi等认为源域和目标域数据之间的域转移是随时间不断变化的域适应问题,通过使用具有辅助源域的元学习方法来避免域适应过程中的误差[25]。但上述方法都忽略了连续域适应目标检测中的灾难性遗忘问题,导致源域模型的检测性能下降[26]。 因此,现有方法依然无法有效解决物体检测器的连续域适应问题。

目前漂浮物目标检测与域适应方法中存在小尺度漂浮物检测精度低和域转移会降低检测性能问题,少有研究将调整特征层结构和持续域转移相结合,更少考虑目标检测网络在持续域转移中的灾难性遗忘问题。本文基于持续学习提出了一种基于持续无监督域适应策略的漂浮物目标检测方法,在目标检测器中通过删除深层的低分辨率检测层和增强浅层的高分辨率层,提高了目标域中小尺度漂浮物目标的检测性能;在无监督域适应中基于缓冲区管理和样本重放构建持续无监督域适应方法,缓解灾难性遗忘问题,并降低目标域数据集样本子集域适应过程中的检测性能差异。本方法在多种水面域转移场景下,包括从水面环境光照到动态光影条件,从雾天到大雨环境变化等,在数据集上的表现都优于现有方法,提升了目标检测网络在不同水面场景应用中的泛化能力。

1 研究方法

1.1 概述

本文提出的基于持续无监督域适应策略的漂浮物目标检测方法包括两个方面:在目标检测阶段,提出了一种水面漂浮物检测器(single shot multi-box detector for floating target, SSD-FT),以解决漂浮物的复杂检测环境和目标尺度问题。在无监督域适应阶段,提出了一种持续无监督域适应(continual unsupervised domain adaptation, CDA)方法,以最小化源域数据集与目标域数据集之间的分布差异,提高检测器在多种场景下的检测性能。本方法CDA-SSD-FT的整体框架如图1所示。首先,基于标记的源域数据集,以标签平滑的方式训练SSD-FT模型,为漂浮物目标生成标签。然后,初始化训练好的SSD-FT模型,并将其输入到目标域数据集中。缓冲区管理和样本重放被应用于无监督适应中,以提高检测网络对整体目标域数据集的泛化能力。

图1 持续无监督域适应目标检测网络结构

1.2 改进SSD检测网络

相较于两阶段目标检测算法,以SSD和YOLO为代表的一阶段检测算法能够平衡精度和速度,但在小目标检测上性能显著下降[27]。从骨干网络复杂度和集成角度讲,SSD算法的VGG16网络比YOLO算法的Darknet网络更具优势,因此SSD算法作为本研究的基础网络。在目标检测特征提取网络中,小目标信息更依赖高分辨率特征图,本研究调整传统SSD网络的特征图结构来提升小目标漂浮物检测性能。传统SSD网络包括6个检测层:38×38(Feature1,F1)、19×19(Feature2,F2)、10×10(Feature3,F3)、5×5(Feature4,F4)、3×3(Feature5,F5)和1×1(Feature6,F6)。调整后的SSD检测网络见图2,删除了低分辨率特征层和增强了高分辨率特征层。具体如下:

图2 SSD-FT网络结构

(1) 删除深层低分辨率检测层:由于小目标漂浮物分辨率低、图像噪声干扰大,传统SSD检测网络中深层低分辨率特征层无法提取小型漂浮物目标的语义信息,其中在分辨率为5×5的F4检测层下漂浮物模糊且形状、外观信息大幅减少,因此检测层F4及以下的分辨率无法提取小型漂浮物目标的有效特征,进行删除。

(2) 增强浅层高分辨率检测层:高分辨率特征层能够提取小尺度漂浮物目标的关键信息,但由于高分辨率特征层过于浅层导致特征信息减少,无法有效区分不同目标,需要进行特征增强。在特征增强方法中,膨胀卷积在不引入额外参数的前提下可以任意扩大感受野,同时保持特征图的分辨率不变提升物体定位精度[28]。因此,采用膨胀卷积的方式扩大特征层的感受野,具体过程见图3。在分辨率为76×76的特征层F0中增加一个膨胀卷积层以获得更丰富的语义信息,得到特征增强后的特征层F0°。

图3 膨胀卷积处理

1.3 持续无监督域适应算法

本文采用一个预训练的源域数据模型来解决无监督域适应问题。首先,从源域数据集中训练生成SSD-FT的源域模型。其次,在不访问源域数据的情况下将SSD-FT模型输入到目标域数据集。同时,将目标域数据样本的一个子集存储在缓冲区中,以便与下一个样本子集的目标域数据进行样本重放。最后,新的目标域样本子集与缓冲区样本混合,输入给SSD-FT模型进行域适应。

1.3.1 改进SHOT学习框架

源域假设转移(source hypothesis transfer, SHOT)框架将神经网络分为两部分:特征编码模块和分类器模块[29]。如图4(a)所示,分类器模块对源域假设的分布信息进行编码,采用特征编码模块进行学习,但在不断的域转移过程中,SHOT方法不能达到最佳性能,图4(a)中的“解锁”是指对特征提取器持续进行更新和迭代处理,利用特征学习模块作为目标域特征学习的初始化;“关锁”是指对分类器进行固定处理,采用相同的分类器模块对不同域的特征进行学习。为了满足在持续域适应过程中漂浮物目标的检测任务,通过调整特征生成器模型和分类器模型来改进SHOT方法,如图4(b)所示。在特征生成模型中,采用SSD-FT主干网络取代HRNet来获取小尺度漂浮物的目标信息。在分类器模型中,在原分类层中增加了一个位置层,满足漂浮物目标检测的分类和定位目标。

1.3.2 缓冲区设计与管理

(1)

(2)

(3)

(4)

(5)

(6)

1.3.3 目标损失函数

信息最大化(information maximization, IM)损失可以实现精确预测,同时保持网络整体多样性,平衡类分离和分类器的复杂性[30]。深度神经网络采用信息最大化的自我增强训练策略,在基准数据集上取得良好性能[31]。因此,采用IM损失作为目标函数,保持对每个目标样本子集的精确预测和SSD-FT网络输出的多样性。IM损失函数包括熵值损失Lent和多样性损失Ldiv,具体计算过程如下:

(7)

(8)

(9)

(10)

(11)

(12)

(13)

Lmix(ft;xt)=-λL1-(1-λ)L2

(14)

Ltotal=Lent+μ1Ldiv+μ2Lmix

(15)

算法 1 基于无监督域适应策略的水面漂浮物目标检测方法输入: 目标域数据集中的每一批次样本xjt,批次m,缓冲区样本Bj-1t 输出: 包含类别和位置预测标签信息的yjt参数: 熵值损失Lent,多样性损失Ldiv,混合交叉熵损失损失Lmix,整体损失Ltotal初始化特征提取模型gt,固定分类和位置模型ht=hs载入源域预训练模型SSD-FTfor 目标域数据集中的每一批次样本xjt do for i←1 to m doif i=1 then Xt←批次样本xjtelse Xt←批次样本xjt和缓冲区样本 Bj-1t的并集end if 利用式(1)和Softmax和smooth L1计算聚类中心 利用式(3)更新聚类中心 利用式(4)计算漂浮物目标伪标签 利用式(5)和式(6)构建混合目标样本 利用式(9)计算熵值损失Lent 利用式(10)计算多样性损失Ldiv 利用式(14)计算混合交叉熵损失损失Lmix 通过最小化整体损失Ltotal优化模型 end for 将特征提取模型gt和(xjt,Bj-1t)存储到下一个缓冲区Bjtend forreturn漂浮物类别和位置预测标签信息yjt

2 试验数据集与实验参数设置

本文以VGG16作为SSD-FT网络的骨干网络,进行无监督域适应漂浮物目标检测实验。在无监督域适应中,首先加载预先训练好的源域SSD-FT模型,然后输入目标域数据集样本子集图像进行域适应,通过每个目标域数据集样本子集的单次迭代可以实现良好的域适应性能。

2.1 水面漂浮物数据集来源与制作

目前漂浮物体目标数据集较少[9],本文根据不同的场景和对象制作了漂浮物数据集,包含渔船、水葫芦、漂浮野草和塑料瓶。本文使用CCD相机共收集了2 148张漂浮物图像,包括982张渔船,526张水葫芦,340张漂浮杂草和300张塑料瓶。为了增强检测模型的泛化能力,通过镜像、旋转(±30°和±60°)、随机裁剪、调整明暗度和添加噪音,将数据集扩大到20 527张图像,并根据天气、水波纹干扰、光照和遮挡,将数据集分为五个子集。数据1包含5 763个训练集和762个验证集,包括正常水面环境下的4类漂浮物。数据2包括4类不同天气条件下的漂浮图像,其中3 873个训练集和625个验证集。数据3包含3 162个标记的训练集图像,以及在水面波纹干扰条件下的565个验证集。数据4包含在不同的光线条件下的2 123个训练集和462个验证集。数据5包含4种类型的漂浮物被遮挡的图像,其中包括2 866个训练集和326个验证集。

2.2 不同域适应场景设置

为了验证本方法的检测效果,根据上述5个数据集分别在4个域适应场景中进行实验。

(1) 不同天气下的域适应(数据1到数据2)。为了验证本方法在不同天气环境下的域适应性能,进行了从数据1到数据2的实验。源域数据是正常天气状况,目标域数据包含不同天气情况。

(2) 波纹干扰域适应(数据2至数据3)。进行了一个从数据2到数据3的实验,以验证将天气场景转移到水面波纹干扰场景的检测性能。源域数据为数据2,目标域数据为数据3。

(3) 光照变化域适应(数据3到数据4)。为了本方法在光线变化场景下的检测性能,设计了从数据3转移到数据4实验,其中数据3和数据4分别是源域数据和目标域数据。

(4) 物体遮挡域适应(数据4到数据5)。设计了一个从数据4转移到数据5的实验,目的是验证本方法在目标遮挡情况下的域适应能力。数据4和数据5分别是源域数据和目标域数据。

2.3 平台及参数设置

本文以Pascal VOC 2007训练出的SSD模型作为权重起点对网络进行微调,基于Ubuntu 18.04 LTS操作系统,计算机配置为Inter i7 CPU,32 G运行内存,搭配显卡为RTX 3080,算法平台为Python3.8版本的Pytorch 1.6的深度学习框架,初始学习率为0.000 1,优化器使用Adam优化方法,总共进行150 000次训练迭代,训练批次大小为16,输入图像分辨率为300×300,同时,本文调整参数μ1和μ2大小,发现当μ1=1和μ2=0.5时域适应达到最佳水平。

本文将CDA-SSD-FT的检测精度与其他4种无监督域适应算法进行比较。① 源域训练的SSD-FT模型直接应用于整体目标域数据集;② 跨域物体检测方法CM-SSD模型[18];③ DA-FRCNN模型,基于Faster RCNN的域适应模型算法,是第一个用于物体检测的无监督域适应方法[17];④ D-adapt模型,整合了分类和边界框域适应,将对抗性适应和检测器的训练进行解耦[32]。

3 实验及结果讨论

3.1 定量分析结果

(1) 不同天气的域适应

与正常天气相比,雾天和雨天场景将增加小型漂浮物的检测难度。本文进行了从正常天气到恶劣天气的转移实验,将CDA-SSD-FT与源域SSD-FT模型、CM-SSD、DA-FRCNN和D-adapt方法进行比较。从表1(Data1→Data2)可以看出,CDA-SSD-FT模型与源SSD-FT模型相比,在mAP方面有18.5%的提升,说明引入缓冲区和样本混合方法显著提升检测精度。同时,与CM-SSD、DA-FRCNN和D-adapt方法相比,CDA-SSD-FT在4种漂浮物检测中具有明显优势,原因在于CM-SSD将物体外观和材质纹理域转移分类器融合到特征提取层,但增加了整体目标域数据集上的泛化误差。D-adapt方法采用对抗性适应和检测器训练方法,整合类别适应和边界框适应,提升了水面漂浮物目标在天气域转移精度,但由于未考虑复杂目标域数据集可用性问题,降低了域适应水平。

表1 4类场景定量化分析结果

表1中,除了CDA-SSD-FT应用在一个持续目标域样本子集外,其他4个模型应用于整体目标域。

(2) 波纹干扰域适应

和恶劣天气一样,水面上的波纹干扰会增加漂浮物检测环境的复杂性。如表1(Data2→Data3)所示,CDA-SSD-FT模型检测精度远远超过CM-SSD,达到19.4%。与恶劣天气下的域适应相比,本方法在波纹干扰情况下的平均检测精度下降了5.5%,这是由于波纹干扰水面场景更大概率出现变化,目标检测器无法准确识别水葫芦和塑料瓶造成的。

(3) 光照变化域适应

光照变化域适应实验结果如表1(Data3→Data4)所示,DA-FRCNN相对于源域SSD-FT在四类漂浮物目标中的平均精度提高了6.2%。DA-FRCNN方法通过图像和实例维度进行域适应,重点解决光照、外观和尺寸的域转移问题,提升了漂浮物目标在不同关照域转移的精度,但在持续域转移过程中的检测效果低于CDA-SSD-FT模型 7.6%。结果表明,利用SSD-FT骨干网络进行持续域适应可以显著提高小尺度漂浮物检测模型的泛化能力。

(4) 物体遮挡域适应

漂浮物目标之间的相互遮挡导致检测器无法提取有效特征,尤其是在漂浮物目标的尺寸和像素较小的场景中。实验结果如表1(Data4→Data5)所示,虽然应用更复杂的目标遮挡数据集,但CDA-SSD-FT模型与源域SSD-FT模型相比,mAP提升约10%。同时,由于D-adapt方法整合了分类和边界框域适应,D-adapt方法对4种漂浮物目标的mAP达到了74.2%,比CM-SSD和DA-FRCN分别高出3.4%和0.2%。

(5) 不同缓冲区和样本子集域适应

为了验证本方法在不同缓冲区和样本子集大小的域适应水平,本文将缓冲区大小设置为124,为每类漂浮物目标设置4个缓冲区槽,样本数据集的子集大小设定为256。实验结果如表2所示,SSD-FT模型在4个场景中的精度均高于SSD,更适合在复杂水环境中检测小尺度漂浮物目标。但在4个场景实验中,引入缓冲区的SSD-FT模型的平均精度低于SSD-FT 1.8%。经分析可知,在目标域持续无监督域适应过程中会形成大量的噪声信息,降低了目标检测器的精度。引入缓冲区和样本混合的CDA-SSD-FT模型比SSD-FT提高了16.8%的精度,说明样本混合有效减少了噪声标签的数量。

表2 缓冲区和样本子集域适应结果

以不同天气域适应为例,本文通过调整缓冲区和样本子集大小验证本方法有效性,两组对比实验:① 样本子集大小固定为256和6个不同的缓冲区,100,124,200,300,400和500;② 剔除缓冲区,设定4个样本子集,16,64,128和 256。实验结果见图5,通过引入缓冲区,CDA-SSD-FT模型在不同天气域适应性能显著提升。如图5(a)所示,引入缓冲区和样本混合的CDA-SSD-FT模型检测精度比未引入缓冲区的模型提高了16.2%。此外,如图5(b)所示,随着样本子集数量的增加,CDA-SSD-FT模型的检测精度不断提升,当样本子集大小从16个增加到256个时,整体精度提高了7.6%。

图5 不同缓冲区和样本子集域适应下性能对比

3.2 定性分析结果

上述实验从定量角度分析了本方法在4个场景中的有效性,本文将从可视化角度分析本方法的性能。不同场景的实验定性结果见图6。从图6(a)可以看出,CDA-SSD-FT模型可以准确识别图像中的所有水葫芦目标,预测准确率框中的最小置信度为0.83。图像中的两个水葫芦被源域SSD-FT模型误检为漂浮杂草,降低了该模型的检测精度。如图6(b)所示,CDA-SSD-FT模型在大雾天气下对渔船的检测性能要高于其他4个模型。CM-SSD、DA-FRCNN和D-adapt算法无法检测图像中的塑料瓶目标,而源域SSD-FT模型对塑料瓶检测精度达到0.63,比这3种算法更适合小范围的漂浮物检测任务。同时,CDA-SSD-FT模型可以为图6(c)中的漂浮物目标构建更紧密的边界框,表明本方法比其他4个算法具有更好的检测性能。如图6(d)所示,D-adapt和源域SSD-FT模型将水面反射误检为水葫芦,而CM-SSD和DA-FRCNN模型则产生漏检,本方法准确地检测到了漂浮物图像中的所有目标。

3.3 消融实验

本研究中的目标检测算法同时对VGG16骨干网络的浅层特征层和深层特征层进行了改进,为了评估不同特征层改进和组合对算法性能优化的程度,设计了消融实验,表3为消融实验数据。在相同的实验环境下,在数据集3(波纹干扰)上进行了实验统计。结果表明,调整后的浅层和深层特征层单独应用能对检测性能产生正向优化,其中增强浅层高分辨率检测层对于识别精度的贡献相对较为明显,mAP提升6.4%,删除深层低分辨率检测层对于检测速度的提升相对显著,提高了3.8 FPS。不同组合对检测性能的整体表现基本呈现正向优化。不同特征层改进和同时组合应用对检测精度和速度优化效果最好。

表3 消融实验数据

图7列出了消融实验下漂浮物目标检测性能的对比。从传统SSD网络到SSD-FT网络的检测结果,实验表明,消融实验组出现了漏检和误检,本算法能够准确识别图中的漂浮物目标。

图7 消融实验对比示例

3.4 结果讨论

(1) 误差分析

通过对4类漂浮物的预测结果比较CDA-SSD-FT模型与其他四个模型的检测精度。根据检测框与真实框的重合度IOU将检测结果分为:Correct:IOU>0.5; Mislocation:0.1

图8 检测误差分析结果

(2) 参数分析

本文通过调整参数μ1和μ2的各种组合来分析参数的敏感性,采取的方法是固定其中一个参数,同时不断改变另一个参数大小来分析性能变化。参数优化的结果如图9所示,当参数μ2固定时,对参数μ1不断调整,当μ1=1时CDA-SSD-FT模型的最大检测精度达到了85.4%。同时,当μ2调整为0.5时,模型检测精度最高,说明本方法对μ1和μ2的变化不敏感,在μ1和μ2达到3.5之前,CDA-SSD-FT模型检测精度高于比源域SSD-FT模型。

图9 参数分析结果

(3) 其他对比分析

为了验证CDA-SSD-FT的可靠性和稳健性,本研究将其与CM-SSD、DA-FRCNN和D-adapt在检测效率和模型大小方面进行比较。表4显示了不同方法的检测参数。与其他算法相比,CDA-SSD-FT的检测精度最高。CDA-SSD-FT的检测速度与D-adapt大体一致。D-adapt使用对抗性适应和检测器训练方法,整合了类别适应和边界框适应,极大地减少了参数的数量,有效地控制了计算效率。同时,CDA-SSD-FT具有最少的参数数量和最小的模型内存。DA-FRCNN的检测速度最慢,大约是CDA-SSD-FT检测速度的4倍。因此,现有的无监督域适应目标检测方法对检测对象和环境要求较高,缺乏鲁棒性。此外,本研究将YOLOv5与连续无监督域适应方法相结合,以验证所提方法的可扩展性。如表4所示,CDA-YOLOv5的检测精度明显低于CDA-SSD-FT,说明YOLOv5在小规模漂浮物数据集上的检测精度较低。与DA-FRCNN相比,可以发现,由于参数数量较少,CDA-YOLOv5的检测速度提高了42.5%。从检测精度、计算速度、模型大小等方面综合判断,CDA-SSD-FT是最可靠、最适合应用于小尺度漂浮物检测任务的算法。

表4 不同方法检测效率和模型大小对比

4 结 论

本文提出了一种基于持续无监督领域适应策略的漂浮物目标检测方法,包括改进的SSD-FT网络和持续无监督域适应方法。首先,SSD-FT网络是通过删除深层的低分辨率特征层,增强浅层的高分辨率特征层来解决漂浮物的复杂检测环境和目标尺度问题。其次,基于源域数据集,通过结合无监督域适应与缓冲区管理和样本混合,将其初始化模型输入到样本子集的目标域数据集。最后,在4个不同水面场景中进行域适应对比实验,结果表明,本方法的检测精度均高于其他无监督域适应方法,兼顾了检测精度和效率,有效提高漂浮物检测网络在不同水面环境的泛化能力,满足了水面漂浮物检测精度需求。

与其他无监督域适应算法相比,本方法在小尺度的漂浮物目标中具有良好的域适应性能。然而也有以下局限性:首先,尝试将YOLOv5应用于持续无监督域适应中,但精度低于SSD的方法;其次,在实际应用中目标域处于动态变化过程,限制了实际工程应用。在未来,本文将进一步分析该模型的适用性以及动态目标域对该模型的影响。

猜你喜欢

漂浮物源域缓冲区
神秘的海上漂浮物
基于参数字典的多源域自适应学习算法
三峡水库水面漂浮物对近坝段水体重金属的影响初探
一种新型带电导线漂浮物清除器研制
嫩江重要省界缓冲区水质单因子评价法研究
可迁移测度准则下的协变量偏移修正多源集成方法
关键链技术缓冲区的确定方法研究
地理信息系统绘图缓冲区技术设计与实现
AVS标准中的视频码流缓冲区校验模型分析
水电站漂浮物堆积形态模拟方法探讨