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

贊助商廣告

X

城市大學、斯坦福大學等聯手打造:讓AI在一秒內雕刻出精美3D網格模型,效率提升18倍的秘密是什麼?

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

這項由香港城市大學、斯坦福大學、康奈爾科技、德克薩斯大學奧斯汀分校聯合完成的研究,發表於2026年7月19日至23日在洛杉磯舉辦的SIGGRAPH Conference Papers '26,論文編號為DOI 10.1145/3799902.3811195,感興趣的讀者可通過該編號查閱完整論文。

三維建模,是遊戲、電影、動畫乃至工業設計的核心基礎。每當你在遊戲裡操控一個角色,或者欣賞一部動畫電影裡栩栩如生的場景,那些外表光滑、結構精密的三維物體,背後都是由成千上萬個小三角形拼接而成的"網格"(Mesh)。製作這些網格,不僅需要專業藝術家耗費大量心血,還要讓三角形以合理的方式分布——比如在關節處密集、在平坦區域稀疏——才能讓人物做出流暢的動作或讓場景渲染得既快又好。

然而,讓電腦自動生成這樣高質量的三維網格,一直是個棘手的難題。而這項被命名為MeshFlow的研究,給出了一個既聰明又高效的解法:它能在不到一秒鐘的時間裡,把一堆隨機散亂的三角片,整理成一個結構精良的三維網格模型。相比此前最先進的方法,速度提升了整整18倍。

---

一、三維網格為什麼這麼難生成?

要理解這項研究的價值,可以用一個生動的比喻來體會其中的難度:假設你面前有一盒打亂的拼圖碎片,每一片的形狀都是三角形,而且任意兩片的擺放順序、朝向都沒有固定規定。你的任務是把這些碎片拼成一張完整且有意義的畫——比如一把椅子或一盞檯燈。不僅如此,同一張椅子的圖案可以由無數種不同的拼法實現,沒有哪種拼法天然比其他更"正確"。

這就是電腦在生成三維網格時面臨的真實困境。一個三維網格由頂點(空間中的點)和面(由三個頂點構成的三角形)組成,但無論面的排列順序如何改變,無論三角形內部三個頂點誰排第一、誰排第二,最終描繪的都是同一個形狀。換句話說,同一個模型有幾乎無窮多種等價的數學表示方式。

傳統的AI生成方法,有一類叫做"自回歸模型",它的工作方式像一個逐字聽寫的學生:先生成第一個頂點,再依據第一個生成第二個,依次類推,一步一步把整個網格"拼出來"。這種方法的優點是生成質量較好,但致命缺陷在於速度極慢——生成一個模型往往需要十幾秒甚至更長時間,而且越到後面越容易出錯,就像抄寫長文時越寫越累越容易寫錯字一樣。

另一類嘗試是用"擴散模型"(Diffusion Model)來生成網格,這類方法的思路更像雕塑家:從一團混亂的噪聲出發,逐漸"雕刻"出最終形狀。這種方法理論上可以更快,但過去的嘗試普遍效果欠佳,生成質量遠不如自回歸方法。研究團隊深入分析後發現,根本原因在於:之前的擴散方法根本沒有考慮到網格本身具有的那種"拼圖順序無所謂"的對稱性,導致模型訓練時接收了大量互相矛盾的信號,就好像老師一會兒告訴學生"A排第一"、一會兒又說"A排第二",結果學生徹底懵了。

---

二、從亂麻到精品:MeshFlow的核心思路

MeshFlow的核心策略,可以用一個"整理衣櫥"的比喻來理解。假設你的衣櫥里有一堆T恤,每件都可以疊成不同形狀、放在不同位置。整理衣櫥時,如果你每次都把最相似的T恤疊在一起、放到最合適的位置,整個整理過程就會又快又整齊。但如果你每次都隨意拿起一件就往上面疊,不管順序,整個衣櫥會越來越亂,最後你也不知道哪件在哪兒。

MeshFlow的做法,正是在訓練AI的過程中,每次都找到"最合理的配對方式"——把散亂的三角片(類比凌亂的T恤)以最短路徑對應到目標網格的三角片上,而不是隨機亂配。這樣,AI每次學到的資訊都是一致且清晰的,訓練效率和最終質量都大幅提升。

