Markdown 수식추가 Markdown 추가 네이버 스크립트 구글 스크립트

Loss Function Search for Face Recognition

Abstract

AutoML로 인해 성능좋은 AM-LFS 것처럼 hand-crafted loss function은 sub-optimal이다. 본 논문은 softmax probability를 줄이는 것에 집중하여 margin-based softmax loss function을 만든다.

1. Introduction

Face Recognition은 얼굴을 구별하는 Face identification과 얼굴을 비교하는 Face verification이 있다. 여기서 loss function이 큰 역활을 한다. 크게 contrastive loss와 triplet loss와 같은 metric learning loss function와 classification loss function이 있다. metric learning loss function은 계산량이 많으며, 비교대상이 되는 샘플에 대해 성능에 큰 영향을 받는다.

직관적으로, face features은 intra-class compatness와 inter-class separability가 크면 클수록 더 쉽게 구분할 수 있다. 그래서, 기존의 softmax loss가 face features를 잘 구분하지 못한다는 말이 많았다. center loss와 몇몇의 softmax loss의 진화는 intra-class variance를 줄였으며, A-Softmax는 inter-class variance를 줄였다. 그러나 위의 방법들은 조심스럽게 파라미터들을 조정해야지 최적의 결과가 나온다. 또한, AM-Softmax loss나 Arc-Softmax와 같이 기하학적인 loss function도 있지만, 매우 큰 design space를 거쳐야하며 일반적으로 sub-optimal에 도달한다.

최근 AutoML을 통해 AM-LFS라는 loss function search method가 발표되었다. 이 논문은 loss funtion의 hyper-parameter를 매개변수화된 확률 분포 샘플링을 공식화하고 여러 vision task에서 좋은 결과를 가져왔다. 하지만, 이 방법은 intra-class distnace에서 inter-class distance의 상대적 중요성을 활용하여 탐색 공간의 디자인을 이끌어내는데 사용하지않아, 결과적으로 복잡하고 불안정하다.

따라서, 위의 단점을 보완하기위해 기존의 hand-crafted loss function의 장점들을 분석하여 적용해 더 효과적인 방법을 제안한다.

  • "어떻게 하면 softmax probability를 줄일 수 있을까?"에 대해서 생각을 했다.
  • 단순하지만 매우 효과적인 search space를 설정했으며, random/reward-guided method를 사용했다.
  • LFW, SLLFW, CALFW, CPLFW, AgeDB, CFP, RFW, MegaFace 와 Trillion-paris 등등 많은 벤치마크에 대해서 비교 실험을 했다.

2. Preliminary Knowledge

softmax: softmax function + cross-entropy loss로 만들어져있으며, 밑의 수식과 같다.

$$ L_1=-log\frac{e^{w^T_yx}}{e^{w^T_yx}+\sum_{k\neq y}^K e^{w^T_yx}} $$

face recongnition으로 오게되면 weights $w_k$와 feature $x$로 정규화되고 scale parameter $s$로 magnitunde가 대체되며 밑의 수식과 같아진다. 여기서 cosine similarity($cos(\theta_{w_k,x}) = w_k^Tx$)가 추가되어 face recognition의 구별성을 증가시켜준다.

$$ L_2=-log\frac{e^{s\ cos(\theta_{w_k,x})}}{e^{s\ cos(\theta_{w_k,x})}+\sum_{k\neq y}^K e^{s\ cos(\theta_{w_k,x})}} $$

 

Margin-based Softmax: 여러 margin이 추가된 loss function이 생겨났으며, A-softmax loss, Arc-softmax loss 그리고 AM-Softmax loss가 유명하다.

$$ L_3=-log\frac{e^{s\ f(m, \theta_{w_y},x)}}{e^{s\ f(m, \theta_{w_y},x)}+\sum_{k\neq y}^K e^{s\ f(m, \theta_{w_y},x)}} $$

전체적으로 $f(m, \theta_{w_y},x)<cos(\theta_{w_y},x)$인 margin function을 가진다. 각각,

  • A-Softmax loss: $f(m_1, \theta_{w_y},x)=cos(m_1\theta_{w_y},x)$ 와 $m_1\geq1$
  • Arc-Softmax loss: $f(m_2, \theta_{w_y},x)=cos(\theta_{w_y},x + m_2)$ 와 $m_2>0$
  • AM-Softmax loss: $f(m_3, \theta_{w_y},x)=cos(\theta_{w_y},x)-m_3$ 와 $m_3>0$
  • 위의 것을 합친 loss: $f(m, \theta_{w_y},x)=cos(m_1\theta_{w_y},x + m_2) - m_3$ 존재한다.

AM-LFS: AutoML for Loss Function Search의 약자로 search space를 설정해 loss function을 찾는 논문이다.

$$ L_4=-\log{a_i\frac{ e^{s\ cos(\theta_{w_k,x})}}{e^{s\ cos(\theta_{w_k,x})}+\sum_{k\neq y}^K e^{s\ cos(\theta_{w_k,x})}} + b_i} $$

$a_i$와 $b_i$는 search space의 매개변수이며 $i \in [0, M-1]$에 따라 사전에 분할된 softmax probability의 bin이다. M은 bin의 갯수를 나타낸다. 결과적으로 search space는 조각별 선형 함수(piece-wise linear function)를 사용하는 후보 집합으로 볼 수 있다.

3. Problem Formulation

본 논문에서 저자들은 margin-based softmax losses를 공식화하고 무작위성을 가진 reward-guided loss function search method를 만들었다고 합니다.

3.1 Analysis of Margin-based Softmax Loss

먼저 softmax probability를 다음과 같이 정의 한다.

$$ p=\frac{e^{s\ cos(\theta_{w_k,x})}}{e^{s\ cos(\theta_{w_k,x})}+\sum_{k\neq y}^K e^{s\ cos(\theta_{w_k,x})}} $$

그리고 margin-based softmax probability $p_m$은 다음과 같다.

