宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

騰訊混元攜手多所高校,讓3D網格生成快如閃電——PolyFlow如何破解困擾業界多年的「拓撲難題」

2026年07月06日 首頁 » 熱門科技

這項由騰訊混元團隊聯合浙江大學、清華大學、香港中文大學、香港科技大學及香港大學共同完成的研究,以預印本形式於2026年6月25日發布在arXiv平台,論文編號為arXiv:2606.30673。有興趣深入了解技術細節的讀者可以通過該編號查詢完整論文。

一、從"捏泥人"到"精雕細刻":3D網格生成是個什麼難題?

遊戲裡的人物角色為什麼看起來那麼流暢?電影裡的特效為什麼能和真實畫面無縫融合?背後有一個關鍵角色幾乎從未走進公眾視野,那就是多邊形網格——一種由無數小三角形或多邊形片面拼接而成的數字皮膚,包裹在3D模型表面。這層"皮膚"不僅決定了模型的外觀,更決定了電腦能否高效地對它進行渲染、物理模擬,以及藝術家能否方便地修改它的形狀。

專業3D藝術家花費大量時間做的一件事叫做"拓撲重建",也就是retopology。具體來說,當一個3D掃描儀掃出來的原始模型,往往是密密麻麻、毫無規律的三角形堆砌,就像一堆隨意撒落的碎玻璃片。而藝術家要做的,是把這堆碎玻璃重新拼成一幅結構清晰、可以流暢彎曲變形的馬賽克畫——每一塊拼片的大小、方向、排列都要經過精心設計,這樣模型在動畫中彎曲時才不會出現破面、撕裂或者奇怪的扭曲。這個過程耗費時間驚人,有時一個角色的拓撲重建就需要一名熟練藝術家花費數天甚至數周時間。

正因如此,學術界和工業界都在尋找"讓機器自動完成這件事"的方法。過去幾年裡,一類叫做自回歸Transformer(可以理解為一種逐字逐句生成文本的AI模式,只不過這裡生成的不是文字而是網格結構)的模型成為主流。這類方法把3D網格拆解成一串數字序列,然後像ChatGPT寫文章一樣,一個接一個地生成序列中的每個元素。PolyGen、MeshGPT、MeshAnything等一系列模型沿著這條路越走越遠,生成質量越來越高,但始終有一個根本性的瓶頸無法突破:它們必須一步一步順序生成,速度慢得像在用算盤做加法。生成一個中等複雜度的網格可能需要數分鐘,而圖像生成AI早就能在不到一秒內畫出高解析度圖片。

這裡的核心矛盾是什麼呢?在圖像、音頻、影片這些領域,研究者已經發展出了非常高效的"擴散模型"和"流匹配模型",這類模型可以同時處理所有像素,並行生成整張圖片,速度極快。然而,網格有一個獨特的麻煩:除了頂點坐標這種連續數值,它還有"拓撲連接關係"——也就是哪個頂點和哪個頂點之間有邊相連。這種連接關係是非此即彼的,要麼有邊,要麼沒邊,是徹徹底底的離散資訊。而擴散模型和流匹配模型天生只能處理連續的、可以加減噪聲的數值,面對"有邊/沒邊"這種二元選擇完全束手無策。

PolyFlow的誕生,正是為了打破這道橫亘在3D網格自動生成領域的高牆。

二、一把神奇的"翻譯器":把離散的拓撲關係變成連續的坐標

PolyFlow整個技術方案的核心秘密,是一個叫做"拓撲嵌入器"的小型神經網路。理解它是理解整個研究的關鍵,而理解它其實並不難——可以用一個非常直覺的比喻來幫助思考。

假設你面前有一張城市地圖,上面標註了很多建築物,以及建築物之間是否有道路直接相連。"有路相連"和"沒有直接道路"就是那種二元的、離散的資訊。現在,研究團隊做了一件巧妙的事:他們給每棟建築物分配了一個特殊的"坐標標籤",這個標籤不是普通的經緯度,而是一種在某個虛擬空間裡的位置編碼。神奇的規則是:兩棟建築如果有路直接相連,它們在這個虛擬空間裡的"特殊距離"就會很近;如果沒有路相連,這個"特殊距離"就會很遠。

