文章转载来源于自动驾驶之心 ,作者汽车人。
域自适应目标检测(DAOD)旨在缓解跨域差异导致的传输性能下降。然而,大多数现有的DAOD方法由计算密集的两级检测器主导,这不是工业应用的首选。本文提出了一种新的基于半监督域自适应YOLO(SSDA-YOLO)的方法,通过将紧凑型单级检测器YOLOv5与域自适应相结合来提高跨域检测性能。具体而言,将知识蒸馏框架与mean-teacher模型相适应,以帮助学生模型获得未标记目标域的实例级特征。论文还利用场景样式转换在不同域中交叉生成伪图像,以弥补图像级别差异。此外,提出了一种直观的一致性损失来进一步调整跨域预测。论文在公共基准(包括PascalVOC、Clipart1k、Cityscapes和Foggy Cityscape)评估提出的SSDA-YOLO。此外,为了验证其通用性,对从各个教室收集的哈欠检测数据集进行了实验。结果表明,论文的方法在这些DAOD任务中有了很大的改进,代码可在https://github.com/hnuzhy/SSDA-YOLO中获得!
基于卷积神经网络(CNN)的现代目标检测方法已经取得了许多显著的改进,然而,这些方法的高精度大多局限于训练集源域。因此,即使最先进的方法在大规模基准测试(例如,PascalVOC、MSCOCO和OpenImages)上取得了优异的结果,在非常不同的目标域场景下进行测试时,也会出现显著的性能下降。新的目标场景可能包括不同的图像样式、照明条件、图像质量、相机视角等,这通常会在训练和测试数据之间带来相当大的域偏移。虽然收集更多的训练数据可以缓解这一问题,但对于昂贵且耗时的标记过程来说,这是不切实际的。在某些场景中,例如生物医学图像,甚至不可能获得广泛的精确注释。解决源训练数据集和目标测试数据集之间的领域差距是领域自适应目标检测(DAOD)的重点[11,12,13,14,15,16]。通常,DAOD尝试使用来自源域的标记数据和来自目标域的未标记数据来学习健壮且可推广的检测器。域自适应Faster R-CNN[11]是一项里程碑式的研究,旨在解决目标检测中的域偏移问题。继[11]之后,大多数域自适应方法[12,13,14,15,16]仍然基于Faster R-CNN[1]。最近的一些工作[17,18,16,19]考虑到其计算优势,提出了基于单级检测器的方法,而不是使用具有ROI的两级检测器Faster R-CNN来实现更方便的局部自适应。继YOLO系列[20,6,21]之后,提出了一些更轻量的DAOD方法[22,23,24,25]。通常,特定领域的自适应解决方案与目标检测方法和体系结构的突破密不可分。
对于资源有限和时间关键的实际应用,作者采用YOLOv5作为框架中的基本目标检测器。一方面,one-stage目标检测器,特别是YOLO系列(例如YOLOv5和YOLOX),可以达到几乎实时的水平,并保持与two-stage相当的精度。这使得它们对于自动驾驶和动作识别等时间敏感的场景非常宝贵。另一方面,基于两阶段Faster R-CNN的方法已经主导了DAOD领域。尽管目前YOLOv5在高性能和耗时之间取得了令人信服的平衡,但很少有研究探索引入YOLO架构,因此作者希望挖掘和迁移YOLOv5在DAOD中的优势。
本文提出了一种新的半监督域自适应YOLO(SSDA-YOLO)方法。以YOLOv5为骨干网络,SSDA-YOLO可以通过完全监督学习有效地提取源域特征,为了获得目标域的实例级特征,论文采用了知识蒸馏框架,并使用Mean Teacher引导的教师网络来检测未标记的目标图像。然后对预测进行过滤,以迭代生成强伪标签,从而实现学生网络的相对无偏更新。此外,为了缩小教师和学生模型在图像水平上的距离,论文使用非成对图像生成方法CUT[27]离线合成伪图像作为附加输入,总体架构如图1所示。为了验证SSDA-YOLO在DAOD任务中的有效性,使用公共基准和从真实课堂场景中提取的哈欠检测数据集进行了广泛的实验,实验结果表明,每个目标域测试集都有显著的改进。
现有的跨域对象检测方法只关注两级检测器Faster R-CNN,继开创性的DA Faster[11]引入梯度反转层(GRL)并首先设计实例级和图像级对齐以提高新域的性能之后,SWDA提出了类似的强局部和弱全局特征对齐以进行改进,然后,NLDA[14]将鲁棒学习公式化为带有噪声标签的训练目标域。
UMT[13]使用CycleGAN生成伪训练图像以减轻域偏差,针对来自多个源域的标记数据,MSDA[15]提出了分割和合并主轴网络(DMSN),以增强域不变性并保持鉴别能力。SIGMA[16]将源数据和目标数据表示为图,并将自适应重新表示为图匹配问题。相比之下,最近的一些工作试图使用one-stage检测器来解决DAOD问题,例如,EPMDA[17]调整FCOS[2]以显式提取目标映射,I3Net[18]引入了专门为SSD[3]架构设计的互补模块。[22,24,25]分别基于YOLOv3/4/5设计了相关的方法和框架!
总的来说,DAOD主要由两阶段的Faster R-CNN主导,其中包含了大多数方法的区域建议,以轻松地执行局部适应,这已被证明显著提高了适应效果。尽管如此,在保持精度的前提下,重量更轻、速度更快的单阶段检测器对工业应用是友好的,因此论文选择改进基于单级检测器的DAOD任务。受先前方法的启发,提出的SSDA-YOLO采用YOLOv5作为主干,并应用基于生成对抗网络(GAN)的CUT[27]生成代表性跨域图像。
无监督域自适应(UDA)被定义为将模型从标记的源域自适应到未标记的目标域,首先被广泛研究用于图像分类任务。对于本文中的DAOD问题,默认情况下,目标域的标签在训练期间不可见,但只使用图像。通常,为了学习域不变表示并最小化域之间的距离度量,几乎所有以前的DAOD方法都分别处理源域和目标域中的图像。此外,在实际情况下,可以轻松地在目标场景中获得一个小的局部标记图像,然后通过应用半监督学习(或称为少镜头学习)获得可观的收益。因此,在一般UDA设置之外,DTPL[40]通过提供目标域图像的图像级注释,提出了一种弱监督渐进域自适应框架。UMT[13]通过利用最初为半监督学习任务设计的无偏平均值教师[26]来促进Faster R-CNN适应。TRKP[31]和TDD[32]应用知识蒸馏框架来纠正跨领域差异并感知目标相关特征,受这些原则的启发,论文在知识蒸馏结构中构建SSDA-YOLO,在源数据集中应用监督学习,在目标数据集中执行无监督学习,这种组合解决方案形成了半监督学习。
如上所述,大多数最先进的DAOD方法仅限于两级检测器,尤其是Faster RCNN,这在很大程度上是因为Faster R-CNN提供了分类和定位的两个分支,具有清晰的边界。DA Faster[11]利用了这一特性,首先提出了实例级和图像级的两种表示,直到目前为止,这两种表示都被广泛采用。最近,基于one-stage检测器的DAOD方法也在考虑如何利用它们在这两个级别上设计的自适应组件来提取跨域特征,此外,大多数DAOD方法侧重于利用源域和目标域的数据训练一个共享检测网络。这种对抗性的方式很难优化和收敛,这些前提激励我们应对两个主要挑战:
知识蒸馏结构:以前使用单个共享网络来拟合跨域数据的DAOD方法是一个对抗性的过程。其中大多数使用双向算子梯度反转层(GRL)[33]用于实现两个冲突的优化目标。一方面,它充当分类算子,用于在前向训练期间最小化分类错误。另一方面,它在反向传播期间成为负标量,以最大化二进制分类误差和学习域不变特征。距离度量(如最大平均差(MMD)[41])通常用于测量域偏移并监督模型,尽管存在这些常见的设置,但最近提出的方法在DAOD中采用了更为稳健的师生框架[13,31,32]。它们的蒸馏结构可以增强源检测器在目标图像中感知物体的能力,这些方法都基于Faster R-CNN,并提取基于中间特征的知识[42]。论文也遵循相同框架,但基于单级YOLOv5检测器的最终响应提取知识。尽管有各种师生关系的模型设置[42],但论文选择保持它们相同的架构。
跨域特征提取:在一阶段检测框架中具有统一的预测和分类与定位之间的模糊区分。例如,基于FCOS的EPMDA[17]提出了全局和中心感知鉴别器来模拟图像级和实例级特征提取。基于SSD的I3Net[18]设计了一个多标签分类器和两个域鉴别器来补偿图像级和像素级特征。与本文的工作最相似的是DA-YOLO[22]和MS-DAYOLO[24],基于YOLOv3的DA-YOLO提出了两个自适应模块RIA和MSIA,使用三个域分类器分别执行图像和实例级自适应。基于YOLOv4的MS-DAYOLO将域自适应网络(DAN)连接到主干,以直接学习多尺度的域不变特征。与所有这些方法不同,本文采用伪交叉生成的图像来解决图像级别的偏移,并采用mean-teacher模型来获得实例级别的目标域特征,以指导学生模型训练!
本文提出的SSDA-YOLO方法基于单级检测器YOLOv5。它包含四个主要组件:具有知识蒸馏框架的mean-teacher模型,用于指导稳健的学生网络更新,用于缓解图像级域差异的伪交叉生成训练图像,用于纠正跨域差异的更新蒸馏损失,以及用于进一步纠正跨域目标性偏差的新颖一致性损失。
mean-teacher(MT)模型最初被提出用于图像分类中的半监督学习,它由具有两个相同模型架构(学生和教师)的典型知识蒸馏结构组成。对于域自适应任务, 使用梯度下降优化器在源域中用标记数据训练学生模型。根据MT模型设置,教师模型由来自学生模型的指数移动平均(EMA)权重更新,具体而言,假设学生和教师模型的权重参数分别记为Ps和Pt,我们在每个训练批次步骤中更新Pt如下:
当将MT模型应用于跨域目标检测任务时,将未标记的目标域样本Dt设置为教师模型的单个输入,也在这些未标记的样本上训练学生模型It。在提取过程中,通过从教师模型预测中选择具有高概率的边界框作为伪标签,学生模型倾向于减少目标域上的方差并增强模型的鲁棒性。
尽管已经成功构建了一个基本的蒸馏网络,但可以预见的是,学生模型的权重更新主要是源域中的图像。相反,教师模型不接触源图像,并且由目标域特征引导。需要缓解图像水平域差异,这导致两个模型偏向于它们单调的图像输入。受SWDA[12]的启发,该方法通过使用CycleGAN[34]在全局场景级别弱对齐来学习域不变特征,UMT和TDD将源域图像转换为类目标域,反之亦然。本文选择生成类目标伪源图像和类源伪目标图像进行训练。具体地说,这里采用了一种更优越的非成对图像转换器CUT,以实现更快、更鲁棒的场景传输。
在生成和之后,为了纠正跨域差异的学生模型,作者添加了一个新的具有类目标图像的监督分支作为输入(参见图1中的黄色流程),并训练它们与源图像Is完全相同(参见图1中的红色流程),相应的损失函数定义如下:
更新后的蒸馏损失:
尽管输入到学生模型中的源和目标类配对图像,具有不同的场景级数据分布,但它们属于相同的标签空间。理想情况下,一个合理的假设是,用两个域图像馈送的学生模型的输出应该是一致的。因此,为了确保它们的输出尽可能接近,可以向相应的两个分支添加一个新的约束,直觉上,有三种选择:
1) 在相应的特征图之间应用中间监督;
2) 在最终预测之间应用误差约束;
3) 结合以上两种策略;
对于单人姿态估计任务,卷积姿态机(CPM)最初提出并研究了中间监督策略,事实证明,在监督训练中处理消失梯度是合理的,然而我们需要UDA惩罚。换句话说,我们不希望在输入It之后学生模型的中间特征相似,但只期望预测尽可能一致。这里的中间监管可能是一种过度的约束。因此,论文通过计算两个最终输出之间的L2距离来选择第二个约束,将其称为一致性损失,具体如下:
在所有实验中,论文选择大参数的YOLOv5(YOLOv5-L)作为检测器,因为它的检测精度与最先进的目标检测方法相当。所有训练和测试图像都被填充并调整形状(960,960,3)。在训练期间,每个批次由两对图像组成:,带标签和,不带标签。可以在一个24GB GTX3090 GPU中将批大小设置为10,总时长为200。教师模型EMA中的γ设置为0.99。其它未提及的设置与YOLOv5中的设置保持一致。对于SSDA-YOLO中的超参数,在总损失L中设置α=0.005和β=2.0。一致性损失Lcon采用L2距离,这些选定的设置将在消融研究中讨论。
数据集:这一部分,我们选择Cityscapes数据集[44]作为源域,选择Foggy Cityscape数据集[45]作为目标域。Cityscape数据集是从50个城市拍摄的城市街道场景中收集的。根据[11]选择8个类别进行实验,数据集分别包含训练集和验证集中的2975张和500张图像。Foggy Cityscape是来自Cityscape的合成雾霾场景数据集,其数据分割完全相同。作者使用带有标签的Cityscape列车组图像和没有标签的Foggy Cityscape列车集图像进行训练,并对Foggy Cityscape的验证集进行测试。
结果:选择了DA Faster[11]方法和八种代表性方法进行比较。除[17、16、19]基于FCOS[2]外,其他均基于Faster R-CNN。再次,使用YOLOv5(带*marker)重新训练并获得了Source Only和Oracle的新基线。Foggy Cityscape验证集的所有DAOD结果如表2所示,由于YOLOv5的有效数据增强,仅源方法实现了与最新技术方法(如EPMDA[17]和UMT[13])相当的mAP值35.9。论文的基本方法Base显然优于SourceOnly方法。通过添加蒸馏损失和稠度损失,本文的完整模型BaseDC达到55.9的mAP,远高于TDD中迄今为止的最佳结果49.2[32]。一些定性结果如图2所示。
尽管上述实验表明,SSDA-YOLO中的每个模块都可以单独提高DAOD性能,但作者希望进一步探索获取最佳参数的过程。在不失一般性的情况下,论文使用具有小参数的YOLOv5(YOLOv5-S)作为主干,使用PascalVOC7→Clipart1k作为域转移测试用例,为了简单起见,每次训练缩短为100个周期!
为了寻找α的最佳参数值,首先在总损失函数中设置β=0,并将α从0.001采样到0.1,每一步大约增加2倍。实验结果如图4所示,当α=0.005时,可获得50的结果,较小或较大的α将降低精馏损失的性能,以弥补跨域差异,这表明我们在调整蒸馏损失的重量时不应过于激进。
类似地,为了寻找β的最佳值,首先在Lcon中设置α=0和L2损失。然后,从五个候选(0.5、1.0、2.0、5.0、1.0)中选择β。weight β大于α,由相应损失的绝对值决定。然后获得了图6中的所有测试结果,当β=2.0时,获得了最佳mAP。此外,为了验证哪种一致性损失更好,论文重复上述实验,除了从(0.1,0.2,0.5,1.0,2.0)中选择β并将Lcon改为L1损失。如图5所示,当β=0.5时,使用L1损耗的最高mAP为33.8,低于L2损耗的对应值34.7。
最后记录了添加一致性损失前后目标域测试集上Lcls、Lbox和Lobj的趋势。如图6所示,Lcon(BaseC)可以明显地促进所有三个损失的收敛,尤其是目标性损失Lobj的愈合,这进一步直观地显示了所提出的一致性损失Lcon的基本有效性。
[1] SSDA-YOLO: SEMI-SUPERVISED DOMAIN ADAPTIVE YOLO FOR CROSS-DOMAIN OBJECT DETECTION