無需訓練,這個新方法實現了生成圖像尺寸、解析度自由
近期,擴散模型憑藉其出色的性能已超越GAN 和自回歸模型,成為生成式模型的主流選擇。基於擴散模型的文字到影像生成模型(如SD、SDXL、Midjourney 和Imagen)展現了生成高品質影像的驚人能力。通常,這些模型在特定解析度下進行訓練,以確保在現有硬體上實現高效處理和穩定的模型訓練。
圖1 : 採用不同方法在SDXL 1.0 下產生2048×2048 影像的比較。 [1]
然而,當這些預訓練的擴散模型在超出訓練解析度時產生影像,通常會出現模式重複和嚴重的人工偽影(artifacts)問題,如圖1 最左側所示。
為了解決這個問題,來自香港中文大學- 商湯科技聯合實驗室等機構的研究者們在一篇論文中深入研究了擴散模型中常用的UNet 結構的捲積層,並從頻域分析的角度提出了FouriScale, 如圖2 所示。
圖2 FouriScale 的流程(橘色線條)示意圖,目的是確保跨解析度的一致性。
FouriScale 透過引入空洞卷積操作和低通濾波操作來取代預訓練擴散模型中的原始卷積層,旨在實現不同解析度下的結構和尺度一致性。配合“填充然後裁剪”策略,該方法能夠靈活生成不同尺寸和長寬比的圖像。此外,借助FouriScale 作為指導,該方法在生成任意尺寸的高解析度影像時,能夠保證完整的影像結構和卓越的影像品質。 FouriScale 無需任何離線預算,具有良好的相容性和可擴充性。
定量和定性实验结果表明,FouriScale 在利用预训练扩散模型生成高分辨率图像方面取得了显著提升。
- 論文網址:https://arxiv.org/abs/2403.12963
- 開源程式碼:https://github.com/LeonHLJ/FouriScale
- 論文標題:FouriScale:免訓練高解析度影像合成的頻率視角
方法介紹
1.空洞卷積保證跨解析度下的結構一致性
擴散模型的去噪網路通常是在特定解析度的圖像或潛在空間上訓練的,這個網路通常採用U-Net 結構。作者的目標是在推理階段使用去噪網路的參數產生解析度更高的圖像,而無需重新訓練。為了避免推理解析度下的結構失真,作者嘗試在預設解析度和高解析度之間建立結構一致性。對於U-Net 中的捲積層,結構一致性可表述為:
其中k 是原本的捲積核,k' 是為更大解析度客製化的新卷積核。根據空間下採樣的頻域表示,如下:
可以將公式(3)寫成:
這個公式顯示了理想卷積核k' 的傅立葉頻譜應該是由s×s 個卷積核k 的傅立葉頻譜拼接而成的。換句話說,k' 的傅立葉頻譜應該有週期性重複,而這個重複模式是k 的傅立葉頻譜。
廣泛使用的空洞卷積正好滿足這個要求。空洞卷積的頻域週期性可以用下式表示:
當利用預訓練擴散模型(訓練解析度為(h,w))產生(H,W) 的高解析度影像時,空洞卷積的參數使用原始卷積核,擴張因子為(H/h, W /w),是理想的捲積核k'。
2.低通濾波保證跨解析度下的尺度一致性
然而,只利用空洞卷積無法完美解決問題,如圖3 左上角所示,只使用空洞卷積仍然在細節上存在模式重複的現象。作者認為這是因為空間下取樣的頻率混疊現象改變了頻域分量,導致了不同解析度下頻域分佈的差異。為了確保跨解析度下的尺度一致性,他們引入了低通濾波來過濾掉高頻分量,以去除空間下取樣後的頻率混疊問題。從圖3 右側對比曲線可以看到,在使用低通濾波後,高低解析度下的頻率分佈更接近,從而保證了尺度一致。從圖3 左下角圖看到,使用低通濾波後,細節的模式重複現像有明顯地改善。
圖3 (a) 是否採用低通濾波的視覺對比。 (b)不採用低通濾波的傅立葉相對對數幅值曲線。 (c) 採用低通濾波的傅立葉相對對數振幅曲線。
3.適應任意尺寸的影像生成
以上的方式只能適應於生成分辨率與默認推理分辨率的長寬比一致時,為了使FouriScale 適應於任意尺寸的圖像生成,作者採用了一種“填充然後裁剪”的方式,方法1 中展示了結合了該策略的FouriScale 的偽代碼.
4、FouriScale 引導
由於FouriScale 中的頻域操作,不可避免的使生成的圖像出現了細節缺失與不期望的偽影問題。為了解決這個問題,如圖4,作者提出了將FouriScale 作為引導的方式。具體來說,在原本的條件產生估計值以及無條件產生估計的基礎上,他們引入一個額外的條件生成估計。這個額外的條件產生估計的生成過程同樣採用空洞卷積,但是使用更溫和的低通濾波,從而確保細節不會丟失。同時他們將利用FouriScale 輸出的條件生成估計中的注意力分數替換掉這一額外的條件生成估計中的注意力分數,由於注意力分數包含著生成圖像中的結構信息,這一操作將FouriScale 中正確的影像結構資訊引入,同時保證了影像品質。
圖4 (a) FouriScale 導引示意圖。 (b)不採用FouriScale 作為引導的生成影像,有明顯的偽影和細節錯誤。 (c) 採用FouriScale 作為引導的生成影像。
實驗
1. 定量試驗結果
作者遵循[1] 的方法,測試了三個文生圖模型(包括SD 1.5,SD 2.1 和SDXL 1.0),產生四種更高解析度的影像。測試的解析度是它們各自訓練解析度的4 倍、6.25 倍、8 倍和16 倍像素數量。在Laion-5B 上隨機採樣30000/10000 個圖文對測試的結果如表1 所示:
表1 不同的無需訓練方法的定量結果對比
他們的方法在各個預訓練模型,不同解析度下都獲得了最優的結果。
2. 定性試驗結果
如圖5 所示,他們的方法在各個預訓練模型,不同解析度下都能夠保證影像產生品質與一致的結構。
圖5 不同的無需訓練方法的生成影像對比
結論
本文提出了FouriScale 用於增強預訓練擴散模型產生高解析度影像的能力。 FouriScale 從頻域分析出來,透過空洞卷積和低通濾波操作改善了不同解析度下的結構和尺度一致性,解決了重複模式和結構失真等關鍵挑戰。採用「填充然後裁剪」策略並利用FouriScale 作為指導,增強了文字到圖像生成的靈活性和生成質量,同時適應了不同的長寬比生成。定量和定性的實驗對比表明,FouriScale 能夠在不同預訓練模型,不同解析度下都能夠保證更高的影像產生品質。