曾爆火的 InstantID又有了新玩法:風格化圖像生成,已開源
風格化圖像生成,也常稱為風格遷移,其目標是生成與參考圖像風格一致的圖像。此前基于 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,可以在線試玩。
本文轉自 機器之心 ,作者:機器之心
