高分辨率3D人生成超簡單!Pippo:Meta最新工作首次完成1K分辨率一致多視角人物圖像生成

論文鏈接:https://arxiv.org/pdf/2502.07785
項目鏈接:https://yashkant.github.io/pippo/
亮點直擊
- 一種生成模型:能夠從單張圖像生成高分辨率和多視角一致的人體,并提出了有效的訓練策略。
- 一種擴散Transformer架構:專為增強多視角生成和視角控制而設計。
- 一種注意力偏置技術:能夠在推理時生成比訓練時多5倍以上的視角。
- 一種新穎的3D一致性指標:用于準確衡量生成任務中的3D一致性水平。

總結速覽
解決的問題
- 高質量多視角數據獲取成本高:傳統方法需要高質量的多視角工作室數據來創建逼真的人體表示,但這些數據獲取成本高,限制了可擴展性。
- 野外數據缺乏3D或多視角表示:大規模、非結構化的野外人體圖像和視頻雖然豐富,但缺乏真實的3D或多視角表示。
- 多視角生成模型的3D一致性問題:現有方法在生成多視角圖像時,難以保證3D一致性,且現有評估指標無法準確衡量3D一致性。
提出的方案
- Pippo模型:提出了一種基于Diffusion Transformer的生成模型Pippo,能夠從單張隨意拍攝的照片生成1K分辨率的多視角一致圖像。
- 多階段訓練策略:
- 預訓練:在大規模野外人體圖像數據集上進行預訓練。
- 中期訓練:在高質量工作室數據集上進行多視角一致性生成訓練。
- 后期訓練:引入空間錨點(Spatial Anchor)信號,進一步提升3D一致性。
- 推理時的注意力偏置技術:提出了一種注意力偏置方法,解決了生成更多視角時質量下降的問題。
- 改進的3D一致性評估指標:設計了一種新的3D一致性評估方法,通過2D關鍵點匹配、三角測量和重投影誤差來量化3D一致性。
應用的技術
- Diffusion Transformer(DiT):用于生成高質量的多視角圖像。
- 自注意力機制:用于條件多視角生成,增強模型的條件生成能力。
- 輕量級空間控制:如空間錨點(Spatial Anchor)和Plücker坐標,用于編碼目標相機姿態。
- 注意力偏置技術:用于控制多視角生成時的熵增長,提升生成質量。
- 2D關鍵點匹配與三角測量:用于評估3D一致性,通過重投影誤差量化生成結果的幾何正確性。
達到的效果
- 高質量多視角生成:Pippo能夠從單張圖像生成1K分辨率的多視角一致圖像,且無需額外的參數化模型或輸入圖像的相機參數。
- 3D一致性提升:通過多階段訓練和空間錨點信號,顯著提升了生成圖像的3D一致性。
- 推理時生成更多視角:通過注意力偏置技術,Pippo能夠在推理時生成比訓練時多5倍的視角,且保持高質量。
- 評估指標改進:提出的3D一致性評估指標能夠更準確地量化生成結果的幾何正確性,Pippo在該指標上優于現有方法。
方法
本文采用三階段策略訓練模型:
- 僅圖像預訓練(P1):在以人為中心的大規模數據集上進行預訓練,使用圖像條件。
- 多視角中期訓練(M2):在128×128的低分辨率下訓練模型,對48個目標視角進行去噪,并使用粗略的相機控制(無像素對齊的空間控制)。
- 多視角后期訓練(P3):在1024×1024的高分辨率下訓練模型,對1-3個目標視角進行去噪,并通過ControlMLP層注入空間控制。
將任何給定模型的訓練階段和分辨率表示為??{stage}@{resolution}???。例如,??M2@128??表示在128分辨率下進行中期訓練的模型。
###基礎模型架構:本文采用類似DiT的架構(見下圖3),受Stable Diffusion 3 和Flux啟發,使用尺度、偏移和門調制進行時間步條件控制。通過并行使用MLP和注意力機制簡化了架構,并移除了注意力層后的第二個LayerNorm。我們使用VAE在潛在空間中進行訓練,空間壓縮率為8倍,并通過線性層和2的patch大小對潛在圖像進行分塊。在訓練期間使用固定的正弦位置編碼。