$$ p_m=\frac{e^{s\ f(m,\theta_{w_y},x)}}{e^{s\ f(m,\theta_{w_y},x)}+\sum_{k\neq y}^K e^{s\ f(m,\theta_{w_y},x)}} \\ = \frac{e^{s\ f(m,\theta_{w_y},x)}}{e^{s\ f(m,\theta_{w_y},x)} + e^{cos(\theta_{w_y},x)}(1-p)/p} \\ =\frac{1}{p+e^{s[cos(\theta_{w_y},x)-f(m,\theta_{w_y},x)]}(1-p)}*p \\ = \frac{1}{ap+(1-a)}*p = h(a,p) * p, \\ a = 1-e^{s[cos(\theta_{w_y},x)-f(m,\theta_{w_y},x)]}, $$

위의 수식과 같이 유도되며 변조 인자인 $a$는 음수의 값을 가진다. ($a\leq0$)

표 1에 요약되어 있으며, $a=0$일 때, margin-based softmax probability $p_m$은 softmax probability $p$와 같다. 즉, 위의 $h(a,p)=\frac{1}{ap+(1-a)}\in (0,1]$로 모든 softmax probability를 표현할 수 있으며, 어떻게 하면 softmax probability를 줄일 수 있을까에 대한 답을 찾을 수 있을 것이다.

AM-LFS와 차별성이 3가지가 있다. 1) 본 논문의 수식인 $p_m$이 항상 softmax probability$p$보다 항상 작지만, piece-wise linear function 은 그렇지 않다. 즉, AM-LFS가 변별력을 항상 보장하지는 않는다. 2) 본 논문의 수식은 하나의 매개변수 $a$를 가지지만, AM-LFS는 2M개를 가진다. 즉, AM-LFS가 복잡하고 불안정하다. 3) 본 논문의 수식은 매개변수의 타당한 범위를 가지지만, AM-LFS는 제한이 없다.

3.2 Random Search

위의 분석을 그대로 수식 (2)에 넣어 통합된 공식을 만들었으며, 다양한 classes 사이에서 구별성 feature의 능력을 가질 수 있겠했다. 또한, search space를 $h(a, p)$로 정의할 수 있게 된다.

$$ L_5 = -log (h(a,p)*p) \\ a \leq 0,\ h(a,p) \in (0,1] $$

각 train epoch에서 변조 인자 $a\leq0$를 무작위로 설정하고 Random-Softmax로 표기한다.

3.3 Reward-guided Search

softmax probability를 줄일 수 있다면, feature discrimination이 강화되는 것으로 볼 수 있다. 하지만, 학습을 하는데 어떤 가이드라인이 없다면 최적은 아니다. 따라서, 이 문제를 해결하기위해 hyper-parameters $B={a_1,a_2,...,a_B}$ 로 각 학습 epoch의 분산을 주고 현재 모델을 학습하는데 사용한다. hyper-parameter $a$는 가우시안 분산을 이용한다.

$$ a \sim \mathcal{N}(\mu,\sigma^2), $$

1번의 학습이 완료된 뒤, B 모델들은 생성되고 이 모델의 reward $\mathcal{R}(a_i),\ i\in [1,B]$는 hyper-parameter $\mu$의 분산을 업데이트한다.

$$ \mu_{e+1}=\mu_e+\eta\frac{1}{B} \sum_{i=1}^B \mathcal{R}(a_i)\triangledown_a \log{(g(a_i;\mu,\sigma))} $$

여기서 $g(a_i);\mu, \sigma$는 가우시안 분포의 PDF이다. 위의 방식으로 a의 분산을 업데이트하며 B의 후보들중 다음 epoch에 사용할 최고의 모델을 찾는다. 이것을 Search-Softmax라고 부른다.

 

3.4 Optimization

여기서는, Search-Softmax loss의 학습 과정을 보여준다. network model $\mathcal{M}_w$가 있다고 할 때, training set $\mathcal{S}_t = {(x_i, y_i)}_{i=1}^n$와 validation set $\mathcal{S}_v$ 각각에 대해 search loss는 최소화 하면서 rewards인 $r(\mathcal{M}_{w*(a)}, \mathcal{S}_v)$를 최대화 하는 것을 목표로 한다. 즉,

$$ \max_a \mathcal{R}(a)=r(\mathcal{M}_{w*(a)},\mathcal{S}_v) \\ s.t.\ w^*(a)=\underset{w}{argmin} \sum_{(x,y)\in S_t}\mathcal{L}^a(\mathcal{M}_w(x),y). $$

과거 논문에 의하면, 변조 인자 $a$가 hyper-parameter로 있다면, standard bi-level optimization problem(표준 이중 수준 최적화 문제.,..?)로 볼 수 있다. 즉, 내부적으로는 loss $L^a$를 최소화하는 매개변수 $w$를 학습하면서, 외부적으로는 테스트 셋인 $S_v$에 대해 rewards를 최대화 하는 weight $w^*$를 찾는다. 마지막에는 재학습 없이 사용하며, 문제를 단순화하기위해, 표준편차는 고정하고 평균은 최적화 했다. 밑의 알고리즘 1에서 확인할 수 있다.

 

4. Experiments

4.1 Datasets

** Training Data: CASIA-WebFace, MS-Celeb-1M Test Data: LFW, SLLFW, CALFW, CPLFW, AgeDB, CFP, RFW, MegaFace, Trillion-Pairs. Dataset Overlap Removal.**: open-set evaluation에서 training/test set 간의 겹치는 사람이 있으면 안된다. 따라서, 저자들은 CASIA-WbeFace에서 696명/ MS-Celeb-1M-v1c에서 14,718명을 제거하여 training set으로 사용했다. 표2에서 확인할 수 있다.

4.2 Experimental Settings

Data Processing.

  • detect: Face-Boxes detector
  • localize: 6-layer CNN
  • crop size: 144x144 and RGB
  • normalize: (x - 127.5) / 128
  • horizontally flip (a=0.5)

CNN Architecture. SEresNet50-IR을 사용해 512-dimension feature을 얻는다.

Training. Inner level과 outer level을 구분해서 구현 했다.

  1. Inner level: model parameter $w$를 최적화 한다.
  • SGD optimizer
  • batch size: 128
  • weight decay: 0.0005
  • momentum: 0.9
  • learning rate: 0.1 ( [9, 18, 26] divide 10) - CASIA-WebFace-R(30) 0.1( [4, 8, 10] divide 10)- MS-Celeb-1M-v1c-R(12)
  1. outer level: 변조 인자 $a$를 REINFORCE로 최적화 한다. 여러 샘플들로 부터 model parameter $w^*$를 찾는 방법이다.
  • Adam optimizer
  • learning rate: 0.05
  • 분산: 0.2
  • 최적의 mean을 찾는다.

