본문 바로가기
computer vision/etc

DFT-based Transformation Invariant Pooling Layer for Visual Classification(ECCV 2018)

by 하용권 2022. 6. 18.

 

이 논문은 조금 오래된 논문입니다. 푸리에 변환을 이용한 논문에 요즘 관심이 있어서 읽었습니다.

1. Introduction

 기존 모델은 conv 후에, fuly-connected layer(fc layer)를 이용합니다. 이는 shape / spatial 정보를 유지하고 있습니다. 하지만 이는 object의 위치나 크기에 영향을 받습니다. 이를 해결하기 위해, 당시에는 average pooling 을 이용합니다. resnet을 보면 알 수 있죠. 하지만 이는 channel 별로 평균을 내주기 때문에, spatial 한 정보를 잃어버립니다.

 

 average pooling은 translation에 강합니다. 그 이유는 h x w의 평균을 이용하기 때문입니다. 하지만 다른 패턴은 구별하지 못합니다. 이 문제점을 해결하기 위해 Discrete Fourier Transform(DFT)을 이용합니다. DFT magnitude pooling은 translation에 강하면서도 shape에 관한 정보를 유지합니다.

 

2. Method

 

phase가 shift되어 있더라도, magnitude는 같다는 것을 증명합니다.

 

이미지를 푸리에 변환하면, 공간을 주파수 영역으로 바꿉니다. 이미지에서 주파수가 높다는 것은 픽셀 값이 급격하게 변하는 부분을 의미하고, 낮은 곳은 서서히 변하는 부분을 의미합니다. 

 

그렇기 때문에, 오브젝트의 위치가 변경되더라도, 픽셀 분포는 변하지 않기 때문에 magnitude는 변하지 않습니다.

 

 

translation에 영향을 받지 않으면서 spatial 정보는 어느 정도 포함하고 있는 dft를 이용하게 됩니다. 여기서 좀 흥미로운 점은 높은 주파수 부분을 잘라내고, N 만큼의 크기로 pooling 합니다. 그 이유가 파라미터는 줄이면서 spatial 정보는 유지할 수 있다고 합니다.

 

여기서 의문점이 들었는데, 반대로 높은 주파수만 골라내면 어떻게 될 지 궁금하네요. 제 개인적인 생각으론, 푸리에 변환에서 높은 주파수로 복원하면, 픽셀이 급격하게 변하는 부분인 edge 정보 위주로 나옵니다.  하지만 낮은 주파수로 복원한 이미지를 보면, edge가 좀 흐릿해지긴 하지만 texture도 포함하고 있어서 그런 것 같습니다. 근데 어떤 논문에선 서로 다른 이미지의 low frequency 부분을 섞어서 다양한 도메인의 데이터를 만든다고 하는데, 헷갈리네요.

 

-> 물어보니, low frequency에 shape에 관련된 정보도 좀 있어서 이용한다고 합니다.

 

 

 

Late Fusion in DFT +

 

cnn 구조를 보면, 맨 마지막 layer의 output을 fc layer에 넣습니다. 하지만 중간에 있는 layer들도 visual 정보를 담고 있기 때문에, 이 논문에서는 중간 layer의 output도 같이 이용하는 방법을 제안합니다.

 

 

 

 

 

 

3. Experiment

 

N 은 pooling size입니다. 이처럼 pooling size가 작더라도 성능이 올라갑니다.

반응형