Learning Generalizable and Identity-Discriminative Represnetations for Face Anti-Spoofing
1. Introduction
- CNN 기반의 anti-spoofing 방법에서 중요한 단서는 spoof 패턴이다.
- 이 패턴에는 color distortion, moire pattern, shape deformation, spoofing artifacts 등이 포함된다.
- CNN을 학습할 때 이러한 패턴을 구분하도록 모델이 학습되나, 특정 강한 패턴에 우선시 되도록 오버핏되어 학습되기 마련이고 테스트 시 이러한 패턴이 없는 샘플에서는 성능이 덜어지게 된다.
- 이 오버피팅에는 조명이나, 배경, 얼굴형, 카메라 타입 등의 도메인이 다른 문제 또한 포함된다.
- 이러한 문제를 해결하기 위해 논문에서는 Total Pairwise Confusion (TPC) 로스를 제안한다.
- 이 로스는 각 spoof 패턴이 기여하는 정도를 균등하게 맞추어 주는 역할을 한다.
- 또한 Fast Domain Adaptation (FDA) 모델을 적용하였다.
- 이 모델은 각기 다른 도메인에서 추출된 특징의 불일치를 줄여줄 수 있다.
- 이 둘을 이용하여 Generalizable Face Authentication CNN(FGA-CNN) 모델을 제안하였다.
- 기존 모델과는 달리 GFA-CNN은 멀티 태스크 방식으로 face anti-spoofing과 face recognition를 동시에 수행한다.
- CNN은 둘 간의 파라미터를 공유하므로 높은 효율성을 가진다.
2. Related Work
3. Generalizable Face Authentication CNN
3.1. Multi-Task Network Architecture
- GFA-CNN은 face anti-spoofing과 face recognition을 담당하는 두 브랜치를 가지고 있다.
- 각 브랜치는 5개의 CNN 블럭과 3개의 fully connected 레이어를 가진다. 각 블럭은 3개의 CNN 레이어로 구성된다.
- 두 브랜치는 파라미터를 서로 공유한다.
- Face anti-spoofing 브랜치는 TPC로스와 anti-spoofing 로스를 최소화하도록 학습되며, recognition 브랜치는 face recognition loss (Recg-loss)를 최소화하도록 학습된다.
- Anti-spoofing 브랜치는 백그라운드를 포함한 얼굴 이미지를 입력으로 하며, recognition 브랜치는 크롭된 얼굴 이미지를 입력으로 받는다.
- Anti-spoofing 르밴치로 이미지가 입력되기 이전에, 이미지를 타겟 도메인으로 변환 후 입력된다.
- CNN 블럭은 VGG16의 컨볼루션 부분과 닥ㅌ은 구조를 가지고 있고, 두 브랜치의 FC 레이어 부분은 출력 차원 외에는 서로 같은 구조를 가진다.
- Anti-spoofing의 FC 출력은 2차원을, recognition은 subject 수 만큼의 크기를 가진다.
- 최종 목적 함수는 다음과 같다.
$$ \mathcal{L} = \mathcal{L}{\text{anti}} + \lambda_1 * \mathcal{L}{\text{id}} + \lambda_2 * \mathcal{L}_{\text{tpc}} $$
- $\mathcal{L}{\text{anti}}$와 $\mathcal{L}{\text{recg}}$는 cross entropy 로스이고, $\mathcal{L}_{\text{tpc}}$는 TPC로스를, $\lambda_1, \lambda_2$는 가중치 파라미터이다.
3.2. Total Pairwise Confusion Loss
- TPC 로스는 기존 [10]에서 제안되었던 PC 로스에서 영향을 받았으며, 아래와 같다.
$$ \mathcal{L}{\text{tpc}} (\mathbf{x}_i, \mathbf{x}_j) = \sum^M{i \neq j} || \psi(\mathbf{x}_i) - \psi(\mathbf{x}_j)||_2^2$$
- 여기서 $\mathbf{x}_i, \mathbf{x}_j$는 랜덤하게 선택된 이미지들이고, $M$은 가능한 총 샘플 페어의 수이다. $\psi$는 anti-spoofing branch의 두번째 fully connected 레이어의 특징 표현을 의미한다.
- TPC로스가 PC로스와 다른 점은 두가지 이다.
- PC는 두개의 다른 카테고리간의 샘플 페어의 거리를 줄이는 반면 TPC는 학습 데이터 셋 내에서 뽑은 랜덤 샘플 페어 간의 거리를 줄이도록 한다. 이는 곧 특징 들 간의 구분력이 적도록 한다.
- PC는 softmax의 확률 공간 사이를 줄이는 반명 TPC는 특징 공간의 유클리디언 거리를 줄이도록 한다.
- TPC 로스는 다음의 성질들을 고려하였다.
- Face anti-spoofing 문제는 이진 분류 문제이므로, 여러 카테고리를 통합하더라도 PA (Presnetation Attack) 특징의 분리가능도는 큰 영향을 끼치지 않는다.
- 같은 subject의 얼굴 샘플은 특징 스페이스에서 서로 몰려 있을 것이므로, 로스의 통합을 적용하면 모든 샘플의 특징을 더욱 작게 몰려 있도록 만들 것이다.
- 비교적 간단한 구조의 이진 분류 문제이므로, 특징 공간에서 모델을 regularizing하는 것이 출력 확률에서 regularization하는 것보다 더 유용할 것이다.
- $L_{\text{tpc}}$는 PA의 일반적 표현을 향상시킬 수 있다.
- PA 표현이 K개의 요소로 구성되어있다고 하고 각 요소는 하나의 spoof pattern과 관련이 있다고 가정하자. 이를 Spoof-pattern Specific Feature (SSF)라고 부른다.
- $L_{\text{anti}}$는 live 특징 $F_l$과 spoof 특징 $F_s$의 거리를 늘리도록 할 것이고, $L_{\text{tpc}}$는 둘 간의 거리를 좁히고자 할 것이다.
- Live와 spoof 얼굴의 차이를 만드는데 가장 많은 기여를 하는 요소는 $L_{\text{tpc}}$를 악영햘을 끼칠 것이지만, 기여도가 낮은 SSF는 $L_{\text{anti}}$를 좋게 만들 것이다.
- 둘 간의 트레이드오프는 학습 데이터에 포함된 특정 spoof 패턴 몇개를 이용하는 것보다 모든 SSF가 결정에 동등하게 참여할 수 있도록 만들어준다.
3.3. Fast Domain Adaptation
- 이미지는 보통 컨텐츠와 appearance 2개의 요소로 구성된다.
- 컬러, 지역 구조 등의 appearance 정보는 CNN의 아래쪽 레이어에서 주로 표현되는데, 이는 도메인에서 나오는 이미지 스타일등에 의해 결정되므로 anti-spoofing에서 중요한 역할을 한다.
- 따라서 FDA는 이미지 변환 네트워크 $f(\cdot)$와 로스 네트워크 $ \varphi (\cdot)$으로 구성된다.
- $f(\cdot)$은 이미지가 주어지면 synthetic 이미지 $y$를 만들어주는 역할을 하고, $\varphi(\cdot)$은 컨텐츠 복원 로스 $L_{\text{content}}$와 도메인 복원 로스$L_{\text{domain}}$를 계산하는 역할을 한다.
- $\varphi (\cdot)$의 j번째 레이어를 $\varphi_j(\cdot)$ 라고 하고 $C_j \times H_j \times W_j$를 그 크기라고 하자.
- 컨텐츠 복원 로스는 출력 이미지 $y$ 입력 이미지 $x$에 의해 변화하는 것을 막도록 한다.
- 따라서 $x$와 $y$의 특징 간의 유클리디언 거리를 최소화 한다.
$$ L_{\text{content}} = \frac{1}{C_j H_j W_j} || \varphi_j (y0 - \varphi_j(x))||^2_2$$
도메인 복원 로스는 출력 이미지 $y$가 타겟 도메인 이미지 $y_d$와 같은 도메인을 갖도록 한다. 이는 $y$와 $y_d$의 Gram matrix 차이의 Frobenius norm을 최소화 하도록 한다.
$$ L_{\text{domain}} = \frac{1}{C_j H_j W_j} || G_j(y) - G_j(y_d)||_F^2$$
최종적으로 생성된 이미지 $\hat{y}$는 아래 목적 함수를 최소화하는 이미지이다.
$$ \hat{y} = \arg \min_P ( \lambda_c \mathcal{L}{\text{content}}(y, x) + \lambda_s \mathcal{L}\text{domain} (y, y_d))$$
- 이 식을 풀면 입력 이미지 $x$는 $\hat{y}$로 변환되며, 컨텐츠 $x$는 유지한 채로 $y_d$ 도메인으로 변환된다.