Scale-Aware Face Detection

facedetection
vision
machinelearning

#1

Scale-Aware Face Detection

오늘 소개시켜드릴 논문은 Scale-Aware Face Detection입니다.

Scale-Aware Face Detection

####Zekun Hao1, Yu Liu1, Hongwei Qin2, Junjie Yan2, Xiu Li2, Xiaolin Hu2 1SenseTime, 2Tsinghua University

{haozekun, yanjunjie}@outlook.com, [email protected], {[email protected], [email protected], [email protected]}tsinghua.edu.cn

Sense time에서 나온 논문인데… 아이디어는 간단합니다.

딥러닝 이전의 얼굴 검출이 어떻게 되었는지 간단히 설명드리면 sliding window 방식을 사용했습니다.

Sliding windows 방식

  • Viola–Jones 알고리즘이 가장 일반적인데, 20x20 정도의 윈도우가 적당한 스텝사이즈를 가지고 사진의 각 영역을 훑습니다.
  • 그리고 다시 윈도우의 사이즈를 키워 다시 전 영역을 훑습니다.
  • 이것을 효과적(좀 빨리) 처리하기 위해 integral image를 이용하여 harr feature의 계산을 빨리합니다.
  • 이것이 기존 얼굴인식 Viola-jones 알고리즘의 핵심이구요.

논문의 알고리즘 를 모르기 때문에 다양한 크기의 윈도우로 전체 영역을 확인하는 방식입니다.

  • 계산량해야 할 윈도우의 갯수가 상당히 많아지는 문제가 있고,
    • false positive가 많아지는 문제도 있습니다.
    • 물론 FP는 voting같은 방식으로 많이들 풉니다.
    • 이 논문의 어택포인트는 얼굴의 크기에 대한 문제입니다.

얼굴 인식은 대상의 크기를 안다면 위치를 찾아야만 한다.

얼굴 인식은 얼굴의 크기를 아는 문제와 얼굴의 위치를 찾는 문제로 나눌 수 있습니다.

  • 얼굴의 크기를 아는 경우 그 계산량을 많이 줄일 수 있다는 점에서 시작합니다.
    • 사진에 포함된 얼굴의 크기를 유추하는 네트웍과 그렇게 찾아진 얼굴의 크기에 맞게 리셈플링된 사진에서 정해진 크기의 얼굴을 찾는 네트웍을 사용합니다.
    • 이것은 Faster RCNN과 유사하다고 생각하실 수도 있습니다.
    • 한 소스에서 RPN 네트웍은 객체의 위치를 찾고 CNN은 객체가 무엇인지 인식하여 두 문제를 효율적으로 푼 것이 Faster RCNN입니다.

Scale Proposal Network으로 얼굴 크기를 추정

  • 이 논문은 SPN (scale proposal network)이라는 이름의 네트웍이 사진에 있는 얼굴 크기를 추정합니다.
  • CNN으로 만들어진 SPN이 이 사진에 얼굴 크기가 뭐뭐 정도가 있다라고 하면 그에 맞게 리사이징한 사진에서 각 사이즈에 맞는 얼굴 검출 알고리즘을 돌리는 겁니다.
  • 얼굴 크기를 정하고 그 크기에 맞는 네트웍만 돌리다 보니 실험 결과상 속도가 빠릅니다.
  • 단체사진이나 그런 것들을 예로 드시면서 그럴 땐 어떻게 할거냐라고 하실 분도 있으리라고 생각됩니다만.
  • 단체 사진에 나오는 얼굴 크기는 오히려 다 비슷비슷합니다.
  • 요즘 유행하는 스노우같은 어플리케이션에 들어가는 어플리케이션은 얼굴의 갯수가 적습니다.
  • 그런 경우 크기를 안다면 훨씬 효율화 시킬 수 있는것이지요.
  • sense time의 얼굴 검출 및 인식 성능, 속도가 상상이상인데 이런 소소한 아이디어들이 모여서 그 괴물같은 놈이 만들어 졌네요.