【論文導讀】用一副眼鏡欺騙人臉識別系統

1、Introduction

今天要向大家介紹一篇最近讀到的很有意思的文章——《Accessorize to a Crime: Real and Stealthy Attacks on State-of-the-Art Face Recognition》,是CMU的的幾個人做的,主要想法是用優化的方法對人臉識別系統進行惡意攻擊,原文鏈接在此。

本文主要討論對人臉識別系統的攻擊,這裡所說的攻擊必須符合兩個標準:Inconspicuousness and Physical Realizability。前者是說實施的攻擊不能引起他人的懷疑,也就是說在場的其他人不能注意到你在攻擊這個人臉識別系統。像電影中搶劫銀行的劫匪那樣,就不在我們討論的範圍內。如果一種攻擊的方法Inconspicuous,那麼即使日後被指控,也有充足的理由否認攻擊行為從而洗脫罪名。後者說的是這種攻擊的方法在物理上是易於實現的,由於我們一般來說不能干涉系統輸入圖像的像素層面,故只能在自己的外觀上下功夫,也就是說,攻擊人臉識別系統這件事兒主要還是「看臉」。

文中討論的攻擊目的分為兩類:Impersonation and Dodging。 Impersonation指的是讓人臉識別系統誤把攻擊者識別成特定的某個人 ,而Dodging指的是識別成任何其他人,只要不識別成攻擊者本人即可。此外,根據攻擊者對系統的了解程度,還可以分為白箱(White-box)模型和黑箱模型(Black-box) ,這從字面上意思理解即可,白箱指的是攻擊者對人臉識別系統內部參數、演算法了如指掌,而黑箱模型恰恰相反。一般來說,攻擊者對系統的了解很難達到白箱模型這樣的程度,但是作者指出,利用粒子群優化演算法(PSO),可以像攻擊白箱模型一樣去攻擊黑箱模型。不過,這篇導讀僅僅涉及白箱模型部分。

2、Formulation

作者解決這一問題的巧妙之處就在於將其轉化為數學表達式的方法。在分類任務中,我們時常用softmax loss 去衡量準確率。假設輸入x屬於類別c_x,輸出的概率向量為f(x),則有

softmaxloss(f(x),c_x)=-log(frac{e^{<h_{c_x},f(x)>}}{sum_{c=1}^{N}e^{<h_{c},f(x)>}})

式中,h_c叫做one-hot vector,數學上也經常叫作示性向量(Indicator),它只在第c個位置取1,其餘取0 。這個loss越大,說明分類的準確率越低,越小則說明分類的準確度高。具體為何softmax具有這樣的形式,可以有好幾種觀點來看,但都不在本文的討論範圍之內( 欲知詳情者,請參考周志華《機器學習》)。

從這一觀點出發,所謂的Impersonation問題,可以用softmax loss去數學化。假設攻擊者希望人臉識別系統將其識別為c_tr是攻擊者進行的「攻擊」,則有如下優化問題:

arg min_r softmaxloss(f(x+r),c_t)

類似地,Dodging問題可以轉化為:

arg min (- softmaxloss(f(x),c_{x}))

有了如上的優化問題,要如何去求解呢?作者在文章中提出可以用梯度下降法。雖然梯度下降法時常找到局部極值,但是往往這個極值在實際應用中也足夠了。注意,這裡之所以可以用梯度下降法,是因為我們考慮的是白箱模型,即知道演算法細節和參數。黑箱模型時此處應有變化。

3、Physical Realizability

如果僅僅求解如上優化問題,得到的結果並不能令人滿意,因為本文要討論的是Physical Realizable的攻擊方法。通過如上優化問題求解出來的r,如果真的要實現的話需要對系統輸入進行像素層面的操作(如下圖),這顯然是不可行的。因此,還需要加入別的約束項。

首先,作者提出應當將攻擊限定在一副眼鏡的範圍內,這既是可操作的,在攻擊時也不容易引起他人的懷疑。這樣,求解優化問題得到的攻擊事實上就是眼睛框架上的紋理,這種簡單的紋理通過彩色印表機即可生成,因此確實是易於實現的。作者採用的眼鏡模型在224*224的輸入圖像中大約能佔到6.5%的像素點,也就是說在求解優化問題時,必須將rne 0的範圍限定在這些像素點內。眼鏡模型如下:

除此之外,找到的攻擊模式應當與具體照片的選擇無關。在上述優化問題中,攻擊者的照片x僅僅出現一次,表示他的一張特定的照片。但是實際去攻擊的時候,並不能保證人臉識別系統的輸入是攻擊者的哪張照片,所以得到的攻擊模式必須要用泛化能力。假設攻擊者有一堆照片X,優化問題可以改進為

argmin_rsum_{xin X}softmaxloss(f(x+r),l)

為了更好地實現Inconspicuousness,生成的攻擊模式應該具有較好的平滑性,也就是說眼鏡框架上的紋理不能太雜亂無章,否則就會引起他人的懷疑,也不容易被相機精準地捕捉到。這裡的約束是圖像處理中常見的全變差約束:

TV(r)=sum_{i,j}((r_{i,j}-r_{i+1,j})^2+(r_{i,j}-r_{i,j+1})^2)^{1/2}

最後,作者為了貫徹落實Physical Realizability這一方針,還考慮了列印誤差。彩色印表機能輸出的色彩是很有限的,得到的攻擊模式r可能包含很多印表機打不出來的色彩,這就很尷尬。因此,作者定義了一個數值NPS(non-printability score)來衡量這一誤差,具體的定義為

NPS(tilde{p} )=prod_{pin P}|tilde{p}-p|

式中P表示所有印表機能打出來的顏色,tilde{p}表示要列印的顏色。

綜合上述所有考慮,最終得到的優化問題就是

argmin_r((sum_{xin X}softmaxloss(f(x+r),l)+lambda_1 TV(r)+lambda_2 NPS(r))

4、Results

Dodging:文章的兩位作者戴上如上述方法生成的眼鏡之後,人臉識別系統就認不出啦

Impersonation:下圖中上面一行是三位作者,下面一行表示他們想要讓人臉識別系統識別成的特定對象,這三次攻擊全都成功了。

什麼,你說看圖不能讓你信服?那我們來看錶格吧!


推薦閱讀:

[行為檢測] CDC-Convolutional-De-Convolutional Networks for Precise Temporal Action Localization
最好用的 AI 開源數據集(涵蓋計算機視覺、NLP、語音等 6 大類)
Batch normalization和Instance normalization的對比?
有哪些好看的CNN模型畫法?
如何比較PixelCNN與DCGAN兩種Image generation方法?

TAG:人脸识别 | 计算机视觉 | 机器学习 |