具體而言,MeshFlow使用了一種叫做"等變最優傳輸流匹配"(Equivariant Optimal-Transport Flow Matching)的技術框架。這個名字聽起來複雜,但拆開來理解並不神秘。"流匹配"(Flow Matching)是指:給定一個隨機的起點(一堆亂七八糟的三角片),AI學習如何沿著一條儘可能筆直的"流動路徑",把起點變換成目標網格。路徑越直,AI生成時需要的步驟就越少,速度也就越快。"等變"(Equivariant)的意思是:無論你怎麼打亂三角片的順序,AI的輸出都會以相同的方式跟著變化,也就是說AI始終尊重"順序無所謂"這一本質特性。"最優傳輸"(Optimal Transport)則是負責找到那個"最合理的配對方式",讓訓練信號始終清晰一致。

研究團隊還特別選擇了一種叫做"三角湯"(Triangle Soup)的網格表示方式。"三角湯"就是把網格里的所有三角形看成一鍋湯里漂浮的面片——誰都不是固定的、沒有固定的順序和連接關係,只是一組獨立的三角形。這種方式看似簡單粗糙,卻恰好把網格里那種"誰先誰後無所謂"的對稱性完美暴露出來,方便AI去利用。

---

三、兩大核心發明:讓AI真正"尊重"網格的對稱性

MeshFlow的技術貢獻主要集中在兩個方面,一個是專門設計的神經網路結構,另一個是專門設計的訓練目標函數。

先說神經網路結構。研究團隊對當時最先進的"擴散變換器"(Diffusion Transformer,簡稱DiT)架構進行了一次關鍵改造,稱之為"等變DiT塊"(Equivariant DiT Block)。

原版DiT的工作方式,有點像一個閱卷老師給考卷評分時,會根據考生的座位號來區別對待——坐在第一排的考生和坐在最後一排的考生,即使答案完全一樣,也會因為位置不同而得到不同的評分。這種"位置偏見"雖然在圖像生成里有其道理,但放到網格生成上就會造成嚴重問題:因為三角片的順序根本不重要,強行給它們加上位置標記,會讓AI學到錯誤的規律。

改造後的等變DiT塊,做了一個巧妙的分層設計。它先把每個三角形內部的三個頂點特徵,通過"平均池化"(Mean Pooling)合併成一個代表整個三角形的特徵——這一步的原理就像把三個人的平均身高作為這個小組的身高代表,順序不影響平均值。然後,這些三角形級別的特徵通過一個不帶位置編碼的自注意力層(Self-Attention),讓每個三角形都能"看到"其他所有三角形並更新自己的認知——這個過程對三角形的排列順序是完全不敏感的。接著,更新後的三角形特徵被"廣播"回各自的三個頂點,與原來的頂點特徵相加。最後,每個頂點的特徵獨立地通過一個前饋網路(FFN)進行精細化處理。

這個設計的精妙之處在於:它同時尊重了兩種對稱性——無論你怎麼打亂不同三角形之間的順序(面級別的對稱性),或者怎麼打亂同一個三角形內部三個頂點的順序(頂點級別的對稱性),網路的輸出都會以一致的方式隨之變換。這在數學上稱為對群 $G = S_3 wr S_N$(即 $S_3$ 與 $S_N$ 的圈積)的等變性,研究團隊在論文附錄中給出了嚴格的數學證明。

研究團隊還特別為網路加入了"面數量條件化"(Face Conditioning)機制。道理很簡單:用100個三角片拼出的椅子,和用800個三角片拼出的同一把椅子,外觀差異很大——前者稜角分明、風格粗獷(俗稱"低多邊形"或"Low-poly"風格),後者則更圓潤精細。如果不告訴AI當前任務的面數目標,它就無法自適應地調整生成策略。因此,團隊把目標面數編碼後加入到網路的條件信號中,讓AI始終清楚自己要生成多少個三角形。

---

四、嵌套最優傳輸:讓訓練路徑又直又短

說完網路結構,再來說訓練目標函數,也就是"嵌套耦合"(Nested Coupling)機制。

在流匹配的訓練過程中,AI需要學習如何從一個隨機的噪聲三角湯(起點)"流動"到一個真實網格(終點)。如果起點和終點的配對是隨機的——隨便抓一堆亂序的三角片和一個真實網格配對——那麼AI需要學習的"路徑"就會彎彎曲曲、錯綜複雜,就像一個人在迷宮裡繞來繞去才能找到出口。這種彎曲的路徑不僅讓訓練變慢,也讓推理時需要更多步驟。

