一個模型走天下!智源提出全新擴散架構OmniGen,AI生圖進入「一鍵生成」時代
【新智元導讀】LLM統一了語言生成任務,圖像生成可以嗎?就在剛剛,智源推出了全新擴散模型架構OmniGen,單個模型就能生成圖像,徹底告別繁瑣工作流!
大語言模型(LLM)的出現統一了語言生成任務,並徹底改變了人機交互。
然而,在圖像生成領域,能夠在單一框架內處理各種任務的統一模型在很大程度上仍未得到探索。
近日,智源推出了新的擴散模型架構OmniGen,一種新的用于統一圖像生成的多模態模型。
論文地址:https://arxiv.org/pdf/2409.11340
代碼倉庫:https://github.com/VectorSpaceLab/OmniGen
Demo: https://huggingface.co/spaces/Shitao/OmniGen
OmniGen具有以下特點:
統一性:OmniGen天然地支持各種圖像生成任務,例如文生圖、圖像編輯、主題驅動生成和視覺條件生成等。此外,OmniGen可以處理經典的計算機視覺任務,將其轉換爲圖像生成任務。
簡單性:OmniGen的架構高度簡化。此外,與現有模型相比,它更加用戶友好,可以通過指令完成複雜的任務,而不需要冗長的處理步驟和額外的模塊(如ControlNet或IP-Adapter),從而大大簡化了工作流程。
知識遷移:受益于統一格式的學習,OmniGen有效地跨不同任務遷移知識,應對未見過的任務和領域,並展示新穎的功能。研究人員還探討了模型的推理能力和思維鏈機制的在圖像生成領域的潛在應用。
基于OmniGen的通用能力,可實施更靈活的圖像生成,以上展示一個簡單 Pipeline:文本生成圖像,編輯生成圖像的部分元素,根據生成圖像的人體姿態生成重繪圖像,從另一圖像中提取所需對象與新圖像融合
介紹
近年來,許多文生圖模型在生成式AI的浪潮中脫穎而出。然而,這些出色的專有模型僅能基于文本生成圖像。當用戶産生更靈活、複雜、精細等的圖像生成需求時,往往需要額外的插件和操作。
例如,若想參考任一姿態生成圖像,常規方法是:用姿態檢測器從參考圖像中估計姿態作爲條件輸入,並加載對應的Controlnet插件,最後提取條件輸入的特征饋入擴散模型生成圖像。
此外,若想基于合照中的特定人物生成新圖像,流程更加繁瑣,需要裁剪圖像以確保結果圖像僅包含目標人物。而諸如InstandID等方法還需使用額外的人臉檢測器提取面部信息,並用面部編碼器提取特征以輸入模型。
值得注意的是,各種不同的生成任務甚至還需更多不同的插件和操作,如此複雜、瑣碎而冗長的工作流極大地增加了訓練和應用的成本。
然而,即便如此繁瑣,有時也仍難以滿足一般的圖像生成的需求,例如基于指定多張照片中的實體生成新圖像。
相反,在文本生成領域,以ChatGPT爲代表的模型可通過人類指令直接處理各種文本任務。
那麽,在圖像生成領域,能否通過單個支持多種輸入且耦合多項能力的模型,基于用戶指令完成各種生成任務,而無需各種繁雜的流程嗎?
爲解決這一挑戰性問題,智源發布了統一圖像生成模型OmniGen。
OmniGen模型具有良好的簡潔性和易用性,集成了多種基礎圖像生成任務,包括但不限于:文生圖、圖像編輯、角色一致性生成、基于視覺條件的生成等。OmniGen支持基于任意多模態的文圖指令完成任務,而無需任何其他額外插件和操作。
能力
OmniGen集多項能力于一體,包括但不限于:
文本到圖像生成(Text to Image Generation)
指代表達生成(Referring Expression Generation)
通用圖像條件生成(General Image Conditional Generation)
圖像編輯(Image Edit)
經典計算機視覺任務:圖像去噪、邊緣檢測、姿態估計等
一定的上下文學習能力(In-context Learning)
以下簡要展示部分能力效果:
1. 文本到圖像生成
2. 指代表達生成
OmniGen具備類似InstandID、Pulid等模型生成角色一致性圖像等能力,即:輸入具有單個對象的圖像,理解並遵循指令,輸出基于該對象的新圖像。
同時,OmniGen具有更高階的能力:指代表達生成能力,我們把這種能力定義爲能夠從包含多個對象的圖像中,識別指令所指代的對象並生成新的圖像。
例如,OmniGen可根據指令直接從多人圖像中定位目標對象,並生成遵循指令的新圖像,而無需任何額外的模塊和操作 :
更多樣例:
3. 通用圖像條件生成
OmniGen不僅支持類似ControlNet根據特定顯式條件生成圖像的能力,還同時具備處理經典計算機視覺任務的能力(如人體姿態估計、深度估計等)。
因此,OmniGen可憑借單個模型完成整個ControlNet流程:直接使用OmniGen對原圖提取視覺條件,並基于所提取的條件生成圖像,無需額外處理器。
同時,OmniGen還能更進一步簡化中間流程,一步出圖:直接輸入原圖,輸入指令「Following the human pose (or depth mapping) of this image, generate a new image: ...」,就可根據輸入圖像的人體姿態或深度圖關系生成新圖像。
4. 圖像編輯
OmniGen具備良好的圖像編輯能力,並且可以在一次運行中同時執行多條編輯指令,例如:
5. 更多能力
OmniGen具備潛在的推理能力,可以處理對模型理解和推斷能力具有一定要求的非顯式查詢指令。
例如,要求模型刪除圖中能裝水的物品,則模型能夠理解和推斷出指令涉及的圖中物體並刪除:
另一方面,OmniGen具有一定程度的上下文學習能力,可根據參考樣例對圖像進行處理。
例如,輸入一個分割皇後象棋的輸入-輸出配對樣例(Example),模型能識別並分割新輸入圖像中對應的物體:
思維鏈(Chain-of-Thought, CoT)方法將任務分解爲多個步驟,並按順序求解每個步驟以獲得准確的最終答案,從而顯著提高了LLM的性能。
那麽,是否可以將類似的替代方案應用于圖像生成呢?受人類繪畫的基本方式的啓發,研究人員希望模仿一步一步的繪畫過程,從空白畫布上叠代地生成圖像。
研究人員進行了初步的探索,微調後模型能夠模擬人類行爲一步步的生成圖片,進一步的優化留給以後的研究。
OmniGen的能力包括但不限于以上內容,還包括基本的圖像去噪、邊緣提取等能力。模型權重和代碼已開源,用戶可以自行探索更多OmniGen的能力。
模型
OmniGen的核心設計原則是:簡潔和有效。
因此,研究人員最大程度舍棄了各種額外模塊。OmniGen的基本架構爲:一個 Transformer 模型和一個VAE模塊,共3.8B參數。
其中,Transformer繼承于Phi3-mini模型,圖像內部改用雙向注意力(Bidirectional Attention) 以契合圖像數據特性。
整體架構
爲實現強大的通用和泛化能力,研究人員需要基于大規模和多樣化的數據集訓練模型。然而,在圖像生成領域,尚無一個可用的通用數據集。
爲此,研究人員構建了首個大規模且多樣化的統一圖像生成數據集X2I,意爲 「Anything to Image」。
其中,不同任務的數據格式被重新組織和統一,以便于管理和使用。
X2I數據集包含約1億圖像,未來經審查等流程後將開源,旨在進一步推動通用圖像生成領域的發展。
X2I數據集的一些示例
小結與展望 : 總之,OmniGen的統一圖像生成範式,不但有助于執行各種下遊任務,而且有利于組合各種能力滿足更通用的需求。
當前,OmniGen的報告、權重和代碼等已開源,歡迎社區共同參與對OmniGen潛在能力的發掘、基本性能的提升和廣泛應用的探索。
OmniGen模型是對統一圖像生成的初步嘗試,還有很大的提升空間。未來,智源將進一步改進模型基本能力,拓展更多有趣的功能。
同時,微調代碼已發布,用戶可簡單對其進行微調,由于OmniGen的輸入形式非常多樣,用戶可自行定義各式各樣的微調任務,賦予模型更多有意思的能力。---[新智元報導*編輯:編輯部 HYZ/來源 : 新智元]
參考資料:https://arxiv.org/pdf/2409.11340