🗡️

Style Normalization and Restitution for Generalizable Person Re-identification

Tags
Re-identification
Model Architecture
Created
2021/01/31 08:06
Publication
CVPR'20
Rate
3
Summary
(상세 페이지 참고)
이번 페이퍼에서는 Re-ID 모델의 generalizability를 강화해 주는 모듈을 제안한다. 보통 person re-identification의 domain gap을 메꾸려는 시도는 pseudo-labeling 등의 방식으로 unlabeled target domain의 데이터셋을 이용하는 등의 unsupervision 위주로 이루어졌는데, 이 페이퍼는 다른 데이터셋에 direct transfer해도 괜찮은 성능을 내는 것을 목표로 하는 신선한 방법을 제안한다. 더욱이 module 형식으로, 어떤 CNN 모델에도 적용할 수 있다.
역시나 cross-domain re-ID의 가장 큰 문제는 데이터셋 간의 style-variation이다. 논문에서는 이를 해결하기 위해 이미지의 style을 normalization하는 방식의 접근인 IN(Instance Normalization)에 주목한다. IN은 말 그대로 instance(i.e. 이미지)의 style-variation을 제거하는 역할을 한다. 하지만 문제는 이러한 normalization 과정에서 identity-discriminative한 정보가 제거될 수 있다는 것인데, 페이퍼에서는 IN의 이러한 문제를 보완하기 위해 normalization으로부터 제거된 정보(residual information)를 identity-discriminative한 정보와 그렇지 않은 정보로 구별하도록 하는 프레임워크(SNR - Style Normalization and Restitution)를 제안한다.

Style Normalization Phase

Style normalization은, feature map을 입력받아 normalize된 (동일한 dimension의)feature map을 출력함으로써 작동한다. 수식으로 다음과 같이 쓸 수 있다.
F~=IN(F)=γ(Fμ(F)σ(F))+β\tilde{F} = IN(F) = \gamma (\frac{ F - \mu{(F)} }{ \sigma{(F)} }) + \beta
여기서 μ()\mu{()}σ()\sigma{()} 는 하나의 이미지(instance) 내에서, 각각의 channel 마다 spatial dimension의 평균과 표준편차를 각각 구한 것이며, γ\gammaβ\beta 는 back propagation으로 학습되는 parameter이다. 이러한 IN은 말 그대로 이미지의 style을 normalize하는 효과를 갖는다고 한다.

Style Restitution Phase

먼저 normalization으로 제거된 정보인 residual feature $R$ 을 다음과 같이 정의한다.
R=FF~R = F - \tilde{F}
SNR에서는 channel attention vector인 a=[a1,a2,...,ac]a=[a_1, a_2, ..., a_c] 를 이용하여 다음과 같이 residual feature를 discriminative information을 포함한 R+R^+ 과 그렇지 않은 RR^- 로 구분한다.
R+(:,:,k)=akR(:,:,k)R(:,:,k)=(1ak)R(:,:,k)R^+{(:, :, k)} = a_k R(:, :, k) \\ R^-{(:, :, k)} = (1 - a_k) R(:, :, k)
이 때 channel attention vector는 다음과 같은 통상적인 channel attention layer를 거쳐 계산된다.
a=Sigmoid(W2ReLU(W1Poolavg(R)))a = \text{Sigmoid}{( W_2 \text{ReLU}{( W_1 \text{Pool}_{avg}{(R)} )} )}

Dual Causality Loss Constraint

위와 같은 restitution 단계에서, R+R^+RR^- 의 구별을 원활하게 하기 위해 다음과 같은 constraint loss를 제안한다. 직관적으로 설명하자면, R+R^+ 가 discriminability를 강화하고, RR^- 가 discriminability를 약화하는 방향으로 SNR module을 학습시키는 것이다. 우선 enhanced feature과 contaminated feature를 다음과 같이 정의한다.
F~+=F~+R+F~=F~+R\tilde{F}^+ = \tilde{F} + R^+ \\ \tilde{F}^- = \tilde{F} + R^-
그러면 우선 enhanced feature의 경우 그냥 normalize된 feature에 비해 discriminability가 강할 것을 기대할 수 있다. 이를 다음과 같은 제약으로 표현한다. 즉 feature enhancing이 positive pair의 경우에는 거리를 더 가깝게 만들고, negative pair의 경우에는 거리를 더 크게 만들 것이다. (f~=Poolavg(F~)\tilde{f} = \text{Pool}_{avg}(\tilde{F}))
LSNR+=Softplus(d(f~a+,f~p+)d(f~a,f~p))+Softplus(d(f~a,f~n)d(f~a+,f~n+))L_{SNR}^+ = \text{Softplus}{( d(\tilde{f}_a^+, \tilde{f}_p^+) - d(\tilde{f}_a, \tilde{f}_p) )} + \text{Softplus}{( d(\tilde{f}_a, \tilde{f}_n) - d(\tilde{f}_a^+, \tilde{f}_n^+) )}
반대로 contaminated feature의 경우 discriminability가 더 약할 것을 기대할 수 있다. 즉 positive pair의 경우에는 거리를 더 멀게 만들고, negative pair의 경우에는 거리를 더 가깝게 만드는 것이다.
LSNR=Softplus(d(f~a,f~p)d(f~a,f~p))+Softplus(d(f~a,f~n)d(f~a,f~n))L_{SNR}^- = \text{Softplus}{( d(\tilde{f}_a, \tilde{f}_p) - d(\tilde{f}_a^-, \tilde{f}_p^-) )} + \text{Softplus}{( d(\tilde{f}_a^-, \tilde{f}_n^-) - d(\tilde{f}_a, \tilde{f}_n) )}
이제 최종적인 loss를 다음과 같이 구성하여 모델을 학습한다. LReIDL_{ReID} 는 re-ID 모델에서 통상적으로 사용하는 loss의 조합(e.g. Softmax + Hard Triplet loss)을 의미하며, bb 는 삽입된 모듈의 개수이다.
이외의 실험 결과는 자세히 보지는 않았다. 나중에 기회가 된다면 조금 더 자세히 보고 추가하도록 할 예정이다. 인상적인 부분은, SNR 프레임워크에 기존의 SOTA UDA 알고리즘 중 하나인 MAR을 적용하여 성능을 크게 개선했다는 점이다.
E.O.D.