跨域视线估计的协同对比学习
1. 问题表述
在视线估计领域中,跨域问题是指当训练数据和测试数据来自不同的领域(如不同的个体、光照条件、拍摄设备等)时,模型性能会显著下降。这种性能下降主要是因为不同领域之间的差异导致模型难以泛化。为了解决这一问题,新方法(Cross Gaze Generalization, CGaG)旨在通过特征解耦的方式减少领域差异对视线估计的影响,从而提高模型在跨域情况下的准确性和稳定性。
2. 新方法:CGaG
CGaG通过构建特定的编码器-解码器结构和实施协同对比学习策略来实现跨域视线估计。该方法整合了多种损失函数以优化模型性能,具体步骤如下:
2.1 Gaze-disentangled Encoder and Decoder(凝视解缠编码器和解码器)
CGaG的核心是设计由凝视编码器( E G E_G EG)和域编码器( E D E_D ED)组成的系统,对不同主体的图像进行编码。具体步骤如下:
- 凝视感知增强模块(GaAM):输入图像首先通过GaAM处理,该模块通过随机水平翻转或旋转图像来增强数据,并相应调整凝视标签。
- 特征编码与约束:对原始图像和增强图像分别进行编码,同时应用约束使凝视特征与真实值对齐,并使用正交正则化增强特征分离。
- 特征交换与解码:交换不同图像的凝视特征,与原始域特征连接后输入解码器,生成凝视交换图像。
- 特征一致性与优化:再次对生成的图像进行编码,通过嵌入一致性损失保证特征一致性,并使用基于PatchGAN的判别器和像素级重建损失,使合成图像更逼真,同时确保特征连接正确并成功训练。
2.2 Collaborative Contrastive Learning(协同对比学习)
协同对比学习(CCL)通过全局对比学习(GCL)和局部对比学习(LCL)两种策略实现凝视特征解耦,具体如下:
2.2.1 全局对比学习(Global Contrastive Learning, GCL)
- 原理:在输入或生成的图像对之间应用全局对比学习,将原始图像及其对应的重建图像视为正样本对,其他图像视为负样本对。
- 优化目标:通过优化目标公式
L g c l = − ∑ i , j log exp ( cos ( z i , z j ) τ ) ∑ k ≠ i exp ( cos ( z i , z k ) τ ) L_{gcl} = -\sum_{i,j} \log \frac{\exp(\frac{\cos(z_i, z_j)}{\tau})}{\sum_{k \neq i} \exp(\frac{\cos(z_i, z_k)}{\tau})} Lgcl=−i,j∑log∑k=iexp(τcos(zi,zk))exp(τcos(zi,zj))
拉近正样本对的特征距离,推远负样本对的特征距离。这有助于区分不同图像对的精细凝视特征和域特征,如肤色、光照等,从而实现凝视特征与域特征在全局层面的解耦。
- 作用:全局对比学习有助于更好地生成样本,并在全局层面区分凝视特征和域特征。
2.2.2 局部对比学习(Local Contrastive Learning, LCL)
- 原理:将原始图像及其增强版本的域相关特征视为正样本对,其他特征视为负样本对。
- 损失函数:其损失函数为
L l c l = − ∑ i log exp ( cos ( q i , q ^ i ) τ ) exp ( cos ( q i , q ^ i ) τ ) + ∑ j exp ( cos ( q i , q j ) τ ) L_{lcl} = -\sum_{i} \log \frac{\exp(\frac{\cos(q_i, \hat{q}_i)}{\tau})}{\exp(\frac{\cos(q_i, \hat{q}_i)}{\tau}) + \sum_{j} \exp(\frac{\cos(q_i, q_j)}{\tau})} Llcl=−i∑logexp(τcos(qi,q^i))+∑jexp(τcos(qi,qj))exp(τcos(qi,q^i))
其中, q i q_i qi 是原始图像的投影域特征, q ^ i \hat{q}_i q^i 是增强图像的投影域特征, q j q_j qj 是其他图像的投影域特征, τ \tau τ 是温度参数。
- 作用:局部对比学习为域相关特征提供辅助监督,明确监督域相关特征,巩固特征分离,且无需额外手动标注域相关信息。它在局部层面有效解耦凝视特征和域特征。
2.3 整体优化目标(Overall Optimization Objectives)
CGaG将上述在凝视解缠编码器和解码器以及协同对比学习中涉及的损失函数进行整合,得到完整的优化目标函数。通过调整不同约束项的权重( λ 1 ∼ λ 7 \lambda_1 \sim \lambda_7 λ1∼λ7),平衡各部分在训练中的重要性,以实现更好的特征分离和跨域泛化性能。
3. 局部对比学习(Local Contrastive Learning, LCL)的具体步骤
局部对比学习是一种通过聚焦于数据的局部特征来增强模型对正样本对相关特征学习的方法。它通常用于提升模型对细节的敏感性,尤其是在图像、文本或多模态数据中,局部特征往往比全局特征更能捕捉细粒度的语义信息。以下是局部对比学习的详细步骤:
3.1 数据预处理与视图生成
- 生成多视图:对输入数据(如图像)应用数据增强(如裁剪、旋转、颜色抖动等),生成两个视图(view1 和 view2),作为正样本对。
- 局部划分:将每个视图划分为多个局部区域。例如,对于图像,可以将其分割为网格(如 4x4 的 patch);对于文本,可以提取句子或词组作为局部单元。
3.2 特征提取
- 使用一个基础编码器(如 CNN 或 Transformer)分别对两个视图进行特征提取,得到全局表示和局部表示。
- 对每个局部区域,提取对应的特征向量。例如,对于图像 patch,可以用一个卷积层或注意力机制生成局部特征表示 z i z_{i} zi(其中 i i i 表示第 i i i 个局部区域)。
3.3 局部对比损失设计
- 正样本对的局部相似性:计算两个视图中对应局部区域之间的相似性。常用余弦相似度:
sim ( z i v 1 , z i v 2 ) = z i v 1 ⋅ z i v 2 ∥ z i v 1 ∥ ∥ z i v 2 ∥ \text{sim}(z_{i}^{v1}, z_{i}^{v2}) = \frac{z_{i}^{v1} \cdot z_{i}^{v2}}{\|z_{i}^{v1}\| \|z_{i}^{v2}\|} sim(ziv1,ziv2)=∥ziv1∥∥ziv2∥ziv1⋅ziv2
其中 z i v 1 z_{i}^{v1} ziv1 和 z i v 2 z_{i}^{v2} ziv2 是 view1 和 view2 中第 i i i 个局部区域的特征。
2. 负样本对的局部对比:对于同一批次中的其他样本(负样本),计算当前局部区域与所有非对应区域的相似性,并尽量拉大它们之间的距离。
3. 损失函数:通常采用 InfoNCE 损失的变体,针对局部特征计算:
L l o c a l = − ∑ i log exp ( sim ( z i v 1 , z i v 2 ) / τ ) ∑ j exp ( sim ( z i v 1 , z j ) / τ ) \mathcal{L}_{local} = -\sum_{i} \log \frac{\exp(\text{sim}(z_{i}^{v1}, z_{i}^{v2}) / \tau)}{\sum_{j} \exp(\text{sim}(z_{i}^{v1}, z_{j}) / \tau)} Llocal=−i∑log∑jexp(sim(ziv1,zj)/τ)exp(sim(ziv1,ziv2)/τ)
其中 τ \tau τ 是温度参数, z j z_{j} zj 包括正样本对的对应特征和负样本的特征。
3.4 全局与局部的结合
局部对比学习通常与全局对比学习结合使用。全局损失关注整个视图的表示相似性,而局部损失增强对细节的学习。总损失可以是加权和:
L = L g l o b a l + λ L l o c a l \mathcal{L} = \mathcal{L}_{global} + \lambda \mathcal{L}_{local} L=Lglobal+λLlocal
其中 λ \lambda λ 是超参数,用于平衡全局和局部学习的贡献。
3.5 如何学习正样本对的相关特征
局部对比学习通过以下机制强化对正样本对相关特征的学习:
- 局部对齐:通过匹配正样本对中对应的局部区域(如图像中的相同物体部分),模型学习这些区域的共享特征。
- 细节增强:局部对比迫使模型关注细粒度差异,而不是仅仅依赖全局结构,从而捕捉正样本对中更具体的相关性。
- 抗噪能力:由于数据增强可能引入噪声(如遮挡、视角变化),局部对比学习通过保持对应区域的一致性,提升模型对关键特征的鲁棒性。
3.6 具体示例
以图像为例,假设我们使用局部对比学习训练一个模型:
- 输入一张猫的图片,生成两个增强视图(view1 和 view2)。
- 将每张图片分为 4 个 patch(左上、右上、左下、右下)。
- 使用 ResNet 提取每个 patch 的特征向量。
- 计算 view1 和 view2 中对应 patch 的相似性(如左上对左上),并与负样本的 patch 对比。
- 通过优化局部对比损失,模型学习到猫的耳朵、眼睛等局部特征的表示。
4. 局部对比学习中需要注意的数据增强手段
在局部对比学习中,数据增强是一个关键步骤,但某些增强手段可能会破坏局部特征的一致性或引入不必要的噪声。以下是一些需要注意避免使用的数据增强手段:
4.1 过度几何变换
- 原因:局部对比学习关注局部区域特征。过度的几何变换(如大幅旋转、翻转、裁剪或透视变换)可能会破坏局部区域的空间关系,使正样本对不再具有一致的局部语义。
- 建议:避免大幅度旋转(例如180°或随机大角度旋转)、过度裁剪或非均匀缩放。可以选择轻微的旋转(如±15°)或平移。
4.2 强随机噪声
- 原因:添加过强的随机噪声(如高斯噪声或椒盐噪声)可能会掩盖局部特征的细节,使得模型难以区分正样本对和负样本对。
- 建议:如果需要使用噪声,保持其强度较低,确保局部特征仍然可辨识。
4.3 全局颜色或亮度变化过大
- 原因:局部对比学习依赖于局部区域的纹理和细节。如果全局颜色变换(如随机亮度、对比度或饱和度调整)过于剧烈,可能会导致局部特征的表征发生显著变化,影响正样本对的匹配。
- 建议:使用温和的颜色抖动(如小范围的亮度或对比度调整),避免完全改变图像的视觉特性。
4.4 遮挡或随机擦除(Random Erasing)过度使用
- 原因:随机擦除可能会完全遮挡局部区域的关键特征,导致正样本对失去一致性,特别是在局部对比学习中,模型需要关注特定区域的细节。
- 建议:如果需要遮挡,可以限制遮挡区域的大小和比例,或者避免在关键局部区域应用。
4.5 模糊处理(如高斯模糊)
- 原因:模糊会平滑局部细节,削弱纹理和边缘信息,而这些信息通常是局部对比学习的核心。
- 建议:避免使用强模糊滤波器,如果必须使用,确保模糊程度较轻。
5. 总结
局部对比学习通过将正样本对分解为局部特征,并对其进行对齐和对比,增强了模型对相关特征的学习能力。它特别适用于需要捕捉细粒度信息的任务,如图像分类、目标检测或多模态对齐。结合全局对比学习,可以在保持整体语义的同时,进一步提升模型的表示能力。在实际应用中,应避免使用那些破坏局部空间结构、细节或语义的数据增强手段,如过度几何变换、强噪声、全局颜色剧变、过度遮挡和模糊。常用的合适增强包括轻微的颜色抖动、小范围平移或缩放等。