Knowledge-Enhanced Dual-stream Zero-shot Composed Image Retrieval

Suo Y., Ma F., Zhu L. and Yang Y. Knowledge-enhanced dual-stream zero-shot composed image retrieval. CVPR, 2024.

以往的 zero-shot Composed Image Retrieval (ZS-CIR) 方法将 visual feature 映射到 textual token embedding 空间中, 从而使得我们可以通过文本来操控这些 visual features. 然后, 作者认为这种方式虽然效果不错, 但是还是太粗略了, 很难指望如 Pic2Word 那样仅仅依赖 image-only 的对比学习就能够使得学习到的 visual feature 会有足够细节可操控性.

KEDs

  • 以往的 zero-shot 方法, 实际上并没有用到 caption 信息, 本文希望引入额外的 textual concept alignment (以及一些额外的 knowdege enhancement).

  • 首先, 对于一个图片 I 以及其标题 T, 我们通过 (比如 CLIP) 可以得到 visual 和 textual 表征:

    i=fv(I)Rd,t=ft(T)Rd.

  • 除了之前的 ZS-CIR 方法常用的 imgae-only contrastive learning 分支, KEDs:

    1. 首先从整个数据集中 (随机) 挑选大约 0.5M 的 image-caption 对;
    2. 对于图片特征 i, 通过 faiss library (Facebook AI Similarity Search) 挑选 top-K=16 的 image features {tkr}k=1K 和 caption features {ikr}k=1K;
    3. 将这些信息进行融合, 分别得到

      vi=CrossAttn(ψl(i),ψl({ikr}k=1K),ψl({ikr}k=1K),),vc=CrossAttn(ψ(i),ψl({tkr}k=1K),ψl({tkr}k=1K),);

    4. 最后我们得到一个拼接后的向量, 该向量用于 image-only 部分的对比学习:

      v=concat(ψ(i),vi,vc)R3d.

  • 上述最后两步的图示过程如下, 直觉是通过 top-K image/textual features 进行一个加权融合, 从而得到的向量更易于用于检索.

  • 除此之外, 我们想要进一步用到 query image 本身的 caption 信息:

    1. 对于图片 (I,T), 通过 spacy 来得到额外的 context description, 在得到的 pseudo-triplets 上训练一个额外的 projection ϕA, 假设 v^a 是把经过 ϕA 投影后的图片特征加到描述后经过 textual encoder ft 得到的特征, 我们要求其和标题特征一致:

      Lcos=1cos(v^a,t);

    2. 对每个标题 T 额外检索一些标题用于丰富描述, 比如 "Husky on the sofa" 和 "A sleeping white dog" 两个标题其实内在语义上是比较一致的, 假设有两个标题, 我们要求 va^ 平均地和两个标题一致:

      Lsup=112(cos(v^a,ft(T))+cos(v^a,ft(T))).

  • 由于现在我们实际上有 v^v^a 两种可以用于检索的特征, 在实际推理的时候, 采用如下的加权的方式:

    vh=αv^+(1α)v^a.

代码

[official-code]

posted @   馒头and花卷  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2024-02-23 Linear-Time Graph Neural Networks for Scalable Recommendations
点击右上角即可分享
微信分享提示