[논문 소개] Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks

in #kr7 years ago

오늘 소개드릴 논문은 "Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks" (https://arxiv.org/abs/1804.06039v1)이라는 논문으로 이번 CVPR 2018에 나올 논문입니다. 제목에서 아실 수 있듯이 목적을 얼굴 검출에 있고 세부적으로는 "Rotation-Invariant"라는 목적을 가지고 있는 논문입니다. 아래 그림과 같이 회전된 얼굴도 잘 찾아보자.. 그것도 빨리 잘 찾아보자!! 이게 논문의 목적입니다.

아시다 시피 Convolution operation 기반의 CNN 구조에서 객체의 회전은 인식률의 저하를 제공하는 여러 요인 중 하나였습니다. 그럼 이 방식을 그동안 어떻게 극복해 왔냐면 이 논문의 말대로 몇가지 큰 부류로 나뉠 수 있습니다.

첫번째는 다들 아실거 같은 Data Augmentation 방법입니다. 학습 과정에서 얼굴을 돌려서 학습 시키는.......... 무식하지만 어찌보면 어느 정도 보장된 방법이고 가장 손쉬운 방법입니다. 그러나 단점도 극명한 방법이죠. 그리고 두번째는 Divide-and-Conquer라고 명명되었는데, 그냥 각 다른 방향의 검출 모델을 가지고 찾아서 그 결과를 같이 보는 방법입니다. 이런 방식으로 생각나는 논문은 "Exploiting Cyclic Symmetry in Convolutional Neural Networks" (https://arxiv.org/abs/1602.02660)이 있을거 같은데요. 그런데 이 방법은 커버할 수 있는 각도가... 조금.. divide하려다 보니 좀 제한적입니다. 마지막 그룹으로 이 논문에서는 Estimate RIP angles with a router network and rotate face candidates to upright 이라고 하면서 다른 팀의 예를 들었는데, 간단히 각도를 예측하는 모델이 있고, 그 값을 기반으로 얼굴 영역을 돌리자는 겁니다. 물론 이 방법을 보면 생각나는 방법은 Spatial Transformer Networks (https://arxiv.org/abs/1506.02025)입니다. 알아서 좀 돌려보자였는데.. 예측하는 각도도 제한적이였습니다. 그리고 한번에 얼굴 각도를 잘 예측하지도 못 했고 시간도 많이 들었죠.

이제 다시 논문으로 돌아와서 이 논문의 제목을 다시 보면, Progressive Calibration Networks 이라고 되어 있습니다. 뭔가 여러개를 이어서 차근차근할거 같은 느낌적인 느낌인데, 이런 방법은 Inverse Compositional Spatial Transformer Networks(https://arxiv.org/pdf/1612.03897.pdf)에서는 STN을 막 연결해서 STN을 하나 썼을 때의 단점을 이어가려고 해서 그렇게 하려나 하고 읽었는데 아니였습니다. 이 논문은 그렇게 막연히 연결되어서 조금씩 조금씩 해결해라고 바라기 보다는 역할을 확실히 구분한 여러 단계를 이어서 성능과 속도를 잡아보겠다는 방법입니다. 아래 그림이 논문의 내용인데요.

Progressive란 단어를 붙인것과 같이 여러 Progressive Calibration Network (PCN) 단계를 이어 놓았지만, 각 과정에서 하는 역할이 딱 나뉩니다. 첫번째 PCN 단계에서는 일단 얼굴이 뒤집혀 있는지 아닌지를 봅니다. 두번째 단계에서는 좀더 세밀하게 45도 각도 단위로 어디 방향인지를, 마지막으로 세번째 단계에서 세밀하게 어느 정도 회전했는지 찾습니다. 그래서 3단계에서 예측된 값을 합하면 총 회전된 각도입니다.

각 PCN에서 물론 각도만 맞추진 않고, 바운딩 박스도 찾고 얼굴인지도 하긴 합니다. 뭐 그건 이 논문에서만 하는 짓이 아니니 논문 보시면 되고요.

일단 각 단계에서의 역할이 정해져 있어서 어설프게 casecade 방식으로 연결된 방식보다 효율적이고, 또한 각 과정이 한번에 많은 각도에서 예측하는 게 아니라 어려운 문제를 좀 더 쉽게 나누었다는 점이 눈에 띕니다. 뭐.. 수학적, 과학적으로 어떨지 모르겠지만 기업이나 제품을 위해 엔지니어링을 많이 해 본 분이 이끌지 않았나 하는 생각도...

암튼 체리피킹이 있겠지만, 성능은 좋습니다. 자신 있으니깐 소스 깠겠지.. -_-

그리고 속도.. 다시 기억하시겠만 이 논문의 첫단어는 real-time입니다.

cascade CNN에 STN을 단거보다 빠르네요. 음.. 음.. 비슷할거라 예상을 했지만.. -_-

최근 SenseTime등 중국의 얼굴 인식 관련 스타트업 (기업 가치로 볼 때 아직 스타트업이라고 불러야 하나 싶지만..)의 연구결과들을 볼 때면 얼굴 관련 연구는 중국이 그냥 탑이란 생각을 많이 하게 되었는데요.... 첨에는 그냥 얘들이 디비가 가장 많을 수 밖에 없잖아? 하고 있다가 요즘 보면 데이터가 많고 수요가 많으니 돈이 몰리고 돈이 몰리다 보니 이제는 다 잘 하네... 같은 생각입니다. 그냥 그림만 보면 이해가는 쉬운 논문 리뷰만.. -_-

Sort:  

Hey @jiwoopapa, great post! I enjoyed your content. Keep up the good work! It's always nice to see good content here on Steemit! Cheers :)