嵌套耦合的做法,則是在每次訓練前,先找到噪聲三角片和真實網格之間"最省力"的配對方式——既在三角形層面找到最合適的一一對應,又在每對三角形內部找到頂點之間最合理的對應。這個過程分兩步進行。

第一步,對所有噪聲三角形和所有真實三角形兩兩配對,計算每對的最小距離(考慮到三角形內部頂點順序可以任意旋轉)。這樣就得到了一個N×N的代價矩陣。第二步,用經典的"匈牙利算法"(Hungarian Algorithm)解這個線性分配問題,找到讓總距離最小的面級別匹配方案。找到面的對應後,每對面內部頂點的最優對應也自然確定了。

論文裡用一個二維圖形的可視化實驗非常直觀地展示了這一點:用獨立隨機配對時,噪聲三角片流向目標三角片的路徑互相交叉、雜亂無章;而嵌套耦合配對後,所有路徑幾乎不交叉,每個三角片都沿著近乎直線的路徑到達目標,就像一次井然有序的大遷徙。

與此同時,研究團隊還引入了來自SD3(Stable Diffusion 3)的"噪聲時移"(Noise Shifting)策略:對於面數較多的網格,模型會在高噪聲階段多花一些計算資源,因為面數越多的網格在高噪聲階段的資訊量越大,需要更多精力來處理。這個策略進一步提升了生成質量,具體表現為最小匹配距離(MMD)從16.50降至14.85,1-NNA指標也從55.81%改善至54.51%。

---

五、實驗結果:速度與質量的雙重驗證

研究團隊在ShapeNet數據集的四個常見類別上進行了系統測試:椅子(Chair)、桌子(Table)、長椅(Bench)和檯燈(Lamp)。為了獲得足夠多的訓練數據,他們對每個原始網格進行了不同程度的面數簡化,並通過Hausdorff距離篩選確保簡化後的形狀足夠保真,最終獲得了從13142到126788不等的訓練樣本。所有網格頂點坐標被標準化到零均值和單位標準差。

在評價指標上,團隊主要使用兩種衡量方式。一種叫做"1-NNA"(1近鄰精度),它衡量的是:從生成的網格集合和真實網格集合中,能否用最近鄰分類器把兩者區分開來。如果生成質量完美,兩個集合的分布應該完全一致,任何分類器都無法區分,此時1-NNA趨近於50%——因此這個數值越接近50%越好。另一種叫做"自相交率"($R_i$),衡量生成網格中有多大比例的三角形發生了自我穿插,數值越低越好,代表網格質量更乾淨。

與三個主流的自回歸方法(PolyGen、MeshGPT、MeshXL)以及一個擴散模型對手(PolyDiff)的對比實驗顯示,MeshFlow在四個類別中有三個類別取得了最佳的1-NNA分數。以椅子類別為例,MeshFlow的1-NNA為54.51,接近理想值50,而PolyGen為81.45,PolyDiff為79.91,都離理想值差得很遠。在檯燈類別,MeshFlow的1-NNA更是達到了51.61,幾乎與理想值持平。

在自相交率方面,MeshFlow經過後處理後的數值也大幅優於多數基線方法。例如椅子類別後處理後自相交率降至14.02%,檯燈類別降至7.97%,而PolyDiff在這些類別的自相交率高達91.29%和83.99%,差距懸殊。

在速度方面,對比更加驚人。在NVIDIA A6000 GPU上,生成1000個網格的平均單個時間:MeshGPT需要16.271秒,MeshXL需要28.931秒,PolyDiff需要8.528秒,而MeshFlow僅需0.877秒。加上後處理步驟,總計0.900秒——比最快的自回歸基線快了18.55倍。而且MeshFlow生成的網格平均有452.9個面,反而多於MeshXL的403.5個面,可謂質量與速度雙贏。

在視覺渲染質量方面,團隊還計算了生成網格渲染圖像的FID(弗雷歇感知距離)和KID(核感知距離)。MeshFlow在椅子和檯燈類別分別取得了46.57和83.07的FID,均優於MeshGPT和MeshXL,進一步證明生成網格的視覺質量確實更接近真實數據。

---

六、消融實驗:每個設計的必要性

為了驗證每個設計選擇的有效性,研究團隊做了一系列對比實驗,就像做菜時逐一檢驗每種調料的作用。