Test. 위에 제시된 dataset에서 테스트를 진행하며 original image를 사용하였다.

  • Face identification: Cumulative Match CHaracteristics (CMC)
  • Face verification: Receiver Operating Characteristic (ROC) 를 사용했다.

낮은 false acceptance rate (FAR)에서 true positive rate (TPR)이 강조 되는데, 실제로 false accept 보단 false rejection이 더 낮은 risk를 제공하기 때문이다.

대망의 비교 metric들은, Softmax, A-softmax, V-Softmax, AM-Softmax, Arc-Softmax 그리고 AM-LFS이다.

  • AM-LFS를 제외하고는 paper에서 그대로 가져와 사용했다.
  • AM-LFS는 직접 재구현하여 최고 좋은 성능을 가져와 사용했다.
  • V-Softmax는 batch size와 virtual classes를 같게 함.
  • A-Softmax는 $m_1=3$으로 설정함.
  • Arc-Softmax와 AM-Softmax는 각각, $m_2=0.5\quad m_3=0.35$로 설정함.
  • scalie parameter $s$는 32로 고정하여 사용함.

4.3 Ablation Study

Effect of reducing softmax probability.

여기서는 변조 인자에 따른 softmax probability가 줄어듬에 따른 영향을 연구한다. $h(a,p)$는 단조증가함수 인데, 이것으로 인해 $p_m=h(a,p)*p$는 항상 softmax probability보다 작은 0~1사이의 값을 가지게된다. 게다가, 표3의 LFW와 SLLFW을 보면 softmax probability가 줄어들면, 성능이 증가하는 것을 확인할 수 있다. 결국, softmax probability가 줄어드는 것이 feature discrimination을 강화시켜주는 것으로 볼 수 있다.

Effect of the number of sampled models.

매개변수 $B$를 변경해가면 Search-Softmax loss를 찾았다. $B={2,4,8,16}$이며 표4에서 결과를 확인할 수 있다. B의 값에 따라 다르긴 하지만, 최적의 샘플을 찾는냐 못찾는냐의 차이인 것같다. 따라서, 저자들은 $B$를 4로 고정해서 학습을 진행하였다.

Covergence.

위의 방법들이 수렴하는 것이 이론적으로 분석하기 어렵지만, 경험적으로 수렴한다는 것을 알 수 있다. 그림 2를 보면 들쑥날쑥하지만, 수렴해 가는 것을 볼 수 있다. 명백하게 epochs이 증가할 수록 loss가 감소하며 성능이 올라가고 있다. 매개변수 $\mu$는 최적 분포를 향하고 있으므로 각 epoch에 대해 샘플링된 $a$는 더 나은 성능을 달성하기 위해 loss value를 줄이는 방향으로 간다.

4.4 Results on LFW, SLLFW, CALFW, CPLFW, AgeDB, CFP

전체적으로 좋은 성능을 보이며, Random-Search-Loss가 생각보다 좋은 성능을 보인다. 본 논문의 최적화 전략은 dynamic loss가 다른 epochs에서 사용할 수 있기 때문에 discrimination power을 더욱 높이는데 도움이 된다. 하지만, 위의 데이터셋은 포화상태여서 새로운 데이터셋이나 새로운 방법을 찾아야한다.

4.5 Results on RFW

최근의 새로운 데이터 셋인 RFW에 대해 테스트를 진행했으며, racial bias를 측정하기위한 데이터셋이다. 4개의 데이터셋으로 Caucasian, Indian, Asian 그리고 African으로 이뤄져있다.

본 논문의 방법이 baseline보다 더 좋은 성능을 가져오며, 이것을 토대로 softmax probability가 줄어들면, 얼굴인식에 필요한 식별력(discrimination power)이 강화되는 것을 알 수 있다.

4.6 Results on MegaFace and Trillion-Pairs

MegaFace: identification TPR@FAR=1e-6 verification TPR@FAR=1e-6 Trillion Pairs: identification TPR@FAR=1e-3 verification TPR@FAR=1e-9

본 논문에서 제시하는 Search-Softmax가 모든 baseline보다 더 좋은 성능을 보인다.

또한, MegaFace set 1에 대해 CMC curves (identification) 와 ROC curves (verification) 를 보여준다.

Trillion-Pairs Challenge와 MegaFace test set에 대해 비슷한 trends을 볼 수 있다. 즉, Search-Softmax loss가 face recognition task에 대해 큰 일반화를 보여준다고 할 수 있다.

5. Conclusion

본 논문은 얼굴인식에 필요한 식별력을 강화하는 방법이 softmax probability를 줄이는 것이라고 한다. 이러한 정보를 근거로 random-softmax / Search-Softmax를 구현했으며, softmax baseline들 보다 더 좋은 성능을 가져왔다.

 

 

 

 

 

 

 

VarGFaceNet: An Efficient Variable Group convolutional Neural Network for Lightweight Face Recognition

M. Yan M. Zhao Z. Xu Q. Zhang G. Wang Z. Su

Abstract

본 저자들은 VarGFaceNet이라고 불리는 효율적인 variable group CNN을 제안한다. parameter와 cost를 줄이는데 집중을 했다. 특히, 특정한 설정이 필요한데, 네트워크의 입력단인 head와 fully-connected layer에서 특정 embedding stting이 필요하다. 저자들은 재귀적인 knowledge distillation을 사용했으며, teacher와 student 사이의 차이를 없애는 방향으로 접근하였다. 2019년 LFR deepglintlight에서 1등을 했다고 한다. github: https://github.com/zma-c137/VarGFaceNet

1. Introduction

