zoukankan      html  css  js  c++  java
  • 论文阅读笔记(二十九)【CVPR2020】:Cross-modality Person re-identification with Shared-Specific Feature Transfer

    Introduction

    (1)Motivation:

    解决跨模态reid的方法主要有两类:模态共享特征学习(modality-shared feature learning)、模态特定特征补偿(modality-specific feature compensation)。模态共享特征学习旨在将不同模态的图片映射到同一个特征空间,但这种方法的性能受限,一些特定的信息(如RGB的颜色、IR的热度)被当做冗余信息;模态特定特征补偿旨在对某一模态缺失的特征信息进行补偿(可以采用GAN),但GAN在IR图像生成彩色的补偿方案有多种,很难得到正确的颜色补偿。

    (2)Contribution:

    为了解决上述两种方法的缺陷,作者提出一个特定跨模态特征转换算法(cross-modality shared-specific feature transfer algorithm,cm-SSFT)。每个样本接受临近样本的模态特征,同时将自身的模态特征分享出去。方法的创新点如下图:

    Cross-Modality Shared-Specific Feature Transfer

    (1)框架:

    定义:R:RGB modality;I:IR modality;S:shared space; H:shared features;P:specific features。

    (2)Two-stream feature extractor:

    输入的图像为:,通过卷积神经网络提取到特征:

    为了确保两类特征都具有较好的判别性,分类损失函数为:

    其中为输入的属于标签的概率。

    单模态三元组损失以及交叉模态三元组损失:

    (3)Shared-specific transfer network:

    RGB和IR模态的特征进行级联,得到统一规格的特征[RGB特征;共享特征;IR特征],认为每一个样本都有三段特征。只是对于RGB样本,其IR特异部分是0。同样对于IR样本,RGB特异部分是0:

    受到GCN(graph convolutional network)的启发【待阅读】,进行特征融合。

    ① 亲和力模型:

    表示相同模态之间的亲和力,i 和 j 都属于模态 m,即

    表示不同模态之间的亲和力,i 和 j 属于不同的模态,即

    距离计算方法为正规化欧式距离:

    亲和力矩阵:

    其中说最邻近选择函数,每一行都选择最大的k个值,其余设置为0(这里选择距离值最大的是因为距离函数的定义,值越大距离越近)。亲和力矩阵可以看做是权重,相似度越大,距离越小,权重越大。

    ② 信息传播:

    将RGB、IR的三段特征级联,得到特征矩阵:

    加权过程:

    其中 D 为 A 进行对角求和得到的对角矩阵为什么要求D?),W 为参数矩阵。

    理解:A 的每一行都表示该图片特征与其它RGB、IR图片特征的相似度权重,Z 的每一列都表示RGB、IR图片的特征,A 和 Z 的相乘,计算得到的每个元素都是权重 A 对 特征 Z 的加权结果。

    提取得到最终特征:

     损失函数类似上面,分为两种,分类损失和三元组损失:

    ③ 互补学习:

    由于共享特征和模态特定特征的叠加依然会影响效果。作者提出了模态自适应来从共享特征中筛选出特定特征。

    strategy 1:

    作者采用了生成对抗的策略,来使得共享特征尽量同特定特征不相关。通过三个全连接层实现模态判别器,用来判别共享特征的模态:

    其中为特征属于模态 m 的概率。

    判别器尽量区别出共享特征的模态,生成器尽量生成共享特征来骗过判别器(尽量大)。

    strategy 2:

    为了使特定特征区别于共享特征,作者提出了投影对抗策略,将特定特征投影到共享特征中,损失函数如下:

    在生成阶段尽量将投影差距扩大,但在对抗阶段尽量将投影差距减小。

    strategy 3:

    前两部分学习到了共享特征和特定特征之间不包含相互关联的信息,为了增强这两个特征的完整性,我们在每个模态的特征之后使用一个解码器网络来重建输入,即:

    重构损失为:

    (4)优化:

    特征学习的损失函数为:

    生成对抗的min-max部分:

    优化步骤:

    Experiments

     

     

  • 相关阅读:
    用C++实现斐波那契数列
    用C++实现的八皇后问题
    用C++实现的元胞自动机
    用C++实现的贪吃蛇游戏
    用C++实现的解数独(Sudoku)程序
    蓝桥杯-3.4
    汇编——实验9
    汇编——实验5
    汇编——实验4
    汇编——实验3
  • 原文地址:https://www.cnblogs.com/orangecyh/p/12531521.html
Copyright © 2011-2022 走看看