轉載從: Tech News 科技新報
當人們研究人工智慧生成和檢測圖像的方式時,都需要確定研究主題。近期康乃爾大學 3 位研究人員 Daniel V. Ruiz、Gabriel Salomon、Eduardo Todt 決定訓練人工智慧,將長頸鹿的圖片轉成鳥的圖片,用生成對抗網路(GANs)產生新數據研究這種圖像轉換圖像(image-to-image translation)。這篇論文在 Computer on the Beach(COTB ’20)2020 會議現身。
目前圖像轉圖像的應用較廣泛,包括從衛星圖像生成地圖到僅從輪廓生成完整的服裝圖。這篇論文研究將長頸鹿轉為鳥其實頗具挑戰性,因兩種動物大小、紋理和形態都不同。他們訓練名為 InstaGAN 的無監督跨域轉換模型,餵給 AI 大量長頸鹿和鳥的圖片訓練。
InstaGAN 由南韓科學技術院和浦項科技大學的研究人員 2019 年提出,相關論文《InstaGAN: Instance-Aware Image-to-Image Translation》還為 ICLR2019 接受。
最後鳥類成品保留原始圖片的布局和背景,只是將長頸鹿直接轉成鳥。需要強調的是,生成的鳥並不存在,僅是 InstaGAN 生成的結果。
這次論文的創新點,用作者自己的話說就是,「我們這次沒有把蘋果變成橘子,而是把大象變成香蕉」。因為之前無監督圖像轉圖像,例子大多是將站著的獅子轉成趴著、將貓轉為狗、馬變成斑馬等,但這些訓練的比例、形狀都很相似,所以難度有差異。
到底這次是怎麼做的呢?
用於訓練 GAN 和生成相關的圖像有兩個數據集:COCO(Common objects in Context)和 Caltech-UCSD Birds 200。COCO 數據集有超過 91 種類的 328,000 張圖片,研究者選了 2,546 張和 101 張長頸鹿圖片分別用於訓練和驗證,又從另一個涵蓋 200 多種鳥類的數據集 Caltech-UCSD Birds 200-2011,選擇 80% 也就是 9,414 張圖片用於訓練,20% 就是 374 張用於驗證。
每張圖片都能看到長頸鹿和鳥的輪廓。AI 主要工作有兩塊,一是把長頸鹿變成鳥,另一部分是判斷圖片是真的鳥還是假的長頸鹿─鳥。
接下來開始訓練。大多數參數與 InstaGAN 初始論文一樣。透過雙線性插值(bilinear interpolation)將長頸鹿和鳥數據集的圖像大小調整為 256×256 ,GPU 訓練花費將近 3 週(如果用 2 個 NVIDIA RTX 2080 GPU,時間能減少到一週半)。
InstaGAN 訓練使用的 loss functions 包括:Least-squares GAN loss、cycle loss、context loss 和identity loss,根據最終結果的重要性加權。cycle loss 權重最高,LSGAN 也是如此,因為改善了收斂性,減少可能消失的梯度問題(vanishing gradient issues),這需要超過 100 個 epoch 達成良好的視覺效果和損失最小化。
3 週訓練結束後,得到人造鳥圖集 FakeSet,下圖顯示圖像轉圖像的一些例子。
可看到原始圖像和蒙版,以及轉換之後的圖像和蒙版,姿勢、空間排列和背景沒有改變。也就是說,InstaGAN 已完整學會了轉換圖像,長頸鹿幾乎沒有遮擋,都是側身站立,而相同位置如今也產生鳥類。有意思的是,InstaGAN 學到有趣的「欺騙」法──生成深色鳥,與淺色背景形成對比,如此更能騙過人類、機器辨識者。
接下來讓我們來看看 InstaGAN 生成的圖。
有些轉換效果令人印象深刻。InstaGAN 學會如何模糊頂端背景,看起來像微距鏡頭,即使過渡之處並不是十分滑順,一隻長頸鹿的肩膀還在,但 AI 巧妙處理成一塊石頭,希望你不會注意。
背景模糊效果還不錯,處理前景時,InstaGAN 造出一根木頭當鳥的棲息點,並突出樹枝、岩石裂縫等細節,也模糊附近的鳥腳,效果較自然。但有幾張圖片還能隱約看到長頸鹿的肚子和腿,於是 InstaGAN 處理成綠色,可能是希望人錯認成葉子之類的植物。
當然很多時候轉換效果並不好。由於可能受特別背景的影響,人工智慧沒有成功改變圖像。這裡也很明顯,人工智慧移除長頸鹿的一般策略是,將鳥的身體複製黏貼到長頸鹿的頭、脖子和肩膀部分,然後盡力隱藏長頸鹿的腿。如果以先知角度看上圖,你會立刻發現長頸鹿的大長腿還在,模型多次失敗都與難以掩蓋的長頸鹿腿有關。
為了評估生成圖像的真實性和品質,研究者進行定性和定量分析。定性分析是,隨機挑選 FakeSet 335 張評估圖片,標準是轉換品質、輪廓和紋理幾項,選項只有兩個──「Good」或「Bad」。每個屬性的最終分數是 335 張圖片的平均分,用 0~1 分表示( 0 表示品質差,1 表示品質好)。如果一個屬性的值為 0.75,意味著四分之三圖片在該屬性表現良好,四分之一圖片表現不佳。細節見下表。
為了定量分析,他們使用預先訓練好的 Mask R-CNN(Mask Region-based Convolutional Neural Network)新生成的數據集 FakeSet,分析 2,546 張圖片,評估結果是,289 幅圖片是垃圾(甚至沒有檢測到有鳥存在),717 幅不令人滿意(常用指標 F-score 低於 0.8 ),1,540 幅令人滿意。F-score 遵循偏斜的正態分佈,傾向最佳分數。
論文的結論是,FakeSet 做到了接近真實數據集的檢測和分割結果,雖然大多數圖像並不完全真實,但是正確轉化率也很高,檢測和分割結果也高度可信的(高於 80%)。這說明生成的圖夠逼真,不論肉眼難以察覺,也經得起最先進的深層神經網路檢驗。
延伸閱讀:
- AI 換臉只是小兒科,這家公司直接用 AI 假造了 4 個工程師
- 日本團隊開發作弊偵測 AI,協助考官即時發現作弊行為
- 網路性騷擾太煩人,AI 辨識圖片是不是解方?
- Google 圖片辨識 AI 工具將不再標記男女
- 看過蒙娜麗莎開口說話嗎?三星開發新 AI 模型,只需幾張圖片便能造假成動態影片