DreamSim: Learning New Dimensions of Human Visual Similarity using Synthetic Data
TL; DR:使用 SD 机造接近的图像并进行人工标注,用以针对人眼感知相似度,对模型进行评估和训练。
方法
目前已有的图像相似度评估方法/指标,要么是过于关注底层的纹理细节(如 PSNR、L1、L2),要么过于关注高层语义信息(如 CLIP)。本文提出关注 ”中层特征“ 的新指标 DreamSim,关注前景、语义信息等高层特征的同时兼顾色彩、构图等人眼感知特征。更好地对齐人眼对图像相似度的感知。
数据集构建
首先选取开源数据集(ImageNet、CIFAR、Flower 102、Food 101 等)中的一些类别(category),构造文本提示词 An image of a <category>
。使用 SD 生成了 10w 张三元组图像 <ref_img, img1, img2>
。然后人工标注 img1 和 img2 哪张与 ref_img 更接近,即 2AFC(其实就是二选一)。并结合了 JND(Just Noticable Difference),即人眼刚好可察觉的差异。每个三元组会经过 10 次标注,只有当某个选项被选中次数大于 6 次时才会被选为样本。并设置哨兵三元组:<img1, img1, img2>
如果在哨兵三元组中选错了,就不用这个标注员的标注结果了。
最终构建出了 20019 个三元组数据。
训练
集成了 CLIP、DINO 等多个模型,损失函数是 hinge loss。
L
(
y
,
y
^
)
=
max
(
0
,
m
−
Δ
d
⋅
y
^
)
,
Δ
d
=
d
0
−
d
1
\mathcal{L}(y,\hat{y})=\max(0,\ m-\Delta d\cdot\hat{y}),\ \ \ \ \Delta d =d_0-d_1
L(y,y^)=max(0, m−Δd⋅y^), Δd=d0−d1
总结
图像相似度是在业务应用上是很常见的。CLIP 监督粒度太粗,只关注高层语义,不太适合人眼感知相似度的计算。本文利用 SD 机造数据,并人工标注,是目前比较高效的图像相似度数据集构建方式。这也再次体现出有了足够强的条件生图模型之后,机造图像数据在监督粒度把控上的优势。通过控制生图提示词等条件,(有时需配合人工标注)我们可以灵活地构造出各种监督粒度的数据。