褲子換裙子,就問你GAN的這波操作秀不秀
選自 arXiv,作者:Sangwoo Mo , Minsu Cho , Jinwoo Shin,機器之心編譯。
長褲變短裙把照片裡的綿羊換成長頸鹿、牛仔長褲換成短裙。聽起來有點不可思議,但韓國科學技術院和浦項科技大學的研究人員目前已實現了這一騷操作。他們開發的一種機器學習演算法可在多個影象資料集上實現這種操作。其論文《InstaGAN: Instance-Aware Image-to-Image Translation》已被 ICLR2019 接收。
影象到影象的轉換系統——即學會把輸入影象對映到輸出影象的系統——並非什麼新鮮事。去年 12 月,Google AI 研究人員開發了一種模型,該模型通過預測物件的大小、遮擋、姿勢、形狀等,可以逼真地將其插入照片中的合理位置。但正如 InstaGAN 的建立者在論文中所說的一樣,即使當前最先進的方法仍是不夠完美的。
本文要介紹的這項新研究基於 CycleGAN 實現了例項級別的影象轉換。
圖源:Context-Aware Synthesis and Placement of Object InstancesCycleGAN 克服了 pix2pix 在影象轉換中必須一一配對的限制,給定兩個無序影象集 X 和 Y,CycleGAN 可以自動對它們進行互相「翻譯」。
但它無法編碼影象中的例項資訊,因此在涉及目標類別特徵的影象轉換時,效果不太理想。
「由於其近期基於生成對抗網路取得的進步令人印象深刻,無監督的影象到影象轉換已受到大量關注。然而,以前的方法在面對具有挑戰性的任務時常常失敗,尤其是當影象具有多個目標例項並且任務涉及形狀的大幅變化時。」研究人員表示。
他們的解決方案是 InstaGAN 系統,該系統結合了多個任務目標的例項資訊。InstaGAN 會生成影象的例項分割掩碼(屬於同一例項的畫素組),它會結合目標的邊界並同時忽略顏色等細節。
新奇的是,InstaGAN 轉換了一幅影象和一組相應的例項屬性,並同時力求保留背景語境。當與一種創新的技術(該技術允許其在傳統硬體上處理大量例項屬性)結合時,它可以推廣到具有許多例項的影象。如下圖所示,把兩個人的牛仔褲換成裙子,把四隻綿羊換成長頸鹿都不是問題。
「據我們所知,在我們之前,還沒有人實現過影象到影象轉換中的多例項轉換任務。和以前在簡單設定中的結果不同,我們的重點是和諧,讓例項與背景自然地渲染。」
研究人員為 InstaGAN 系統提供了來自不同資料集(包括 multi-human parsing(MHP)資料集、MS COCO 資料集和 clothing co-parsing(CCP)資料集)的兩類影象。與影象到影象轉換的公認基線 CycleGAN 相比,InstaGAN 能夠更成功地在保留原始語境的同時生成目標例項的「合理形狀」。
「在不同資料集上的實驗成功實現了影象至影象轉換中的挑戰性任務——多例項轉換,包括把時尚影象中的牛仔褲換成短裙等新任務。探索新任務和新資訊將是未來有趣的研究方向。」研究人員寫道。
這篇論文已被 ICLR2019 接收為 Poster 論文,獲得了 7、8、7 的高分,其中一位評審在評審意見中寫道:
本文作者對多影象例項進行非成對的跨域轉換,他們提出了一種方法——InstaGAN。該方法基於 CycleGAN,考慮了以每個例項分割掩碼形式存在的例項資訊。
本文文筆較好,容易理解。該方法很新穎,解決了一類之前方法無法解決的資訊問題。該模型及訓練目標每個部分的動機在該問題的語境中都得到了清晰的解釋。結果看起來相當不錯,明顯優於 CycleGAN 和其它基線。
論文:INSTAGAN: INSTANCE-AWARE IMAGE-TO-IMAGE TRANSLATION
論文連結:https://arxiv.org/pdf/1812.10889.pdf
專案地址:https://github.com/sangwoomo/instagan
ICLR 連結:https://openreview.net/forum?id=ryxwJhC9YX
摘要:由於生成對抗網路的快速發展,無監督影象到影象的轉換吸引了大量研究者的目光。然而,之前的方法通常不適用於較難的任務,尤其是在影象擁有多個目標例項或轉換任務涉及極具挑戰性的形狀問題時,如將時尚圖片中的褲子轉換成短裙。為了解決這一問題,本文提出了一種新的方法——instance-aware GAN(InstaGAN),這種 GAN 結合了例項資訊(如目標分割掩碼),提高了多例項轉換的能力。在保持例項置換不變性的同時,該 GAN 對影象和相應的例項屬性集進行轉換。為此,研究人員引入了一個語境保留損失函式,鼓勵網路學習目標例項之外的恆等函式。此外,他們還提出了一種序列 mini-batch 推理/訓練技術,這種技術藉助有限的 GPU 記憶體處理多個例項,增強了該網路在多例項任務中的泛化能力。對比評估證明了該方法在不同影象資料集上的有效性,尤其是在上述具有挑戰性的情況下。
圖 1:先前方法(CycleGAN, Zhu et al. (2017))的轉換結果 vs InstaGAN。後者在多例項轉換問題中得到的結果更好。 在谷歌搜尋圖片上的結果(褲子→短裙) 在 YouTube 視訊上的結果(褲子→短裙)研究者還在 GitHub 給出了兩個預訓練模型,感興趣的讀者可以下載試試。點選以下連結下載預訓練模型(褲子→短裙及/或綿羊→長頸鹿):
地址:https://drive.google.com/drive/folders/10TfnuqZ4tIVAQP23cgHxJQKuVeJusu85
圖 2:(a)InstaGAN 架構概覽,其中的生成器 G_XY、G_YX 和判別器 D_X、D_Y 分別遵循(b)和(c)中的架構。每個網路都同時編碼一幅影象及相應的一套例項掩碼。InstaGAN 成功地把牛仔褲和短裙互換,把短褲和長褲互換。
圖 4:在 clothing co-parsing(CCP)(Yang et al., 2014)資料集上的轉換結果。綿羊和長頸鹿互換,杯子和瓶子互換都不是問題。
圖 6:在 COCO(Lin et al., 2014)資料集上的轉換結果。我們可以只給第一位小姐姐換短裙,也可以只給第二位小姐姐換,當然一起換也 OK。
圖 7:輸入掩碼不同,InstaGAN 得到的結果也不同。具體的玩法自然不限於此,作者可沒說需要限制性別。
圖 13:在 MHP 資料集上的更多轉換結果(褲子→短裙)。從展示的案例中也可以發現,CycleGAN 的轉換效果總是受到源影象的形狀偏差影響,所以其轉換偏向於目標的紋理層面。比如,在下圖中,CycleGAN 就把短脖子的綿羊變成了短頸鹿。
圖 15:在 COCO 資料集上的更多轉換結果(綿羊→長頸鹿)。給予讚賞的同時,同一位評審也指出了該論文的一些不足,並給出了相應的建議:
圖 9:關於本文所述方法每個組成部分效果的控制變數研究。這些部分包括:InstaGAN 架構、語境保留損失函式、序列 mini-batch 推理/訓練演算法,分別表示為 InstaGAN、L_ctx 及 Sequential。 圖 10:關於序列 mini-batch 推理/訓練技術效果的控制變數研究。「One」和「Seq」分別表示「one-step」推理和序列推理。 參考連結:https://venturebeat.com/2019/01/01/this-neural-network-can-swap-sheep-for-giraffe-jeans-for-skirts/就測試領域的數量(三類影象對——長頸鹿/綿羊,長褲/短裙,杯子/瓶子)來看,結果有一定的侷限性。從某種意義上來說,這也是可以理解的。誰也不會沒事用它來轉換從未在相同語境出現過或者大小不同的目標(如杯子和長頸鹿)。但如果示例對更多會更好,也會使該系統更具說服力。
此外,如果單個模型可以在多個類別對上訓練並從它們之間共享的資訊中受益,那將很有趣。
評估主要是定性的。我希望看更多該模型的控制變數實驗。