AAAI24
论文名:CLIP-Gaze: Towards General Gaze Estimation via Visual-Linguistic Model
keypoints
使用CLIP剔除image encoder中的视线无关的部分。
精读
1. background&motivation
在人脸图像中,眼部特征只占一小部分像素,因此模型预测结果容易受到头发、胡须、表情、化妆、帽子、环境照明、传感器噪声和运动模糊等各种干扰因素的影响。因此,这些与注视无关的因素导致域间隙,对注视模型的泛化能力提出了很大的挑战。
一些工作使用自对抗框架(Cheng和Bao 2022)净化凝视特征,或使用对比回归损失学习稳定表示(Wang et al. 2022)。然而,由于源域的简单性,它们的性能受到限制,这无法涵盖看不见的目标域的不同数据类型。还有一些方法试图通过数据增强或数据操作来提高源数据集的多样性。依赖单一视觉模态不足以处理所有与注视无关的因素。
CLIP通过大规模和对齐的图像-文本数据集学习丰富的视觉-语言相关性,这使得它具有通用、强大和灵活的表示能力。因此,CLIP-Gaze可以利用CLIP灵活地处理各种与凝视无关的因素,而不是依赖于昂贵的模型或不可控的对抗性方法,这些方法只能处理有限的凝视无关的因素。
2. contribution
- 我们设计了一个有效的凝视估计领域泛化框架,这是第一个将视觉语言建模引入凝视估计任务的框架,它通过灵活的方式处理源域中看不到的不同数据类型。
- 我们开发了一种个性化的文本提示调整方法来克服提示工程问题并提高对凝视估计任务的适应。此外,我们提出了一种基于注视样本之间关系的新损失函数,以促进更合理的特征分布并学习鲁棒的注视相关特征。
- 实验结果表明,与基线模型相比,我们的 CLIP-Gaze 取得了显着的性能改进,并且在凝视估计任务上也优于最先进的域泛化方法。
3.method
们从三个维度全面定义了与凝视无关的因素:
- Appearance:如身份特征(如脸型、眉毛、眼睛、嘴巴和鼻子)、表情变化、纹理属性(如头发和胡须的颜色和风格)和其他特征(如性别和年龄)。
- Wearable:如戴眼镜、帽子、头盔和化妆。
- Image Quality:传感器噪声、运动模糊和环境也起到了作用。因此,我们定义了多种类型的图像清晰度和照明
通过详尽地列举与注视无关的因素,我们得到了一个综合集,总共包含 K 个与注视无关的因素,并显着超过了以前的方法考虑的因素数量。
3.1 CLIP-Gaze Framework
黄色部分与视觉相关,主要包括两个model,一个来自CLIP的vision encoder,这部分是冻结的,用于生成通用的图像特征。
另一个是gaze model,是一个CNN,用于提取gaze相关和gaze无关的特征。gaze model后接一个MLP用于将gaze无关的特征推远,仅保留gaze相关的特征(图中黄色圆球)。这样提取的特征能推广到不同的没有见过的数据集。
Construct Gaze-irrelevant Features
文本分支中,通过以下提示词构建gaze无关的描述:
“An image of a face with {c_k}.”
c_k代表一种无关特征。
将该提示词输入到CLIP的text encoder中。输出Gaze-irrelevant Features。
Distill to CLIP Feature Space
用于蒸馏CLIP的vision encoder,对齐CNN和CLIP的vision encoder。
整个过程的公式为:g=F(M(E(x))),输入图像,CNN encoder提取特征,MLP将特征分隔为gaze相关和无关,gaze相关的特征输入一个全连接层E中估计视线方向。
该任务的损失函数:
f是CNN提取的,f^v是CLIP提取的。两者的余弦相似度越大,loss越小。
Separate Gaze-relevant Feature
用于拉开gaze相关和无关特征。以下是损失函数:
因为有K种视线无关的特征,要求每张图像中与第k种特征的相似度,用于计算损失函数中的权重。
求MLP输出的特征,与视线无关特征的相似度(来自CLIP的text encoder),相似度越大,损失函数越大。
Gaze Estimation
最后的全连接层会输出视线方向,这里的损失函数就是角度差:
3.2 Personalized Context Optimization
针对CLIP的text encoder部分做了特征工程。主要是借鉴了CoCoOp的思路,针对每张图像学一个prompt,但是直接从原图中提取特征可能会引入gaze相关信息,但这里是要提取视线无关特征的,需要剔除这部分,所以作者提出了PCO(personalized context optimization),仅提取视线无关的特征。
Learn Personalizing Text Prompt
用3DMM从每个被试的一张正脸图像提取表征identity的参数,过一个Meta-Net(小型CNN)学一个facial token,用于更新可学习的上下文嵌入。
Construct Personalizing Gaze-irrelevant Features
表征identity的上下文嵌入,和其他维度的视线无关文本描述拼接在一起,输出text encoder。
3.3 Rank Gaze-Relevant Features
具有相似凝视方向的凝视相关特征应该是接近的,这适用于多个凝视域。
多个凝视样本可以成对地进行配对,每对样本可以用来计算一个标签相似度sg和一个特征相似度sf。如图2右上方框所示,对于多个样本对,颜色强度表示相似度,颜色越深表示相似度越高。然后根据每对特征的标签相似度从高到低进行排序,并施加惩罚,迫使特征相似度序列与标签相似度保持相同的顺序。最后,注视相关特征的分布将更加合理,注视特征也将更加鲁棒。
损失函数如下:
3.4 Total Loss Function
4.experiment
4.1 Comparison with SOTA Methods
四个数据集:
源域是ETH-Xgaze和Gaze360,目标域是MPII和DIAP。
选择展示三个任务,DG(域泛化,没有使用目标域数据),UDA(监督域适应,少量无标签目标域数据),UDA(无监督域适应,少量有标签目标域数据)。
本工作能做DG和SDA,大部分SOTA。
4.2 Ablation Study
Ablation Study of Text Prompt Tuning methods:
Ablation Study of Attributes and Conditions
Ablation Study of Loss Functions
4.3 Visualization of Extracted Features
提取到的特征的可视化,不同颜色代表不同gaze。