🛰️

Unsupervised Person Re-identification by Soft Multilabel Learning

Tags
Unsupervised Learning
Re-identification
Created
2021/01/13 08:32
Publication
CVPR'19
Rate
3
Source
https://arxiv.org/abs/1903.06325
Summary
Source data set의 이미지들과의 유사도를 통해 target data set의 이미지를 표현해내는 soft multi-label을 이용하여 person re-identification model의 unsupervised domain adaptation을 하고자 하는 MAR 알고리즘을 제안하는 페이퍼이다. (상세 페이지 참고)
Person re-identification은 꽤 활발히 연구되고 있는 분야 중 하나인데, annotation이 굉장히 애매하고 어렵다. 이러한 상황에서 이 페이퍼는 reference dataset을 활용하여 학습한 soft multi-label을 통해 target dataset의 discriminative feature를 학습함으로써 unsupervised person re-ID 모델의 성능을 꽤 큰 폭으로 높인 페이퍼이다.
먼저 reference dataset은 이미 person identity labeling이 되어 있는 데이터셋을 의미한다. 그런 의미에서 이번 모델은 domain adaptation과도 관련이 크다. 어쨌거나 이러한 reference dataset을 Z={zi,wi}Nai=1Z = \{ z_i, w_i \}^{N_a}{i = 1}과 같이 표기한다. ziz_i는 reference dataset의 이미지이고, wiw_i는 이미지 ziz_i의 identity label이며, 총 NaN_a개의 identity가 있는 것이다. 그리고 unlabeled target dataset χ={xi}i=1Nu\chi = \{ x_i \}_{i = 1}^{N_u}가 있다.
이 모델이 하고자 하는 것을 요약하자면, reference dataset의 이미지(identity)들을 통해 target dataset의 이미지들을 표현하는 soft multi-label를 학습하고 이를 통해 discriminative feature를 학습하려 하는데, 1) 이러한 soft multi-label을 이용하여 (feature는 비슷하지만 soft multi-label은 다른) hard negative sample들을 골라내어 모델을 학습시키고, 2) 또 (각 camera view에 속한 이미지들의 soft multi-label 분포를 이용하여) camera view에 의존적이지 않은 robust한 soft multi-label을 학습하도록 하고, 3) 동시에 agent learning을 이용하여 reference dataset과 target dataset 모두에서 discriminative한 feature를 학습하도록 함으로써 robust한 Re-ID를 가능하게 하는 것이다.
Feature은 ResNet50을 통해 이미지에서 추출해 낸 latent (person-discriminative) feature이고, soft multi-label은 reference 이미지(identity)들로 target image를 설명하고자 하는 벡터임에 주의하자.
먼저 soft multi-label은 reference dataset의 이미지들을 통해 target dataset의 이미지를 표현하고자 하는 real-valued vector인데, dimension은 NpN_p이고, 합이 1이다. 즉 reference dataset의 identity들이 각각 해당 이미지를 잘 나타내는(해당 이미지와 비슷한) 정도를 나타내는 벡터라고 해석할 수 있을 듯하다. 예컨대 이미지 xx를 reference dataset {z1,z2,z3}\{ z_1, z_2, z_3 \}을 통해 표현한다고 하자. 만약 z2z_2가 가장 xx와 유사하고, 그 다음으로는 z1z_1, z3z_3이 유사하다고 하면 soft multi-label은 [0.2,0.7,0.1][0.2, 0.7, 0.1]과 같은 식이다.
추후에 언급될 reference dataset의 identity를 대표하는 feature 값인 agent {ai}i=1Np\{ a_i \}{i = 1}^{N_p}와 target dataset의 이미지 xx에 대한 feature f(x)f(x)가 주어졌을 때 soft multi-label은 다음과 같이 계산한다.
y(k)=l(f(x),{ai}i=1Np)(k)=exp(akTf(x))iexp(aiTf(x))y^{(k)} = l(f(x), \{ a_i \}{i = 1}^{N_p})^{(k)} = \frac{ \exp{( a_k^T f(x) )} }{\sum_i{ \exp{( a_i^T f(x) )} }}

Soft Multi-label Guided Hard Negative Mining

그러면 먼저 1) soft multi-label guided hard negative mining을 위해 페이퍼에서는 "feature이 비슷한 target dataset의 두 이미지를 비슷한 쌍이라고 할 수 있는데, 이러한 비슷한 쌍이 유사한 soft multi-label을 가지고 있다면 positive pair라고 볼 수 있을 것이고, 그렇지 않다면 negative pair라고 볼 수 있을 것이다"라고 가정한다. 이에 따라 soft multi-label agreement A()A()를 다음과 같이 정의한다.
A(yi,yj)=kmin(yi(k),yj(k))=1yiyj12A(y_i, y_j) = \sum_k{min( y_i^{(k)}, y_j^{(k)} )} = 1 - \frac{|| y_i - y_j ||_1}{2}
이는 두 soft multi-label의 유사도를 측정하는 역할을 하는데, min이 대체 무슨 역할을 하나 싶지만 잘 살펴보면 유사한 soft multi-label이라면 kk 중 두 값이 모두 높아 min값이 높은 kk가 있을 것이고, 따라서 agreement 역시 높을 것임을 알 수 있다.
이제 mini batch의 총 pair 수를 MM이라 하면, feature이 가장 유사한 pM(0<p<1)pM (0 < p < 1) 쌍 중 agreement가 threshold TT 이상인 pair들을 positive set, 그렇지 않은 pair들을 negative set으로 간주한다. 식으로 쓰면 다음과 같다.
P={(i,j)f(xi)Tf(xj)S,A(yi,yj)T}N={(i,j)f(xi)Tf(xj)S,A(yi,yj)<T}P = \{ (i, j) | f(x_i)^T f(x_j) ≥ S, A(y_i, y_j) ≥ T \} \\ N = \{ (i, j) | f(x_i)^T f(x_j) ≥ S, A(y_i, y_j) < T \}
이제 위의 positive/negative set을 이용하여 positive pair의 feature는 가깝게 만들고, negative pair의 feature는 멀게 만드는 soft multi-label guided discriminative embedding learning을 위한 loss를 계산한다.
LMDL=logPˉPˉ+NˉPˉ=1PPexp(f(zi)f(zj)22)Nˉ=1NNexp(f(zi)f(zj)22) L_{MDL} = -\log{ \frac{\bar{P}}{\bar{P} + \bar{N}} } \\ \bar{P} = \frac{1}{|P|} \sum_P{ \exp{(-|| f(z_i) - f(z_j) ||^2_2)} } \\ \bar{N} = \frac{1}{|N|} \sum_N{ \exp{(-|| f(z_i) - f(z_j) ||^2_2)} } 