這樣一來,原本"有路/沒路"這種離散的關係,就被轉換成了"虛擬空間中的距離"這種連續的數值資訊。任何連續生成模型都可以處理這種連續數值,生成完成後,只需要看一下各頂點的虛擬坐標之間的距離,距離近的就說明有邊相連,距離遠的就說明沒有邊——離散的拓撲關係就這樣被完美還原出來了。

這個"虛擬空間中的特殊距離"在論文中叫做"時空距離",它借鑑了物理學中時空度量的概念。具體來說,每個頂點的嵌入向量被分成兩部分:一部分叫做"空間分量",另一部分叫做"時間分量"。兩個頂點之間的時空距離等於它們空間分量的普通歐氏距離的平方,再減去時間分量的歐氏距離的平方。這種帶有減號的奇特度量方式,在數學上叫做偽黎曼度量,研究團隊引用了SpaceMesh這一先前工作的發現——這種度量方式在重建圖的連接關係時,收斂速度比普通的歐氏距離快得多。當時空距離小於某個閾值時,就判定兩個頂點之間有邊相連;反之則沒有邊。

拓撲嵌入器的訓練過程也很有意思。它接收每個頂點的三維坐標和表面法向量作為輸入,然後為每個頂點生成一個32維的連續向量(就是上面說的那個"特殊坐標標籤")。訓練時,模型需要做到的是:對於真實網格中已知有邊相連的頂點對,讓它們生成的嵌入向量之間的時空距離小於某個閾值;對於沒有邊相連的頂點對,讓時空距離大於這個閾值。這個訓練目標通過一種叫做二元交叉熵損失的方式來數學化表達,負樣本(即沒有邊連接的頂點對)從三類不同的頂點對中隨機抽取:完全隨機的頂點對、空間位置上相近但沒有邊的頂點對、以及拓撲上相鄰幾跳但沒有直接邊的頂點對。這三類負樣本的混合使用,確保了嵌入器能夠區分各種容易混淆的情況。

拓撲嵌入器一旦訓練完成,就被"凍結"起來,參數不再更新,作為一個固定的特徵提取工具使用。在後續的整個生成過程中,它的作用就是把網格的離散拓撲資訊提煉成連續的向量,為流匹配模型的工作鋪平道路。

三、並行"雕刻":PolyFlow如何同時生成幾何與拓撲?

有了拓撲嵌入器這把"翻譯器",PolyFlow就可以把一個完整的3D網格變成一種全新的數學表示形式。對於網格中的每一個頂點,研究團隊將三樣東西拼接在一起:頂點的三維坐標(x、y、z三個數字)、頂點處的表面法向量(描述曲面朝向的三個數字),以及拓撲嵌入器生成的32維連續嵌入向量。這樣,每個頂點就變成了一個38維的連續向量,而整個網格就變成了一個由若干行這樣的向量組成的矩陣。至關重要的一點是,這個矩陣中的每一個數字都是連續的——沒有任何離散的成分。流匹配模型終於可以大顯身手了。

PolyFlow採用的流匹配框架,可以這樣理解:假設你手裡握著一把沙子(這代表高斯噪聲,也就是完全隨機的初始狀態),你的目標是把這把沙子塑造成一個精美的沙雕(代表真實的網格數據)。流匹配模型學習的就是一個"速度場"——它告訴沙粒們,在每個時刻應該朝哪個方向、以多快的速度移動,才能逐漸從混沌走向有序。數學上,這個過程通過求解一個常微分方程來實現,從時間t=0(純噪聲)積分到t=1(目標數據)。訓練時,模型通過最小化預測速度與真實速度之間的差距來學習這個速度場;推理時,只需要從噪聲出發,按照速度場的指引一步步走向目標即可。

