可玩性極強!
簡筆素描一鍵變身多風格畫作,還能新增額外的描述,這在 CMU、Adobe 聯合推出的一項研究中實現了。
作者之一為 CMU 助理教授朱儁彥,其團隊在 ICCV 2021 會議上發表過一項類似的研究:僅僅使用一個或數個手繪草圖,即可以自定義一個現成的 GAN 模型,進而輸出與草圖匹配的影像。
論文地址:https://arxiv.org/pdf/2403.12036.pdf
GitHub 地址:https://github.com/GaParmar/img2img-turbo
試玩地址:https://huggingface.co/spaces/gparmar/img2img-turbo-sketch
論文標題:One-Step Image Translation with Text-to-Image Models
效果如何?我們上手試玩了一番,得出的結論是:可玩性非常強。其中輸出的影像風格多樣化,包括電影風、3D 模型、動畫、數字藝術、攝影風、畫素藝術、奇幻畫派、霓虹朋克和漫畫。
prompt 為「鴨子」。
prompt 為「一個草木環繞的小房子」。
prompt 為「打籃球的中國男生」。
prompt 為「肌肉男兔子」。
在這項工作中,研究者對條件擴散模型在影像合成應用中存在的問題進行了針對性改進。這類模型使使用者可以根據空間條件和文字 prompt 生成影像,並對場景佈局、使用者草圖和人體姿勢進行精確控制。
但是問題在於,擴散模型的迭代導致推理速度變慢,限制了實時應用,比如互動式 Sketch2Photo。此外模型訓練通常需要大規模成對資料集,給很多應用帶來了巨大成本,對其他一些應用也不可行。
為了解決條件擴散模型存在的問題,研究者引入了一種利用對抗學習目標來使單步擴散模型適應新任務和新領域的通用方法。具體來講,他們將 vanilla 潛在擴散模型的各個模組整合到擁有小的可訓練權重的單個端到端生成器網路,從而增強模型保留輸入影像結構的能力,同時減少過擬合。
研究者推出了 CycleGAN-Turbo 模型,在未成對設定下,該模型可以在各種場景轉換任務中優於現有基於 GAN 和擴散的方法, 比如晝夜轉換、新增或移除霧雪雨等天氣效果。
同時,為了驗證自身架構的通用性,研究者對成對設定進行實驗。結果顯示,他們的模型 pix2pix-Turbo 實現了與 Edge2Image、Sketch2Photo 不相上下的視覺效果,並將推理步驟縮減到了 1 步。
總之,這項工作表明瞭,一步式預訓練文字到影像模型可以作為很多下游影像生成任務的強大、通用主幹。
方法介紹
該研究提出了一種通用方法,即透過對抗學習將單步擴散模型(例如 SD-Turbo)適配到新的任務和領域。這樣做既能利用預訓練擴散模型的內部知識,同時還能實現高效的推理(例如,對於 512x512 影像,在 A6000 上為 0.29 秒,在 A100 上為 0.11 秒)。
此外,單步條件模型 CycleGAN-Turbo 和 pix2pix-Turbo 可以執行各種影像到影像的轉換任務,適用於成對和非成對設定。CycleGAN-Turbo 超越了現有的基於 GAN 的方法和基於擴散的方法,而 pix2pix-Turbo 與最近的研究(如 ControlNet 用於 Sketch2Photo 和 Edge2Image)不相上下,但具有單步推理的優勢。
新增條件輸入
為了將文字到影像模型轉換為影像轉換模型,首先要做的是找到一種有效的方法將輸入影像 x 合併到模型中。
將條件輸入合併到 Diffusion 模型中的一種常用策略是引入額外的介面卡分支(adapter branch),如圖 3 所示。
具體來說,該研究初始化第二個編碼器,並標記為條件編碼器(Condition Encoder)。控制編碼器(Control Encoder)接受輸入影像 x,並透過殘差連線將多個解析度的特徵對映輸出到預訓練的 Stable Diffusion 模型。該方法在控制擴散模型方面取得了顯著成果。
如圖 3 所示,該研究在單步模型中使用兩個編碼器(U-Net 編碼器和條件編碼器)來處理噪聲影像和輸入影像遇到的挑戰。與多步擴散模型不同,單步模型中的噪聲圖直接控制生成影像的佈局和姿態,這往往與輸入影像的結構相矛盾。因此,解碼器接收到兩組代表不同結構的殘差特徵,這使得訓練過程更加具有挑戰性。
直接條件輸入。圖 3 還說明了預訓練模型生成的影像結構受到噪聲圖 z 的顯著影響。基於這一見解,該研究建議將條件輸入直接饋送到網路。為了讓主幹模型適應新的條件,該研究向 U-Net 的各個層新增了幾個 LoRA 權重(見圖 2)。
保留輸入細節
潛在擴散模型 (LDMs) 的影像編碼器透過將輸入影像的空間解析度壓縮 8 倍同時將通道數從 3 增加到 4 來加速擴散模型的訓練和推理過程。這種設計雖然能加快訓練和推理速度,但對於需要保留輸入影像細節的影像轉換任務來說,可能並不理想。圖 4 展示了這一問題,我們拿一個白天駕駛的輸入影像(左)並將其轉換為對應的夜間駕駛影像,採用的架構不使用跳躍連線(中)。可以觀察到,如文字、街道標誌和遠處的汽車等細粒度的細節沒有被保留下來。相比之下,採用了包含跳躍連線的架構(右)所得到的轉換影像在保留這些複雜細節方面做得更好。
為了捕捉輸入影像的細粒度視覺細節,該研究在編碼器和解碼器網路之間新增了跳躍連線(見圖 2)。具體來說,該研究在編碼器內的每個下采樣塊之後提取四個中間啟用,並透過一個 1×1 的零卷積層處理它們,然後將它們輸入到解碼器中對應的上取樣塊。這種方法確保了在影像轉換過程中複雜細節的保留。
實驗
該研究將 CycleGAN-Turbo 與之前的基於 GAN 的非成對影像轉換方法進行了比較。從定性分析來看,如圖 5 和圖 6 顯示,無論是基於 GAN 的方法還是基於擴散的方法,都難以在輸出影像真實感和保持結構之間達到平衡。
該研究還將 CycleGAN-Turbo 與 CycleGAN 和 CUT 進行了比較。表 1 和表 2 展示了在八個無成對轉換任務上的定量比較結果。
CycleGAN 和 CUT 在較簡單的、以物件為中心的資料集上,如馬→斑馬(圖 13),展現出有效的效能,實現了低 FID 和 DINO-Structure 分數。本文方法在 FID 和 DINO-Structure 距離指標上略微優於這些方法。
如表 1 和圖 14 所示,在以物件為中心的資料集(如馬→斑馬)上,這些方法可以生成逼真的斑馬,但在精確匹配物件姿勢上存在困難。
在駕駛資料集上,這些編輯方法的表現明顯更差,原因有三:(1)模型難以生成包含多個物件的複雜場景,(2)這些方法(除了 Instruct-pix2pix)需要先將影像反轉為噪聲圖,引入潛在的人為誤差,(3)預訓練模型無法合成類似於駕駛資料集捕獲的街景影像。表 2 和圖 16 顯示,在所有四個駕駛轉換任務上,這些方法輸出的影像質量較差,並且不遵循輸入影像的結構。