얼굴 인식 분야에서 계산량을 줄이는 많은 논문들이 있지만, 여전히 제한적이다. SqueezeNet, MobileNet, ShuffleNet과 같이 $1\times1$ convolution을 사용해 사용량을 줄인 것들이 있다. MobileNet v1의 경우 depthwise separable convolution을 사용했으며, 그에 기초해 MobileNet v2는 반전된 bottlenect 구조로 네트워크의 분별능력을 강화했다. ShuffleNet 종류는 pointwise group convolution과 channel shuffle operation을 통해 계산량을 줄였다. VarGNet은 variable group convolution을 통해 블럭당 불균등한 계산량을 해결했다. 특히, 같은 kernel 크기에서 depthwise convolution보다 더 많이 수용할 수 있다. 그러나 VarGNet은 얼굴인식에는 적합하지않는데, 네트워크 시작단에서 공간영역을 반으로 줄이는 특성 때문이다. 얼굴 인식은 얼굴 이미지의 자세한 정보가 중요하다. 또한, average pooling layer가 마지막 conv와 fc layer 사이에만 있어, 충분한 분별 정보를 추출할 수 없다.

VarGNet을 기반으로 제안하는 VarGFaceNet이다. VarGNet과는 다르게 추가한 부분들이 있다. 1) SE block과 PReLU를 추가함 2) 더 많은 정보를 보존하기위해 네트워크 시작 부분의 downsample process 제거 3) embedding 때, fclayer 전에 $1 \times 1 \times 512$에 variable group convolution 적용.

네트워크의 해석 능력을 강화시키기위해 학습하는 동안 Knowledge distillation을 적용했다. 더 작고 효율적인 네트워크를 위해 pruning, quantization 등이 있는데, knowledge distillation의 경우 모델 변경이 자유로워 선택했다. Hinton 11은 knowldege distillation 개념에 대해서 소개했으며, FitNet은 feature distillation 아이디어를 채택하여 student network가 teacher network의 hidden feature를 따라할 수 있도록 했다. 그 후로, transferring the fature activation map 10과 activation-based and gradient-based Attention Maps 25 이 시도되었다.최근에는 ShrinkTeaNet 6은 angular distillation loss로 teacher model의 angular information에 집중했다. 게다가, teacher model과 student model 사이의 차이에 의해 발생하는 optimization의 복잡성을 해결하기위해 다음 세대를 위해 pretrained model을 한 세대에 student를 학습하는데 사용하였다.

본 논문은 LFR challenge에서 1등을 달성했으며, 좋은 성능을 보였다.

Contribution

  • VarGNet에서 다른 head setting과 새로운 embedding block을 제안했다. 새로운 embedding block은 처음에 $1 \times 1$ convolution을 통해 1024 channel로 확장하고 variable group conv와 pointwise conv를 적용했다.
  • generalization을 위해 recursive knowledge distillation을 사용함
  • variable group convolution의 효율성과 angular distillation loss와의 동일성을 분석함.

2. Approach

2.1 Variable Group convolution

Group convolution은 AlexNet부터 이어져온 기술이다. ResNext에서는 group convolution의 개수에 대해서 설명했으며, MobileNet들은 이것으로 depthwise separable convolution을 만들었다. 하지만, 계산량 대부분 (95%)을 $1\times1$에서 사용된다. 따라서, 이런 차이는 embedding 방법에는 적합하지 않는다. 따라서, VarGNet은 channel를 상수 $n_i$로 나눈 $S$를 사용한다. VarGNet의 계산량은 다음과 같다.

$$ K^2\times h_i\times w_i\times S \times c_{i+1} $$
$$ S=\frac{c_i}{n_i} $$

입력층의 $h_i \times w_i \times c_i$이며 출력층의 $h_i \times w_i \times c_{i+1}$ 이다. $k$는 kernel의 크기이다. 만약, MobileNet의 depthwise separable convolution 대신에 group convolution이 쓰인다면 pointwise convolution 같이 나온다.

$$ 1^2 \times h_1 \times w_i \times c_{i+1} \times c_{i+2} $$

variable group convolution과 pointwise convolution 사이의 계산량 비율은 $\frac{k^2S}{c_{i+2}}$이며 depthwise convolution과 pointwise convolution 사이의 비율은 $\frac{k^2}{c_{i+2}}$ 이다. 실제로 $c_{i+2}\gg k^2,\ S>1,$이므로 따라서, $\frac{k^2S}{c_{i+2}} > \frac{k^2}{c_{i+2}}$ 이다. 따라서, depthwise separable convolution 대신 pointwise convolution의 하단에 variable group convolution을 사용하면 블록 내에서 더 계산적으로 균형을 이룬다. 게다가, $S>1$은 더 많은 MAdds와 더 큰 네트워크 수용력을 나타내며, 더 많은 정보를 추출할 수 있음을 나타낸다.

2.2 Blocks of Variable Group Network

VarGNet은 normal block에서 입력 채널과 출력 채널의 수를 같게 했지만, 시작부분 block에서는 일반화 능력을 유지하기위해 C 채널 수를 2C 채널 수로 확장했다. 위의 그림 (a)과 (b)와 같이 구조를 쌓았으며, 구별능력 향상을 위해 normal block에 SE block을 추가하고 ReLU 대신 PReLU를 사용했다.

2.3 Lightweight Network for Face Recognition

2.3.1 Head setting

face recognition은 규모가 큰 문제이다. lightweight network를 유지하기 위해 $3\times3$ Conv에 stride를 1로 설정해 사용했으며 (VarGNet에 비해), 시작부분에서 downsampling이 아닌 그대로 사용했다. 그림 1의 (c)에서 확인할 수 있다.

2.3.2 Embedding setting

얼굴의 embedding을 얻기 위해서 많은 논문들이 마지막 convolution 뒤에 fc layer을 붙이는데 상대적으로 매우 큰 계산량을 차지한다. 예를들어 ReNet 100의 경우 49M에서 12.25M을 차지한다.

본 논문에서는 variable group convolution을 통해 fc layer 전에 $1\times1\times512$ feature map으로 줄어들게하였으며, fc layer에서 단지 1M만 사용한다. (그림 1의 (d)에서 확인 가능) 하지만, 이렇게 하면 feature tensor가 제한될 수 있어 마지막 conv layer 전에 늘리고 줄이는 방식을 통해 필수적인 정보는 감소되는 것을 방지하도록 했다.

1) $1\times1$ convolution을 통해 $7\times7\times320$에서 $7\times7\times1024$로 확장.