PolyFlow的流匹配模型是一個基於Transformer架構的神經網路,具體來說採用了類似Flux(一種知名圖像生成模型)的雙流DiT設計,包含12個雙流模組和24個單流模組,隱層維度為768,16個注意力頭。這個模型接受三樣東西作為輸入:當前時刻帶有噪聲的頂點狀態矩陣、當前時刻的時間步t,以及來自點雲條件編碼器的條件特徵向量。條件特徵來自一個預先訓練並凍結的點雲變分自編碼器(來自騰訊混元3D-Omni項目),它將輸入的40960個表面點雲點編碼為2048個1024維的條件向量。

訓練時,模型的損失函數對三種不同的通道分別賦予不同的權重:坐標通道的權重為2.0,法向量通道的權重為0.5,拓撲嵌入通道的權重為1.0。這種差異化的權重設置,反映了不同類型的資訊對最終網格質量的不同重要性。訓練在64塊GPU上進行,使用AdamW優化器,批量大小為每卡1個樣本,學習率為萬分之一,並維護了一份指數移動平均(EMA)的模型權重用於推理,EMA衰減係數為0.9999。

推理階段的流程非常直觀。用戶提供一個輸入點雲(描述目標物體的大致形狀),同時指定希望生成的頂點數量。系統隨機初始化指定數量的頂點向量(每個都是38維的高斯噪聲),然後用歐拉方法求解常微分方程,經過50個積分步驟,這些噪聲向量逐漸被塑造成有意義的頂點狀態。整個過程對所有頂點完全並行進行,沒有任何順序依賴。

生成完成後,經過積分的38維向量被拆分回三個部分:坐標、法向量、拓撲嵌入。拓撲嵌入被用於重建網格的連接結構:計算所有頂點對之間的時空距離,距離低於閾值的頂點對就被連接起來形成邊;然後在邊集合上尋找所有三角形(即找所有三個頂點兩兩相連的情況),得到面的列表。此外,生成的法向量還被用來糾正每個三角面片的朝向——通過比較幾何法線與生成法線的點積,可以判斷面片是朝外還是朝里,從而統一修正所有面片的繞向,確保網格表面朝向一致。對於邊界處的小洞(邊數不超過8的洞),系統還會用耳切法自動填補,並用同樣的法向量引導方法確定填補面片的朝向。

四、從5百萬網格中學習:訓練數據與評測結果

PolyFlow的訓練數據規模相當可觀。研究團隊從公開倉庫和授權3D資產庫中匯集了約500萬個網格進行訓練。評測則使用了Toys4K數據集,這是一個包含多種類別3D玩具物品的基準測試集,其中的物品都未曾出現在訓練數據中,能夠客觀衡量模型的泛化能力。

在定量指標上,PolyFlow的表現相當亮眼。研究團隊使用倒角距離(CD)和豪斯多夫距離(HD)來衡量生成網格與真實網格之間的幾何誤差——這兩個指標都是從生成網格和真實網格各採樣1024個點後計算得到的,數值越小代表幾何越忠實。與自回歸方法中的翹楚BPT相比,PolyFlow在CD上低了43%(0.008對0.014),在HD上低了40%(0.021對0.035)。與其他基線相比,PolyFlow同樣全面領先:MeshAnythingV2的CD為0.132,FastMesh為0.130,DeepMesh為0.016,而PolyFlow只有0.008。CD的標準差也最低(0.001),說明生成質量非常穩定,不會出現時好時壞的情況。

速度方面的優勢同樣顯著。在單塊NVIDIA A100 GPU上,生成1000個頂點的網格,BPT估計需要約138.6秒,FastMesh需要10.39秒,而PolyFlow只需要2.43秒。生成4000個頂點時,BPT估計需要約554.5秒(超過9分鐘),FastMesh需要36.72秒,PolyFlow只需5.88秒——比FastMesh快6.2倍,比BPT快約百倍。更關鍵的是,後處理步驟(時空距離解碼和面片提取)的開銷極小,在4000頂點時只需約66毫秒,幾乎可以忽略不計。

