果然是GAN生成的!華人團隊利用瞳孔形狀判斷「真假」人像
定「睛」一看,就能區分照片真假?近日,來自紐約州立大學的華人研究員提出了一種全新的檢測方法,可以根據眼睛形狀判斷人像的真假。不過,前提是你能把圖放得了這么大才行。
現在,利用GAN生成的人臉幾乎真實到讓「肉眼」檢測都達到了瓶頸。
比如說,
https://thispersondoesnotexist.com/,在這上每刷新一次都會生成一幅讓你真假難辨的人臉。
不過,既然這些人臉是基于深度學習生成的,那我們就用魔法去打敗魔法!
真實的人像(左),GAN生成的人像(右)
最近的研究表明,基于深度學習模型的檢測方法確實可以提供了不少可行的方案。
然而,這些方法通常面臨兩個挑戰:
- 檢測結果缺乏可解釋性;
- 由于過擬合導致在不同的合成方法中,泛化的穩健性很低。
為了消除這些限制并探索一個更穩健的模型,來自紐約州立大學奧爾巴尼和布法羅分校的華人研究員提出了一種全新的方法,通過不規則的瞳孔形狀檢測出GAN生成的人臉。

論文地址:https://arxiv.org/pdf/2109.00162.pdf
結果表明,從兩只眼睛中提取瞳孔并分析它們的形狀,可以有效區分GAN生成的人臉和真實的人像照片。

真實的人眼(左4),GAN生成的人眼(右4)
論文的主要貢獻有三個方面:
- 發現不規則的瞳孔形狀廣泛存在于高質量的StyleGAN生成的人臉中,這與真實的人類瞳孔不同。
- 提出了一種新的基于生理學的方法,可以使用不規則的瞳孔形狀作為檢測GAN生成的人臉的依據,并且簡單而有效。
- 提出的方法不僅可以用于設計自動檢測方法,而且也給利用「肉眼」區分GAN生成的人臉提供了一個新的線索。
眼睛不會騙人
作者從人眼的主要解剖部位著手進行研究,眼睛的中心是虹膜和瞳孔,而白色區域是鞏膜。

對于一個普遍意義上健全的人來說,瞳孔的形狀是近乎圓形的。然而,在GAN生成的眼睛部分,可以觀察到明顯的偽影和不一致,如瞳孔的邊界不是橢圓形的。
人眼的解剖結構

真實的眼睛(左),瞳孔為明顯的圓形或橢圓形(黃色);GAN生成的眼睛(右),瞳孔為不規則的形狀(紅色)
這種現象普遍存在于GAN生成的人臉上,其中一個根本原因是,目前的GAN模型缺乏對人眼解剖學的理解,特別是瞳孔的幾何形狀。
方法實現
作者利用模型對兩只眼睛的瞳孔進行自動提取,并在之后評估這些瞳孔的形狀是否為橢圓形。
1. 瞳孔分割和邊界檢測
首先通過人臉檢測器來定位人臉,然后用提取器獲得人臉的landmark。
在對兩只眼睛對應的區域進行適當裁剪之后,使用EyeCool提取瞳孔的掩碼及其邊界。

(a)輸入的高分辨率人臉圖像;(b)裁剪的眼睛圖像;(c)圖像(b)的預測瞳孔掩碼;(d)對(c)進行橢圓擬合后的瞳孔掩碼
EyeCool是一個改進的基于U-Net的模型,可以同時對瞳孔和虹膜、內部和外部邊界進行分割。
其中EfficientNet-B5被用作編碼器,并在解碼器中添加了一個邊界注意塊,以提高模型關注物體邊界的能力。
此外,Dice損失和MSE損失都被用來訓練模型,其中Dice損失被用來評估分割部分,MSE被用來計算邊界熱圖的回歸損失。
2. 橢圓擬合的瞳孔
利用基于最小平方的橢圓擬合方法可用于預測瞳孔掩碼的外部邊界,以估計橢圓擬合的瞳孔邊界。
u為預測的瞳孔掩碼的外邊界上的點的坐標,利用最小二乘法找到一組參數θ,使數據點和橢圓之間的距離測量最小:

并通過最小化N個數據點上的代數距離平方之和來確定橢圓的大小:

3. 測量不規則瞳孔的形狀
Boundary IoU(BIoU)可以用來對邊界質量敏感的圖像分割。
相比于平等對待所有像素的Mask IoU,BIoU計算的是預測和基準真相之間的邊界輪廓在一定距離內掩碼像素的IoU。
因此,作者使用BIoU來評估距離瞳孔外邊界d像素范圍內的瞳孔掩碼像素。
其中P表示預測的瞳孔掩碼,F表示橢圓的瞳孔掩碼,參數d是距離邊界的距離,控制測量對邊界的敏感性。

左:預測的瞳孔掩碼P和橢圓的瞳孔掩碼F;
中:Pd和Fd是距離邊界d以內的掩碼像素(藍色和黃色);
右:預測的瞳孔掩碼和橢圓修正的瞳孔掩碼的距離參數d之間的邊界IoU計算。
此外,當把d放大到足以包括掩碼內的所有像素時,BIoU就等于掩碼IoU。為了使BIoU對邊界質量更加敏感,可以減少參數d以忽略掩碼內部像素。
預測的瞳孔掩碼和橢圓的瞳孔掩碼之間的BIoU得分的范圍是[0, 1],較大的值表明瞳孔的邊界與橢圓的形狀更相似,那么人臉也更可能是真實的;否則就是用GAN模型生成的。
結果分析
數據集
真實人臉圖像來自FlickrFaces-HQ(FFHQ)數據集,GAN生成的人臉由StyleGAN2創建。每個類別有1000張圖像,分辨率為1024×1024。
結果
真實的人的瞳孔是清晰的橢圓形,這可以從預測的瞳孔掩碼和橢圓的瞳孔掩碼之間較高的BIoU分數中反映出來。然而,不規則瞳孔形狀的偽影導致BIoU得分明顯降低。

真實的人眼

GAN生成的人眼
此外,真實的人臉和GAN生成的人臉在BIoU得分的分布上有明顯的區別。

真實的人臉和GAN生成的人臉在邊界IoU上得分的分布情況
接收者操作特征(ROC)曲線,對應的AUC(ROC曲線下的面積)為0.94。

ROC曲線是基于邊界IoU的得分,d=4
由此表明,不規則的瞳孔形狀能有效地識別GAN生成的人臉,并用來與真實的人臉進行區分。
超參數分析
BIoU測量法有一個基本參數d,它表示與邊界的距離。當d足夠大時,BIoU將減少到Mask IoU,從而對邊界不那么敏感,這就是為什么AUC分數隨著d的增加而減少。

x軸表示超參數d的變化,y軸為AUC得分
局限性
1. 當真實面孔的形狀為非橢圓形時,可能會出現假陽性。例如瞳孔和虹膜區域的疾病。

由于瞳孔和虹膜區域的疾病和感染,導致的非橢圓形異常瞳孔
2. 瞳孔上的遮擋或瞳孔分割失敗也可能導致錯誤的預測。

遮擋和瞳孔周圍的噪聲以及瞳孔分割失敗
整體而言,論文提出利用瞳孔進行區分的方法是非常有效的。
不過,前提是圖像的分辨率足夠高……