目标检测任务在现实场景中具有广泛的应用。基于深度神经网络的目标检测在COCO等基准数据集上取得了出色的性能,然而在现实场景中,当数据的拍摄视角、外观、背景、照明、图像质量等发生变化时,目标检测器的性能会出现显著的下降。
为了缓解分布偏移(Domain Shift)对于检测器性能的影响,许多工作使用域对抗域自适应(Adversarial Domain Adaptation)将检测器从有标注数据的源域迁移到只有无标注数据的目标域。对于跨域目标检测任务而言,源域上既有目标的定位框标注,也有对应的类别标注,而在目标域上,定位框和类别标注均不存在。
虽然域对抗自适应算法在Office-31等简单的迁移数据集上取得很好效果,但是它在实际应用时还存在诸多不足,因此域自适应在目标检测任务上的进展远不如目标分类上那么顺利。我们按照数据、架构、任务三个层面,列举了将对抗域自适应方法应用到目标检测时所面临的挑战。
论文链接: https://openreview.net/pdf?id=VNqaB1g9393 代码链接: https://github.com/thuml/Transfer-Learning-Library/tree/dev-tllib/examples/domain_adaptation/object_detection 了解基本的域对抗自适应算法可以帮助你更好地阅读本文。相关文章: https://zhuanlan.zhihu.com/p/466811491/
一、前言
数据挑战 Data Challenge
相比于目标分类,跨域目标检测最大的难点在于目标的位置是未知的。
对于目标分类任务,对抗域自适应的目标是拉近同一类目标的特征。但是对于目标检测任务而言,目标的位置未知,因此对输入数据的哪个部分进行对抗拉近成为关键问题。
· 图像级别的全局特征自适应(Global Feature Adaptation)很容易混淆不同类别目标的特征,因为每张图片都包含多个目标。
· 对象级别的实例特征自适应(Instance Feature Adaptation)容易混淆前景和背景的特征,因为检测器在目标域上的输出是不可靠的,大部分预测的前景实际上都是背景。
· 像素级别的局部特征自适应(Local Feature Adaptation)适合解决低层语义级别的分布偏移,比如从晴天迁移到雾天的目标检测,但是不太适合高层语义的分布偏移,比如从自然风景到卡通的目标检测。
架构挑战 Architecture Challenge
上述对抗域自适应方法,将域判别器和梯度反转层引入了检测器架构中,以增强特征的迁移性(Transferability),但它可能牺牲掉特征的判别性(Discriminability),而这将极大地影响检测器本身的定位和分类能力。由于迁移性和判别性之间的矛盾,这些模块在检测架构中的放置位置对最终性能有很大影响。
同时,由于检测器的架构类型非常多(比如一阶段和两阶段的检测器架构差异就非常大),将某个检测器上有效的域自适应方法拿到另外一种检测器上,可能需要花费大量的精力调整迁移模块的位置,甚至无法找到合适的位置。因此,这些方法对不同检测架构的可扩展性并不令人满意。
任务挑战 Task Challenge
相比于目标分类,目标检测同时也是一个多任务学习(Multi-Task Learning)的设定。相比于监督学习,域自适应中的多任务更容易出现冲突。比如我们的实验证实了,
· 目标分类任务的域自适应需要输入数据尽可能满足类簇假设,即输入的图片或者是猫,或者是狗,而不是某些中间的状态。
· 目标定位任务的域自适应则需要输入的数据尽可能都是前景,同时覆盖不同Intersection over Union (IoU)的数据。
因此,不同任务合适的域自适应数据分布是存在差异的。此前的方法主要关注了目标检测中的分类性能,而往往忽视了目标检测作为一个多任务学习问题所面临的挑战。
二、方法介绍解耦自适应框架 D-adapt
为了解决上述挑战,我们提出了解耦自适应框架(Decoupled Adaptation)。
解耦的想法很简单,就是分而治之。
1. 将原始的跨域目标检测问题分解为几个子问题
2. 设计合适的算法来解决每个子问题
3. 协调不同的算法/模块之间的关系,从而解决最终的问题。
D-adapt框架
D-adapt的解耦其实包括两层含义。
1.域自适应过程和检测器训练过程的解耦。 由于对抗训练可能会损害检测器的判别性,因此我们引入参数独立的适配器,将域自适应与检测器的训练分离。对抗训练仅在适配器的特征层进行,因此不会损害检测器的定位能力。
2.分类域自适应任务和定位域自适应任务的解耦。 为了避免不同任务之间的干扰,我们引入了参数独立的类别适配器进行分类任务的域自适应,以及回归适配器进行目标定位任务的域自适应。通过这种方式,我们能够也能针对特定的域自适应任务调整输入数据分布。
由于适配器是专门为跨域任务设计的,它们对目标域的预测可以为检测器提供伪标签。另一方面,检测器生成提议(proposals)来训练适配器,而更高质量的proposals可以反过来提高域自适应效果。这使得检测器和适配器之间形成了自反馈关系。
D-adapt完整的训练框架如下。
D-adapt训练过程
值得指出的是,
· D-adapt在推理阶段没有引入任何计算开销,因为适配器独立于检测器并且可以在推理阶段被移除。
· D-adapt也不依赖于特定的检测器,因此检测器可以是Faster RCNN、SSD、RetinaNet或其他检测器。
类别自适应 Category Adaptation
类别自适应的目标是使用源域上带有标注的proposals,对目标域上的proposals进行尽可能准确的分类。理论上,常用的对抗训练方法就可以用于这个任务。
然而由于目标域上的目标物体是未知的(Data Challenge),因此检测器在目标域上产生了各种IoU的proposals,导致分类中的类簇假设不再成立, 不同类之间很难存在明确的决策边界,这极大地阻碍了对抗域自适应训练。
我们的解决思路很简单,就是挑选合适的数据参与对抗训练,只保留检测器认为的,极有可能是前景或者背景的proposals,从而尽可能满足分类中的类簇假设。
边界框自适应 Bounding Box Adaptation
边界框自适应的目标是使用源域上带有标注的proposals,对目标域上的proposals进行尽可能准确的边界框定位。
我们使用了类别适配器的预测来挑选前景proposals,从而让边界框适配器的输入proposals的IoU在0.5至1之间。具体细节可以查看原论文。
三、实验结果和SOTA比较
我们在Pascal VOC, Clipart,Watercolor,Comic,Sim10k, Cityscapes, Foggy Cityscapes等多个数据集上进行了实验。
D-adapt在上述数据集上都取得了SOTA的结果。尤其是在语义差异较大的任务上,比如VOC→Clipart,VOC→Comic上,相比于此前的SOTA方法将mAP提高了7个点。
消融实验
我们对解耦的策略、类别域自适应算法设计、边界框域自适应算法设计都进行了消融实验。实验证明每一步的设计对最终检测器的跨域性能都很重要。
可视化结果
我们也用t-SNE可视化了不同数据域的特征分布。
下图是在类别适配器上的特征分布。不同颜色代表不同的数据域,左图是对抗训练前,右图是对抗训练后。在分类任务上,对抗训练可以有效地对齐两个数据域的条件分布。
下图是检测器上的特征分布。我们发现检测器的特征没有明显的簇结构,即使在源域上也是如此。原因是检测器的特征既包含类别信息又包含位置信息。因此,直接在检测器上的对抗训练会损害其判别性,而我们的方法通过解耦自适应获得更好的性能。
下图给出了在多个数据集上的模型输出结果。
四、总结
我们的方法在跨域目标检测的几个基准数据集上取得了相当大的提升。
在实际部署中,可以通过使用更强大的适配器来进一步提高检测性能,而不会引入任何计算开销,因为适配器可以在推理过程中被移除。
在后续研究中,还有多个改进方向
· 通过级联更多专门设计的适配器,可以考虑将 D-adapt 框架扩展到其他检测任务,例如实例分割和关键点检测。
· 相比于目标分类,目标边界框定位依然是一个还没有解决的非常完善的问题。
· 目标检测中天然存在着类别上的长尾分布(Long Taild Distribution)问题,同时不同数据域上的类别分布还不一致,导致了对抗域自适应的鲁棒性变差。
最后,我们希望 D-adapt的提出能够对检测任务更加广泛的应用有所帮助。
作者:游凯超
Illustration b y Violetta Barsuk from i cons8
-The End-
扫码观看!
本周上新!
关于我“门”
将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门技术社群以及将门创投基金。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:
bp@thejiangmen.com
点击右上角,把文章分享到朋友圈
⤵一键送你进入TechBeat快乐星球
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.