Cross-view Consistent Soft Multilabel Learning

또한 2) re-ID에서는 서로 다른 camera view로 인해 difference가 dominate될 수 있으니, 이러한 camera view에 robust한 feature을 학습하도록 해야한다. 이를 위해 페이퍼에서는 "soft multi-label의 distribution은 camera view에 대해 독립적일 것이다"라는 가정을 한다. 이에 따라 soft multi-label이 camera view와 독립적인 distribution을 가지도록 다음과 같은 loss를 설정한다. 이 때 P(y)P(y)는 target dataset χ\chi의 multi-label distribution이고, Pv(y)P_v(y)χ\chivv번째 camera view로부터 나온 이미지들의 multi-label distribution이다.
LCML=vd(Pv(y),P(y))2L_{CML} = \sum_v{ d(P_v(y), P(y))^2 }
이 때 d()d()는 두 distribution의 distance를 의미하며, KL divergence 등 어떠한 distance를 사용해도 되지만 simplicity를 위해 simplified 2-Wasserstein distance(?)를 사용하였다고 한다.

Reference Agent Learning

마지막으로 3) agent learning을 이용하여 reference space와 target space에 동시에 discriminative한 feature를 학습할 수 있도록 해야 한다. 이 때 agent는 reference data의 각각의 identity를 표현하는 feature로, (내가 이해하기로는) 학습해야 하는 parameter에 해당한다. (Repository를 보니 FC layer의 weight을 agent로 이용하더라.)
우선 agent는 서로 다른 identity에 대해서 discriminative해야 한다. 위에서 정의한 soft multi-label function l()l()을 이용하여 다음과 같은 loss를 계산한다.
LAL=klogl(f(zk),{ai})(wk)=klogexp(awkTf(zk))jexp(ajTf(zk)) L_{AL} = -\sum_k{\log{ l(f(z_k), \{ a_i \})^{(w_k)} }} = -\sum_k{\log{\frac{ \exp{( a^T_{w_k} f(z_k) )} }{ \sum_j{\exp{( a_j^T f(z_k) )}} }}} 
이를 통해 1) discriminative agent를 학습할 수 있고, 2) feature embedding에 (reference space 한정) discriminative power를 부여하며, 3) multi-label function l()l()에 validity를 부여한다. (Multi-label function이 이미지에 대한 유사도를 의미하도록 feature space를 학습한다고 생각하면 될 듯하다. 그러한 방향으로 feature space가 학습되어야 LALL_{AL}이 낮아질 수 있으니까?)
또한 위의 loss는 reference dataset에 대한 것이므로, target dataset에서 역시 discriminative한 feature를 학습하기 위해서는 다음과 같은 loss를 계산한다. 그림을 보면 agent feature를 해당 identity의 image feature과 가깝게 끌어당기고, target image의 feature를 이들과 먼 곳으로 밀어내는 식으로 설명이 되어 있다. 이 때 Mi={j  aif(xj)22<m=1}M_i = \{ j \ | \ || a_i - f(x_j) ||2^2 < m = 1 \}, Wi={k  wk=i}W_i = \{ k \ | \ w_k = i \}이다.
LRJ=ijMikWi([maif(xj)22]++aif(zk)22)L{RJ} = \sum_i \sum_{j \in M_i} \sum_{k \in W_i}{( [m - || a_i - f(x_j) ||^2_2]+ + || a_i - f(z_k) ||2^2 )}
이제 위에서 구한 드래곤볼들을 모두 합쳐 다음과 같이 최종적인 loss를 구한다.
LMAL=LMDL+λ1LCML+λ2(LAL+βLRJ)L{MAL} = L{MDL} + \lambda_1 L_{CML} + \lambda_2{( L_{AL} + \beta L_{RJ} )}
가벼운 마음으로 읽기 시작했는데, 꽤나 복잡하고 골머리가 아파지는 페이퍼였다. (이해하고 나면 복잡하면서도 직관적인 것 같기는 하다.) 하지만 첫(?) re-ID 페이퍼라 그런지 굉장히 흥미롭게 읽었다. 특히 domain adaptation 문제를 굉장히 참신하게 풀어냈다는 생각이 들어 재밌었는데(reference data와의 연관성을 의미하는 soft multi-label을 적극적으로 이용하여 discriminative feature를 학습한다), 이러한 페이퍼를 보고 있자면 왠지 색다르면서도 괜찮은 아이디어가 스스로 떠오를 것 같은 간질간질한 기분이 든다.
E.O.D.