논문

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

EXTD: Extremely Tiny Face Detector via Iterative Filter Reuse

Problem

  • 그동안 얼굴 검출기에서 좋은 성능을 보였던 알고리즘에는 두가지 문제가 있다.

    • 한가지는 모델이 많은 수의 파라미터를 가짐에 따라 연산량이 100GFLOSP를 넘어 CPU나 모바일 환경에서는 사용할 수 없는 수준이다.
    • 두번째는 구조적인 관점에서 보았을 때 객체의 semantic을 감지하기에는 너무 적은 저수준 feature map의 capaticy를 가진다는 점이다.

Essence

  • 이 논문에서는 위의 두가지 문제를 해결하기 위한 극도로 작은 크기를 가지는 모델을 multi-scale 얼굴 검출기를 제안한다.

  • 이 모델은 각 feature map을 생성할 때 동일한 네트워크를 공유하여 사용한다.

    • 백본에서 추출된 feature map의 크기를 반을 줄인 뒤 다시 같은 백본에 입력하여 또다른 feature map을 얻도록 하였따.
    • 이로 인해 파라미터의 수를 줄일 수 있었고, 저수준 feature map을 생성하는데 더 많은 레이어를 사용할 수 있도록 하였다.
    • 또한 별도의 추가적인 구조 없이 여러 크기의 얼굴을 검출 할 수 있는 feature map을 생성할 수 있게 되었다.

Detail

  • 논문의 방법은 SSD-like한 방법과 FPN-like한 방법을 모두 사용할 수 있다.
  • 을 첫번째 Conv, stride2라고 하고, 을 백본 네트워크라고 하면, 반복적으로 feature를 추출하는 과정을 다음과 같이 나타낼 수 있다.

  • 여기서 을 feature map의 집합이고 는 이미지이다.

  • FPN버전에서는 그림에서와 같이 현재 feature map을 업샙플링하여 이전 수준의 feature map에 skip connection을 하여 이용하였다.

    • 업샘플링 은 binlinear 업샘플링을 한 뒤, separable convolution, point-wise convolution을 적용하였다. 이렇게 생성된 feature map을 이라고 하였다.

  • SSD버전에서는 feature map 에 직접 regression과 classficiation 헤드를 붙여 이용하였다.

    • 두 헤드는 3x3 convolution network를 이용하였다.
  • 모든 백본은 fully convolutional 네트워크로 구성하였기 때문에 이미지 입력 크기가 변하더라도 사용할 수 있다.

  • 이렇게 구성된 백본은 저수준의 feature map이 좀 더 풍부한 semantic 정보를 가지게 되는데, 이는 여러 크기의 얼굴들을 여러 수준의 feature map을 통해 반복적으로 네트워크에 보여주기 때문이다.

  • 네트워크는 inverted residual 구조를 사용하였으며, MobileNet-V2와는 다르게 PReLU혹은 leaky-ReLU를 적용하였다.
  • 학습 시에는 일반적인 RPN이나 S2FD의 구조를 따라서 했고, 얼굴와 배경의 imbalance 문제를 해결하기 위해서 online hard negative mining 방법을 사용하여 positive와 nagative의 비율을 3으로 하여 학습하였다.

Add a Comment Trackback