從視覺質量的角度來看,BPT和FastMesh在處理複雜形狀時頻繁出現破面、缺失部分或比例失真的情況,尤其在龍形和飛船等細節豐富的物體上問題突出。DeepMesh藉助強化學習改善了結構完整性,但在細薄結構和精細細節上仍有明顯瑕疵。PolyFlow在所有測試形狀上都能生成拓撲最乾淨、幾何最忠實的網格,無論是整體輪廓還是局部表面細節都得到了很好的保留。

研究團隊還專門對比了頂點分布情況。FastMesh通過兩階段自回歸流程生成頂點,傾向於在幾何複雜的區域產生明顯的聚集現象——頂點扎堆,分布不均勻。PolyFlow的並行流匹配則產生更接近真實藝術家拓撲的頂點分布,空間覆蓋均勻,頂點精確落在表面特徵邊緣等關鍵位置。

五、"隨心調解析度":PolyFlow獨有的頂點數量控制能力

PolyFlow有一個自回歸方法天然無法實現的能力:用戶可以在生成之前,直接指定生成網格包含多少個頂點。

這種能力聽起來簡單,實際上意義深遠。在現有的自回歸方法中,序列長度雖然也在某種程度上影響輸出複雜度,但想要精確控制輸出網格的頂點數量是非常困難的。而PolyFlow的設計天然支持這一點——用戶指定多少個頂點,系統就初始化多少個噪聲向量,並行地把它們全部去噪成目標狀態。多一個頂點都不會有,少一個頂點也不會有。

研究團隊展示了對同一棵樹模型在頂點數250到3000之間五個不同級別的生成結果。在250個頂點時,模型產生一個粗糙但形狀可辨的近似,主要資源集中在樹冠輪廓和樹幹這些最重要的幾何特徵上。隨著頂點數增加到500、1000、2000,枝幹和樹冠的細節逐步湧現,樹幹的曲面也變得更加光滑。到3000個頂點時,精細的枝椏結構都清晰可見。貫穿整個解析度範圍,整體形狀保持幾何上的一致性,說明流模型學到的是一種"對解析度有感知的分布",而不是簡單地把更多點隨機撒在表面上。這種能力對於遊戲、影視等需要同一資產在不同平台以不同精度呈現的場景來說,具有非常實際的價值。

六、消融實驗:32維嵌入是甜蜜點

研究團隊對拓撲嵌入維度進行了系統性的消融實驗,分別測試了8維、16維、32維和64維四種設置。

在8維時,嵌入空間太小,無法有效區分相鄰的頂點,導致拓撲嵌入的精確率只有0.4292(也就是說很多錯誤的邊被預測為存在),儘管召回率很高(0.9969,即真實存在的邊基本都被找到了),F1綜合得分只有0.6000。生成的網格在視覺上呈現出嚴重扭曲的幾何,面片大量糾纏在一起。

提升到16維後,精確率大幅改善至0.9414,F1達到0.9697,整體形狀可以恢復,但在肢體部位仍能看到一些錯誤的長程連接邊。

到了32維,精確率0.9983,召回率幾乎完美(1.0000),F1高達0.9991,端到端生成的CD為0.008,HD為0.021,視覺上與輸入網格幾乎無法區分。

繼續提升到64維,邊重建的F1進一步小幅改善到0.9996,但端到端生成的HD反而從0.021上升到0.025。研究團隊分析認為,這可能是因為更大的流狀態(38維變為70維)增加了去噪器的學習難度,卻沒有提供有意義的額外拓撲資訊。因此,32維被選定為最終配置,在拓撲重建保真度與下游生成質量之間取得了最佳平衡。

七、對比SpaceMesh:站在巨人肩膀上的跨越

PolyFlow的拓撲嵌入思路借鑑自SpaceMesh這一先前工作,後者同樣使用時空距離來表示網格拓撲。但兩者之間存在本質上的不同。

SpaceMesh是一個獨立的拓撲預測方法,它在已知頂點位置的情況下,通過Transformer來預測哪些頂點之間應該有邊,但受限於Transformer二次方的內存消耗,只能處理約2000個頂點以下的網格,而且拓撲預測是幾何生成之後的獨立後處理步驟,兩者之間沒有聯合優化。