關於網路結構的消融,團隊對比了四種方案。第一種"非等變網路"直接把標準DiT加上位置編碼應用於面特徵,完全不考慮對稱性;第二種"面等變網路"只考慮了面級別的對稱性,忽視了面內頂點的對稱性;第三種"頂點等變網路"把DiT直接應用於所有頂點特徵,忽視了面內頂點的層次分組;第四種才是完整的等變DiT塊。

結果非常明顯:在50步推理時,非等變網路的1-NNA高達83.87,頂點等變網路更差達到87.43,面等變網路為72.42,而完整的等變DiT塊為55.97。在減少到20步推理時,效果差異更加懸殊——完整方案僅從55.97略升至57.74,而其他方案均大幅惡化。這說明完整的等變設計不僅質量更好,而且對推理步驟數量更加魯棒,可以用更少步驟達到同樣質量,進一步加速推理。

關於耦合方式的消融,獨立隨機耦合和面級別耦合都明顯不如嵌套耦合。特別是訓練收斂曲線顯示,獨立耦合下的面交叉率(拓撲質量指標)下降明顯更慢,而嵌套耦合的訓練曲線更陡峭、收斂更快。流場的曲率可視化也清楚地表明,嵌套耦合下每條流動路徑更接近直線,獨立耦合則更加彎曲。

---

七、後處理:把粗糙原石打磨成精品

MeshFlow生成的原始輸出是一鍋三角湯——各三角形獨立存在,頂點之間沒有任何連接關係,而且由於連續空間中的浮點運算,相鄰三角形的共享頂點往往不完全重合,而是有微小偏差,就像用錯了膠水的拼圖,每片之間都有細小的縫隙。

為了把這鍋湯變成一個結構清晰的網格,團隊設計了一個兩步後處理流程。

第一步是神經網路去噪。研究者注意到,原始生成結果和在真實網格上疊加了少量高斯噪聲之後的樣子非常相似。於是他們訓練了一個專門的去噪器,用於把這種"帶微小噪聲的網格"恢復成乾淨的網格。去噪器使用與主網路相同的等變DiT架構,但不需要自適應層歸一化,訓練目標是簡單的L2重建損失。針對不同類別,去噪器的訓練時長不同:Bench類別約9000步,Lamp約21000步,Chair約30000步,Table約63000步。實際效果非常顯著,從圖示中可以清楚地看到,去噪前網格存在嚴重的自相交和雜亂三角形,去噪後這些問題大幅消除,表面變得光滑整潔。

第二步是頂點焊接(Vertex Merging)。具體做法是構建一棵k-d樹(一種空間索引數據結構,類似於把空間分成一個個小格子方便快速查找鄰居),然後遍歷所有頂點,把距離小於0.015的頂點合併成一個。合併後,如果一個三角形的三個頂點都指向同一個新頂點,該三角形就變成了退化三角形(即面積為零的三角形),需要直接刪除。這一步在實踐中藉助了Blender內置的功能來實現。

整個後處理過程非常高效,僅增加了0.0233秒的額外耗時,可以忽略不計。後處理後,四個類別的平均自相交率降低了約56%,而1-NNA指標幾乎沒有變化,說明後處理在大幅提升拓撲質量的同時,完全保留了形狀的多樣性和保真度。

---

八、生成的網格有多"有創意"?

一個好的生成模型,不應該只是記住訓練數據然後照搬——它應該能生成新穎的、訓練集裡沒有出現過的形狀。團隊通過"形狀新穎性分析"驗證了這一點。

他們生成了500把椅子,為每把生成的椅子找到訓練集中最相似的椅子(用Chamfer距離衡量),然後畫出這500個最小距離的分布圖。分布圖呈現出"長尾"特徵:少數生成樣本與訓練集非常接近(說明模型確實學到了真實分布),但大量樣本處於中高距離範圍(說明模型能生成新穎變體)。特別是處於50百分位的樣本,雖然看起來"像把椅子",但與其最近的訓練樣本在結構上存在明顯差異,可以排除簡單複製的可能性。

另一個有趣的實驗展示了"一種幾何、多種拓撲"的能力:生成了一組外輪廓幾乎完全一致的椅子,但每把椅子的三角化方式都各不相同——有的從中心輻射狀分割,有的沿著輪廓線密集排布,有的則採用均勻的網格狀劃分。這種能力對於需要特定網格質量的下游應用(如動畫、物理仿真)非常有價值。

