论文:Deep Ranking Model by Large Adaptive Margin Learning for Person Re-identification

文章主要提出了一种基于pairwise的,自适应调整margin的损失函数,在此基础上提出了一个多分支的行人重识别的模型。

自适应margin loss

假设$X=\{X_n\}_{n=1}^N$是训练样本,其中$X_n=\{X_A^n,X_B^n\}$表示第$n$个行人的训练样本,$X_n$包含了行人摄像头$A$和$B$下的图片的数据,进一步,$X_A^n=\{x_A^{n,i}\}_{i=1}^{A_n},X_B^n=\{x_B^{n,j}\}_{j=1}^{B_n}$,其中的$x_A^{n,i}$和$x_B^{n,j}$分别是第$i$个行人在$A$和$B$两个摄像头下的第$i$和第$j$张图片。用$D(x_A^{i,k},x_B^{j,s})$表示两张图片特征的欧氏距离的平方。

文章中提出的自适应margin的loss包含了两部分,一部分是相似度损失,一部分是正则项,即
$$L=L_S(X,W,b)+\lambda R(W,b)$$

在pairwise的损失中,我们的目的是让正负样本对之间存在一个比较大的间隔,在一个batch中,我们用$X_A^g$表示摄像头$A$下具有性质$g$的样本的集合,我们希望的是同一个人的两张照片$x_A^{i,k}$和$x_B^{i,s}$的差别尽可能小,即$D(x_A^{i,k},x_B^{i,s})$最好是可以小于一个自适应的up-margin $M_p$,而对于两个不同的人$x_A^{i,k}$和$x_B^{j,s}$,二者的距$D(x_A^{i,k},x_B^{j,s})$应该大于一个自适应的down-margin $M_n$
也就是说,我们的目标是

$$ \begin{align*} D(x_A^{i,k},x_B^{j,s})&<M_p(x_A^{i,k},X_B^g),i=j,i\neq g\\ D(x_A^{i,k},x_B^{j,s})&>M_p(x_A^{i,k},X_B^g),i\neq j,i=g \end{align*} $$

我们使用如下的方法来自适应确定两个margin

$$ \begin{align*} M_p&=\frac{1}{\mu}(1-\exp({-\mu d)});\\ M_n&=\frac{1}{\gamma}\log{(1+\exp{(\gamma s)})} \end{align*} $$

其中的mean positive distance $s$ 和mean negative distance $d$的定义如下

$$ \begin{align*} s&=\frac{1}{N}\sum_{s=1}^{N}{D(x_A^{i,k}, x_B^{j,s})},\text{if}\quad i=j\\ d&=\frac{1}{N}\sum_{s=1}^{N}{D(x_A^{i,k}, x_B^{j,s})},\text{if}\quad i\neq j \end{align*} $$

进一步,我们记$M_p=M_\tau-M_c,M_n=M_\tau+M_c$,则上面的约束条件可以统一写成

$$ M_c-y_{i,j}(M_\tau-D(x_A^{i,k}-x_B^{j,s}))<0 $$

这里$M_\tau>M_c$且

$$ y_{i,j}=\begin{cases} 1, \text{if}\quad i=j\\ -1,\text{else} \end{cases} $$

所以$L_S$可以写成

$$ L_S=\sum_{i,j=1}^{N}\{\max{M_c-y_{i,j}(M_\tau-D(x_A^{i,k},x_B^{j,s})),0\}} $$

正则项部分文章采用的是$L_2$正则
$$R=\sum_{m=1}^{M}{\lVert W^{(m)}\rVert_F^2+\lVert b^{(m)}\rVert_F^2}$$

网络结构

image.png
首先是一个全局特征提取,输入的图片大小是$230\times80\times3$,全局特征提取包括一个$7\times7$的卷积层(卷积核为64个),一个$3\times3$的池化层,然后经过一个relu单元;后面是局部的信息提取,包含了四个分支,每个分支都由两个$3\times3$的卷积层组成(卷积核个数都是32),第二个卷积层包含一个残差连接,然后通过一个$3\times3$的最大池化(步长为1),最后通过一个relu单元;然后每个分支接上两个全连接层,一个是局部的全连接层,每个分支的局部全连接层的神经元个数是100个,另外每个分支接上一个全局全连接层,神经元个数是400,最后把这些全连接层连接起来成为一个800层的全连接层。
文章提出了两种训练模式,一种是直接将训练集分成positive pair和negative pair,然后喂入神经网络。
image.png
一种是随机挑选anchor,每个anchor随机挑选若干个正样本和负样本组成样本对进行训练
image.png


巴山夜雨
0 声望1 粉丝