僅圖像預訓練:在預訓練期間,模型學習去噪圖像,條件是其對應的DINOv2圖像嵌入,這與DALL-E 2的圖像解碼器原理相似。使用線性層將嵌入投影到模型維度,以創建聯合條件。重要的是,預訓練設置不需要任何注釋或圖像描述,并且與我們的下游目標(即給定單張參考圖像生成一致的多視角圖像)高度一致。

多視角模型
本文的目標是給定單張輸入圖像,生成人體的多個高分辨率和未見過的全新視角(類似于工作室捕捉)。



中期訓練:在中期訓練階段,希望訓練一個強大的多視角模型,能夠同時對多張圖像進行去噪,并在較低分辨率下快速吸收數據集。在此階段,不使用任何像素對齊的空間控制(如Plücker或空間錨點)。使用一個MLP將展平的16維目標相機內參和外參編碼為單個token。將此相機token融合到每個噪聲潛在token(對應視圖)中作為位置編碼,這使得我們的多視角模型能夠感知目標視角的3D信息。在128×128分辨率下進行中期訓練,聯合去噪24個視角。
后期訓練:在后期訓練階段,目標是創建一個高分辨率且3D一致的模型,從低分辨率和3D感知(但不一致)的模型開始。為此,我們設計了一個輕量級的ControlNet啟發模塊,該模塊以像素對齊的Plücker和空間錨點控制以及去噪時間步為輸入,為多視角模型生成單獨的調制信號。我們將此模塊命名為ControlMLP,因為它使用單個MLP為每個多視角DiT塊生成尺度和偏移調制控制,如圖3所示。ControlMLP的每一層在開始時都進行零初始化。我們發現后期訓練階段對于減少生成中的閃爍和3D不一致性至關重要。我們在512×512和1024×1024分辨率下進行后期訓練,分別聯合去噪10個和2個視角。進一步增加視角數量會導致GPU內存不足問題。
Plücker和空間錨點編碼:Plücker坐標中相鄰像素之間的相對差異非常小。為了更好地放大這些差異,使用SIREN層首先將6D網格處理為32D特征網格。然后,將其下采樣8倍以匹配潛在token的大小,并將其作為ControlMLP的輸入。此外,使用空間錨點來固定主體頭部在3D空間中的位置和方向。僅將空間錨點用于生成,而不用于輸入參考視圖。通過VAE將空間錨點圖像編碼到模型的潛在空間中,并將其與Plücker輸入連接,通過MLP生成每一層的調制信號。
理解與改進空間控制
本節介紹了在后期訓練階段注入像素對齊空間控制的設計選擇,并探討了替代方法。通過一個聚焦的過擬合實驗和表格1中的定量評估,展示了空間控制的有效性。
場景過擬合任務:使用給定主體和時間戳的固定3D場景中的160幀,將其分為100個訓練視圖和60個驗證視圖。我們在測試各種空間控制方法時,將中期訓練的模型過擬合到訓練視圖上,僅訓練控制模塊,同時凍結其他權重。在過擬合10K次迭代后,我們在驗證視圖上評估模型以進行新視角合成。對驗證視圖的強泛化能力表明有效的空間控制和適當的相機視角敏感性。通過此任務,在下表1中評估了不同的空間控制注入方法,從簡單到高級的調制設計逐步展開。

