從單幅自然圖像學習擴散模型,優于GAN,SinDiffusion實現新SOTA
從單幅自然圖像生成圖像的技術被廣為應用,也因此受到越來越多的關注。這一研究旨在從單幅自然圖像中學習一個無條件生成模型,通過捕獲 patch 內部統計信息,生成具有相似視覺內容的不同樣本。一旦訓練完成,模型不僅可以生成高質量且不限分辨率的圖像,而且還可以輕松適應多種應用,如圖像編輯、圖像和諧化(image harmonization)和圖像間的轉換。?
SinGAN 可以滿足上述要求,該方法可以構建自然圖像的多個尺度,并訓練一系列 GANs 來學習單幅圖像中 patch 的內部統計信息。SinGAN 的核心思想是在漸進增長的尺度上訓練多個模型。然而,通過這些方法生成的圖像可能不盡人意,因為它們存在小范圍的細節性誤差,從而導致生成的圖像中存在明顯的偽影現象(見圖 2)。
本文中,來自中國科學技術大學、微軟亞洲研究院等機構的研究者提出了一個新的框架——單幅圖像擴散模型(SinDiffusion,Single-image Diffusion),以用于從單幅自然圖像中學習,其是在去噪擴散概率模型 (DDPM,Denoising Diffusion Probabilistic Model) 的基礎上完成的。雖然擴散模型是一個多步(multiple-step)生成過程,但它不存在累積誤差問題。原因是擴散模型具有系統的數學公式,中間步驟的誤差可視為干擾,并且可以在擴散過程中得到改善。?
SinDiffusion 的另一個核心設計是限制擴散模型的感受野。該研究回顧了先前擴散模型[7] 中常用的網絡結構,發現它具有較強的性能和較深的結構。不過該網絡結構具有的感受野大到能夠覆蓋整個圖像,這導致模型傾向于靠記憶訓練圖像,從而生成與訓練圖像完全相同的圖像。為了鼓勵模型學習 patch 統計信息而不是記憶整個圖像,研究對網絡結構進行了精細設計,并引入了一個 patch-wise 去噪網絡。同之前的擴散結構相比,SinDiffusion 減少了原去噪網絡結構中的下采樣次數和 ResBlock 數量。如此一來,SinDiffusion 可以從單幅自然圖像中學習,并且生成高質量且多樣化的圖像(見圖 2)。
- 論文地址:https://arxiv.org/pdf/2211.12445.pdf
- 項目地址:https://github.com/WeilunWang/SinDiffusion?
SinDiffusion 的優點在于,它能靈活運用于各種場景(見圖 1)。它可以用于各種應用,而無需對模型進行任何重新訓練。在 SinGAN 中,下游應用主要通過將條件輸入預先訓練的不同尺度的 GANs 來實現。因此,SinGAN 的應用僅限于那些給定的空間對齊(spatiallyaligned)條件。與之不同的是,SinDiffusion 通過設計采樣程序可用于更廣泛的應用。SinDiffusion 通過無條件訓練學習預測數據分布的梯度。假設有一個描述生成圖像與條件之間相關性的評分函數(即 L?p 距離或一個預訓練網絡,如 CLIP),該研究利用相關性評分的梯度來指導 SinDiffusion 的采樣過程。通過這種方式,SinDiffusion 能夠生成既符合數據分布又和給定條件相吻合的圖像。
研究對各種自然圖像進行了實驗,以此來證明提出的框架的優勢,實驗對象包括風景和著名的藝術。定量和定性結果都證實了 SinDiffusion 可以產生高保真和多樣化的結果,而下游應用進一步證明了 SinDiffusion 的實用性和靈活性。
方法?
與之前研究中的漸進式增長設計不同,SinDiffusion 采用單一尺度下的單一去噪模型進行訓練,防止了誤差的積累。此外,該研究發現擴散網絡 patch-level 的感受野在捕獲內部 patch 分布方面起著重要作用,并設計了一種新的去噪網絡結構。基于這兩個核心設計,SinDiffusion 從單幅自然圖像生成高質量和多樣化的圖像。
本節其余部分的組織如下:首先回顧 SinGAN 并展示 SinDiffusion 的動機,然后介紹了 SinDiffusion 的結構設計。
首先簡要回顧一下 SinGAN。圖 3(a)給出了 SinGAN 的生成過程。為了從單幅圖像生成不同的圖像,SinGAN 的一個關鍵設計是建立圖像金字塔,并逐步增長生成的圖像的分辨率。?
圖 3(b)為 SinDiffusion 新框架。與 SinGAN 不同的是,SinDiffusion 在單一尺度上使用單一去噪網絡執行多步生成過程。雖然 SinDiffusion 也采用了像 SinGAN 一樣的多步生成過程,但是生成的結果是高質量的。這是因為擴散模型建立在對數學方程的系統推導的基礎上,中間步驟產生的誤差在擴散過程中被反復細化為噪聲。
SinDiffusion?
本文研究了生成多樣性與去噪網絡感受野的關系——修改去噪網絡的網絡結構可以改變感受野,并且設計了四種感受野不同但性能相當的網絡結構,在單幅自然圖像上訓練這些模型。圖 4 顯示了不同感受野下模型生成的結果。可以觀察到,感受野越小,SinDiffusion 產生的生成結果越多樣化,反之亦然。然而,研究發現極小的感受野模型并不能保持圖像的合理結構。因此,合適的感受野對于獲取合理的 patch 統計信息是重要且必要的。
該研究重新設計了常用的擴散模型,并引入了用于單幅圖像生成的 patch-wise 去噪網絡。圖 5 是 SinDiffusion 中 patch-wise 去噪網絡的概述,并且展現了與之前去噪網絡的主要區別。首先,通過減少下采樣和上采樣操作來減小去噪網絡的深度,從而極大地擴展了感受野。同時,去噪網絡中原本使用的深層注意力層被自然去除,使 SinDiffusion 成為一個完全卷積的網絡,適用于任意分辨率的生成。其次,通過減少每個分辨率中嵌入時間的 resblock,進一步限制 SinDiffusion 的感受野。用這種方法得到一個帶有適當感受野的 patch-wise 去噪網絡,得到了逼真且多樣的結果。
實驗
SinDiffusion 隨機生成圖像的定性結果如圖 6 所示。
可以發現,在不同的分辨率下,SinDiffusion 可以生成與訓練圖像具有相似模式的真實圖像。
此外,本文還研究了如何從單幅圖像生成高分辨率圖像的 SinDiffusion。圖 13 展示了訓練圖像和生成的結果。訓練圖像是一個 486 × 741 分辨率的景觀圖像,包含了豐富的組件,如云、山、草、花和一個湖。為了適應高分辨率的圖像生成,SinDiffusion 已經升級到增強版本,該版本具有更大的感受野和網絡能力。增強版的 SinDiffusion 生成了一個 486×2048 分辨率的高分辨率長滾動圖像,其生成效果結果保持訓練圖像的內部布局不變,且歸納出了新的內容,見圖 13。
對比以往的方法?
表 1 展示了 SinDiffusion 與幾個具有挑戰性的方法(即 SinGAN, ExSinGAN, ConSinGAN 和 GPNN)相比產生的定量結果。與之前基于 GAN 的方法相比,SinDiffusion 在經過逐步改進后,達到了 SOTA 性能。值得一提,本文的研究方法極大地提高了生成圖像的多樣性,在 Places50 數據集上訓練的 50 個模型的平均值上,本文的方法以 + 0.082 LPIPS 的評分超過了目前最具挑戰性的方法。
除了定量結果之外,圖 8 還展示了 Places50 數據集上的定性結果。
圖 15 給出了 SinDiffusion 和之前方法的文本引導圖像生成結果。
更多內容請查看原論文。