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

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

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

一、简介

这篇文章目的在于解决无监督域适应目标检测(Unsupervised Domain Adaptation for Object Detection), 之前state of the art 是 2018年CVPR的 Domain Adaptive Faster R-CNN for Object Detection in the Wild, 对应论文笔记:DA Faster RCNN

Motivation

在图像分类中无监督域适应方法中,大多数是尽量使得目标域数据和源域数据完全匹配。作者认为,在目标检测任务中,由于不同的域有着不同的场景布局和目标组合,完全匹配目标域和数据域的分布将降低模型的 performance。但是,由于 low-level 局部特征匹配不会改变原有的类别语义信息,所以可以将它们进行强匹配。基于上面两个原因,作者提出了:

  1. 核心 contribution 弱对齐模型(weak alignment model) : 使用对齐 loss 更多的强调整体相似的样本对齐,不强调整体不相似的样本对齐。
  2. 强 域对齐 : 加强对齐feature map的局部感受野,如纹理、颜色等

具体如 Figure 1 所示,学习域不变的特征,局部特征上的强对齐,全局场景上的弱对齐:

Figure 1

二、方法

Figure 3

整体框架基于 Faster-RCNN, 在 RPN 之前抽取全局特征,局部特征来自特征抽取器中更低的层。

2.1 Weak Global Feature Alignment
Figure 2

作者使用一个域分类器去对齐目标域和源域全局特征,在特征空间中,容易区分的目标样本距离源域样本非常远,而难以区分的目标样本距离源域样本很近,如 Figure 2 左边图所示。作者提出训练域分类器去忽略容易区分的样本,而去强调难以区分的样本。
为了完成上面的这个目标,作者提出使用Focal loss,如 Figure 2 右边图所示。交叉熵的问题在于对于很容易分类的样本同样会产生不可忽视的 loss 值,而 Focal loss 通过修改交叉熵引入一个修改因子 f ( p t ) f(p_t) f(pt)使得对于容易区分的样本,产生一个极小的loss。 修改后的交叉熵为:

− f ( p t ) l o g ( p t ) -f(p_t)log(p_t) f(pt)log(pt)

其中 p t p_t pt 为:
p t = { p  if  d = 1 1 − p  otherwise  p_{\mathrm{t}}=\left\{\begin{array}{ll}{p} & {\text { if } d=1} \\ {1-p} & {\text { otherwise }}\end{array}\right. pt={ p1p if d=1 otherwise 
d = 1 d = 1 d=1 代表该样本属于目标域, p p p 为对于的概率。作者选择一个函数 f f f 使得随着 p t p_t pt 增加, f f f值减小。

F L ( p t ) = − f ( p t ) log ⁡ ( p t ) , f ( p t ) = ( 1 − p t ) γ \mathrm{FL}\left(p_{\mathrm{t}}\right)=-f\left(p_{\mathrm{t}}\right) \log \left(p_{\mathrm{t}}\right), f\left(p_{\mathrm{t}}\right)=\left(1-p_{\mathrm{t}}\right)^{\gamma} FL(pt)=f(pt)log(pt),f(pt)=(1pt)γ
其中 γ \gamma γ 是一个难区分类的权重值。

整个弱对齐域分类器 loss 定义如下:
L global s = − 1 n s ∑ i = 1 n s ( 1 − D g ( F ( x i s ) ) γ log ⁡ ( D g ( F ( x i s ) ) ) \mathcal{L}_{\text {global}_{s}}=-\frac{1}{n_{s}} \sum_{i=1}^{n_{s}}\left(1-D_{g}\left(F\left(x_{i}^{s}\right)\right)^{\gamma} \log \left(D_{g}\left(F\left(x_{i}^{s}\right)\right)\right)\right. L

### 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]。特别是在自动驾驶、医疗影像分析等领域内,当面临昂贵的人工标注成本时显得尤为重要。 尽管如此,仍需注意某些潜在挑战比如如何合理设置超参组合以及防止过拟合现象发生等问题都需要深入探讨研究。 ---
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值