VGSG: Vision-Guided Semantic-Group Network for Text-based Person Search
1. 网络架构
1. CLIP baseline
基于文本的行人重识别最大的问题是不能够对齐像行人重识别里面的细粒度特征,,如:文本的细粒度描述(如:对于衣着等)以及对应图像的细粒度描述。因此提出了基于CLIP的baseline, CLIP可以对齐像行人重识别里面的细粒度特征。
2. SGTL
随后提出了Semantic-Group Textual Learning (SGTL) module, 通过视觉模式对输出的语言表达的语义分布进行分组得到channel-grouped textual features, 然后将features送入一个transformer模块探索单词和整个上下文之间的语义相关性。
总之, 这个模块使得文本特征可以使得相似的语义模式聚集在一起。
3. VGKT
由于在不同水平条对应人身体的不同部位, 因此对齐语义组的文本特征和相对应的视觉特征非常困难。设计了一个Vision-Guided Knowledge Transfer (VGKT) module, 模块主要包括两个部分:a vision-guided attention and a relational knowledge transfer.前一个主要是通过发掘视觉概念提取视觉引导的文本特征从而达到语义特征的对齐。但是, 获取文本特征匹配的视觉特征需要知道对应的图像的id标签, 无法在推理的时刻得到。因此需要知识蒸馏(knowledge distillation)的知识迁移,将这个训练的特征对齐迁移到语义组的文本特征中实现语义组的文本特征和视觉特征的对齐。
总结
CLIP baseline + VGSG (SGTL + VGKT), 然后在对应的benchmark 上面达到了最佳(CUHK-PEDES and ICFG-PEDES).
方法
1. CLIP的回顾
由于CLIP是做图像分类任务上面的, 计算的是文本和图片的全局相似性, 因此忽略了像基于文本的行人重识别的局部特征的细节。
2. CLIP baseline
- 视觉提取采用Resnet50进行提取, 提取出来的特征为\(V_f\),将倒数第二层的平均池化层换成自注意力池化层得到全局图像特征\(V_g\)
- 文本特征采用Transformer进行提取, 提取出来的特征为\(T_f\), 将\(T_f\)映射到和\(V_g\)维数相同的位置时得到\(T_g\)。
计算他们的余弦相似度\(S_g\), 用ID loss(cross-entropy loss)用数据集中的标签来度量,和对比损失(这里构造了一个三元组集合, 视觉全局特征和文本全局特征的正确描述对和文本全局特征的错误描述),分别得到他们的相似度:
从而保证图像和文本的正样本对之间的距离很近。
3. Semantic-Group Textual Learning Module
- 目的:提取可以区分的局部特征
- 问题: 将得到的视觉特征\(V_f\)切成互不重叠的K个, 然后采用self-attention pooling layer得到局部池化图片特征。但是, 自然语言的细粒度切割不能像图像一样进行水平的切割。
- 方法: 采用Channel Projection block (由线性层和batch normalization层构成)将通道的维度由原来的\(C^T\)扩展到\(KC^T\)。然后将其均匀的切割成K份。
检测重要的短语, 设置了一系列可学习的word queries, 同时加入全局的文本结束符。\(q^k = w^k + T^k_{f[EOS]}\),
\(q^{k′} = MHA(LN(q^k), LN(q^k), LN(q^k)) + q^k\),
\(T_l^{k′} = MHA(LN(q^{k′}), T_f^k, T_f^k) + q^{k′}\),
\(T_l^k = MLP(LN(T_l^{k′})) + T_l^{k′}\),
最终得到了语言组的局部文本特征 雾)
4. Vision-guided Knowledge Transfer Module
- 目的:将3中得到的语义组文本特征和对应的视觉特征进行对齐。
- 问题: 由于上面的语义组信息是由文本特征自己进行学习得到的, 因此仍然需要额外的语义标注才能和对应的视觉概念对齐。
- 方法:
1 提出了Vision-guided Attention:
首先通过一个可学习的全连接层参数W1将图像特征与文本特征进行映射,得到每个像素与每个词之间的相关性分数\(α_{i,j}\)。如果第i个像素与第j个词有明显的相关性,那么它会输出一个高的注意力分数\(α_{i,j}\);否则,会输出一个低的注意力分数。然后,生成一组注意力权重\(α_{i,j}\),基于这些权重提取图像中1个像素对于整个文本的特征。然后计算局部特征和视觉引导的特征之间的相似度。
- Relational Knowledge Transfer:
成对的视觉-文本只有在训练的阶段才能得到, 在推理的阶段并没有成对的数据因此需要将之前学习的视觉-语言交互进行信息迁移。
利用之前的视觉和文本模态的作为辅助监督信号。 这里将视觉和文本之间计算相似度, 根据这个关系构建了一个关系矩阵, 分别可以得到视觉引导的矩阵和语义组得到的矩阵, 计算他们之间的KL散度, 得到损失函数\(L_{st}\).
通过计算每个局部文本特征的类别概率矩阵,并利用KL散度来转移视觉引导文本特征与语义组文本特征之间的类别概率关系, 得到损失函数\(L_{cpt}\)。
总体损失
损失: \(L = L_{ID} + L_{Con} + \lambda_1 L_{st} + \lambda_2 L_{cpt}\)
图像-描述一致性损失\(L_{ID}\):这种损失用于确保全局视觉特征(\(V_g\))、全局文本特征(\(T_g\))、K个局部视觉特征以及K个语义组局部文本特征之间的一致性。
对比损失(\(L_{Con}\)):这种损失用于确保全局图像-文本对(\(S_g\))、语义组局部图像-文本对(\(S_l\))和视觉引导局部图像-文本对(\(S^v_l\))之间的对比度。
相似性转移损失\(L_{st}\):这种损失用于将视觉特征与视觉引导的文本特征之间的关系转移到视觉特征与语义组文本特征之间的关系,以适应检索任务的目标。
类概率转移损失\(L_{cpt}\):这种损失用于进一步调整预测的类概率,使其从视觉引导的文本特征转移到由语义组文本特征产生的类概率。
在模型训练过程中,\(L_{st}\)和\(L_{cpt}\)不会反向传播通过视觉引导注意力模块,从而保持视觉引导注意力提取视觉引导文本特征的能力,不受其他损失函数的影响。
在推理阶段,总体相似度值是全局图像-文本对(\(S_g\))和语义组局部图像-文本对(\(S_l\))的总和, 也不存在\(L_{st}\)和\(L_{cpt}\), \(L = L_{ID} + L_{Con}\)。
标签:特征,论文,语义,笔记,对齐,图像,视觉,文本 From: https://www.cnblogs.com/xiaoyaoxie/p/18060670