논문

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

Beyond Trade-off: Accelerate FCN-based Face Detector with Higher Accuracy

Problem

  • 얼굴 검출은 객체 검출 문제의 특별한 경우이다.

  • 객체 검출에서 좋은 성능을 나타내는 two-stage 방식은 특징의 추출과 여러 스케일의 검출을 처리하는데 많은 계산시간을 필요로 한다.

  • 정확도와 속도의 적절한 균형을 찾으려는 one-stage 방식 또한 넓은 범위의 스케일을 처리하는데 있어 불안한 모습을 보인다.

    • 이미지 피라미드 방식의 경우 비교적 좋은 성능을 내지만, 모든 얼굴 크기를 포함할 수 있도록 하는 좋은 레이어를 선택하는 문제와 각기 다른 스케일 레이어에서 발생할 수 있는 오검출 문제가 있다.

Essence

  • 얼굴 검출 공간을 scale과 spaitial의 2가지 축으로 분리하여 이미지 내에 존재하는 얼굴의 대강의 위치와 크기를 알 수 있다면 그에 해당하는 부분만 처리하고 대부분의 다른 부분은 무시할 수 있을 것이다.
  • 이를 위한 Scale estimation and spatial attension proposal ()를 제안하여 이미지 피라미드 내에서 얼굴이 있는 유효한 스케일과 위치를 찾아내도록 하였다.
  • 그 결과에 maksed-convolution을 적용하여 얼굴 검출용 FCN (Fully convolutional network)이 전체 스케일을 모두 탐색하지 않고 필요한 영역만을 탐색하도록 하여 더 효율적으로 계산된도록 하였다.

Detail

  • 전체 시스템 구조는 와 maksed-convolution을 적용한 Mask-FCN으로 나뉜다.

  • 먼저 사람이 레이블링한 얼굴의 박스는 일관성이 없어 학습에 악영향을 끼치므로 이를 새롭게 정의하였다.

    • 5개의 랜드마크를 라 하면, normalize된 랜드마크 위치를 , 로 정의하였다. 여기서 는 사람이 레이블링한 박스의 크기이고, 은 좌측 상단 점의 좌표이다.
    • 전체 DB의 랜드마크 평균 점을 라 정의하면, 이미지의 랜드마크를 표준 랜드마크로 변환하는 similarity transfom을 정의할 수 있다.
    • 이 변환을 이용하여 박스를 계산하였다.

  • 는 ResNet18을 이용하였고, 출력으로 개 채널을 가지는 feature map 를 가진다.
  • 각 채널은 는 특정한 범위의 스케일을 담당하고, 크기 의 얼굴이 담당하는 채널은 다음의 식으로 계산된다.

  • 여기서 는 이미지가 가지는 긴 변의 길이이고, 는 미리 정해둔 긴 변의 기준 길이로 1024의 값을 사용하였다.
  • 얼굴이 크기는 로 정의하였다.
  • 이미지를 1024로 리사이즈해서 사용한다면 얼굴은 에서 의 크기가 균일하게 60개의 bin으로 할당된다.
  • 는 스케일의 대한 정보 뿐만 아니라 위치에 대한 정보도 가지고 있다.
  • 한 얼굴의 해당하는 feature map의 값은 다음과 같이 정의하고, 이를 attention center라고 부르기로 하였다.

  • 의 stride를 의미하고, 이에 해당하지 않는 다른 부분은 모두 0으로 할당하였다.
  • 이 방법은 노이즈에 민감하고 스케일 간 사이 값에 대해 모호함을 가지므로 soft한 방법으로 변현하여 사용하였다.

  • 이렇게 정의된 feature를 target으로 하여 feature map을 pixel-wise classification 문제로 cross entropy loss를 적용하였다.

  • 은 feature map의 각 위치의 수이고, 는 prediction된 값에 sigmoid function으로 normalize 한 값, 은 GT 값이다.

Scale-Spatial Compuation Unit

  • 스케일 정보를 나타내기 위해 벡터를 정의하였다.

  • 그리고 에 1D-NMS를 적용하여 좀 더 정확한 정보를 얻도록 하였고, NMS의 범위는 를 이용하였다.
  • 각 스케일에 대하여 위치 정보 또한 비슷한 방법으로 다음과 같이 계산하였다.

Location Guided Mask-FCN

  • 최종적으로 얼굴 검출을 위해서 RPN을 얼굴 검출을 위한 FCN-based 네트워크를 이용하였다.
  • 이 네트워크는 single-scale RPN으로 크기의 하나의 앵커를 가지며 이 앵커는 64에서 128크기의 앵커를 검출 할 수 있도록 하였다. 이는 기준 앵커에 대해 IOU가 0.5 이상의 얼굴들은 검출할 수 있는 능력을 가지게 된다.
  • 앞에서 생성한 를 참고하여 얼굴의 영역을 생성하고 이 부분에만 FCN-based 네트워크를 수행하여 속도를 향상시켰다.
  • FCN-based에 입력으로 사용되는 이미지는 검출하고자 하는 스케일 에 맞추어서 이미지를 로 리사이즈 한 뒤 입력으로 사용하였고, 는 feature map의 GT를 만들 때 b를 사용한 식에서 역산할 수 있다.
  • Feature map에서 생성된 얼굴 영역 을 FCN-based 네트워크의 입력 영역과 일치시키기 위해 얼굴 영역에 를 곱하고, 변의 길이를 에서 로 수정해주었다. 여기서 은 FCN-based 네트워크의 stride이다.
  • 이렇게 만든 영역을 1로 making 한 뒤, 여기에만 FCN-based 네트워크를 적용하여 얼굴을 검출하도록 하였다.

Add a Comment Trackback