雷布斯變貓布斯,皮卡丘變狗卡丘:英偉達最新AI開源,萬物換臉只憑一張圖 | Demo
圓栗子 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
英偉達家的新AI,可以把視訊裡的一隻金毛,迅速變成貓鼬。
只要給AI看 兩張 貓鼬的靜態圖:
在看到這兩張圖之前,AI從來沒有見過貓鼬這種動物,訓練集裡沒有。
AI沒見過的動物還有很多,只要給它一兩張照片熟悉一下,就可以把金毛換成它們的臉。
比如,凶猛的大型貓科動物:
這樣說來,金毛的親戚如 哈士奇 等輩,更加不在話下:
雖說同是 圖到圖的翻譯 ,同是 無監督 ,這隻AI和 馬變斑馬 的前輩非常不同。前輩只能在自己見過的動物之間做翻譯。訓練的時候,看過許多馬,也看過許多斑馬;
而英偉達的新選手, 相當於訓練中從沒見過斑馬 。訓練集裡沒有的動物,只要測試的時候能看到一兩張圖,就夠了。
小樣本學習(Few-Shot Learning) 演算法,對訓練資料的要求大大大大大大降低了。
團隊把演算法開源了,還上線了一鍵換臉Demo。所以,今天先玩耍一下再講原理。
錯誤與正確的開啟方式
在下雞凍地嘗試了 Demo 。
第一題,把一隻高冷的喵傳了上去,用方框選中頭部。
△ 鳴謝我司夏老司
於是,各種動物都獲得了 半側面的冷峻 :
第二題 ,把一隻雷布斯傳了上去,也是半側面:
意想不到,生成了貴族氣息的 半獸人 :
AI的 藝術天分 撲面而來,不過還是要鄭重提醒各位:
Demo應用叫做 寵物換臉 (PetSwap) ,請選擇正確的開啟方式,下面是正確示範。
第三題,衝破次元壁。去吧,大偵探皮卡丘:
大家都戴上了福爾摩斯的帽子,不過只有右上角的 獵犬 ,解鎖了性感的 腮紅 。
真是一個優雅又充實的早晨。
玩夠,該看原理了。
沒見過的動物,只要看一眼
就像開頭講到的,這是一個小樣本翻譯器。它要把 內容圖 (Content Image) 如金毛,換成類別圖 (Class Image) ,如 哈士奇 或者 美洲獅 。
模型分為三個部分:
一是 內容編碼器 (Content Encoder) ,粉色部分。它把輸入的 內容圖 (金毛) ,對映到一個內容潛碼 (Content Latent Code) 上。
二是 類別編碼器 (Class Encoder) ,綠色部分。先把每張 類別圖 (哈士奇) 對映到一個潛碼上。然後取個平均,就得到整個類別的潛碼了。
三是 解碼器 (Decoder) ,藍色部分。先把類別潛碼對映到adaIN引數上,然後把內容潛碼做個解碼,來生成翻譯的結果圖。
訓練的時候,資料集裡有金毛也有哈士奇。AI就在這些 見過的類別 之間,修煉換臉技能:
可是,訓練集裡沒有 美洲獅 。測試的時候,要生成美洲獅怎麼辦呢?
祕密就在這裡:當類別圖和內容圖 長得一樣 的時候,就讓模型生成一個 重構 (Reconstruction) 。
這樣,只要在測試的過程中,臨時看一張美洲獅 (或者幾張) ,就能把沒見過的瞬間變為見過的。AI把訓練集裡的狗,翻譯美洲獅,也就不難了:
大功告成。
你也快去玩啊
這樣 (優) 秀的AI,你一定也想調教一下。
程式碼、Demo、論文,都在這裡了:
Demo傳送門:
https://nvlabs.github.io/FUNIT/petswap.html
論文傳送門:
https://arxiv.org/abs/1905.01723
程式碼傳送門:
https://github.com/nvlabs/FUNIT/
主頁傳送門:
https://nvlabs.github.io/FUNIT/
— 完 —
小程式|get更多AI學習乾貨
加入社群
量子位AI社群開始招募啦,量子位社群分:AI討論群、AI+行業群、AI技術群;
歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話介面回覆關鍵字“微信群”,獲取入群方式。(技術群與AI+行業群需經過稽核,稽核較嚴,敬請諒解)
量子位 QbitAI · 頭條號簽約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態
喜歡就點「在看」吧 !