논문리뷰

[논문리뷰] Fixing the train-test resolution discrepancy

minyoung lee 2024. 4. 14. 01:29

Fixing the train-test resolution discrepancy

 

이 논문은 Facebook AI Research에서 나온 논문으로, NeurIPS 2019에 채택된 논문이다.

 

Motivation

 

본 논문은 train과 test 시에 발생하는 Resolution discrepancy가 성능 저하의 원이 될 수 있다고 하며, 이를 해결하기 위한 방법을 제시한다.

 

일반적으로 가장 좋은 성능을 얻기 위해서는 Training과 testing data의 distribution이 매치되어야한다.

기존의 standard pre-processing의 경우, Region of Classification (RoC)를 추출한다. 이는 random하게 직사각형으로 뽑아내게 된다.

이후에 이를 fixed size로 resize해서 CNN 학습에 이용한다.

Test시에는 RoC대신 Center Crop을 사용한다. 이는 기존의 bias를 이용한 것으로, 일반적으로 사진작가들이 사진을 찍을 떄 물체가 가운데 오도록 찍는 경우가 많기 때문에 이를 이용한다고 한다.

 

이 과정을 거치면, train과 test할 때 보는 차이가 생기게 된다. 

위 사진에서도 볼 수 있듯이, train의 경우에는 말이 크게 보이는 반면, test시에는 말이 작게 보이기 때문이다.

 

따라서 이를 해결할 수 있도록 resolution과 scale을 선택하는 방법을 제시한다.

 

 

Region selection and scale statistics

 

기존에는 rectangular region을 선택하고, square crop size로 resize시켰다.

 

Resizing operation을 통해서 apparent size로 바꾸었다. 이는 CNN이 scale change에 대한 예측이 불가능하기 때문이다.

 

r이 apparent size, f는 focal length, R은 object의 height와 width, Z는 camera사이의 거리이다.

 

이때 위 식이 성립하게 된다.

 

scale and apparent object size

 

우선 train-time 때 이다.

 

시그마는 scale parameter이다.

 

알파는 aspect ratio이다.

 

이때 RoC의 HW값은 위와 같게 된다.

 

scale의 식은 위와 같고, 오른쪽 식으로 한번 더 정리를 통해서 scale parameter인 시그마에 대한 식으로 남게된다.

 

train때의 apparent size는 위와 같은 식으로 정해지게 된다.

 

 

다음은 test-time 때이다.

 

scale인 s는 위 식으로 결정된다.

test 때의 apparent size는 scale를 곱해서 결정한다.

 

Lack of calibarion

 

 

apparent size 두개를 비교해보면 둘의 ratio는 0.8정도여야 하는 것을 알 수 있다.

 

이렇게 calibration이 불가능하다는 문제점이 있었다.

 

두번째는 다른 crop size를 선택하는 것은 network activations의 분포에 영향을 준다는 문제점이 있다.

 

 

Larget test crops result in better accuracy

 

crop size를 증가켰을 때, train-test object size가 mismatch되는 것을 줄이는 것을 알 수 있다.

특히나 test crop size가 288일때 accuracy가 가장 좋게 나타나는 것을 알 수 있다.

 

Method

 

1) show that the difference in apparent object sizes at training and test time

 

이 차이를 test time때의 crop size를 증가시켜서 없앤다.

 

crop size를 adjust하는 것을 통해서 object size를 calibrate한다.

 

만약 test image size가 고정된 채로, test crop size를 증가시키게 되면, 더 작게 보기 때문에 crop size와 image사이즈의 ratio를 유지해야한다.

그러나, 이는 test의 crop size가 train의 crop size보다 커지게 되기 때문에 activation statistics를 skew하게 된다.

 

 

2) 위의 문제를 해결하기 위해서 global average pooling layer전에 network를 adjust시킨다.

 

2-1) parameteric adapataion

scalar transformation을 통해서 새로운 distribution을 old one으로 다시 되돌린다. 

그러나 이는 accuracy 향상에 제한이 있다는 단점이 있다.

 

2-2) 따라서 fine-tuning을 통해서 adaptation 하는 방식을 제안한다.

last layers에서 fine-tuning한다.

 

Fine-tuning한 결과, no fine-tuning의 결과보다 reference에 더 가까운 actication을 보인 다는 것을 알 수 있다.

 

Experiments

 

  • Benchmark data
    • ImageNet-2012, top-1 accuracy
  • Architectures
    • ResNet-50
    • PNASNet-5-Large
    • ResNeXt-101
  • Training protocol
    • ResNet-50 with SGD
  • Fine-tuning data-augmentation
    1) resizing the image and then take the center crop
    2) resizing the image, random horizontal shift of the centor crop, horizontal flip and color jittering
    3) train-time data-augmentation

 

ResNet-50에서의 성능 향상을 볼 수 있었다.

 

 

 

SoTA 성능과 비교해봤을 때, Our를 적용한 모델이 더 성능이 좋은 것을 알 수 있다.

 

Transfer learning task

 

 

  • 1) initialize our network with the weights learned on ImageNet
  • 2) train it entirely for several epochs at a certain resolution
  • 3) fine-tune with a higher resolution the last batch norma and the fully connected layer

위 순서로 transfer learning task를 진행하게 된다.

 

그 결과 transfer learning에서도 Our Method가 적용되었을 때 좋은 성능ㅇ르 보인것을 알 수 있었다.

 

Conclusion

 

crop resolution의 adjust를 통해서 기존의 standard classifier에 대한 성능을 매우 올렸다.