InstantID 原班團隊推出了風格遷移的新方法 InstantStyle。
風格化影像生成,也常稱為風格遷移,其目標是生成與參考影像風格一致的影像。此前基於 diffusion 的方法(比如 LoRA)通常需要批次的同風格資料進行訓練,無法遷移到新的風格中,或者基於 inversion(如 StyleAlign),透過將風格影像還原到 latent noise 後,將其前向傳播得到的 K、V 用於替換風格影像生成中的 K、V,但這類方法往往由於 inversion 的操作,造成風格退化。
最近,InstantID 原班團隊推出了風格遷移的新方法 InstantStyle,與人臉 ID 不同,它是一個通用的影像風格注入框架,採用兩種簡單但非常有效的技術,來實現風格和內容與參考影像的有效分離。
論文:InstantStyle: Free Lunch towards Style-Preserving in Text-to-Image Generation
論文地址:https://huggingface.co/papers/2404.02733
專案主頁:https://instantstyle.github.io/
程式碼連結:https://github.com/InstantStyle/InstantStyle
Demo 地址:https://huggingface.co/spaces/InstantX/InstantStyle
作者在文中花了較大篇幅介紹動機,(1)首先風格是欠定的,沒有清晰的標準來定義,它囊括眾多元素,比如色彩、氛圍、材質、佈局等,即使是人工評價,也很難有統一的結論;(2)此前基於 inversion 的方法會造成明顯的風格退化,這對部分風格是無法接受的,比如紋理;(3)影像風格的注入,最棘手的問題是如何平衡風格注入強度以及參考影像的內容洩露。
對此,作者團隊進行了一系列實驗分析,他們發現,IP-Adapter 的問題被其它許多方法都明顯誇大了,作者僅透過手動調整影像特徵注入的權重,就解決了大部分論文中宣稱的內容洩露問題。儘管如此,在一些情況下,IP-Adapter 仍然較難找到一個合適的閾值來平衡。由於目前 Adapter-based 的方法普遍使用 CLIP 提取影像特徵,作者透過影像檢索的例子確認,在 CLIP 特徵空間中,影像和文字的特徵是可以相加減的,答案顯而易見,為什麼不在注入網路之前,顯式地減去可能會洩露的內容資訊,從而對影像特徵進行內容和風格解耦呢?
最後,受到 B-LoRA 方法的啟發,作者細緻分析了 IP-Adapter 在每一層注入的效果,驚奇地發現存在兩個獨立的層分別響應風格和空間佈局的資訊。為此,作者引出了提出的方法。
方法介紹
基於以上的觀察和實驗,作者提出了 InstantStyle 方法,如圖所示,該方法核心包含兩個模組:
(1)特徵相減:利用 CLIP 空閒的特性,顯式地進行特徵相減,去除影像特徵中內容的資訊,減少參考圖片內容對生成圖片的影響。其中相比於風格的欠定,內容資訊往往容易透過文字簡單描述,所以可以利用 CLIP 的文字編碼器提取內容特徵,用於解耦。
(2)僅風格層注入:僅在特定風格層完成特徵注入,隱式地實現風格和內容的解耦。作者在 UNet 的 mid block 附近,發現了分別控制風格和空間佈局的兩個特定層,並發現在某些風格中,空間佈局可能也屬於風格的一種。
整體而言,InstantStyle 的思路相當簡單易懂,僅僅透過幾行程式碼,就緩解了風格遷移中最困擾的內容洩露問題。
實驗結果
作者在文中展示了兩種策略的生成結果,這兩種策略不侷限於特定模型,可以分開獨立使用,都實現了優異的效果。
特徵相減的結果:
僅風格層注入:
和目前領先方法的對比:
基於原圖的風格化:
社群玩法
InstantStyle 已經提供了豐富的程式碼實現,開發者可以直接透過 GitHub 找到,包括文生圖、圖生圖以及 Inpainting。近日還被影片生成專案 AnyV2V 作為推薦的風格化工具。對於社群使用者,InstantStyle 還原生就支援了 ComfyUI(該結點作者也是 InstantStyle 的共同作者),使用者可以透過更新 IP-Adapter 結點即可快速嘗試。
作為 InstantID 作者,又怎麼少得了和 InstantID 的聯名呢,相比於 InstantID 中僅透過文字來控制生成風格,InstantStyle 無疑可以讓風格更加多樣。作者團隊會在 GitHub 星標到達 1000 後,官方支援人臉的風格化功能。
作者也官方支援了 Huggingface Demo,可以線上試玩。