Table of content (short-version) [paper] [github]


Summary

  • Patch-based + feature-learning + unsupervised 방식
    • Part-based랑 다른 점은 영상을 patch개념으로 비교
    • PatchNet: patch 추출한 뒤에 unsupervised 방식으로 밀고 당기는 네트워크


[Patch-based 컨셉]

picture

  • 전체 프레임워크
    • backbone에서 feature를 뽑은 다음에 sampler를 통해 patch generation.
    • 패치마다 feature가 추출
    • Patch에 적용되는 PEDAL loss와 patch feature를 합친 image feature에 적용되는 IPFL loss 존재
    • PEDAL loss: 패치 단위로 비슷한 patch는 당기고 다른 patch는 미는 방식
    • IPFL loss: 영상 단위로 real sample과 surrogate positive sample은 당기고 hard negative sample은 미는 방식


[전체 프레임워크]

picture

  • Patch generation network
    • Spatial transformation network를 이용해서 feature-level에서 sampling
    • Horizontal initialization한 뒤에 나중에 적응형
  • Patch-based discriminative feature learning
    • 아래 그림에서 처럼 image-level로 하면 한계점이 존재
    • 목표: patch 자체가 얼마나 discriminative 한지 판단하고 patch 마다 다른 특성이 들어가야 해서 다른 후처리를 적용
    • Loss: 패치 단위로 비슷한 patch는 당기고 다른 patch는 미는 방식
      • Patch feature memory L2 loss 이용해서 m번째 patch 들끼리 비교
      • 줄을 세운 다음에 L2 distance가 가장 작은 K를 뽑음
      • Feature랑 dimension 같은 memory bank w를 이용 (memory bank는 영상/patch 마다 있는 것)
      • Memory bank 사용하는 이유: Mini-batch마다 PEDAL loss를 주는게 아니고, 안정성있게 training set 전체를 보는 memory를 사용하기 위해서


[Patch-based discriminative learning]

picture

  • Image-level patch feature learning
    • Image-level 가이드를 주는 loss이며 cyclic ranking은 triplet loss랑 비슷한데, P랑 N 어떻게 뽑는지가 핵심
    • P는 원본 이미지를 transform해서, N은 re-ranking이랑 비슷하게


[Cyclic ranking]

picture

  • Implementation
    • 영상당 패치를 4/6/8개 사용
    • Batch는 40개의 real sample 40개의 positive sample
    • Labeled MSMT17에서 PatchNet pretrained

References

[1] Yang, Qize, et al. “Patch-Based Discriminative Feature Learning for Unsupervised Person Re-Identification.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.