论文笔记:Strong-Weak Distribution Alignment for Adaptive Object Detection

本文提出一种新的跨域目标检测方法,通过弱全局特征对齐关注难以分类的样本,并利用强局部特征对齐增强纹理、颜色等局部细节的一致性。通过调整对齐策略,该方法能有效提升跨域检测的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

论文地址:https://arxiv.org/abs/1812.04798

源码地址:https://github.com/VisionLearningGroup/DA_Detection


1 Motivation

对于目标检测来説,在全局水平上完全地匹配完整的源域和目标域的数据分布,表现可能会不好,因为各域有多种的景观布局以及不同的目标组合。换句话说,局部特征上的强匹配,例如纹理、颜色等,可能会起作用,因为它不会改变概念层次的语义。这激发了作者基于强局部对齐及弱全局对齐提出新的方法。Key Contribution:弱对齐模型,多关注全局相似的图像上的对抗对齐损失,少一点全局不相似的。另外,强域对齐模型只关注特征图谱的局部感受野。

2 Method

2.1 Weak Global Feature Alignment

容易分类的目标域样本距离源域样本很远,同时难以分类的目标域样本距离源域样本很近。因此,对于难分类的样本,要实现域间的弱对齐。作者提出训练一个域分类器,以忽略容易分类的样本,同时专注于难分类的样本。

我们对于提取全局特征向量的F的优化目的是使得提取出来的特征,对于目标检测任务有很好的判别力,缺乏提供给域分类任务的信息。设d是域标签,1代表源域、0代表目标域。检测损失的目标函数是,其中L_det包括了检测的所有损失,即分类损失以及bbox回归损失:

过往的方法:域分类器的目标函数是一个CE loss,如图2所示,容易分类的样本,有很高的置信度,即prob很大时,它的CE loss不能忽略(右下角)。这表明Dg和F把训练过程的所有样本都考虑到了,此时F想要匹配完整的特征分布,但这正正和本文的原意相反,出现这问题的原因是CE loss的表达式,p较高时,-logp值还比较大,因此作者提出增加一个调制系数,即

P_t定义为:

在这里选择一个p_t的减函数,其中一个例子就是Focal Loss,,其中γ控制难分类样本的权重。FL设计的目的是给难分类的样本更高的权重。特征提取器想要欺骗域分类器,试图提高分类器的损失。但是,特征提取器不能将好分类的目标域样本和源域对齐,因为那些样本的梯度太小了(loss太小了)。记weak global-level域分类器的损失:

  source

  target

2.2 Strong Local Feature Alignment

局部域分类器是一个1×1的fully-convolutional network,将特征提取器分解为,其中F1的输出是Dl的输入,采用最小均方损失来训练Dl,这种损失函数有助于对齐局部级的特征

代表域分类器在每个坐标上的输出。

2.3 Context Vector based Regularization(后面很多paper都用到了类似的办法)

以前的方法:用分割损失来正则化域分类器,可以很好地使域自适应分割任务的对抗训练过程稳定下来;

这里的方法:通过在源域样本上计算的检测损失来稳定域分类器的训练。从两个域分类器的中间层提取v_1和v_2,这些向量包括了整一张输入图像的信息,称之为“上下文context”,然后将这些context和所有的region-wise特征做concatenate,训练域分类器使得在源域样本上的检测损失最小化,同时最小化域分类的损失。

3 总目标函数:

### Weak-to-Strong 3D Object Detection Using X-Ray Distillation X-ray distillation 是一种用于提升模型性能的技术,在计算机视觉领域中被广泛应用于从弱监督学习到强监督学习的任务转换。对于三维物体检测而言,这种方法可以通过利用标注较少的数据集来训练初始模型,并逐步增强其能力以适应更复杂的场景。 #### 方法概述 在 weak-to-strong 的框架下,X-ray distillation 主要通过以下几个方面实现: 1. **数据预处理与特征提取** 初始阶段通常依赖于大量未标注或部分标注的二维图像作为输入源[^1]。这些图像经过初步处理后,会生成对应的伪标签(pseudo-labels),从而构建起一个基础的三维空间表示。此过程可以借助现有的成熟算法完成,例如基于单目相机估计深度图或者使用多视角几何重建技术[^2]。 2. **教师-学生架构设计** 整体流程采用 teacher-student learning paradigm 来促进知识迁移。具体来说,“teacher model”是在高质量但数量有限的真实世界三维标注上训练而成;而“student model”,则主要依靠上述提到的大规模低质量甚至无标记样本进行优化调整[^3]。两者之间的交互方式即为所谓的 “distillation”。 ```python import torch.nn as nn class TeacherModel(nn.Module): def __init__(self, input_dim=3, output_dim=80): super(TeacherModel, self).__init__() self.layers = nn.Sequential( nn.Conv3d(input_dim, 64, kernel_size=(7, 7, 7), stride=(2, 2, 2)), ... ) def forward(self, x): return self.layers(x) class StudentModel(nn.Module): def __init__(self, input_dim=3, output_dim=80): super(StudentModel, self).__init__() self.layers = nn.Sequential( nn.Conv3d(input_dim, 32, kernel_size=(5, 5, 5), stride=(1, 1, 1)), ... ) def forward(self, x): return self.layers(x) ``` 3. **损失函数定义** 针对学生网络的学习目标,除了传统的分类交叉熵外还需要引入额外项用来衡量预测分布与老师输出的一致程度。常见的做法有 KL-divergence 或者 mean squared error (MSE)[^4]: \[ L_{total} = L_{cls}(y,\hat{y}) + \lambda * D(\text{{Teacher Output}},\text{{Student Output}}) \] 其中 \(L_{cls}\) 表示类别预测误差,\(D\) 可选自不同距离度量方法之一,参数 \(\lambda\) 控制二者权重平衡关系。 4. **迭代改进机制** 随着 student 模型逐渐接近 teacher 性能水平,则可进一步将其视为新的 teacher 并重复整个循环直至收敛为止[^5]。这种不断自我强化的过程有助于最终获得具备较强泛化能力和鲁棒性的解决方案。 --- #### 实验验证与应用前景 实验表明,该策略能够有效缓解传统端到端训练过程中因缺乏充分优质资源而导致的效果瓶颈问题[^6]。特别是在自动驾驶、医疗影像分析等领域内,当面临昂贵的人工标注成本时显得尤为重要。 尽管如此,仍需注意某些潜在挑战比如如何合理设置超参组合以及防止过拟合现象发生等问题都需要深入探讨研究。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值