2) $7\times7$ variable group convolution을 통해 $1\times1\times7$로 줄어들게 함.

3) pointwise convolution을 통해 $1\times1\times512$로 만든다.

이렇게 새로운 embedding은 기존의 embedding인 30M에 비해 5.78M의 계산량을 가진다.

2.3.3 Overall architecture

약 20M 메모리와 1G의 FLOPs를 사용한다. 전체적인 구조는 표 1에서 확인할 수 있다.

2.4. Angular Distillation Loss

Knowledge distillation은 큰 네트워크에서 작은 네트워크로 해석 능력을 전달할 수 있다. scores/logits 또는 embeddings/feature magnitude에 L2/cross entropy를 사용한다. 하지만, 이런 것은 제한된 정보를 주거나 over-regularized 될 수 있다. 따라서, angular distillation loss라는 것을 사용해 유용한 정보를 추출하고 over-regularization을 피할 수 있다. 밑의 식은 angular knowledge distillation 이다. $F_t^i$는 i번째 teatcher, $F_s^i$는 i번째 student이다.

$$ L_\alpha(F_t^i,F_s^i)=\frac{1}{N}\sum_{i=1}^N ||1-\frac{F_t^i}{||F_t^i||}*\frac{F_s^i}{||F_s^i||}||^2_2 $$

본 논문에서는 위의 angular knowledge distillation을 구현의 편의성을 위해 변형하여 다음과 같이 사용한다.

$$ L_s(F_t^i,F_s^i)=\frac{1}{N}\sum_{i=1}^N ||\frac{F_t^i}{||F_t^i||}-\frac{F_s^i}{||F_s^i||}||^2_2 $$

또한 arcface를 차용하여 angular information에 더 지 ㅂ중한다.

$$ L_{Arc}=-\frac{1}{N}\sum_o{i=1}^N \log{\frac{e^{s(cos(\Theta_{y_i}+m))}}{e^{s(cos(\Theta_{y_i}+m))}+\sum_{j=1,j\neq y_i}^n e^{s\cos{\Theta_j}}}} $$

따라서, 최종 학습시킬 objective function은 다음과 같다.

$$ L=L_{Arc}+\alpha L_s $$

본 논문에서는 실험적으로 $\alpha=7$을 사용한다.

2.5 Recursive Knowledge Distillation

단 한 세대의 Knowledge distillation은 큰 모델과 작은 모델 사이의 간극을 때때로 매꿀 수 없을 때도 있다. 따라서, student network의 구별 능력과 일반화 능력을 향상시키기 위해 recursive knowledge distllation을 사용한다. 그리고, teacher network를 매 새대 같은 것을 사용해 지도되는 내용이 불변하도록 한다. Recursive knowldege distillation을 통해 얻는 이점은 다음과 같다.

  1. teacher로 부터 곧바로 지도를 받아 좋은 초기화를 제공할 수 있다.
  2. classification loss와 angular information 사이의 충돌을 다음 세대를 통해 해결할 수 있다.

3. Experiments

1) y2 network (deeper mobilefacenet)과 비교 2) 다른 teacher model들과 비교 3) LFR2019 Challenge에 적용한 성능

3.1 Datasets and Evaluation Metric

먼저 Training에는 LFR2019에서 제공하는 MSIM으로 모든 학습을 진행했으며, 모든 어굴 이미지는 RetinaFace로 $112\times112$로 재조정해서 사용했다. Testing에서는 Trillionpairs dataset을 사용했다. 위의 데이터 셋은 ELFW, DELFW를 포함하는 데이터셋이다. 모든 테스트 얼굴 이미지는 preprocess와 resize를 했다. 마지막으로 Evaluation은 LFW, CFP-FP 그리고 AgeDB-30을 사용했다. 또한, TPR@FPR=1e-8로 evaluation metric을 사용했다.

3.2 VarGFaceNt rain from scratch

Validation set에서 mobilefacenet (y2)와 비교한다. 표 2에서 확인할 수 있으며, 전체적으로 본 저자들이 만든 네트워크의 성능이 더 높게 나온다. 직관적으로 2가지의 나은 성능을 볼 수 있다.

  1. y2에 비해 더 많은 파라미터들을 포함하고 있으며, 마지막 conv layer에서 256에 비해 320 채널 수를 가진다.
  2. y2의 경우 256에서 512로 확장하지만, 본 논문의 네트워크는 320에서 1024로 확장한다. 따라서 더 많은 정보를 가진다.

3.3 VarGFaceNet guided by ResNet

angular distillation loss를 사용해 knowledge distillation을 했다. teacher model로는 SE block이 포함된 ResNet 100을 사용했다. 결과는 표 3에서 확인할 수 있다. 표의 결과에 따라 VarGFaceNet이 더 작은 네트워크 이지만, teacher model을 따라잡을 수 있음을 알 수 있다.

VarGFaceNet과 VarGNet을 비교했다. 여기서 VarGNet은 VarGFaceNet과 같은 head 설정을 했으며, 결과적으로 VarGFaceNet이 더 좋은 성능을 보인다. 즉, VarGFaceNet의 embedding setting이 더 적합하는 것을 알 수 있다.

3.4 Recursive Knowledge Distillation

VarGFaceNet을 recursive Knowledge Distillation으로 validation set에 사용한 결과이다. 표 5에서 확인할 수 있으며, LFW와 CFPFP는 0.1%의 상승을, deepglintlight는 0.4%의 상승을 확인할 수 있다. 저자들은 더 많은 generation을 통하면 성능을 더 증가할 것으로 생각한다.

4. Conclusion

본 VarGFaceNet으로 효율성과 성능 사이의 trade-off를 더 좋게 할 수 있음을 알게되었다. head setting과 embedding setting으로 information을 보전할 수 있으며, angular distillation loss와 recursive knowledge distillation을 통해 해석능령이 상승한 가벼운 네트워크를 만들 수 있었다.

 

Dynamic Feature Learning for Partial Face Recognition

L. He H. Li Q. Zhang Z. sun

Abstract

Partial face Recognition (PFR)은 CCTV나 모바일 환경같은 자유로운 환경에서 매운 중요한 task이다. 본 논문은 Fully Convolutional Network (FCN)과 Dynamic Feature Matching (DFM)을 조합해 PFR문제를 해결한다. sliding loss롤 FCN을 최적화 하며 intra-variantion을 줄인다.