---

九、可擴展性與局限性

關於規模擴展性,研究團隊對最優傳輸耦合的計算開銷進行了詳細測試。在訓練階段,OT耦合的計算時間確實隨面數增長而增加:400個面時約17毫秒,800面時約82毫秒,1600面時約375毫秒,3200面時約2045毫秒。但這些數字要放在上下文裡看:即使在1600個面時,OT耦合(375毫秒)依然比網路的前向+反向傳播(802毫秒)更快。而且OT耦合僅在訓練時需要,推理時完全不用。對於更大規模的網格(超過10000個面的工業級模型),未來可以引入近似最優傳輸技術來解決。

目前MeshFlow支持最多800個面的網格。雖然這已經能覆蓋大量應用場景,但工業級產品網格通常有數萬個面,這仍是一個需要突破的限制。此外,偶爾會出現面重疊(Overlapping Faces)或面缺失(Missing Faces)等失敗案例,研究團隊認為這主要源於計算資源限制,大規模訓練有望解決。另外,框架目前仍需要後處理步驟才能生成完整的流形網格(即各面無縫拼合的網格),實現端到端的直接生成是未來的重要方向。還有一個限制是,推理時需要預先指定目標面數,模型無法自動判斷一個形狀"應該"用多少個三角形來表示——如何讓模型自動預測合適的面數,也是值得探索的方向。

---

說到底,MeshFlow這項研究幹了一件很聰明的事:它沒有蠻力地用更大的模型、更多的數據去硬砸生成質量,而是深入思考了三維網格這種數據結構本身的特性——三角片的順序不重要——然後把這種特性嚴肅地貫穿到網路設計和訓練目標的每一個環節。結果證明,這種"尊重數據本質"的設計哲學,能夠以不到1/18的時間代價,達到與當時最先進的自回歸方法相當的質量。

這對普通人意味著什麼?短期內,遊戲開發者、動畫師、建築師在使用AI輔助建模工具時,可能很快就能體驗到實時或接近實時的3D網格生成,極大降低手動建模的門檻。再往遠處看,當這類技術足夠成熟,也許每個人都能像今天用AI生成圖片一樣,輕鬆生成自己想要的三維物體——不管是定製一個玩具,還是設計一件家具。

一個值得思考的問題是:AI生成的網格,未來能否完全取代人類藝術家的手工建模?目前來看,AI在理解"一把椅子的關節處三角形應該如何分布才能讓動畫更流暢"這類設計直覺上,還有相當長的路要走。但MeshFlow至少證明了:通過對對稱性的深刻理解,擴散類方法在網格生成上並非輸家,這條路是走得通的。

有興趣深入了解技術細節的讀者,可以通過DOI 10.1145/3799902.3811195查閱完整論文,或訪問項目頁面獲取代碼和更多可視化結果。

---

Q&A

Q1:MeshFlow生成三維網格和傳統方法相比快多少,質量有沒有損失?

A:MeshFlow生成一個三維網格只需不到1秒,比當時最快的自回歸方法快了約18倍。在質量方面,MeshFlow在四個ShapeNet測試類別中有三個類別的1-NNA指標達到最優,自相交率經後處理後也大幅降低,整體質量與主流自回歸方法相當,並明顯優於之前的擴散模型方法。

Q2:MeshFlow中的"三角湯"表示法和普通的三維網格有什麼區別?

A:普通三維網格里的三角面是有連接關係的,相鄰面共享頂點,整體是一個有拓撲結構的數據。"三角湯"則把所有三角面當成一堆獨立的片段,沒有任何連接關係,也沒有固定的排列順序。這種表示方式更簡單靈活,也讓模型更容易處理網格的"順序無關"特性。生成三角湯之後,MeshFlow通過後處理步驟把相鄰的頂點焊接在一起,恢復出完整的拓撲連接。

Q3:MeshFlow目前最多支持多少個面,能用於專業的工業級建模嗎?

A:目前MeshFlow支持最多800個面的網格,適合概念設計、遊戲低模等場景。工業級產品網格通常有數萬甚至更多面,超出了當前版本的處理能力。研究團隊指出,未來可以通過引入基於分塊的訓練方法和近似最優傳輸技術來擴大支持的面數規模。

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