- 無過擬合(第1行):未進行場景特定過擬合的中期訓練模型在訓練視圖和驗證視圖上分別達到了19.2和19.7的PSNR。我們將此設置作為改進的基線。
- 使用MLP編碼相機(第2行):使用與先前工作[47, 73]和中期訓練階段類似的MLP編碼相機。過擬合后,模型在訓練視圖上的PSNR略有提升,但驗證PSNR下降了1.28點至17.95。這表明MLP無法為相機控制提供足夠的調制。
- 將Plücker作為位置編碼(第3行):在此設置中,使用通過MLP處理的下采樣和分塊化的Plücker坐標創建位置編碼,并將其添加到噪聲潛在token中。此設置受到先前工作[4, 8, 27, 37, 75]的啟發,與MLP相比,驗證PSNR進一步提高至18.89,但仍落后于未過擬合的基線。
- 使用ControlMLP和SIREN處理Plücker(第4、5行):在此設置中,我們使用ControlMLP模塊在每個多視角DiT塊輸出處注入空間控制。此外,使用SIREN編碼Plücker坐標放大了相鄰像素之間的相對差異。此設置達到了20.13的PSNR,比基線提高了0.9。
- 添加空間錨點(第6行):最終,使用空間錨點使驗證PSNR達到22.6(比基線提高了3.3點),并實現了強大的空間控制。因此,我們在后期訓練階段采用了此配置。
處理推理時視角數量的變化
在訓練期間,聯合去噪固定數量的視角。在128×128分辨率下進行中期訓練時去噪24個視角,在512×512和1024×1024分辨率下進行后期訓練時分別去噪2個或12個視角。這一選擇主要是為了避免訓練期間的GPU內存不足錯誤。在推理時,希望進一步擴展視角數量以生成平滑的旋轉視頻。這是可行的,因為我們可以在半精度(使用bfloat16)下運行推理,并且不需要存儲反向傳播計算圖。
在推理時簡單地將視角(或token)數量擴展到訓練時視角數量的2倍以上會導致生成結果模糊和退化。這些退化在輸入中未指定的區域(例如后腦勺或耳朵,如下圖5所示)最為顯著。接下來我們研究此問題,并引入注意力偏置來解決它。





