ResAdapter是什麼
ResAdapter是由字節跳動的研究人員推出的一種爲擴散模型(如Stable Diffusion)設計的分辨率適配器,允許這些圖像生成模型生成具有任意分辨率和寬高比的圖像,同時保持其原始的風格域。由於擴散模型通常在訓練時只學習到特定分辨率的圖像生成能力,因此當用戶嘗試生成超出訓練分辨率範圍的圖像時,可能無法生成高質量的結果(如畫面崩壞、肢體異常等)。ResAdapter的目的便旨在解決該問題,它能夠在不改變模型原始風格域的前提下,擴展模型生成圖像的分辨率範圍和比例。
ResAdapter的官網入口
- 官方項目主頁:https://res-adapter.github.io/
- GitHub代碼庫:https://github.com/bytedance/res-adapter
- Hugging Face模型:https://huggingface.co/jiaxiangc/res-adapter
- arXiv研究論文:https://arxiv.org/abs/2403.02084
ResAdapter的功能特性
- 分辨率插值(Resolution Interpolation):允許模型生成低於其訓練分辨率的圖像,可以生成更小尺寸的圖像,同時保持細節和質量。
- 分辨率外推(Resolution Extrapolation):使模型能夠生成高於其訓練分辨率的圖像。這對於需要高分辨率輸出的應用場景非常重要,如打印、大尺寸顯示等。
- 域一致性(Domain Consistency):在生成不同分辨率的圖像時,ResAdapter確保圖像的風格與訓練時的風格域保持一致,避免了在改變分辨率時可能出現的風格失真或不一致。
- 即插即用(Plug-and-Play):ResAdapter設計爲可以輕鬆集成到現有的擴散模型中,無需對模型架構進行重大修改,快速應用於多種不同的模型和應用場景。
- 兼容性:ResAdapter不僅與基礎的擴散模型兼容,還可以與其他圖像生成相關的模塊(如ControlNet、IP-Adapter和LCM-LoRA)結合使用,以實現更復雜的圖像生成任務。
ResAdapter的工作原理
- 分析模型結構:首先,分析擴散模型(如Stable Diffusion)的UNet架構,確定哪些層對分辨率敏感。通常,卷積層對分辨率敏感,因爲它們的感受野(Receptive Field)是固定的。
- 插入ResCLoRA:在UNet架構的下采樣器(Downsampler)和上採樣器(Upsampler)的卷積層中插入分辨率卷積LoRA(ResCLoRA)。ResCLoRA通過添加低秩矩陣來動態調整卷積層的感受野,使其能夠適應不同分辨率的輸入圖像。
- 引入ResENorm:爲了解決分辨率外推問題,引入分辨率外推歸一化(ResENorm)。ResENorm僅對UNet塊中的組歸一化層進行訓練,以適應高分辨率圖像的統計分佈,同時保持模型對原始風格域的適應性。
- 多分辨率訓練:在訓練過程中,使用不同分辨率的圖像數據集進行訓練。這種混合分辨率訓練策略允許ResAdapter學習到在不同分辨率下生成圖像的能力,同時避免對原始風格域的影響。
- 集成到擴散模型:訓練完成後,ResAdapter作爲一個即插即用(Plug-and-Play)的模塊,可以被集成到任意風格的擴散模型中。這意味着,無論原始模型是專注於何種風格域,ResAdapter都能夠擴展其生成圖像的分辨率範圍。
- 生成圖像:在推理階段,集成了ResAdapter的擴散模型能夠根據用戶的需求生成任意分辨率的圖像。模型會根據輸入的文本提示或條件(如ControlNet提供的圖像條件),通過迭代的去噪過程生成高質量的圖像。
© 版權聲明
文章版权归作者所有,未经允许请勿转载。
相關文章
暫無評論...