当前位置:   article > 正文

【multiscale domain adaptive yolo for cross-domain object detection】论文阅读

multiscale domain adaptive yolo for cross-domain object detection

背景

目标检测领域任务迁移性差。当目标数据与源数据的分布存在差异时,性能会下降的非常快。另外目标数据的缺乏也加剧了这一问题。迁移场景:
1)同一场景但在不同灯光、天气下。
2)不同视角下看同一物体产生的形变与背景变化。
如自动驾驶源数据多采集于晴朗天气,目标数据是在变幻莫测的天气。
因此衍生了一系列的领域适应研究(domain adaptation),有助于解决许多应用遇到的领域迁移问题。

研究现状

目前, domain adaptation尝试使用来自源域的标记数据和来自目标域的未标记数据来学习鲁棒的对象检测器。大部分研究采用对抗学习策略,如域分类器被优化以更好的区分数据点是来自源域还是目标域,而对象检测器的特征提取器被优化以混淆域分类器。这种策略使特征提取器学习到域不变特征。

2018年,Domain adaptive Faster R-CNN首次提出将对抗学习用于基于faster-rcnn的domain adaptation任务中,之后对抗学习在domain adaptation目标检测领域得到了广泛的研究。

domain adaptation受底层目标检测框架的影响较大。但现有研究存在如下问题:

  1. 大部分研究基于faster-rcnn或其变体开展,其推理耗时长,不适用时间要求严苛的实时检测任务(如自动驾驶)。
  2. one-stage方法如yolo,甚至比实时检测器还快,对自动驾驶这种实时检测任务有着不可估量的价值。但目前基于yolo系列的domain adaptation方法研究几乎没有。

研究任务

因此,作者提出一种基于 YOLOv4 对象检测器的多个尺度的域自适应YOLO (MS-DAYOLO) 框架,引入多个domain adaptation路径和相应的域分类器来生成领域不变特征。在代表自动驾驶应用的挑战性天气条件的目标数据上进行测试时,目标检测性能有了显著提高。这也是首次将yolo用于domain adaptation并取得性能改善的研究。

MS-DAYOLO框架

在这里插入图片描述
Yolov4主要有三部分:backbone、neck、head。
backbone(特征抽取器)负责从多个尺度抽取不同层级的特征。
neck将backbone的三种不同尺度的特征经过上采样层传给head。
head来预测最终的目标类别及bounding boxes。

backbone是yolov4中非常重要的一个部分,除多层卷积层外,还有23个残差块和5个下采样层,用于提取后续检测使用的关键特征层。在这里,文章主要关注backbone里的三个特征(图 2 中的 F1、F2 和 F3),因为它们被送到了下一阶段(neck模块)。 特别是,文章将domain adaptation应用于这三个特征,以使其对不同尺度的域变化具有鲁棒性,这样在基于域适应的训练时,使它们收敛于域不变性。

  1. Domain Adaptive Network (DAN)
    DAN结构仅在训练时添加到yolov4框架中,测试和推理不加。所以并不影响推理性能。
    DAN LOSS:
    在这里插入图片描述
    DAN通过最小化这个Loss来区分源域与目标域、最大化这个Loss从而让backbone学习到领域不变特征。为了联合解决最小-最大优化问题,文章引入对抗学习策略,在backbone与DAN之间设计GRL层。

  2. Gradient Reversal Layer (GRL)
    GRL是一个双向算子,用于实现2个不同的优化目标。在前向传播方向上,GRL作为恒等算子,使得DAN反向传播时可以优化最小的二分类Loss。另一方面,向backbone反向传播时,GRL变成⼀个负标量,在这种情况下,它会去优化最大的二分类Loss,促使backbone生成领域不变特征。

    Backbone LOSS:
    在这里插入图片描述
    Ldet是目标检测的Loss,Ldc是DAN Loss。λ是一个负标量,用以平衡两者之间的影响。实际上,λ决定了DAN对backone的影响程度。

  3. DAN Architecture
    不同于Domain adaptive Faster R-CNN仅使用最后一个尺度的特征(F3),DAN用到了三个尺度的特征(F1、F2、F3),以此解决因为它们之间层数太多仅用F3会梯度消失、效果不显著的问题。

实验

  1. 设置
    ○ 参数设置同yolov4。
    ○ 数据集包含两部分:有标注的源数据、未标注的目标数据。
    ○ λ=0.1。
    ○ 评估指标用AP(Average Precision)、mAP(mean Average Precision)

  2. 数据集
    自动驾驶数据集: Cityscapes, Foggy Cityscapes, BDD100K, and INIT

  3. 结果
    在这里插入图片描述
    oracle为理论上的理想准确率。YOLOv4使用标注的Cityscapes数据训练,MS-DAYOLO使用标注的Cityscapes数据与未标注的Foggy Cityscapes数据训练,两者最终均用Foggy Cityscapes数据做测试与评估。从表中可以看出,MS-DAYOLO效果远胜YOLOv4。

    在这里插入图片描述
    作者从BDD100K and INIT datasets抽取了晴天与雨天的数据集。YOLOv4使用标注的晴天数据训练,MS-DAYOLO使用标注的晴天数据与未标注的雨天数据训练,两者最终均用雨天数据做测试与评估。从表中可以看出,MS-DAYOLO在两个数据集上效果均优于YOLOv4。

总结

作者提出了一个多尺度的基于yolo的domain adaptation实时检测框架(MS-DAYOLO),利用了yolo backbone中将会送到neck阶段的三种尺度的特征,该方法能产生鲁棒的领域不变性特征,减轻领域迁移带来的影响,最终改善目标领域的检测性能。
实验结果表明,基于Yolo的domain adaptation架构无需任何额外标注就可以很好适用于目标领域,并最终在自动驾驶的测试场景中击败Yolov4。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/190961
推荐阅读
相关标签
  

闽ICP备14008679号