新擴散模型OmniGen一統圖像生成,架構還高度簡化、易用

機器之心發佈

機器之心編輯部

大型語言模型(LLM)的出現統一了語言生成任務,並徹底改變了人機交互。然而,在圖像生成領域,能夠在單一框架內處理各種任務的統一模型在很大程度上仍未得到探索。近日,智源推出了新的擴散模型架構 OmniGen,一種新的用於統一圖像生成的多模態模型。

OmniGen 具有以下特點:

基於 OmniGen 的通用能力,可實施更靈活的圖像生成,以上展示一個簡單 Pipeline:文本生成圖像,編輯生成圖像的部分元素,根據生成圖像的人體姿態生成重繪圖像,從另一圖像中提取所需對象與新圖像融合。

一、介紹

近年來,許多文生圖模型在生成式 AI 的浪潮中脫穎而出。然而,這些出色的專有模型僅能基於文本生成圖像。當用戶產生更靈活、複雜、精細等的圖像生成需求時,往往需要額外的插件和操作。

例如,若想參考任一姿態生成圖像,常規方法是:用姿態檢測器從參考圖像中估計姿態作爲條件輸入,並加載對應的 Controlnet 插件,最後提取條件輸入的特徵饋入擴散模型生成圖像。

此外,若想基於合照中的特定人物生成新圖像,流程更加繁瑣,需要裁剪圖像以確保結果圖像僅包含目標人物。

而諸如 InstandID 等方法還需使用額外的人臉檢測器提取面部信息,並用面部編碼器提取特徵以輸入模型。

值得注意的是,各種不同的生成任務甚至還需更多不同的插件和操作,如此複雜、瑣碎而冗長的工作流極大地增加了訓練和應用的成本。然而,即便如此繁瑣,有時也仍難以滿足一般的圖像生成的需求,例如基於指定多張照片中的實體生成新圖像。

相反,在文本生成領域,以 ChatGPT 爲代表的模型可通過人類指令直接處理各種文本任務。那麼,在圖像生成領域,能否通過單個支持多種輸入且耦合多項能力的模型,基於用戶指令完成各種生成任務,而無需各種繁雜的流程嗎?

爲解決這一挑戰性問題,智源發佈了統一圖像生成模型 OmniGen。OmniGen 模型具有良好的簡潔性和易用性,集成了多種基礎圖像生成任務,包括但不限於:文生圖、圖像編輯、角色一致性生成、基於視覺條件的生成等。OmniGen 支持基於任意多模態的文圖指令完成任務,而無需任何其他額外插件和操作。

二、能力

OmniGen 集多項能力於一體,包括但不限於:

以下簡要展示部分能力效果:

2.1 文本到圖像生成

2.2 指代表達生成

OmniGen 具備類似 InstandID、Pulid 等模型生成角色一致性圖像等能力,即:輸入具有單個對象的圖像,理解並遵循指令,輸出基於該對象的新圖像。

同時,OmniGen 具有更高階的能力:指代表達生成能力,我們把這種能力定義爲能夠從包含多個對象的圖像中,識別指令所指代的對象並生成新的圖像。

例如,OmniGen 可根據指令直接從多人圖像中定位目標對象,並生成遵循指令的新圖像,而無需任何額外的模塊和操作:

更多樣例:

2.3 通用圖像條件生成

OmniGen 不僅支持類似 ControlNet 根據特定顯式條件生成圖像的能力,還同時具備處理經典計算機視覺任務的能力(如人體姿態估計、深度估計等)。

因此,OmniGen 可憑藉單個模型完成整個 ControlNet 流程:直接使用 OmniGen 對原圖提取視覺條件,並基於所提取的條件生成圖像,無需額外處理器。

同時,OmniGen 還能更進一步簡化中間流程,一步出圖:直接輸入原圖,輸入指令「Following the human pose (or depth mapping) of this image, generate a new image:...」,就可根據輸入圖像的人體姿態或深度圖關係生成新圖像。

2.4 圖像編輯

OmniGen 具備良好的圖像編輯能力,並且可以在一次運行中同時執行多條編輯指令,例如:

2.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 的輸入形式非常多樣,用戶可自行定義各式各樣的微調任務,賦予模型更多有意思的能力。