一張圖像百般變化,英偉達(dá)用GAN實(shí)現(xiàn)高精度細(xì)節(jié)P圖
在實(shí)現(xiàn)復(fù)雜且高精度圖像編輯效果的同時(shí),EditGAN 還能保持較高的圖像質(zhì)量和對象身份,英偉達(dá)在圖像處理領(lǐng)域果然「出手不凡」。
當(dāng)前,AI 驅(qū)動的照片和圖像編輯技術(shù)有助于簡化攝影師和內(nèi)容創(chuàng)作者的工作流程,并賦能更高水平的創(chuàng)意和數(shù)字藝術(shù)?;?AI 的圖像編輯工具也已經(jīng)以神經(jīng)照片編輯過濾器(filter)的形式應(yīng)用在消費(fèi)級軟件上,并且深度學(xué)習(xí)研究社區(qū)積極地開發(fā)新的技術(shù)。其中,各式各樣基于生成對抗網(wǎng)絡(luò)(GAN)的模型和技術(shù)層出不窮,在實(shí)現(xiàn)原理上,領(lǐng)域研究人員要么將圖像嵌入到 GAN 的隱空間,要么直接使用 GAN 生成圖像。
大多數(shù)基于 GAN 的圖像編輯方法分為以下幾類。一些工作依賴于 GAN 在類標(biāo)簽或像素級語義分割注釋上發(fā)揮作用,不同的條件會使輸出結(jié)果出現(xiàn)變動;另一些工作使用輔助的屬性分類器來指導(dǎo)圖像的合成和編輯。然而,訓(xùn)練這種條件式 GAN 或外部分類器需要大規(guī)模的標(biāo)注數(shù)據(jù)集。因此,這些方法目前僅適用于擁有大規(guī)模標(biāo)注數(shù)據(jù)集的圖像類型,如肖像等。即使擁有足夠注釋的數(shù)據(jù)集,大多數(shù)方法也僅能提供有限的編輯控制,這是因?yàn)檫@些注釋通常僅包含高級的全局屬性或者比較粗糙的像素級分割。
另一些方法專注于對不同圖像的特征進(jìn)行混合和插值,因此需要參照圖像作為編輯目標(biāo),通常也無法提供微調(diào)控制。還有一些方法仔細(xì)剖析 GAN 的隱空間,找出適合編輯的解耦隱變量或者控制 GAN 的網(wǎng)絡(luò)參數(shù)。但遺憾的是,這些方法無法實(shí)現(xiàn)精細(xì)的編輯,速度也通常較慢。
近日,英偉達(dá)、多倫多大學(xué)等機(jī)構(gòu)在論文《EditGAN: High-Precision Semantic Image Editing》中克服了這些局限,并提出了一個(gè)全新的基于 GAN 的圖像編輯框架 EditGAN——通過允許用戶修改對象部件(object part)分割實(shí)現(xiàn)高精度的語義圖像編輯。
相關(guān)研究已被 NeurIPS 2021 會議接收,代碼和交互式編輯工具之后也會開源。
論文地址:https://arxiv.org/pdf/2111.03186.pdf
項(xiàng)目主頁:https://nv-tlabs.github.io/editGAN/
具體而言,EditGAN 在最近提出的 GAN 模型基礎(chǔ)上構(gòu)建,不僅基于相同的潛在隱編碼來共同地建模圖像及其語義分割,而且僅需要 16 個(gè)標(biāo)注示例,從而可以擴(kuò)展至很多目標(biāo)類和部件標(biāo)簽。研究者根據(jù)預(yù)期編輯結(jié)果來修改分割掩碼,并優(yōu)化隱編碼以與新的分割保持一致,這樣就可以高效地改變 RGB 圖像。
此外,為了實(shí)現(xiàn)效率,他們通過學(xué)習(xí)隱空間中的編輯向量(editing vector)來實(shí)現(xiàn)編輯,并在無需或僅需少量額外優(yōu)化步驟的情況下直接在其他圖像上應(yīng)用。因此,研究者預(yù)訓(xùn)練了一個(gè)感興趣編輯的庫以使得用戶可以在交互工具中直接使用。
研究者表示,EditGAN 是首個(gè)同時(shí)實(shí)現(xiàn)以下目標(biāo)的 GAN 驅(qū)動的圖像編輯框架:
提供非常高精度的編輯;
僅需極少量的標(biāo)注訓(xùn)練數(shù)據(jù),并且不依賴額外的分類器;
實(shí)時(shí)交互運(yùn)行;
多個(gè)編輯的直接語義合成;
在真實(shí)的嵌入式、GAN 生成的甚至域外(out-of-domain)圖像上運(yùn)行。
研究者在包括汽車、貓、鳥和人臉等在內(nèi)的廣泛圖像上應(yīng)用了 EditGAN,最終都展現(xiàn)出了前所未有的高精度編輯。他們還將 EditGAN 與多個(gè)基準(zhǔn)方法進(jìn)行定量比較,并在身份和質(zhì)量保持、目標(biāo)屬性準(zhǔn)確性等指標(biāo)上勝過它們,同時(shí)需要的標(biāo)注訓(xùn)練數(shù)據(jù)少了數(shù)個(gè)量級。
在項(xiàng)目主頁中,研究者展示了多個(gè) EditGAN 相關(guān)的 Demo 視頻,如下動圖(左)為編輯向量插值效果,圖(右)為在域外圖像上應(yīng)用 EditGAN 編輯向量的效果。
下圖(左)為交互 demo 工具中使用 EditGAN 的效果,圖(右)為使用 EditGAN 時(shí)可以實(shí)現(xiàn)多個(gè)編輯和預(yù)定義編輯向量。
使用 EditGAN 如何完成高精度語義圖像編輯?
下圖 2(1)為訓(xùn)練 EditGAN 的流程;圖 2(2&3)分別為編輯分割掩碼和利用編輯向量的實(shí)時(shí)編輯,其中用戶可以修改分割掩碼,并由此在 GAN 的隱空間中進(jìn)行優(yōu)化以實(shí)現(xiàn)編輯;圖 2(4)為在隱空間中學(xué)習(xí)編輯向量,用戶通過應(yīng)用以往學(xué)習(xí)到的編輯向量進(jìn)行編輯,并可以交互式地操縱圖像。
通過分割編輯在隱空間中找出語義
EditGAN 的核心思想是在實(shí)現(xiàn)高精度圖像編輯中利用圖像和語義分割的聯(lián)合分布 p(x, y)。給定一張待編輯的新圖像 x,我們可以將它嵌入到 EditGAN 的 W^+ 隱空間中。然后,分割部分將生成相應(yīng)的分割 y,這是因?yàn)榉指詈?RGB 圖像共享相同的隱編碼 w^+。使用簡單的交互式數(shù)字繪畫或標(biāo)注工具,即可根據(jù)預(yù)期的編輯手動修改分割。研究者將編輯的分割掩碼表示為了 y_edited。
例如,當(dāng)修改右側(cè)汽車照片中的車輪時(shí),Q_edit 將包含輪胎、輻條和輪轂等所有與車輪相關(guān)的零件的標(biāo)簽:
推理過程中不同的編輯方法
總的來說,我們可以通過以下三種不同的模式使用 EditGAN 進(jìn)行圖像編輯:
使用編輯向量進(jìn)行實(shí)時(shí)編輯。對于局部解耦良好的編輯,僅通過應(yīng)用先前學(xué)習(xí)的具有不同尺度的編輯向量即可進(jìn)行編輯,并以交互式速率(interactive rate)操縱圖像;
利用自監(jiān)督細(xì)化的向量編輯。對于未與圖像其他部分完美解耦的局部編輯,可以通過測試過程中的額外優(yōu)化去除編輯偽影,同時(shí)使用學(xué)習(xí)到的向量初始化編輯;
基于優(yōu)化的編輯。特定圖像和大規(guī)模的編輯不能通過編輯向量遷移到其他圖像。對于此類操作,則可以從零開始進(jìn)行優(yōu)化。
實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)部分,研究者在四種不同類別的圖像上對 EditGAN 進(jìn)行了廣泛的評估,它們分別是:
汽車(空間分辨率 384×512)
鳥(512×512)
貓(256×256)
人臉(1024×1024)
其中,人臉示例的注釋細(xì)節(jié)如下圖 7 所示:
當(dāng)僅基于優(yōu)化或通過學(xué)習(xí)編輯向量完成編輯時(shí),研究者通常使用 Adam 執(zhí)行 100 steps 的優(yōu)化。對于汽車、貓和人臉,他們使用 DatasetGAN 測試集中的真實(shí)圖像,使用這些非 GAN 訓(xùn)練數(shù)據(jù)的圖像是為了驗(yàn)證編輯功能;對于鳥,他們在 GAN 生成的圖像上展示編輯功能。
定性結(jié)果
首先來看域內(nèi)(in-domain)結(jié)果。在下圖 4 中,研究者展示了當(dāng)在新圖像上應(yīng)用以往學(xué)習(xí)到的編輯向量并執(zhí)行 30 steps 的優(yōu)化細(xì)化時(shí),EditGAN 框架的圖像編輯效果。結(jié)果顯示,使用 EditGAN 的編輯操作保持了高圖像質(zhì)量并對所有類別的圖像實(shí)現(xiàn)了良好的解耦。
研究者表示,以往沒有任何一種方法可以做到像 EditGAN 那樣復(fù)雜且高精度的編輯,同時(shí)還能保持較高的圖像質(zhì)量和對象身份。
如下圖 8 所示,使用 EditGAN,研究者甚至可以實(shí)現(xiàn)極高精度的編輯,例如旋轉(zhuǎn)汽車的輪輻(左)或者擴(kuò)大人的瞳孔(右)。EditGAN 可以對那些像素極少對象的語義部分進(jìn)行編輯,同時(shí)還能實(shí)現(xiàn)大規(guī)模的修改。
在下圖 9 中,研究者展示了僅通過修改分割掩碼和優(yōu)化即可以去除汽車的車頂或?qū)⑵涓难b成旅行車。值得注意的是,通過一些編輯操作生成的圖像與 GAN 訓(xùn)練數(shù)據(jù)中出現(xiàn)的圖像不同。
其次是域外結(jié)果。研究者在 MetFaces 數(shù)據(jù)集上展示 EditGAN 對域外數(shù)據(jù)的泛化能力。他們使用在 FFHQ 上訓(xùn)練的 EditGAN 模型,并使用域內(nèi)真實(shí)人臉數(shù)據(jù)創(chuàng)建編輯向量。接著嵌入域外 MetFaces 肖像(使用 100 steps 的優(yōu)化),再通過 30 steps 的優(yōu)化應(yīng)用編輯向量。結(jié)果如下圖 6 所示,該研究的編輯操作無縫地遷移至相差甚遠(yuǎn)的域外圖像示例。
定量結(jié)果
為了展示 EditGAN 的圖像編輯能力的定量評估結(jié)果,研究者使用了 MaskGAN 引入的笑臉編輯(smile edit)基準(zhǔn)。中性表情的人臉被轉(zhuǎn)換為笑臉,并使用以下三項(xiàng)指標(biāo)對性能進(jìn)行度量,它們分別是:
語義正確性(Semantic Correctness)
分布級圖像質(zhì)量(Distribution-level Image Quality)
身份保持(Identity Preservation)
研究者將 EditGAN 與三個(gè)強(qiáng)基準(zhǔn)方法進(jìn)行比較,分別是 MaskGAN2、LocalEditing 和 InterFaceGAN,最后還與 StyleGAN2 蒸餾做了比較。結(jié)果如下表 2 所示,EditGAN 在三項(xiàng)指標(biāo)上均優(yōu)于其他方法。此外,EditGAN 在身份保持和屬性分類準(zhǔn)確率方面也優(yōu)于 InterFaceGAN。在與 StyleGAN2 蒸餾的比較中,EditGAN 也表現(xiàn)出了強(qiáng)大的性能。
在下圖 11 中,研究者展示了與 InterFaceGAN 比較的更多細(xì)節(jié),其中應(yīng)用了具有從 0 到 2 不同尺度系數(shù)的笑臉編輯向量。當(dāng)編輯向量尺度較小時(shí),身份分?jǐn)?shù)高但笑臉屬性分?jǐn)?shù)低,這是對原始圖像修改最小化導(dǎo)致的。他們發(fā)現(xiàn),使用編輯向量的實(shí)時(shí)編輯效果可以媲美 InterFaceGAN。
最后說下運(yùn)行時(shí)間。研究者仔細(xì)記錄了 EditGAN 在 NVIDIA Tesla V100 GPU 上的運(yùn)行時(shí)間。給定一個(gè)編輯好的分割掩碼的情況下,走完 30 (60) 個(gè)優(yōu)化 steps 的條件式優(yōu)化耗時(shí) 11.4 (18.9) 秒。這一操作為他們提供了編輯向量。此外,編輯向量的應(yīng)用幾乎是瞬間完成的,僅耗時(shí) 0.4 秒,因此得以實(shí)現(xiàn)復(fù)雜的實(shí)時(shí)交互編輯。走完 10 (30) steps 的自監(jiān)督細(xì)化將額外耗時(shí) 4.2 (9.5) 秒。