1. Introduction

full 또는 frontal images face recognition은 쉽게 해결할 수 있는 문제이다. 하지만 , PFR은 전통적인 face recognition approaches로는 해결하기 힘든 문제들이다. 그림1과 같이 모자, 마스트 또는 스카프를 착용하거나 사람이나 건물에 가려져서 인식하기 힘들다.


존재하는 face recognition algorithm들은 고정된 입력 사이즈를 사용한다. 하지만, MRCNN 10은 얼굴과 부분 얼굴로 구역을 나눠서 feature을 추출하고 인식에 사용했다. 하지만, 중복되는 구역을 보는 계산량의 문제가 있는데, 이것은 Sliding window Matching (SWM 43)을 사용하면 줄일 수 있다. 여전히 sliding window는 필연적으로 같은 구역을 반복적으로 탐색하기 때문에 효율이 좋다고 할 수는 없다.

Dynamic Feature Matching (DFM)으로 좋은 효율성과 모호한 크기의 얼굴 이미지를 다룰 수 있다. 밑의 그림 2는 DFM의 구조에 대한 것이다.

먼저, FCN으로 spatial feature map을 galley와 probe로 부터 뽑아낸다. 추출된 feature map은 VGGFace에 사용된다. 마지막 pooling layer은 입력된 face의 크기에 상관없이 똑같은 feature extractor가 사용된다. 그 다음에, gallery feature map은 sub-feature map으로 분해된다. 마지막으로 Sparse Representation Classification (SRC)에 의해서 probe feature map과 gallery sub-feature map과의 유사도를 구한다. DFM은 MR-CNN보다 20배는 빠르다고 하며, 논문에서 제안하는 sliding loss는 추출된 feature map과 anchor의 유사도를 계산할 수 있다고 한다.

Contribution:

  1. FCN과 SRC를 조합한 DFM
  2. 전체적인 얼굴 뿐만 아니라 부분적인 얼굴도 인식가능한 DFM
  3. 더 많은 deep feature를 학습할 수 있는 sliding loss

2. Related Work

2.1 Deep Neural Networks.

CNN은 image classification, object detection 그리고 semantic segmentation을 해결할 수 있다. DeepFace 35 를 시작으로 VGGFace 26, Light CNN 39, FaceNet 32 그리고 SphereFace 16이 차례대로 등장했다. 게다가 최근에는 Spatial pyramid pooling (SPP) 8이 등장했는데, 모호한 크기의 인풋을 고정된 길이의 representation을 FCN에 제공할 수 있다.

2.2 Sparse Representation classification.

얼굴인식에 SRC를 사용한 유명한 논문은 38이며, 42, 40 등도 있다.

2.3 Partial Face Recognition.

Hu 11은 alignment 없이 SIFT descriptor representation이 가능한 방법을 제안했으며 instance-to-class (I2C)를 계산하였다. Liao 15는 alignment-free 접근 법인 multiple keypoints descriptor SRC (MKD-SRC)를 제안하였다. 본 방법은 keypoint들 사이에 변하지않는 것이 있으므로 그것을 특징으로 구별한다. Weng 37은 Robust Point Set Matching (RPSM) 방법을 사용해 SURF descriptor 그리고 LBP histogram을 적용하였다. region-based model들도 해결법으로 적용할 수 있다. 눈, 코, 얼굴의 반 그리고 눈 주위에 대한 정보를 사용하였다. 제일 최근에는 He 10 Multi-Scale Region-based CNNs (MRCNN)이 있다. 하지만 얼굴 구성과 pre-alignment가 필요하다. 따라서, 본 논문에선는 alignment-free PFR 알고리즘인 DFM을 소개하며 높은 정확도와 높은 효율성을 보인다.

3. Out Approach

3.1 Fully Convolutional Network

convolutional layer은 sliding-window 방법과 spatial 출력들을 만들어낸다. fully-connected layer는 고정된 차원 특징과 공간 좌표를 없애버린다. 따라서, 고정된 길이를 가져오는 fully-connected layer은 필요가 없다.
밑의 표1을 보면 VGGFace의 구조인데, fully-connected layer가 없다. 그 이유는 다양한 입력 사이즈에 대한 출력이 필요하며 더 견고한 feature를 뽑는데 필요가 없기 때문이다. 이처럼 모든 convolutional layer로 이루어진 구조를 Fully-convolutional network (FCN) 이라고 명명한다. FCN은 입력 크기의 제한 없이 서로 맞는 크기의 spatial feature map들을 뽑아낼 수 있다.

3.2 Dynamic Feature Matching

해당 섹션에서는 DFM에 대한 설명을 하는데, prob와 gallery에 대한 설명부터 한다.
prob: FCN에 의해서 feature map인 $p$가 나온다. 해당 $p$는 각각 너비, 높이 그리고 채널에 해당하는 $w,h,d$를 가진다.
Gallery: spatial feature map인 $g_c$는 FCN에 의해서 gallery의 $c$에서 feature 가 추출되어 나온다.

명백하게, prob와 Gallery의 차원이 불일치하면 계산을 할 수가 없다. 따라서, Gallery의 feature map인 $g_c$에서 prob의 feature map인 $p$ 만큼 sliding window로 잘라낸다. 위의 그림 2에서 보이는 것처럼 k개의 sub-feature maps은 $G_c = [g_{c_1},g_{c_2},...,g_{c_k}]$로 나타낼 수 있다. $G_c$는 probe 크기에 따라 $G_c \in \mathbb{R}^{M\times k}$이다.
정렬없이 feature matching을 위해서 $p$가 $G_c$의 선형 결합으로 표현되는 error reconstruction으로 문제를 바꿀 수 있다. 따라서, $G_c$에 관한 p의 계수를 계산할 것이다. 그리고 그 계수를 $w_c$로 표현한다. reconstruction error를 matching score로 표현할 수 있으며 최종적으로 $w_c$를 풀기위해서는 reconstruction error를 최소화 해야한다.
$$
\mathcal{L}(w_c)=||p-G_cw_c||_2^2
$$
$w_c\in \mathbb{R}^{k+1}$과 $p \in \mathbb{R}^{M+1}$이다. $w_c$를 구하기 위해 2가지 제한조건이 있는데 sparsity와 similarity 이다.

