paper | https://arxiv.org/abs/2306.09344 |
---|---|
code | https://github.com/ssundaram21/dreamsim |
org | MiT |
个人博客主页 | http://myhz0606.com/article/dream_sim |
1 Motivation
目前较为成熟度量图片相似性的做法是通过模型将图片转为embedding,再用余弦相似度来度量相似性。虽然在大量数据上训练的vision foundation model提取的embedding具备丰富的high level特征并在图像搜索等业务取得了大量成功,但模型计算的相似性和human perceptual similarity还是有一定的差距。
针对上述问题,本文提出一个新的指标Dreamsim。Dreamsim更forcus前景和语义信息等high level的特征,并兼顾color、layout等low level特征,能更好的对齐human perceptual similarity。
2 Method
2.1 Human Perceptual Similarity数据集构建
2.1.1 Two alternative forced choice(2AFC)
这个数据集旨在通过对比的方式来定义human perceptual similarity。
作者采用Amazon Mechanical Turk (AMT)平台用于数据搜集:标注步骤如下:
通过diffusion model合成了10w个三元组图片 { ( x ~ 0 ( i ) , x ( i ) , x ~ 1 ( i ) ) ∣ i = 1 , 2 , ⋯ 100000 } \{(\tilde {x}_0^{(i)}, x^{(i)}, \tilde{x}_1^{(i)})| i = 1, 2, \cdots 100000\} {(x~0(i),x(i),x~1(i))∣i=1,2,⋯100000}。依次为扰动图片A( x ~ 0 \tilde{x}_0 x~0),参考图片Ref( x x x),扰动图片B ( x ~ 1 \tilde{x}_1 x~1)。标注者需要从 ( x ~ 0 , x ~ 1 ) (\tilde{x}_0, \tilde{x}_1) (x~0,x~1)选择与 x x x更相似的图片。标注过程重复10轮(不止一个标注人员)。10轮标注后,每一个三元组都有10份标注结果,若当前三元组超过6份标注结果一致,则认为该标注结果可信。最后得到20019份可信的标注结果: D 2 a f c = { ( x ~ 0 ( i ) , x ( i ) , x ~ 1 ( i ) ) , y ( i ) ∣ i = 1 , 2 , ⋯ 20019 } \mathcal{D}^{\mathrm{2afc}} = \{(\tilde {x}_0^{(i)}, x^{(i)}, \tilde{x}_1^{(i)}), y^{(i)}| i = 1, 2, \cdots 20019\} D2afc={(x~0(i),x(i),x~1(i)),y(i)∣i=1,2,⋯20019}, y y y表示当前三元组的标注结果。
作者按照8:1:1划分为训练集、验证集、测试集
2.1.2 Just noticeable differences (JND)
这个数据集旨在定义开始变得不相似的边界(characterize the boundary when a distortion becomes just noticeable),低于这个边界认为感知相似。
标注过程如下:
将2AFC搜集的数据集 D 2 a f c = { ( x ~ 0 ( i ) , x ( i ) , x ~ 1 ( i ) ) , y ( i ) ∣ i = 1 , 2 , ⋯ 20019 } \mathcal{D}^{\mathrm{2afc}} = \{(\tilde {x}_0^{(i)}, x^{(i)}, \tilde{x}_1^{(i)}), y^{(i)}| i = 1, 2, \cdots 20019\} D2afc={(x~0(i),x(i),x~1(i)),y(i)∣i=1,2,⋯20019},标注者对每一个三元组需要分别判断 ( x ~ 0 ( i ) , x ( i ) ) (\tilde {x}_0^{(i)}, x^{(i)}) (x~0(i),x(i))和 ( x ( i ) , x ~ 1 ( i ) ) (x^{(i)}, \tilde{x}_1^{(i)}) (x(i),x~1(i))是否相似。当这两个二元组只有一组判定为相似时,保留该三元组且保留标注结果。最终获得411个标注结果 D j n d = { ( x ~ 0 ( i ) , x ( i ) , x ~ 1 ( i ) ) , s ( i ) ∣ i = 1 , 2 , ⋯ 411 } \mathcal{D}^{\mathrm{jnd}} = \{(\tilde {x}_0^{(i)}, x^{(i)}, \tilde{x}_1^{(i)}), s^{(i)}| i = 1, 2, \cdots 411\} Djnd={(x~0(i),x(i),x~1(i)),s(i)∣i=1,2,⋯411}。
📌注意,为了保证标注质量:
- 标注过程是在三元组间交错进行,不会顺序标注 ( x ~ 0 ( 1 ) , x ( 1 ) ) → ( x ( 1 ) , x ~ 1 ( 1 ) ) (\tilde {x}_0^{(1)}, x^{(1)}) \rightarrow (x^{(1)}, \tilde{x}_1^{(1)}) (x~0(1),x(1))→(x(1),x~1(1)),二是 ( x ~ 0 ( M ) , x ( M ) ) → ( x ( K ) , x ~ 1 ( K ) ) , M ≠ K (\tilde {x}_0^{(M)}, x^{(M)}) \rightarrow (x^{(K)}, \tilde{x}_1^{(K)}), M \neq K (x~0(M),x(M))→(x(K),x~1(K)),M=K。
- 和2AFC的标注类似,每一对会有3个独立的标注者标注,以投票作为最终的标注结果。
2.2 Perceptual Metric Learning
模型 f θ f_\theta fθ对相似的预测定义如下:
y ^ = { 1 , D ( x , x ~ 0 ; f θ ) > D ( x , x ~ 1 ; f θ ) 0 , D ( x , x ~ 1 ; f θ ) > D ( x , x ~ 0 ; f θ ) \hat{y} = \begin{cases} 1, D(x, \tilde{x}_{0};f_{\theta}) > D(x, \tilde{x}_{1};f_{\theta}) \\ 0, D(x, \tilde{x}_{1};f_{\theta}) > D(x, \tilde{x}_{0};f_{\theta}) \end{cases} y^={1,D(x,x~0;fθ)>D(x,x~1;fθ)0,D(x,x~1;fθ)>D(x,x~0;fθ)
其中 D ( x , x ~ ; f θ ) = 1 − cos ( f θ ( x ) , f θ ( x ~ ) ) D(x, \tilde{x};f_{\theta}) = 1 - \cos (f_{\theta} (x) , f_{\theta} (\tilde{x})) D(x,x~;fθ)=1−cos(fθ(x),fθ(x~))。通过模型预测和标注的差异来评估模型对human perceptual similarity的对齐程度。
2.2.1 模型架构与训练
作者采用开源模型CLIP、OpenCLIP、DINO、MAE作为base model,并用Lora,MLP两种微调范式在2AFC数据集上用hinge loss (等价triplet los)作为训练目标进行微调。
L ( y , y ^ ) = m a x ( 0 , m − Δ d ⋅ y ˉ ) , w h e r e Δ d = d 0 − d 1 . { \mathcal L } ( y , \hat { y } ) = \mathrm { m a x } ( 0 , m \, - \, \Delta d \cdot \bar { y } ) , \mathrm { w h e r e } \, \Delta d = \, d _ { 0 } - d _ { 1 } . L(y,y^)=max(0,m−Δd⋅yˉ),whereΔd=d0−d1.
其中: y ∈ { 0 , 1 } → y ˉ ∈ { − 1 , 1 } y \in \{ 0 , 1 \} \rightarrow \bar { y } \in \{-1, 1\} y∈{0,1}→yˉ∈{−1,1}, m = 0.05 m=0.05 m=0.05
3 Result
3.1 benchmark的performance
下图给出了训练后模型对human perceptual similarity的对齐效果。主要结论有
- fine-tune后,在该数据集定义的相似性上效果更好(能提升3~6%)
- 采用LoRA finetune比加一个MLP的效果更好(3%左右)
3.2 图片属性对相似度决策一致性的影响
作者探究移除不同图像属性,相似一致性的维持情况。
- 模态变化较大时,相似度维持较差。作者此处没有充分给出只改变reference模态的情形。通过后续跨模态搜索的相关实验可见,模型对跨模态的相似度维持得效果还有待提高。
3.3 跨模态搜索效果