논문

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

Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision

  • Binary supervision을 통한 deep anti-spoofing에는 두가지 이슈가 있다.
    • 한가지는 spoof pattern 따라 이미지 degradation의 정도가 다르다는 점이다.
    • 두번째는 binary supervision을 통해 학습 되었기에 어떠한 해석이나 이유 없이 binary decision 결과만 생성한다는 점이다.
  • 이러한 문제를 해결하기 위해 binary supervision 대신 spatial, temporal auxiliary 정보를 모두 활용하는 방법을 제안한다.
    • Spatial 관점에서는 depth 정보를 supervision 정보로 사용할 것이다.
    • Temporal 관점에서는 rPPG 정보를 supervision으로 사용할 것이다.
  • 2D 이미지로부터 depth map을 생성하기 위해 기존 제안되었던 DeFA (Dense Face Alignment)를 적용하여 이미지로부터 얼굴의 3D shape을 추정하고, 이를 통해 얼굴의 포즈 파라미터 ​와 깊이를 계산하였다. 깊이 값 ​는 [0, 1] 범위의 값을 가지도록 하였다.
  • rPPG 정보는 temporal 정보에서 live와 fake를 구분할 수 있는 정보이다. 하지만 표정이나 포즈, 조명 변화에 민감한 문제가 있고, 비디오 재생시에는 fake를 구분할 수 없다는 문제가 있다.
  • rPPG를 추정하기 위해 기존 제안된 방법들 보다는 RNN을 이용하여 rPPG를 추정하였다.
  • DeFA로부터 추정된 파라미터를 이용하여 얼굴을 추적하고 얼굴 영역의 색상을 이용하여 혈류 흐름 신호를 계산한 뒤, 이에 FFT를 적용한 각 magnitude 값을 추정하도록 네트워크를 구성하였다.
  • 네트워크는 ResNet 구조와 비슷하게 구성하였다. CNN은 두개의 브랜치로 나누어진다. 한 브랜치는 L2 loss를 이용하여 depth map을 직접 추정하도록 하엿다.
  • 다른 브랜치의 출력은 RNN의 입력에 사용되는데 그 전에 non-rigid registration layer를 거친다.
  • RNN 네트워크는 LSTM와 FC layer를 이용한 뒤, FFT layer를 통과시켜 푸리에 도메인에서의 결과를 추정하도록 L2 loss를 적용하엿다.
  • CNN의 출력을 RNN에 입력하기 전에 얼굴의 각도나 표정 변화 등에 대한 영향을 적게 하기 위해 non-rigid registration layer를 적용한다. 먼저 추정된 깊이 영상에서 깊이를 가지는 위치를 제외한 나머지는 모두 0으로 만든다. 다음 DeFA로부터 계산되어 나온 파라미터를 이용하여 얼굴의 기본 shape ​으로 되돌리는 변환을 계산한 뒤, CNN의 출력 feature map을 ​에 맞도록 registration 한다.
  • CNN, RNN 네트워크에 대한 로스를 이용하여 end-to-end로 학습 시키고, 테스트 시에는 rPPG의 magnitude의 norm과 depth map의 norm을 weighted sum하여 live/fake에 대한 score로 사용한다.

Add a Comment Trackback