PolyFlow則把連續拓撲嵌入直接融入生成狀態的一部分,與幾何(坐標和法向量)並行地由同一個流模型共同生成。這意味著拓撲和幾何是同時被學習、同時被優化的,模型可以學到幾何特徵與拓撲結構之間的深層關聯。此外,PolyFlow的並行生成架構理論上不受頂點數量的嚴格限制(實踐中上限由GPU內存決定),可以處理比SpaceMesh更大的網格。

與其他替代方案相比,DMesh通過可微分的Delaunay三角剖分概率來表示拓撲,但Delaunay方法有內在限制——它只能產生特定類型的三角剖分,無法重現藝術家有意設計的那種非Delaunay的、具有特定藝術意圖的連接方式。PointTriNet則用局部PointNet分類器來提議和驗證候選三角形,這是一種自底向上的、局部的方法,同樣難以捕捉全局的拓撲意圖。PolyFlow的連續嵌入方法沒有這些內在限制,原則上可以表示任意的藝術家風格拓撲。

說到底,PolyFlow做的事情,可以用一句話來總結:它找到了一種聰明的"語言",把只有藝術家才能描述的網格連接結構,翻譯成了AI最擅長處理的連續數學形式,然後用當下最高效的並行生成技術把這套語言用起來,最終讓機器在幾秒鐘內做到了人類藝術家需要數天才能完成的事情。

這項研究最直接的影響在於3D內容創作流程的提速。對於遊戲公司、影視特效團隊、虛擬現實內容製作者來說,網格拓撲重建一直是流程中最耗時的瓶頸之一。如果這類技術成熟落地,藝術家可以將更多時間花在創意決策上,而非繁瑣的手工操作。同時,精確的頂點數量控制能力,讓同一套流程可以直接服務於從手機遊戲到電影級別的不同精度需求。

當然,這項研究也有其局限性:目前主要在三角網格上驗證,四邊形網格(遊戲工業中同樣常用)的支持需要進一步擴展;此外,面對極其複雜的高解析度網格(如超過一萬個頂點),並行處理的內存開銷也是一個需要持續優化的問題。PolyFlow所展示的方向,為後續研究者留下了相當多值得探索的空間——比如能否把這套並行生成思路推廣到四邊形網格,能否進一步提升對極複雜形狀的處理能力,都是自然延伸的方向。

對這項研究感興趣的讀者,可以通過arXiv:2606.30673查詢完整論文,其中包含了完整的數學推導、實驗細節和更多可視化結果。

Q&A

Q1:PolyFlow生成的網格和普通AI生成3D模型有什麼區別?

A:普通AI生成的3D模型往往是密集的三角形堆砌,結構雜亂,不適合直接用於遊戲或影視製作。PolyFlow生成的是經過拓撲重建的、具有藝術家風格的乾淨網格,連接結構清晰有規律,可以直接用於渲染、動畫和物理模擬,省去了費時費力的手工整理步驟。

Q2:拓撲嵌入器的32維設置是怎麼確定的?

A:研究團隊做了對比實驗,分別測試了8維、16維、32維、64維四種設置。8維時嵌入空間太小,邊重建質量差,網格嚴重變形;16維有所改善但仍有錯誤;32維達到F1值0.9991的近乎完美水平,端到端生成質量也最好;64維在邊重建上僅略有提升,但實際生成的網格質量反而下降,可能是因為維度更高讓去噪模型更難學習。最終選定32維作為最優配置。

Q3:PolyFlow能精確控制生成多少個頂點嗎?

A:可以。用戶在生成之前直接指定目標頂點數量,PolyFlow就會初始化對應數量的噪聲向量並全部並行去噪,輸出的網格頂點數與指定數量完全一致。論文展示了同一個樹模型在250到3000個頂點之間五個級別的生成結果,形狀在不同解析度下保持幾何一致性,細節隨頂點數增加而逐步豐富。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新