⛩️

Global Distance-distributions Separation for Unsupervised Person Re-identification

Tags
Re-identification
Created
2021/01/31 08:16
Publication
ECCV'20
Rate
3
Summary
(상세 페이지 참고)
페이퍼에서는 unsupervised person re-ID 태스크에서, negative pair distance의 distribution과 positive pair distance의 distribution이 충분히 separable하지 않은 것이 문제라고 지적한다. 즉 positive pair들의 distance의 경우에는 충분히 작은 평균값을 중심으로 좁은 distribution을 형성하고, negative pair들의 distance의 경우에는 충분히 큰 평균값을 중심으로 좁은 distribution을 형성하는 것이 바람직한 그림이지만, unsupervision을 통해 추론된 경우에는 그렇지 못함을 드러내며 이러한 문제로 인해 retrieval이 제대로 이루어질 수 없다고 주장한다.
이에 드러난 분포가 Gaussian distribution과 유사한 모양임에 착안하여, 논문에서는 데이터셋으로부터 근사된 positive/negative distance의 Gaussian distribution을 구하고, 이들을 서로 seperable하면서 동시에 날카로운 형태로 constrain하는 loss(Global Distance-distributions Separation)를 제안한다.
먼저 Gaussian distribution을 근사하는 방법을 살펴보자. 특히 페이퍼에서는 triplet-base loss가 triplet pair만의 distribution을 최적화하기 때문에 global distribution을 최적화하지 못하는 문제가 있다고 지적한다. 예컨대 triplet pair 안에서는 negative pair과 positive pair가 충분히 separable 하지만, 현실적으로 모든 triplet pair를 최적화할 수 없기 때문에 전체적으로 보면 부조화가 생길 수 있다는 것이다. 논문을 직접 살펴보면 이러한 문제에 대한 가능성을 시각화하여 보여 준다. (물론 약간은 부당한 지적이라는 생각이 드는 게, 충분히 많은 batch를 학습하다 보면 이러한 문제는 자연스럽게 사라질 것이라고 생각한다.)
어쨌거나 이러한 문제를 해결하기 위해 논문에서는 Gaussian distribution의 parameter μ\mu, σ\sigma를 momentum update를 통해 batch마다 업데이트한다. Global positive distance distribution을 예로 들자면, batch 내에서의 positive pair들의 feature distance들의 평균을 μl+\mu^+_l, 표준편차를 σl+\sigma^+_l라 한다면, global positive pair distance의 평균 μg+\mu^+_g과 표준편차 σg+\sigma^+_g는 다음과 같이 갱신된다.
μg+=βμg++(1β)μl+σg+2=βσg+2+(1β)σl+2\mu^+_g = \beta \mu^+_g + (1 - \beta) \mu^+_l \\{}\\ \sigma^{+2}_g = \beta \sigma^{+2}_g + (1 - \beta) \sigma^{+2}_l
이렇게 batch 마다 업데이트된 parameter들을 장기적으로 봤을 때 global parameter의 approximation이 될 수 있다고 주장하는 것이다.
이를 통해 GDS loss LGDSL_{GDS}를 다음과 같이 계산한다. (Softplus(x)=ln(1+exp(x))\text{Softplus}(x) = \ln{(1 + \exp{(x)})})
LGDS=Softplus(μg+μg)+λσ(σg+2+σg2)L_{GDS} = \text{Softplus} (\mu^+_g - \mu^-g) + \lambda{\sigma} (\sigma^{+2}_g + \sigma^{-2}_g)
이와 같은 loss는 μ+μ\mu^+ - \mu^-가 최대한 작아지게 유도함과 동시에 두 σ\sigma가 모두 작아지도록 유도한다. 즉 positive distance의 평균은 작아지는 동시에 negative distance의 평균은 커지도록 유도하면서, 두 distribution의 표준편차가 모두 작아지도록 유도한다. 왜 아무도 안 쓰는 softplus 함수를 사용했을까? 그냥 부드러운 ReLU이다.
또한 보다 효과적인 학습을 위해 batch hard mining loss 또한 다음과 같이 제시한다.
LH=Softplus((μg++κσg+)(μgκσg))L_H = \text{Softplus}((\mu^+_g + \kappa \sigma^+_g) - (\mu^-_g - \kappa \sigma^-_g))
이러한 loss는 positive loss의 오른쪽 끝단과 negative loss의 왼쪽 끝단이 서로 멀어지도록 유도하는 효과를 준다.
최종적인 loss는 다음과 같이 구한다.
LGDSH=LGDS+λhLHL_{GDS-H} = L_{GDS} + \lambda_h L_H
Batch에서 positive pair들의 distance와 negative pair들의 distance만 구하면 계산할 수 있는 loss이기 때문에 어떤 프레임워크에든 간단하게 삽입할 수 있고, inference 속도에 영향을 주지 않고 성능을 올릴 수 있는 효율적인 방법이라고 주장한다. 일반적인 unsupervision 프레임워크(ResNet-50 backbone에 clustering-based pseudo labeling을 이용하여 hard triplet loss를 통해 학습)를 baseline 삼아 성능을 비교한 표를 제시하는데, 성능 향상이 인상적이다. (사실 direct transfer과 baseline의 성능 비교가 훨씬 인상적이긴 하다.)
또한 Histogram loss, F-Statistic loss, Global loss 등의 다른 loss들과의 결과를 비교한 표와 함께 다른 SOTA 모델들과의 성능을 비교하는 표도 제시하는데, 당연하게도 그 중에서 가장 뛰어난 성능을 보여준다.
현재 unsupervised re-ID 모델의 문제를 꽤나 직관적으로 제시하고, 이를 심플한 방법으로 풀어내는 게 재밌는 간단한 논문이었다. 한편 왠지 unsupervision task는 점점 hand-crafting(?) 쪽으로 진화하는 것 같은 느낌이 들기도 한다.
E.O.D.