Sparse constraint는 feature vector $p$로 부터 나온 coding vector $w_c$의 sparsity를 컨트롤한다. 따라서, $w_c$는 $l_1-norm:\ ||w_c|| _1$을 사용한다.

Similarity-guided constraint.
feature $p$를 재구성한 sub-feature를 자유롭게 사용하는 재구성 프로세스에는 단점이 있다. $G_c$의 선형 조합을 위해 재구성 에러를 최소화하기 위해서 재구성 프로세스에만 집중하기 때문에 $p$와 feature vector $G_c$의 유사도를 고려하지 않는다. 즉, 재구성 에러를 최소화에 집중하기 때문에 비슷하지않은 feture vector들이 선택될 수 있다.
$p$와 $G_c$의 유사도를 계산하기위해 $l_2-norm$으로 1에 가깝게 정규화를 한다. 그러면 유사도 점수 벡터인 $p^TG_c \in \mathbb{R}^{1\times k}$는 cosine similarity measure이 된다. 이렇게 되면 유사ㅣ하면 더 많은 $g_c$가 선택되고 아니라면 제외된다. 즉, $p^TG_c$는 연관성을 보여준다. 그 후, similarity-guided constraint인 $p^TG_c W_c$가 정의된다.

최종 sparse representation formulation은 다음과 같다.
$$
L(w_c)=||p-G_cw_c||_2^2-\alpha^TG_cw_c+\beta||w_c||_1
$$
$\alpha$ 와 $\beta$는 각각 similarity-guided constraint 와 sparsity constraint을 나타낸다.
그 후에, $w_c$를 최적화 하기위해서 다음과 같이 변형한다.
$$
L(w_c)=\frac{1}{2}w_c^TG_c^Tw_c-(1+\frac{\alpha}{2})p^TG_cW_c+\frac{\beta}{2}||w_c||_1.
$$
$w_c$를 구하기 위해서 feature-sign search algorithm [14][14]를 사용하는데, $w_c$에서 Non-zero 값은 선택된 sub-feature vectors이다.
그리고 dynamic matching method를 적용해 probe와의 유사도를 검증한다.
$$
\underset{c}{min}\ r_c(p)=||p-G_cw_c||_2-\alpha^TG_cw_c.
$$
위의 수식은 reconstruction error와 weighted matching scores을 퓨전 합 한 것이다.

새로운 probe를 증명해야할 때, gallery feature map들을 다른 크기의 probe 이미지에 따라서 재분해한다. 따라서, gallery를 동적으로 사용할 수 있다. 또한, FCN의 몇며 layer들은 매우 효과적으로 output feature map 크기를 줄이기 때문에 효율성도 좋다.
논문에서는 probe의 크기가 $5\times5$이라면, $g_c$의 크기는 $7\times 7$이 되고, stride는 1 그리고 decomposition operation 인 $k=9$로 설정하면 된다고 한다.
DFM은 빠르게 feature를 뽑아낼 수 있으며, alignment-free method이며 다양한 크기의 probe로 부터 face recognition이 가능하다고 한다.

3.3 Sliding Loss

식 2에서는 FCN의 파라미터들은 고정되어있다. 따라서, 계수 $w_c$와 convolution parameters 인 $\theta$를 학습하기위해 Sliding Loss를 사용한다. 해당 Loss는 식 2를 최소화함으로써 나오는 deep feature들의 구분성을 계선하는데 사용한다.
$$
L(w_c,\theta)=y_c(||p-G_cw_c||^2_2-\alpha p^TG_cw_c)+\beta||w_c||_1.
$$
여기서 $y_c$가 1이면 $p$와 $G_c$는 같은 identity를 가지고 있는 것이며, $||p-GW||_2^2-\alpha p^TG_cw_c$를 최소화 하는 것이다. $y_c$가 -1이면 $p$와 $G_c$는 다른 identity를 가지고 있는 것이며, $-||p-GW||_2^2-\alpha p^TG_cw_c$를 최소화 하는 것이다.

3.4 Optimization.

처음에 $w_c$을 최적화하고 그 뒤에 $\theta$를 최적화 한다.
Step 1: fix $\theta$, optimize $w_c$.
reconstruction coefficients인 $w_c$를 feature-sign search algorithm을 사용해 학습시키는 것이다.
식 5를 변경한 것이다.
$$
L(w_c)=\frac{1}{2}y_cw_c^TG_c^TG_cw_c-y_c(1+\frac{\alpha}{2})p^TG_cw_c+\frac{\beta}{2}||w_c||_1,
$$

Step 2: fix $w_c$, optimize $\theta$.
FCN을 update 하면서 discrimintative feature들을 얻을 수 있다. $||p-G_cw_c||^2_2$는 $p$가 선택된 모든 sub-feature map 과의 근접함을 알 수 있다. $\alpha^TG_cw_c$는 p와 각 sub-feature map과의 거리를 줄여주는 것을 목표로 한다.
위의 2개 개념은 deep feature들의 구별성을 증가시켜 준다. 따라서, $p$와 $G_c$로 $L(\theta)$를 미분 하면
$$
\begin{cases}
& \frac{\partial L(\theta)}{\partial p}=2(p-G_cw_c)-\alpha G_cw_c \newline
& \frac{\partial L(\theta)}{\partial G_c}=-2(p-G_cw_c)w_c^T - \alpha w_c^T.
\end{cases}\
$$
$p$와 $G_c$는 같은 FCN 파라미터 $\theta$를 공유한다. 그림 3과 같이 연쇄적으로 구해진다. 그 후에 SGD로 FCN이 학습이 된다. 학습 알고리즘은 Alogorithm 1에서 볼 수 있다

본 논문에서는 통합된 프레임워크를 설명했으며, softmax loss와 비교해서 전체 얼굴에서 임의의 얼굴 이미지 사이 거리 정보를 더 잘 표현할 수 있다고 한다.

4.Experiments

Network Architecture.: VGGFace에서 non-convolutional layers들을 다 제거하고 13층의 convolutional layers을 사용하였다. 마지막 pooling layer은 feature extractor이다. 표 1에서 전체 구조를 확인 할 수 있다.