在前面圖5中,展示了應用建議的注意力偏置前后的生成視覺效果。更多關于增長因子變化的視覺效果請參見附錄圖9。類似的技術在大型語言模型(LLM)中也有所探索,用于處理和生成更長上下文的文本,其中上述縮放因子入類似于溫度縮放的倒數。
在生成過程中使用凸起函數(bump function)代替恒定的無分類器引導(Classifier-free Guidance)可以減少偽影。關于這一技巧的詳細討論見附錄B。
增強的 3D 一致性度量
傳統上,多視圖生成模型的 3D 一致性通常通過 2D 圖像指標(如 PSNR、LPIPS 和 SSIM)來評估,并與一組固定的真實圖像進行比較。然而,這種方法對那些生成合理但與固定真實圖像不同的 3D 一致性新內容的模型存在不公平的懲罰。一些研究嘗試通過測量 SfM 或極線誤差(epipolar error)來解決這一問題,但這些方法要么依賴于相機位姿求解,要么由于測量整個極線而不夠魯棒。
為了解決這些局限性,本文使用已知的真實(GT)相機位姿作為輸入,并基于已知的相機位姿和預測的對應關系計算重投影誤差(Reprojection Error, RE)。
RE 計算涉及以下步驟:
- 關鍵點檢測與匹配:使用 SuperPoint檢測生成圖像中的關鍵點,并使用 SuperGlue在圖像間建立關鍵點的成對對應關系。
- 三角測量:基于對應關系和相機參數,使用直接線性變換(DLT)進行三角測量,以獲取每個關鍵點對應的 3D 點。
- 重投影與誤差計算:將這些 3D 點重投影到每張圖像上,并計算 RE,即原始關鍵點與重投影 3D 點之間的 L2 距離,歸一化為圖像分辨率,并計算所有圖像的平均誤差。
該方法通過評估多視圖生成模型生成 3D 一致性結果的能力,而非僅僅與固定的真實圖像進行比對,從而提供更公平的評估標準。重投影誤差(RE)為不同方法之間的比較提供了有價值的依據。此外,通過在一組獨立于生成圖像的真實世界圖像上計算 RE,我們可以建立基線,以量化由于 SuperGlue 和 SuperPoint 預測中的噪聲而產生的誤差,而非生成圖像本身的質量。命名約定(RE@SG)請注意,SuperPoint和 SuperGlue 僅是我們度量方法的一種具體實現,未來可以用更強的替代方法,如 MAST3R或特定領域的關鍵點檢測器(如 Sapiens)。因此,采用 RE@SG 作為命名約定,表示在 SuperGlue(SG)估計下計算的重投影誤差(RE)。未來,這一命名可以根據不同的估計器進行調整。
實驗
本文提供所有訓練和驗證階段所使用數據集的詳細信息,并討論評估指標,重點介紹 3D 一致性度量方法,最后總結核心實驗結果和消融研究。
數據
Humans-3B 數據集使用一個大型的專有數據集進行預訓練,該數據集包含約 30 億張以人為中心的自然場景圖像。
頭部與全身工作室數據集我們依賴高質量的專有工作室數據作為學習 3D 一致性的主要數據來源。本文的模型有兩個變體:僅頭部(head-only)和全身(full-body),分別在相應的數據集上進行中期訓練(Mid-training)和后期訓練(Post-training)。
- 全身模型:包含 861 名受試者(811 訓練集,50 測試集),每位受試者約 1000 幀。
- 頭部模型:包含 1450 名受試者(1400 訓練集,50 測試集),每位受試者約 40000 幀。
本文的工作室配置與 [49] 類似,使用兩個拍攝穹頂分別捕捉全身和頭部的高分辨率 4K 圖像,全身穹頂配備 230 臺攝像機,頭部穹頂配備 160 臺攝像機。
iPhone 數據集為了評估模型在真實場景中的表現,使用 iPhone 13 Pro 在室內辦公環境中拍攝 50 名測試受試者的隨意圖像。使用 Sapiens-2B進行背景分割后再輸入模型推理。該數據集僅用于評估模型在自然場景輸入上的表現。
評估設置與指標
3D 一致性與以往研究類似,本文報告標準圖像質量指標,包括 PSNR、SSIM(×100)和 LPIPS(×100)。然而,這些指標會不公平地懲罰在不完整輸入下生成的合理新視角。因此,引入了 重投影誤差(Reprojection Error, RE) 作為 3D 一致性的度量方法,該指標無需直接依賴真實數據即可進行驗證。我們的評估在測試集劃分中隨機選取 4 個視角進行計算。
身份保持使用兩種指標來衡量生成視圖之間的身份一致性:
- 面部相似度:計算通過 FaceNet 提取的特征之間的余弦距離。
- 全身相似度:使用 CLIP視覺編碼器計算特征的余弦距離。
預訓練模型評估通過 FID 衡量預訓練策略的有效性。具體實驗配置如下:
- 選取 Humans-3B 數據集的 3000 萬張標注子集訓練圖像 & 文本條件 P1@128 模型。
- 選取未經過濾的 3000 萬張子集訓練無過濾 P1@128 模型。
- 選取iPhone 數據集的 1000 張測試樣本進行評估。
結果
預訓練與數據過濾下表 2 展示了我們的預訓練模型結果(第 1 行),以及在人像數據過濾和圖像條件預訓練上的消融實驗(第 2-5 行)。實驗表明,人像過濾和基于圖像的條件訓練對高質量生成至關重要。


高分辨率多視角生成在下表 3中,評估了工作室數據集上未見受試者的 3D 重建 和 身份保持 能力。實驗表明,提高生成分辨率不會降低 3D 一致性或身份相似性。相關可視化結果見下圖 7,第 2、3 行。


隨意拍攝的 iPhone 照片生成
在上面表 3(第 3、6 行)中,報告了 iPhone 數據集(1K 分辨率模型)上隨意拍攝圖像的 重投影誤差 和 相似性評分。由于缺少真實數據,這種情況下無法評估標準的重建誤差指標。實驗發現,iPhone 拍攝的重投影誤差與工作室數據集相當,證明了 3D 一致性。這表明 Pippo 具備較強的泛化能力,能夠超越多視角訓練數據域,而大規模自然人像數據預訓練 在此過程中至關重要。相關可視化結果見上面圖 7,第 1 行。
與外部基準方法的比較在下圖 6中,將Pippo與當前最先進的全身生成和頭部生成方法進行比較:

