ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Feature Pyramid Networks
    머신러닝, 딥러닝 공부 2021. 1. 5. 13:27
    반응형

    1. Introduction

    Object detection에서 다양한 스케일의 물체를 감지하는 것은 어려운 일이다. 특히 작은 물체의 경우가 그러한데 이는 아래 그림과 같이 이미지를 서로 다른 스케일로 적용하여 해결할 수 있다.

     

    단순하게 이미지를 다양한 크기로 resize 하고 각 이미지마다 feature를 추출하여 detection을 하는 것이다. 하지만 여러 스케일 이미지를 처리하는 데 시간이 많이 걸리고 메모리 요구량이 커서 이를 End-to-End로 학습하는 것은 어려운 일이다.

     

    다른 방법으로는 단일 이미지에서 convolution 연산을 통해 resolution이 낮은 feature를 추출하고, 이를 이용해 prediction을 수행하는 것이 있다. 이는 연산량 측면에서는 유리하지만 결과적으로 single scale 이미지에서 추출된 feature이기 때문에 scale robustness가 부족하다.

     

    또 다른 방법으로는 resolution을 줄여가면서 feature를 추출할 때 줄여나가는 과정에서 나왔던 다양한 scale의 feature를 모두 사용해서 prediction을 수행할 수도 있다. 이러한 방식의 문제는 이전에 추출된 high resolution의 feature는 나중에 추출된 low resolution의 feature에 영향을 줄 수 없다는 것이다. (large segmantic gaps caused by different depth) 따라서 이러한 문제를 해결하기 위해 Feature Pyramid Network (FPN)이 등장했다.

    2. Feature Pyramid Network

    FPN은 크게 Bottom-up pathway와 Top-down pathway로 구분된다.

     

    Bottom-up pathway는 단순히 convolution 연산을 수행하는 과정이다. 그림과 같이 각 레이어를 통과할 때마다. feature의 크기는 절반으로 감소한다. 위로 올라가는 forward 단계에서는 매 레이어마다 의미 정보를 응축하는 역할을 한다.

     

    Top-down Pathway는 Bottom-up pathway에서 생성된 feature map을 up-sampling 하여 더 높은 해상도의 이미지를 만든다. 이때 skip-connection을 통해 같은 사이즈의 bottom-up 레이어와 합쳐서 손실된 지역적 정보를 보충하게 된다. 이때 단순히 nearest neighbor upsampling을 하고 1x1 convolution으로 채널 수를 맞춘 다음 elementwise로 더해준다. 이렇게 해상도와 체널 수를 모두 맞춰준 두 피쳐맵을 elementwise 덧셈을 수행하여 합쳐주며 그 결과로 나온 feature map에 object detection 기법들을 적용하는 것이다.

     

    참고 : jonathan-hui.medium.com/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c



    반응형

    '머신러닝, 딥러닝 공부' 카테고리의 다른 글

    Visual Transformer 구조  (0) 2021.02.08
    Knowledge Distillation  (0) 2021.02.01
    Non-local Neural Networks  (0) 2020.07.04
    Understanding GRU Networks [번역]  (0) 2020.05.29
    Understanding LSTM Networks [번역]  (0) 2020.05.22

    댓글

Designed by black7375.