Training and testing. : 그림 4를 보면 전체적인 구조를 볼 수있다.

  • 16GB RAM, i7-4770 CPU @ 3.40GHz 장비를 사용함.
  • CASIA-WebFace dataset에서 FCN과 sliding loss를 사용함.
  • 각 랜덤 사이즈의 얼굴 이미지와 5개의 전체 얼굴 사진이 1그룹으로 2000개의 그룹이 존재한다.
  • batch는 20 $10^{-4}$의 learning rate, $\alpha=0.6, \beta=0.4$

test를 진행 할 대는, probe와 gallery를 1가지 셋으로 사용하였다. FCN으로 특징을 추출하고 식 3과 식 7을 통해 얼굴인식을 진행하였다.

Evaluation Protocol: 제한한 방법의 성능 평과를 위해 Cumulative Match Characteristic (CMC) curve 실험과 Receiver Operationg Characterisitc (ROC) curve 실험을 진행하였다.

Databases and Settings.

  • 학습에 partial-LFW를 사용하였다. LFW는 7,749명의 13,233 이미지가 포함되어 있는데, 많은 장애요소 (조명, 방해물, 각도 등)이 있따. 따라서, gallery face image는 $224\times224$로 재조정하고 probe는 전체 얼굴 이미지에서 랜덤으로 잘라서 사용한다.
  • evaluation에는 partial-YTF를 사용하였다. YTF는 1595명의 3,424개의 비디오들이 포함되어있다. gallery는 200명에 대한 200개의 얼굴 이미지로 사용했으며, probe는 임의의 크기로 전체 얼굴에서 잘라서 사용한다.
  • CASIA-NIR-Distance dataset 또한 evaluation에 사용한다. partial face image인 동시에 여러 각도와 크기 그리고 빛 상태를 가진다. 그림 5에서 확인 할 수 있다.

4.2 Experiment on LFW

4.2.1 Comparison to the State-of-the-Art

SOTA 비교를 위해 4개의 SOTA와 비교를 했다.

  • Multi-Scale Region-based CNN (MR-CNN) 10, MKDSRC-GTP 43, I2C 11 그리고 probe를 $224 \times 224$로 re-scaling한 VGGFace 이다. 본 논문에서 DFM은 $\alpha=2.1$ and $\beta=0.1$ 이다.
    표 2를 보면 DFM의 성능을 볼 수 있다. keypoint 기반의 알고리즘은, no robust하기 때문에 적절하지 않고, MR-CNN의 경우 alignment가 필요하며 CNN을 사용하지만 들인 시간만큼 성능이 나오지 않는다. 특히, 전통적인 방법으로는 임의의 크기를 가지는 얼굴 이미지들을 고정된 이미지로 조정해야한다.
    $224 \times 224$ VGGFace는 DFM보다 성능이 낮은데, 크기를 바꾸면서, 불필요한 기하학적 변형이 일어나기 때문이다. DFM은 변형없이 공간 정보를 유지한다.

    4.2.2 Face verification on LFW
  • Face verification은 얼굴 이미지 짝으로 부터 같은 사람인지 아닌지 확인하는 기술이다. 본 논문에서는 LFW의 test protocol을 사용했다. 데이터셋을 cross-validation으로 10개의 subset으로나누고 각 subset은 300개의 진짜/가짜를 이룬다. 부분 얼굴 이미지를 위해 임의의 크기로 랜덤하게 자른다.

그림6은 다양한 PFR 알고리즘에 대한 ROC curve를 나타낸다. DFM은 다른 알고리즘에 비해 제일 좋은 성능을 보이며, 0.19ㅊ초라는 획기적인 속도를 보여준다.

4.2.3 Evaluation on holistic face images and mixed partial and holistic face images

LFW에 대해 추가적인 실험을 진행햇는데, 총 3가지 그룹으로 나눠서 했다.

  1. Probe-1: 1000개의 전체 얼굴 이미지
  2. Probe-2: 500개의 전체 얼굴 이미지와 500개의 부분 얼굴 이미지
  3. Probe-3: 1000개의 부분 얼굴 이미지

표 3에서 결과를 보여주고 있다.

4.2.4 Influence of the cropped region size and the area


그림 7은 다른 크기의 얼굴 이미지에 따른 결과를 나타낸다.


그림 8은 어굴이미지의 다른 영역의 예제를 보여준다.


표 4는 그림 8의 예제를 가지고 실험한 결과를 보여준다.

위의 결과가 나오는 것은 당연하다. 잘라진 이미지는 더 적은 공간 정보를 갖고 있기 때문이다. 하지만, 눈 위로의 정보를 가질 경우, identification에 있어 좋은 성능을 보인다.

4.2.5 Parameter Analysis

similarity-guided constraint 인 $\alpha$와 sparsity constraint 인 $\beta$에 대한 실험도 진행했다. $\alpha$의 경우 0에서 4.2까지 0.3만큼 조절 했으며, $\beta$의 경우 0.1에서 1까지 0.1씩 조절했다. 그림 9는 DFM에 대한 $\alpha$와 $\beta$의 영향을 보여주면 best 는 $\alpha=2.1$과 $\beta=0.1$이다.

4.3 Partial Face Recognition on CASIA-NIR-Distance and Partial-YTF

CASIA-NIR-Distance와 Partial-YTF에 대한 성능 비교를 실험하였다. DFM, MKDSRC-GTP, RPSM, I2C, VGGFace 그리고 FaceNet에 대한 비교이다. 밑의 표 5를 보면 확인할 수 있다.

1) key-point 기반의 알고리즘은 부분 얼굴 인식에서 robust하지 못하기 떄문에 성능일 떨어지는 것으로 보인다.
2) VGGFace의 경우 고정 이미지로 변환하는 과정에 변형이 일어나 성능이 내려가는 것으로 보인다.

5. Conclusion

FCN은 모호한 입력사이즈로 부터 계산량 공유를 통해 부분적인 featur들을 생산한다. 또한 SRC를 사용해 alignment-free matching을 가능하게 했으며 FCN이 만든 feature를 잘 구별하는 DFM에 근거한 sliding loss를 제안했다.

+ Recent posts