논문

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

Hierarchical multi-scale attention for semantic segmentation

Problem

  • Semantic segmentation 문제에서 inference 해상도에 따라 성능에 서로 trade-off가 있다. 이러한 문제를 해결하기 위하여 multi-scale inference 방법을 주로 사용한다.
  • 하지만 average-pooling을 사용할 경우 안 좋은 결과에 영향을 받는다는 단점이 있고, max-pooling을 사용할 경우, 여러 스케일을 조합하는 것이 최적일지 모르는 경우에도 하나만 선택된다는 단점이 있다.

Essence

  • 이런 문제를 해결하기 위해 attention mechanism을 적용하여 multi-scale prediction을 어떻게 통합할지를 결정하고자 하였다.
  • 기존의 Chen [1]의 연구도 비슷한 시도를 하였지만, 여기에서는 hierarchical attention mechanism을 사용하여 인접한 스케일 간의 상대적인 가중치를 학습할 수 있도록 하였다.
  • 이렇게 할 수 있는 이유는, 학습 과정에서 오직 1개의 추가 스케일만을 학습시키기 때문이다.
  • 다시 말하면 다른 방법들은 target inference scale이 0.5, 1.0, 2.0 세개라고 했을 때, 명시적으로 해당 스케일에 대해서 모두 학습을 시켜야하므로 0.5^2 + 2.0^2 의 추가 비용이 발생하지만, 이 방법은 0.5 스케일만을 학습시키기만 하면 되므로 0.5^2의 추가 비용만이 필요하다.
  • 나아가 다른 방법들이 학습 시 사용한 스케일에서만 적용할 수 있었던 반면, 이 방법은 다른 스케일에서도 적용할 수 있다는 장점이 있다.

Detail

  • Chen [1]의 방법과는 달리 논문에서는 인접한 스케일간의 attention mask를 학습하는 것이 가장 큰 차이점이다.
  • 학습 과정에서 이미지가 주어지면 한 단계 낮은 스케일(실험에서는 0.5x)에서 feature를 추가로 계산한 뒤, 이 둘간의 relative attention을 prediction 할 수 있도록 학습시킨다.
  • 단, 학습 시 사용되는 이미지 또한 원래 이미지를 여러 스케일로 augmentation한 이미지를 사용하여야 한다. 그래야 다양한 스케일 범위에 대해서 relative attention을 계산할 수 있게 된다.
  • 사용할 때에는 학습된 attention을 이용하여 N개 스케일에서의 나온 feature를 hierarchical 하게 순차적으로 통합한다.
  • 스케일은 낮은 스케일에 우선권을 주고, 그보다 높은 스케일들을 통합하도록 하였는데, 이유는 높은 스케일이 더 많은 global context를 가지고 있을 것이고, 그것을 refine하도록 의도하였기 떄문이다.
  • 통합하는 방법을 수식으로 표현하면 아래와 같다.

\mathcal{L}_{(r=1)} = \mathcal{U}(\mathcal{L}_{(r=0.5)} \ast \alpha_{(r=0.5)}) + ((1 - \mathcal{U}(\alpha_{(r=0.5)})) \ast \mathcal{L}_{(r=1)})

  • 여기서 \mathcal{U}는 bilinear upsample, \mathcal{L}은 prediction된 semantic logit, \alpha는 attention mask이다.


Add a Comment Trackback