논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Attention to Scale: Scale-aware Semantic Image Segmentation

Problem

  • Semantic image segmentation 영역에서 최근 제안된 Fully Convolutional Networks (FCNs)는 좋은 결과를 보였다.
  • 이러한 구조를 사용한 모델들에서 키가 되는 부분 중 하나는 multi-scale feature를 사용한 것이다.
  • Multi-scale feature를 사용하는 구조에는 크게 2가지가 있는데, skip-nets과 share-net이다.

  • Skip-net은 FCNs의 중간 레이어로부터 feature를 받아 통합한 뒤, 이를 사용하는 것이다. 이런 방식을 사용하는 연구들 중에서는 backbone을 먼저 학습시킨 뒤, multi-scale feature에 대해 파인튜닝하는 방법을 사용하기도 하는데, 이 방법은 ideal하지 못하고 시간이 많이 걸린다.
  • Share-net은 입력 이미지를 여러 스케일로 리사이즈하여 동일한 가중치의 deep network에 입력한 뒤, 이들로부터 나온 multi-scale feature들을 fusion하여 결과를 얻는 것이다. 이 방법은 two-step 학습을 필요로하지 않는다. 보통 average- 혹은 max-pooling을 scale feature에 사용한다.
  • 최근 제안된 attention 모델들은 전체 정보들을 이용하여 정해진 representation을 내는 대신 필요에 따라 관런성이 높은 feature들에 집중하는 방식을 사용한다.
  • 이 논문은 이전의 attention들이 2D spatial 혹은 temporal dimension에 적용되었던 것을 scale dimension에 적용할 것이다.

Essence

  • 기존의 [11] 연구를 share-net을 사용하도록 average- 혹은 max-pooling을 generalize하여 attention 모델을 적용하였다.

  • Attention 모델은 객체의 크기에 따라 multi-scale feature에 어떤 weight를 적용할 것인지 학습한다.
  • 각각의 스케일에서 attention 모델은 픽셀 위치에 대한 weight map을 출력하고 이것과 FCN이 만들어낸 score map을 weight sum한 값을 최종 classification에 사용된다.

Detail

Review of DeepLab

  • DeepLab은 VGG-16을 기반으로 만들어진 신겸앙이다.
  • 마지막 fully-connected layer를 convolutional layer로 변경시키고 a trous algorithm을 이용하여 VGG-16이 가지고 있던 stride 32를 stride 8로 줄였다. 마지막으로 출력된 결과를 linear interpolation을 이용하여 본래 이미지 크기로 변환할 수 있었다.
  • 이 논문은 DeepLab의 한 variation으로 DeepLab-LargeFOV를 사용할 것인데, VGG-16의 fc6 레이어를 a trous algorithm을 적용하여 FOV를 크게 만든 것이다.

Attention model for scales

  • Share-net에서 입력 이미지는 여러 스케일 s \in { 1, \cdots, S }로 리사이즈되어 입력되고, score map f^s_{i, c}를 출력한다. 여기서 i는 위치, c \in { 1, \cdots, C }는 클래스를 의미한다.
  • 각 score map은 최종 스케일로 bilinear interpolation으로 리사이즈 된다.
  • 이제 score map의 weighted sum g_{i, c}를 아래와 같이 정의하자.

g_{i, c} = \sum_{s=1}^S w_i^s \cdot f_{i, c}^s

w_i^s = \frac{\exp(h_i^s)}{\sum^S_{t=1} \exp(h_i^t)}

  • 여기서 h_i^s는 attention model에서 출력된 score map을 의미한다. 이 weight는 class간 구분이 없이 모든 채널에 대해 적용되는 점에 유의하자.
  • Attention 모델은 fc7 feature를 입력으로 받아 3x3, 512와 1x1, S의 두개 필터를 거치도록 하였다.
  • 각 weight는 각 위치에 대해서 어느 scale이 더 중요한지를 나타내며 이를 visualize도 할 수 있게 된다.
  • 또한 gradient가 backpropagate되기 때문에 end-to-end로 학습이 가능하다.

Extra supervision

  • 기본적인 loss는 통합된 score map에 softmax를 이용하여 SGD로 학습시키는 것이다.
  • 여기에 supervision을 더 추가하여 스케일별로 출력된 최종 결과에 cross entropy loss를 적용하여 총 1 + S개의 cross entropy를 사용하도록 하였다.
  • GT는 출력 크기에 맞게 다운샘플링하여 사용하였다.

Add a Comment Trackback