위의 깃허브 코드가 이해하는 데 많이 도움이 됐습니다. colab 소스도 참고할 만 합니다.
논문 설명 전 이 논문에서 사용되는 몇가지 용어를 정리하겠습니다.
local feature : CNN에서 softmax 전, 가장 끝단의 feature, 보통 FC layer의 output일 걸로 추정됩니다.
super feature : 이 논문에서 제시하는 것으로, 모델의 가장 끝단에서 feature를 가져오는 local feature에 비해, 모델의 중간 수준에서 feature를 가져와서 image retrieval(이미지 검색)을 하는 용도로 사용합니다.
이 논문에서는 다음과 같은 점을 지적하고 있습니다.
1. image retrieval에서 사용하는 기존의 feature(local feature)는 신경망에서 local map activation의 결과값, 즉 레이어 끝단의 값으로 사용되는 것이라서 중복이 많은 문제가 발생한다.
2. 학습/테스트 간의 불일치 문제 : 학습 시 local feature의 집계(aggregation)에만 작용하는 global loss를 사용하는데, 테스트는 local feature의 일치를 기반으로 해서 기준점이 달라지는 불일치 문제가 발생한다. 기존 방식(local feature - global loss)에서는 부분적으로 일치하는 feature에 더 집중하기 때문에 그렇다고 합니다.
이러한 문제를 해결하기 위해, 주변 정보도 활용할 수 있는 attention 모듈을 image retrieval 작업에 맞게 조정해서 사용하고, 그 모델 이름을 Local feature Integration Transformer(LIT)로 칭하고 있습니다.
위의 그림을 보면, attention 모듈(LIT)에서 생성된 5개의 super feature를 확인할 수 있습니다.
1, 2행은 같은 랜드마크의 다른 시점 이미지이고, 3행은 성당 같은데 다른 장소 이미지입니다.
위의 3개의 이미지에 대해 동일한 이미지라고 생각되는 5가지 특징이, 오른쪽 5개의 super feature 이미지로 나왔다고 볼 수 있습니다.
특정 영역에만 집중된 local feature와는 다르게 다양한 영역에서 곡선, 삼각형 등 여러 특징들을 뽑아내고 있습니다.