不服來戰。
來源:機器之心(ID:almosthuman2014)編譯
自 2018 年 12 月英偉達推出 StyleGAN 以來,合成人臉已經讓人難以輕易分辨。特別是今年年初,英偉達開源了 StyleGAN 的程式碼,大量真假難辨的人臉被開發者「創造」出來。
近日,有開發者建立了一個網站,讓玩家分辨哪張人臉是真實的。如下圖所示,開啟網站地址,就可以直接玩遊戲,選擇自己認為的真實人臉。
網站地址:
http://www.whichfaceisreal.com/index.php
下麵的這些圖你能分辨真假嗎?
▼
▼
▼
在未看「攻略」之前,小編依靠本能選擇,結果前五輪測試全部錯誤(這運氣也是槓槓的)。但 AI 大牛 Yann LeCun 有妙招。Yann LeCun 在 Twitter 上「傲嬌地」表示,他嘗試了一些測試,全部選擇正確。如果你瞭解當前的生成模型,就發現影象中的一些明顯訊號。
其實仔細總結,我們還是會發現生成影象在細節上有些「痕跡」,而這些「痕跡」就是判別的指南。說不定以後的 GAN能解決掉這些細節,讓生成影象真正「欺騙」人類。
01 真假臉怎麼做?
在去年的 12 月中,英偉達釋出了一種新型 StyleGAN,它生成的影象極其逼真,如果只看假圖的話基本上都不能確定是不是真的。StyleGAN 的生成器架構借鑒了風格遷移研究,可對高階屬性(如姿勢、身份)進行自動學習和無監督分割,且生成影象還具備隨機變化(如雀斑、頭髮)。
在 2019 年 2 月份,英偉達釋出了 StyleGAN 的開原始碼,我們可以利用它生成真實的影象。在預設情況下,SyleGAN 訓練 1024×1024 解析度的圖片需要使用 8 塊 GPU 訓練接近一個星期,英偉達研究者在說明檔案中勸告所有使用者:使用較少 GPU 可能無法達到最佳效果。
StyleGAN 官方開源地址:
https://github.com/NVlabs/stylegan
▲StyleGAN 合成的逼真人臉影象,圖源 Kerras et al. (2018)
除了生成對抗網路的程式碼外,英偉達還提供了大量預訓練模型,包括室內、汽車和人臉等,我們可以藉助它繞過漫長的訓練過程。
對於這個網站所生成的人臉,英偉達提供的預訓練模型是在兩個大型人臉影象資料集上訓練的,即 CELEBA-HQ 和 FFHQ。其中 CELEBA-HQ 提供數以千計的名人人臉,而 FFHQ 包含釋出到 Flickr 的 7 萬多張人臉影象。
▲Flickr FFHQ 資料集上的真實人臉影象,它們會用來訓練演演算法,影象來自 FFHQ 資料集
在這個網站中,作者每次展示一對人臉影象。其中真實人臉選自 FFHQ 資料集,合成人臉由 StyleGAN 系統生成。這些合成人臉影象同樣展示在網站 thispersondoesnotexist.com 中,該網站每 2 秒展示一張由 StyleGAN 生成的偽造人臉。(參見:可怕!此人不存在!這些臉全部是AI生成的)
02 真假臉怎麼辯?
儘管 StyleGAN 非常出色,且只看合成人臉很難相信它們都是偽造的,但是 StyleGAN 同樣也會留下一些偽造的痕跡,很多痕跡甚至是生成影象的共性。這些「痕跡」因影象而異,並不是每一張影象都有,也不是所有痕跡都比較明顯。
但是瞭解這些技巧後,我們就能快速區分真假人臉,並達到很高的準確率。
1. 水斑
我們並不確定以後的 GAN 是否也會出現這個問題,但是當前 StyleGAN 的一個顯著特點是:它有時會產生一些閃亮的斑點,這些斑點看起來有點像舊照片上的水斑。
這個特徵很容易幫助我們將其判斷為生成影象,不過斑點可能會出現在影象的任何地方,且在頭髮和背景的交界處出現的頻率比較高。
2. 背景問題
另一個判斷依據是出現在影象背景裡的各種錯誤,因為背景可能包含豐富的語意資訊,只要語意資訊不連貫,我們就能斷定它是假的。
神經網路主要用來訓練生成面部,它對背景環境的註意力並沒有那麼多。在最糟的情況下,可能生成的影象如下第一張所示,旁邊的人非常奇怪。當然也可能如第二張生成一些混亂的形狀或立方體,如第三張生成完全不合理的背景。
3. 眼鏡
到目前為止,生成對抗網路很難生成逼真的眼鏡。一個常見的問題是生成的眼鏡不對稱,我們只要看看眼鏡的框架結構就能識別出來。很可能左邊的框架會採用一種風格,而右邊的框架又採用另一種風格;也可能框架的邊框產生扭曲或出現鋸齒。
4. 其他不對稱
總的來說,對稱是人臉生成演演算法面臨的一大挑戰。除了不對稱的眼鏡之外,還要註意左右兩邊臉毛、耳朵、首飾及衣物的不對稱。StyleGAN 表示:我容易麼我……
5. 頭髮
頭髮很難渲染地很逼真。有時臉上或其他部位會有不連貫的頭髮(如下麵第一張圖所示)。還有些時候頭髮可能會太直、有條紋,正如 Kyle McDonald 所說的,「就像有人用調色刀或一把大刷子弄髒了一塊丙烯酸顏料。」如下圖中間的圖所示。有時頭髮周圍會有奇怪的光暈(如下麵第三張圖所示)。
Kyle McDonald 識別生成影象的經驗:
https://medium.com/@kcimc/how-to-recognize-fake-ai-generated-images-4d1f6f9a2842
6. 熒光滲透
一種有趣的現象是,假照片背景裡的熒光色彩有時會從背景流到頭髮或臉上。
7. 牙齒
牙齒不容易渲染,假照片裡的牙齒通常很奇怪或不對稱。一些照片裡的人甚至有三顆門牙(如下麵最後一張圖所示)。
8. 照片為真的標誌
上面介紹瞭如何識別假照片,我們已經知道神經網路難以生成什麼事物。如果遇見渲染準確、各方面都做得很好的照片,你就可以很自信地說那是一張真照片。
這些方麵包括對稱的眼鏡和耳環(下圖第一張)、旁邊有真實無誤的同伴(下圖第二張)以及充滿細節的背景,尤其是旁邊還有可以閱讀的文字(下圖第三張)。
9. 高招
在實際生活中,其實我們可以用一記妙招來可靠地辨別網際網路上生成的人是否為真人。方法很簡單:StyleGAN 演演算法不能生成同一個「假人」的多張影象。截至目前,我們還沒聽說過有哪一款軟體可以生成同一個假人多個角度的人像。
因此,如果你想確定你在社交網路上的夢中情人是真人,那就跟他多要幾張照片。如果他能給出一張大頭照和其他照片,那他就是真人。當然,給你發資訊的人未必是照片裡的人,但照片裡的人一定是真人。
軟體總有一天會升級,但現在來看,多張照片仍然是證明真實性的有力證據。