- SiTH:使用ControlNet結合SDF 表示來重建紋理化人類網格。相比之下,Pippo 能夠生成更高分辨率的多視角結果,并提供更準確的 3D 視角合成。
- DiffPortrait3D:基于 3D-GAN 逆向推理生成 3D 頭像。相比之下,Pippo 支持更大的視角變化范圍,并且能夠更嚴格地保持輸入圖像的細節。
?
定量比較與基準測試現有的最先進人像生成方法依賴 顯式 SMPL 先驗,因此無法直接進行數值比較。從 定性分析(圖 6)來看,這些方法在 新視角生成 或 細節保持 方面存在明顯不足,因此我們未進行直接的數值對比。
在Pippo中,專注于構建強大的多視角人像生成模型,并在 iPhone 全身數據集 上評測了四種最先進的 多視角擴散模型(下表 4)。結果表明:

- Pippo 在身份保持(面部與身體相似性)和3D 一致性(RE)方面均優于基準方法。
- Pippo 能夠在更高分辨率下運行,同時保持更好的生成質量。

消融實驗
在 128×128 分辨率的 Head-only 數據集 上分析各訓練階段的設計選擇,并在 表 6 中展示消融實驗結果。
預訓練和中期訓練的重要性在 Humans-3B 數據集 上進行 預訓練 可顯著增強模型對 新身份的泛化能力(下表 6,第 8 行)。缺少預訓練 會導致模型泛化能力下降,生成的人臉模糊不清。此外,跳過低分辨率的中期訓練 會破壞多視角一致性(表 6,第 2 行)。

正面輸入參考的重要性表 6(第 10 行)表明,隨機選取輸入參考圖像的視角 會導致模型過度擬合訓練身份。特別是 背面視角 含有極少的身份信息,迫使模型學習到不穩定的相關性,最終影響泛化能力。
自注意力的重要性將 自注意力(self-attention) 替換為 交叉注意力(cross-attention) 進行參考圖像編碼會 降低生成質量(表 6,第 9 行)。實驗表明,此設置會導致模型 忽略輸入圖像的約束,生成的結果僅 模糊地 近似訓練數據。
Humans-3B 大規模預訓練數據集的作用使用 預訓練階段(P1) 的中間檢查點進行實驗,分別訓練了:
- 僅使用30%的數據
- 僅使用70%的數據
- 僅使用1% 高質量子集
然后,基于這些模型在 全身數據集(Full-body) 上進行 兩天的 128×128 分辨率多視角去噪訓練,并在下表 7中報告實驗結果。

結果表明,大規模數據對于泛化至新身份至關重要,特別是在 面部相似性(face similarity)指標 上表現出顯著提升。
結論
本文提出了一種擴散 Transformer 模型 Pippo,能夠從單張圖像生成高分辨率、多視角一致的人物圖像集。實驗結果表明,多階段訓練策略(結合大規模野生數據與高質量多視角影棚數據)可以實現可泛化的高分辨率多視角合成。
對擴散 Transformer 架構的分析揭示了以下關鍵因素對 高保真多視角人物生成 至關重要:
- 自注意力(Self-attention)參考輸入圖像
- Plücker 坐標結合SIREN
- 空間錨點(Spatial Anchor)
Pippo首次在1K 分辨率下實現了一致性多視角人物圖像生成。此外,提出的3D一致性度量 可以在無配對真實數據的情況下評估3D 一致性。
然而,本文的方法仍然存在可同時生成視角數量有限的限制,主要由于 上下文長度大、內存需求高。這一問題可以通過并行化技術和自回歸生成(autoregressive generation)進行優化。未來,將致力于擴展該方法至多視角一致性視頻生成。
本文轉自AI生成未來 ,作者:AI生成未來

















