AI2驚艷發布OneDiffusion:突破性大規模擴散模型,支持多任務生成與理解,重塑視覺AI應用 精華
文章鏈接:https://arxiv.org/pdf/2411.16318
項目鏈接:https://github.com/lehduong/OneDiffusion
亮點直擊
- 統一的多任務能力:OneDiffusion 提出了一個統一的擴散模型,能夠無縫支持圖像合成和理解的雙向任務。它通過簡單靈活的框架,實現了多種任務(如文本到圖像生成、深度估計、多視角生成等)的處理,而無需依賴外部模塊或額外損失函數。
- 創新的訓練方法:OneDiffusion 采用了基于序列數據的訓練方法,將所有任務視為不同噪聲級別的幀序列進行訓練,使得模型能夠在推理時使用任意幀作為條件輸入。這種方法增強了模型的通用性和可擴展性。
- 高效的數據集與訓練:為了支持多任務的聯合訓練,OneDiffusion 使用了 One-Gen 數據集,集成了來自多個來源的高質量數據,包括文本到圖像生成、深度估計、分割等任務的數據。該數據集為模型提供了多樣化的條件設置,提高了模型的泛化能力。
- 強大的性能與通用性:OneDiffusion 在多項生成和預測任務上展示了優異的性能。在文本到圖像生成、多視角生成、深度估計等任務中,OneDiffusion 的表現與專門設計的最新方法相媲美,且模型能夠處理不同分辨率的任務,具備強大的零-shot生成能力。
總結速覽
解決的問題
OneDiffusion 解決了跨任務的雙向圖像合成與理解問題,能夠處理多種圖像生成與理解任務,如文本到圖像生成、圖像去模糊、圖像超分辨率、深度估計、語義分割等。此外,它還支持多視角生成、相機姿勢估計和通過連續圖像輸入進行即時個性化。
提出的方案
OneDiffusion 采用了一種統一的訓練框架,將所有任務視為具有不同噪聲尺度的幀序列,這使得每個幀都可以在推理時作為條件圖像。通過這種方式,該模型可以無縫支持多任務訓練并適應不同的分辨率,而無需專門的架構。
應用的技術
- 多任務訓練框架:將任務視為幀序列處理,支持不同的任務條件,如文本、深度、姿態、布局和語義圖等。
- 圖像生成與理解:通過圖像去模糊、超分辨率、深度估計等技術實現圖像生成與理解。
- 多視角生成與相機姿勢估計:支持基于多個視角生成圖像,進行相機姿勢估計,并允許即時個性化。
達到的效果
實驗結果表明,OneDiffusion 在生成和預測任務中具有競爭力的表現,尤其在文本到圖像生成、多視角生成、ID 保持、深度估計和相機姿勢估計等任務中,盡管訓練數據集相對較小,仍能展現出良好的泛化能力和可擴展性。
方法論
生成建模中的流匹配
該目標等同于原始的流匹配目標,只需要目標分布的樣本和適當的條件概率路徑。
提出的方案
訓練
實現細節
模型架構
按照 [72],還使用了 3D RoPE 進行位置編碼,從而實現對不同分辨率和長寬比的泛化。
文生圖(單視圖)
在只有一個“視圖”的情況下,訓練和推理過程與標準的文本到圖像擴散模型相同。我們在標題前添加任務標簽 ???[[text2image]]?
? 來指定任務。
圖生圖(雙視圖)
將第一個視圖設置為目標圖像,第二個視圖作為條件輸入。在推理過程中,可以使用一個或兩個視圖進行生成,模型被訓練以生成目標圖像。對于生成邊界框或語義圖等任務,在提示中添加十六進制顏色代碼和類別標簽。例如,要分割一只帶有黃色遮罩的鼠標,提示為:
???[[semantic2image]] <#FFFF00 yellow mask: mouse> photo of a ...?
?進一步的細節見附錄。
身份定制(2-4 視圖)
從同一人的多個視圖中采樣圖像,將每張輸入圖像的標題拼接在一起,并用標記 ???[[imgX]]?
?? 表示每張圖像。還在標題前添加任務標簽 ??[[faceid]]?
?。在推理時,可以基于任意數量的圖像進行條件生成,從而生成多個輸出,提升一致性。
多視圖生成(4-12 視圖)
訓練細節
訓練期間的策略
One-Gen 數據集
文生圖
- 公共數據集:PixelProse、Unsplash、Coyo 和 JourneyDB。
- 內部數據集:包含 1000 萬張圖片,使用 LLaVA-NeXT 和 Molmo 對圖像重新生成的描述。每張圖像的文本描述長度為 100-150 個單詞。如果存在原始提示詞,我們會同時使用生成的描述和原始描述。
圖生圖
- 簡單任務:如去模糊、修復、基于 Canny 邊緣生成圖像或超分辨率,使用 100 萬條合成數據子集,并為每張圖像應用相關預處理器生成輸入條件。
- 復雜任務:根據以下流程使用 Midjourney、Stable Diffusion 和 Flux-dev 生成的輸出創建合成數據集:
- 收集包含 5 萬張主要以人體為主的圖片子集,用于姿態條件生成。
- 使用 YOLOv5 檢測感興趣區域的邊界框,并使用 ViTPose 進行姿態估計。
- 使用 DepthAnything-v2 對來自多個數據集(包括真實和合成圖像)的 50 萬張圖片生成深度圖。
- 此外,我們對來自 Hypersim 數據集 的 4 萬張圖片進行標注,使用 LLaVA-NeXT 生成描述,將其整合到訓練集中。
- 對每張圖像,使用 LLaVA-NeXT識別實體或主體(如人、襯衫、狗、建筑物),每張圖像最多識別 10 個實體。
- 基于 LLaVA-Next 提供的主體名稱,使用 SAM 進行語義分割并提取邊界框。
- 每個類別從預定義列表中隨機分配一種顏色。
- 數據集包含 35 萬組三元組(語義地圖、邊界框和原始圖像)。
- 語義圖和檢測:
- 深度圖(Depth Map):
- 人體姿態 (Human Poses):
身份定制 (ID Customization)
收集了來自游戲、電影和公共可用圖像的名人和角色數據集。
- 數據過濾:確保每個主體至少有 4 張圖像,并去除 NSFW 內容。
- 數據規模:包含大約 6 萬名主體和 130 萬張圖像。
- 標注:通過 LLaVA-NeXT 生成圖像的描述。
多視圖生成 (Multiview Generation)
- 數據集:DL3DV-10K、Objaverse 和 CO3D。
- Objaverse 數據集:使用 LGM 提供的過濾后 8 萬樣本分割及 Cap3D 提供的描述。
- DL3DV 數據集:從每個場景中隨機采樣一張圖像,并使用 LLaVA-Next 生成描述。
- CO3D 數據集:排除描述,僅在文本輸入中包含任務標簽。
實驗
本節評估 OneDiffusion 模型在廣泛的圖像生成和理解任務上的性能。所有結果均未進行任務特定的微調。
文本到圖像 (Text-to-Image)
下圖 3 展示了 OneDiffusion 在文本到圖像任務中的定性結果。得益于 One-Gen 數據集的多樣性,模型能夠處理各種藝術風格,包括藝術化設計和逼真的視覺效果。
遵循前期研究的方法,在 GenEval 基準測試上評估模型的文本到圖像能力。
- 對于每個提示詞,使用Euler 求解器生成 4 張圖像,采樣步數為 100,指導因子為 5。
- 結果:OneDiffusion 的性能與基線模型對比見下表 1。
- 分析:盡管訓練數據量相對較小,模型表現出較強的性能,尤其在多任務能力上表現優異。這主要歸功于數據集的多樣性以及為每個樣本提供的全面描述。
可控圖像生成 (Controllable Image Generation)
使用多個源域(如 HED 邊緣圖、深度圖、人類姿態、語義地圖、邊界框)進行圖像到圖像轉換實驗。
- 定性結果見下圖 4 和下圖 19。
- 結果:OneDiffusion 在生成過程中能夠有效對齊輸入條件圖像,適應各種輸入條件。這得益于模型的純注意力機制以及描述信息的輔助作用。
多視圖生成 (Multiview Generation)
使用 Google Scanned Object 數據集 評估多視圖生成能力。
- 下表 2 展示了 OneDiffusion 與當前最先進方法(包括 Zero123 、Zero123-XL 和 EscherNet)的對比結果。
- 對比特點:
- 這些基線模型專為多視圖生成任務設計并經過專門訓練。
- OneDiffusion 的優勢:支持可變數量的條件輸入,并且其靈活的去噪框架能夠在相機位姿未知的情況下,整合額外的條件視圖。
多視圖生成 (Multiview Generation)
如上面表 2 所示,OneDiffusion 在單視圖條件下(1-view)性能顯著優于 Zero123 和 Zero123-XL。此外,即使在相機位姿未知的情況下,OneDiffusion 依然表現出較強的生成能力。例如:
- 在2-view條件下:
- 未知相機位姿時,PSNR 為 19.83。
- 已知相機位姿時,PSNR 為 20.22,僅略有下降。
- 在3-view條件下:
- 未知相機位姿時,PSNR 為 20.64。
- 已知相機位姿時,PSNR 為 21.79。
總結:這些結果表明,OneDiffusion 對多種輸入條件具有高度適應性和生成效果的穩定性,突顯了其在多視圖生成中的實際應用潛力。
下圖 5 提供了從單個前視圖圖像生成多視圖的兩個定性示例,顯示模型能夠在不同方位角和仰角之間生成一致的視圖。更多可視化結果見下圖 10 和圖 11。
- 靈活性優勢:通過對所有圖像進行“mask”并僅輸入相機位姿,我們還可以直接執行文本到多視圖生成(見下圖 12)。
身份定制 (ID Customization)
進一步評估了 OneDiffusion 在身份定制任務中的表現,該任務使用一個或多個身份圖像作為輸入進行個性化生成。
- 對比方法:InstantID、PuLID 和 PhotoMaker。
- 評估維度:包括定性和定量分析,測試范圍超越標準基準(unsplash-50),涵蓋了表情變化、視角變化甚至非人類圖像的生成能力。
下圖 6 展示了以下示例:
- 表情和視線方向變化(第一行)。
- 視角變化(第二行)。
- 非人類身份定制(第三行)。
結果:
- 優勢:OneDiffusion 成功完成這些任務,而其他方法均未能達到類似效果。
- 創新點:
- 與基于面部嵌入的傳統方法相比(這些方法主要“復制”原始面部),OneDiffusion 通過圖像與文本條件之間的注意力機制實現了靈活的端到端訓練。
- 生成的輸出更具表現力,適用于更廣泛的應用場景。
此外,確保一致多視圖生成的機制在身份定制中也能有效調整相機角度,這進一步展示了模型在相關應用中的適應性。更多可視化結果見下圖 13 和圖 14。
定量結果:在 Unsplash-50 基準上呈現了定量結果(見下表 3)。
- 對比分析:
- PuLID 通過從 ID 編碼器網絡(訓練于人臉辨識任務)中提取嵌入,有效保留了輸入圖像的身份特征。
- 然而,該方法在處理復雜的面部操控任務時面臨顯著局限性。
- OneDiffusion 優勢:在保留身份特征的同時,支持更復雜的生成任務,表現出更強的靈活性和生成能力。
深度估計 (Depth Estimation)
在圖像理解任務中評估了 OneDiffusion 模型在單目深度估計上的表現,使用了標準基準:NYUv2和 DIODE。定量結果見下表 4。
- 定量結果:本文的模型與基于預訓練文本到圖像擴散模型(如 Marigold)的基線相比,展現了具有競爭力的性能。
- 模型優勢:如下圖 7 所示,OneDiffusion 在處理基于擴散的深度估計模型(例如 Marigold)時表現得更為穩健。特別地,OneDiffusion 在處理開放世界圖像時表現優異,包括繪畫作品、霧霾天氣和非常規紋理。
- 更多比較:有關進一步的定性比較,請見下圖 15 和圖 16。
相機位姿估計 (Camera Pose Estimation)
使用 Google Scanned Object 數據集 對模型進行了相機位姿估計任務評估。
- 任務描述:對于此任務,我們使用每個合成物體的六張渲染圖像,并通過去噪相應的光線嵌入來估計相機位姿。
- 優化方法:采用 RayDiffusion 中的最小二乘優化方法來估計相機中心和旋轉。
- 準確度評估:以 0.3 的閾值衡量相機中心的準確度,定量結果見表 5。
結果對比:
- 下圖 8 提供了本文模型與 RayDiffusion 的定性比較。
- RayDiffusion 局限性:RayDiffusion 始終預測上半球的相機位姿,這是由于其訓練數據(如 CO3D)偏向上半球視角。
- OneDiffusion 優勢:得益于大規模多樣化的訓練數據集,OneDiffusion 在避免這一偏差的同時,取得了更高的準確度。
其他任務 (Other Tasks)
由于直接從原始輸出圖像中提取mask、邊界框和關鍵點并不直接,提供了在 COCO 數據集上進行人體姿態估計和語義分割的定性結果。
- 任務說明:我們在附錄中展示了這些定性結果,分別見下圖 17 和圖 18。
- 模型特點:由于本文的模型在訓練時不區分條件和圖像任務,它在理解任務中的表現也為模型的額外評估提供了有價值的信息。
- 未來方向:計劃在未來的工作中進一步探索這一方面的研究。
結論
OneDiffusion 在多個任務中取得了令人印象深刻的結果,包括條件化文本到圖像生成(T2I)、深度估計、開放詞匯語義分割、姿態估計、多視圖生成、身份定制和相機位姿估計。
- 貢獻與影響:這項工作推進了擴散模型的能力,提供了一種多功能且可擴展的解決方案,與大語言模型所提供的靈活性相媲美。
- 展望:這標志著向開發通用視覺模型邁出了重要一步,這種模型能夠作為多種應用的基礎設施。
本文轉自AI生成未來 ,作者:AI生成未來
