---
# System prepended metadata

title: CVPR2020 人臉防偽挑戰賽
tags: [Human Face]

---

---
tags: Human Face
---
# CVPR2020 人臉防偽挑戰賽
## 目的
保護人臉檢測免受惡意攻擊，在人臉進行識別之前先`判斷攝像頭前方的是否為一個真實的人臉`
> 可能會拿2D圖片或是3D雕塑來欺騙攝像頭

## DataSet
有 RGB、Depth、IR 三種圖片格式
![](https://i.imgur.com/JFsm4dh.png)

## 單通道冠軍 - VisionLabs
- 美國情報局公認人臉識別技術世界第一
- 提出了創建`人工特徵`用於RGB活體檢測的方法，其構造了一個簡單的`SimpleNet`用於提取特徵，並在大型的跨種族人臉反欺詐數據集CASIA-SURF-CeFA (RGB)上取得了SOTA。

### 起源
訓練集和測試集間的數據分佈都存在較大差距（兩個資料集的人臉是不同種族），所以作者認為應該採用人工模式處理後的特徵來代替RGB圖像驅動算法。

### 光流法 Optical flow modality
從一個圖像系列裡提取`兩對`圖像的光流特徵
1. 在一個圖像序列裡取`第一幀`和`最後一幀`
2. 在一個圖像序列裡取`前兩幀`
> 如果是活體的話，由於是在不同時間提取的人臉圖像，其光流是存在變化的。

#### HORN-SCHUNCK (HS) Method 
Brightness constancy assumption (BCA): 
$$
I(x,y,t) = I(x+u, y+v, t+1)
$$

Taylor series of BCA equation:
Linearizing by applying a first-order Taylor expansion to the right-hand side yields the approximation:
$$
I(x,y,t) = I(x,y,t) + u \frac{\partial I}{\partial x} + v \frac{\partial I}{\partial y} + 1 \frac{\partial I}{\partial t}
$$
which simplifies to the Optical Flow Constraint equation:
$$
u \frac{\partial I}{\partial x} + v \frac{\partial I}{\partial y} = -\frac{\partial I}{\partial t}
$$
As a result, 
\begin{align*}
\nabla I \cdot  \begin{bmatrix}
u \\ v
\end{bmatrix}
= -\frac{\partial I}{\partial t}
\end{align*}
Both Brightness Constancy and the Optical Flow constraint equation provide just one constraint on the two unknowns at each pixel. Impossing SMOOTHNESS
$$
\left( \frac{\partial u}{\partial x} \right)^2 + \left( \frac{\partial u}{\partial y} \right)^2 + \left( \frac{\partial v}{\partial x} \right)^2 + \left( \frac{\partial v}{\partial y} \right)^2
$$
should be small. Thus, HS method equals to minimize 
\begin{align*}
&\sum_{(x,y)} \left( u \frac{\partial I}{\partial x} + v \frac{\partial I}{\partial y} + \frac{\partial I}{\partial t} \right)^2 + \lambda \left\{ \left( \frac{\partial u}{\partial x} \right)^2 + \left( \frac{\partial u}{\partial y} \right)^2 + \left( \frac{\partial v}{\partial x} \right)^2 + \left( \frac{\partial v}{\partial y} \right)^2 \right\} \\
&\sum_{(x,y)} E_{data} (u,v) + \lambda E_{Smooth} (u,v)
\end{align*}

> 短暫時間內的移動，亮度不會大幅改變且梯度不可能太高（步伐小）

### 幀排序法 Rank pooling modality
$$
g(v_t;u)\longmapsto t\\
u^*=\text{arg}_u\text{min}\sum_t|t-u^T \cdot v_t |.
$$

#### SVR
![](https://i.imgur.com/0OmUsnE.png)
> C 為懲罰係數(有多重視離群點)

![](https://i.imgur.com/tr2j0TP.png)

> C 越小越保留原圖更多訊息（表示我們不再關注分類是否正確，只要求margin越大）

### SimpleNet
![](https://i.imgur.com/HhDRixx.png)

### Pipeline
![](https://i.imgur.com/c9nEMyB.png)


## 問題
立晟
- 第 3 篇可以再說明一下 rank pooling 的做法嗎？只知道可以透過 C 的大小去決定要保留多少原圖資訊 (後，你怎麼不問你那篇的啦) 

杰恩
- 在第 3 篇的 3.2 (sequence augmentation) 有說他的 augmentation 會產生出新的 track，而且新的 tracks 比較像 painted fakes 而非 replay data，想知道是什麼原因 

Ann
- 第三篇: opticalflow是怎麼取光流的？ 為什麼是取16個uniformly images from track

昊中
- 第 3 篇的Optical Flow會不會因不同的Attack方法效果有所差異?
(例如像是透過播放一小段人臉變化的Video Attack方式也會有光流變化。)
被CVPR2020 oral接受的[這篇 Paper](https://arxiv.org/abs/2003.08061)也是在探討Anti-spoofing，雖然實驗資料集不一樣，但Performance也很不錯，研究上或許可以參考參考。)

信賢
- 對於sequence augmentation不太了解運作細節。