Paper Note: TPAMI 2018 NbNet

當前挑戰

人臉識別系統的安全性問題

人臉識別系統可能會遇到一些安全性漏洞,常見的攻擊方式有兩種:(1)讓感測器讀到假的臉(藍線),如使用印出來的照片、戴上仿真面具或是使用replay attack,(2)使用模板資料庫內的資料,將重建的面部圖像直接注入到feature extractor(紅線)

作者將聚焦在討論第二類攻擊方式,也就是試圖使用template database的資料來重建偽造圖像。這樣的攻擊是奠基在:
  1. 人臉識別的SDK大部分都存儲沒有保護的模板
  2. 這是因為人臉識別的模板,並不能像傳統密碼一樣以hash值的方式保存在資料庫。
  3. 背後的原因是feature extractor的輸出不可能和目標模板完全一模一樣,需要一定的誤差容忍度。

模板重建攻擊的框架

攻擊者的目標

攻擊者的目標是用偽造的資料,冒充人臉識別系統中的特定目標,從而損害系統的完整性。

攻擊者的資訊

攻擊者需要有以下兩個資訊:
  1. \(y_t\),目標模板 (target template),從資料庫外洩或內部攻擊等方式取得。
  2. \(y=\hat{f}(x)\),人臉識別系統的模型 (black-box feature extractor),通常購買系統的SDK就能直接取得了。
除了這些之外,攻擊者對目標的人臉圖片相關資訊註冊環境等,一概不知

攻擊者的能力

  1. 本篇只討論攻擊者使用偽造圖片對模型直接攻擊,不需要攻擊者製作相片、面具等實體物去攻擊感測器。
  2. 攻擊者可以自由挑選想要攻擊的模板,但無法取得回傳的相似度分數。
  3. 對於單一目標,嘗試的次數有限,例如:小於5次。

攻擊者的策略

攻擊者取得目標模板\(y_t\)之後,可以使用重建模型\(g_\theta(\cdot)\),透過\(x_t=g_\theta(y_t)\)來回推人臉圖片\(x_t\)。 並且,重建函數的參數\(\theta\)必須是能用公開資料集就能訓練得出來的。

主要貢獻

模型架構

(a) 重建的過程,其中使用的De-convolution Block有b, c, d三種類型。

(b) 典型的反捲積層,這裡的DconvOp是指de-convolution layer + batch normalization + ReLU。

(c) 作者提出的 block A,DconvOp的結果會通過多個ConvOP,其結構和DconvOP基本相同。DconvOp和各個ConvOP的output會channel-wise的接在一起輸出給下一個block。

(d) 作者也提出了參考DenseNet的block B,和block A差在前面的層的output會加在後面的層的input。

損失函數

作者使用的 loss function有兩種(沒有同時使用):

  1. Pixel difference (MAE): 輸入圖片\(x\)與重建圖片\(x’\)的差異,也就是:\(L_{pixel}=\sum^M_{m=1}(|x_m-x’_m|)\)
  2. Perceptual loss: 除了在image space的相似度,我們更重視實用價值,也就是在feature space上的相似度更為重要。因此這裡作者經過實驗後決定使用VGG-19的ReLU3-2作為feature space 相似度的參考。若\(F(\cdot)\)為的輸出,則loss function:\(L_{percept}=\frac{1}{2}||F(x)-F(x’)||^2_2\)。

訓練資料

作者使用VGG-Face作為訓練資料,由於data數量還不夠,因此又用DCGAN生了新的train data。

實驗結果

架構: Block A < Block B (大部分)
損失函數: Perceptual > MAE
有一定的能力跨到pretrain dataset 以外的dataset