av天堂久久天堂色综合,最近中文字幕mv免费高清在线,在线a级毛片免费视频,av动漫,中文字幕精品亚洲无线码一区

微信掃一掃,關(guān)注公眾號

  • 科技行者

  • 算力行者

見證連接與計算的「力量」

首頁 從點云到代碼:上海人工智能實驗室讓3D建模像寫程序一樣簡單

從點云到代碼:上海人工智能實驗室讓3D建模像寫程序一樣簡單

2025-09-09 10:36
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2025-09-09 10:36 ? 科技行者

在數(shù)字化時代,我們經(jīng)常需要將現(xiàn)實中的3D物體轉(zhuǎn)換成電腦能夠理解和編輯的形式。傳統(tǒng)的方法就像用手工一點點雕刻一樣費時費力,而現(xiàn)在,來自上海人工智能實驗室、清華大學(xué)等機構(gòu)的研究團隊帶來了一種全新的解決方案——MeshCoder。這項研究發(fā)表于2025年8月的arXiv預(yù)印本平臺,論文編號為arXiv:2508.14879v2,有興趣深入了解的讀者可以通過該編號在arXiv網(wǎng)站上訪問完整論文。

研究團隊由戴炳權(quán)、羅李瑞等多位研究者組成,他們分別來自上海人工智能實驗室、清華大學(xué)、哈爾濱工業(yè)大學(xué)深圳分校、北京理工大學(xué)和香港科技大學(xué)(廣州)。這個跨機構(gòu)的合作團隊致力于解決一個看似簡單但實際極其復(fù)雜的問題:如何讓電腦自動將3D物體的點云數(shù)據(jù)轉(zhuǎn)換成可編輯的代碼程序。

要理解這項研究的革命性意義,我們可以把傳統(tǒng)的3D建模過程想象成用泥土捏制陶器。藝術(shù)家需要一點點塑形,修改任何細(xì)節(jié)都需要重新開始或進行大幅調(diào)整。而MeshCoder的方法就像是給了我們一份詳細(xì)的制作食譜,只要按照食譜操作,就能做出完美的菜肴,更重要的是,想要調(diào)整口味時,只需要修改食譜中的幾個參數(shù)即可。

這種轉(zhuǎn)變的核心在于將3D物體表示為Blender Python腳本。Blender是一個廣泛使用的3D建模軟件,就像是數(shù)字世界的萬能工具箱。Python則是一種編程語言,以其簡潔明了而著稱。當(dāng)這兩者結(jié)合時,就產(chǎn)生了一種全新的3D物體表示方法——不再是靜態(tài)的網(wǎng)格數(shù)據(jù),而是動態(tài)的、可編輯的代碼。

研究團隊面臨的第一個挑戰(zhàn)是現(xiàn)有方法的局限性。傳統(tǒng)的形狀程序生成方法就像是只能用積木搭建房子,只能處理簡單的幾何形狀,無法應(yīng)對現(xiàn)實世界中復(fù)雜物體的精細(xì)結(jié)構(gòu)。此外,訓(xùn)練這樣的模型需要大量的配對數(shù)據(jù)——即3D物體和對應(yīng)代碼的配對組合,但這樣的數(shù)據(jù)集極其稀少,就像試圖學(xué)習(xí)烹飪卻沒有足夠的食譜一樣困難。

為了解決這些問題,研究團隊設(shè)計了一套全新的Blender Python API(應(yīng)用程序接口)。這些API就像是一套高級的數(shù)字雕刻工具,不僅能創(chuàng)建基礎(chǔ)的幾何形狀,還能實現(xiàn)復(fù)雜的操作。比如,它們可以沿著指定路徑拉伸2D截面形狀來創(chuàng)建3D物體,就像拉面師傅將面團拉成細(xì)條一樣。它們還能在不同形狀之間建立橋接,進行布爾運算(如合并、相交、相減),甚至可以創(chuàng)建重復(fù)的陣列模式。

在構(gòu)建數(shù)據(jù)集方面,研究團隊采用了一種巧妙的分層策略。他們首先創(chuàng)建了一個包含約1000萬個部件的合成數(shù)據(jù)集,涵蓋了各種基礎(chǔ)幾何形狀和復(fù)雜構(gòu)造。這個過程就像是先學(xué)會制作各種基礎(chǔ)食材,然后才能烹飪復(fù)雜的菜肴。數(shù)據(jù)集包含五大類別:基礎(chǔ)幾何體(立方體、圓柱體、球體等)、平移幾何體(通過沿路徑移動2D形狀創(chuàng)建)、橋接幾何體(連接不同形狀創(chuàng)建)、布爾幾何體(通過幾何運算創(chuàng)建)和陣列幾何體(重復(fù)模式創(chuàng)建)。

接著,研究團隊訓(xùn)練了一個部件到代碼的推理模型。這個模型的作用就像是一位經(jīng)驗豐富的工匠,能夠觀察任何單個部件,然后準(zhǔn)確地寫出制作該部件所需的代碼指令。模型使用了一種稱為三平面標(biāo)記器的技術(shù),將3D點云投影到三個相互垂直的平面上,然后通過變換器網(wǎng)絡(luò)處理這些投影,最終生成相應(yīng)的代碼。

有了部件級別的推理能力后,研究團隊開始構(gòu)建完整物體的數(shù)據(jù)集。他們使用Infinigen-Indoor框架生成了大約100萬個物體,涵蓋41個不同類別,從簡單的椅子到復(fù)雜的洗碗機都包含在內(nèi)。每個物體都被分解成若干個語義部件,然后使用已訓(xùn)練的部件到代碼模型為每個部件生成代碼,最后將所有部件代碼按照空間順序組合成完整物體的代碼。

這種組合過程遵循一個直觀的排序規(guī)則:從下到上、從左到右、從前到后。就像整理房間時的自然順序一樣,先處理地面的物品,再處理桌面的,最后處理墻上的。這樣的排序不僅符合人類的認(rèn)知習(xí)慣,也有助于模型學(xué)習(xí)物體的結(jié)構(gòu)層次關(guān)系。

最終的物體到代碼推理模型采用了多模態(tài)大語言模型的架構(gòu),使用Llama-3.2-1B作為基礎(chǔ)模型,并通過LoRA(Low-Rank Adaptation)技術(shù)進行微調(diào)。整個系統(tǒng)的工作流程就像是一個智能的建筑師:先通過三平面標(biāo)記器"觀察"輸入的點云數(shù)據(jù),將其轉(zhuǎn)換為固定長度的標(biāo)記序列,然后將這些標(biāo)記輸入到大語言模型中,模型就像經(jīng)驗豐富的程序員一樣,自動生成相應(yīng)的Blender Python腳本。

在實驗驗證方面,研究團隊將MeshCoder與兩個代表性的基線方法進行了比較:Shape2Prog和PLAD。實驗結(jié)果表明,MeshCoder在重建精度上顯著優(yōu)于現(xiàn)有方法。具體來說,在衡量重建質(zhì)量的兩個關(guān)鍵指標(biāo)上——L2 Chamfer距離和體素IoU——MeshCoder都取得了最佳成績。L2 Chamfer距離是衡量兩個點云相似程度的指標(biāo),就像比較兩張照片的像素差異一樣,數(shù)值越小表示重建得越準(zhǔn)確。體素IoU則是將3D物體劃分為小立方體網(wǎng)格后,比較預(yù)測結(jié)果和真實結(jié)果的重疊程度,就像拼圖游戲中比較完成度一樣。

MeshCoder的一個重要優(yōu)勢是其生成的代碼具有極強的可編輯性。傳統(tǒng)方法生成的是靜態(tài)網(wǎng)格數(shù)據(jù),修改起來就像要重新雕刻整座雕像一樣困難。而MeshCoder生成的代碼就像是一份詳細(xì)的制作說明書,想要修改任何部分都可以通過簡單地調(diào)整參數(shù)實現(xiàn)。比如,想要讓桌面從方形變成圓形,只需要修改一行代碼中的形狀參數(shù);想要調(diào)整浴缸的深度,只需要改變一個數(shù)值。這種靈活性為設(shè)計師和工程師提供了前所未有的便利。

除了幾何編輯,MeshCoder還支持拓?fù)渚庉?,即調(diào)整網(wǎng)格的精細(xì)程度。這就像調(diào)節(jié)相機的分辨率一樣,可以根據(jù)需要在存儲空間和細(xì)節(jié)程度之間找到平衡。通過修改代碼中的分辨率參數(shù),用戶可以輕松控制最終3D模型的復(fù)雜程度,這對于不同應(yīng)用場景下的性能優(yōu)化極其重要。

更令人驚喜的是,MeshCoder生成的代碼還能夠增強大語言模型對3D形狀的理解能力。研究團隊進行了一系列形狀理解實驗,將MeshCoder生成的代碼輸入到GPT-4中,然后詢問關(guān)于物體結(jié)構(gòu)的問題。結(jié)果顯示,GPT-4能夠準(zhǔn)確回答關(guān)于物體部件數(shù)量、形狀特征和空間關(guān)系的問題。這就像給了GPT-4一副"透視眼鏡",讓它能夠"看懂"3D物體的內(nèi)部結(jié)構(gòu)和組成關(guān)系。

在技術(shù)實現(xiàn)細(xì)節(jié)上,研究團隊使用了AdamW優(yōu)化器進行模型訓(xùn)練,在64塊NVIDIA A100 GPU上訓(xùn)練了約一周時間。他們還采用了數(shù)據(jù)增強技術(shù),包括隨機旋轉(zhuǎn)、縮放和噪聲添加,以提高模型的魯棒性。這些技術(shù)細(xì)節(jié)雖然復(fù)雜,但確保了模型在面對各種現(xiàn)實場景時都能保持穩(wěn)定的性能。

研究團隊對模型的各個組件都進行了詳細(xì)的消融實驗。他們發(fā)現(xiàn),三平面投影策略比其他點云編碼方法更有效,能夠更好地保留空間信息。同時,分層訓(xùn)練策略(先訓(xùn)練部件級模型,再訓(xùn)練物體級模型)比端到端訓(xùn)練更加穩(wěn)定,能夠產(chǎn)生更高質(zhì)量的結(jié)果。

盡管取得了顯著成果,研究團隊也誠實地指出了當(dāng)前方法的局限性。MeshCoder主要針對人工制造的物體設(shè)計,對于有機形狀(如動物、植物)的處理能力相對有限。這是因為有機形狀往往缺乏明確的幾何規(guī)律,難以用程序化的方式精確描述。不過,研究團隊表示,這為未來的研究方向提供了明確的目標(biāo)。

從實際應(yīng)用角度來看,MeshCoder的潛在影響是巨大的。在游戲開發(fā)領(lǐng)域,它可以大大加速場景建模的過程,讓設(shè)計師能夠快速生成可編輯的游戲資產(chǎn)。在建筑設(shè)計中,它可以幫助建筑師將概念草圖快速轉(zhuǎn)換為可修改的3D模型。在制造業(yè),它可以用于逆向工程,將實物快速轉(zhuǎn)換為可編輯的CAD模型。

此外,MeshCoder生成的代碼具有很好的版本控制特性。就像軟件代碼可以通過Git等工具進行版本管理一樣,3D模型的代碼表示也可以輕松地進行版本控制、協(xié)作編輯和變更追蹤。這對于需要多人協(xié)作的大型項目來說是極其valuable的功能。

研究團隊還展示了MeshCoder在教育領(lǐng)域的潛在價值。通過將復(fù)雜的3D模型轉(zhuǎn)換為可讀的代碼,學(xué)生可以更好地理解3D建模的原理和過程。這種"代碼即教程"的方式比傳統(tǒng)的鼠標(biāo)點擊式教學(xué)更加直觀和系統(tǒng)。

值得注意的是,MeshCoder生成的代碼還包含了豐富的語義信息。每個部件都被明確標(biāo)注了其功能和名稱,比如"椅子腿"、"桌面"、"扶手"等。這種語義標(biāo)注不僅有助于人類理解和編輯,也為后續(xù)的智能應(yīng)用提供了基礎(chǔ)。比如,可以基于這些語義信息開發(fā)自動裝配系統(tǒng),或者進行功能性分析。

從技術(shù)演進的角度來看,MeshCoder代表了從"表示學(xué)習(xí)"到"程序合成"的重要轉(zhuǎn)變。傳統(tǒng)的3D深度學(xué)習(xí)方法主要關(guān)注如何更好地表示3D數(shù)據(jù),而MeshCoder則專注于如何生成能夠重現(xiàn)3D數(shù)據(jù)的程序。這種轉(zhuǎn)變不僅提高了結(jié)果的可解釋性,也為后續(xù)的編輯和修改提供了便利。

研究團隊的實驗還揭示了一個有趣的現(xiàn)象:代碼表示比傳統(tǒng)的幾何表示更容易被大語言模型理解和處理。這可能是因為代碼本身就是一種結(jié)構(gòu)化的語言,與大語言模型的訓(xùn)練數(shù)據(jù)更加兼容。這一發(fā)現(xiàn)為未來將大語言模型應(yīng)用于3D建模和設(shè)計提供了新的思路。

在數(shù)據(jù)效率方面,MeshCoder也展現(xiàn)出了優(yōu)勢。雖然訓(xùn)練需要大量的數(shù)據(jù),但一旦訓(xùn)練完成,模型就能夠處理各種未見過的物體類型。這種泛化能力來自于程序化表示的抽象性——相同的程序結(jié)構(gòu)可以通過不同的參數(shù)生成完全不同的物體。

展望未來,研究團隊提出了幾個潛在的發(fā)展方向。首先是擴展到更多類型的3D內(nèi)容,包括有機形狀和復(fù)雜場景。其次是提高代碼的抽象程度,開發(fā)更高級的程序構(gòu)造來處理更復(fù)雜的幾何關(guān)系。第三是與其他生成式AI技術(shù)的結(jié)合,比如通過文本描述直接生成3D物體的代碼。

這項研究的成果不僅推進了計算機圖形學(xué)和人工智能的發(fā)展,也為數(shù)字化制造、虛擬現(xiàn)實、增強現(xiàn)實等應(yīng)用領(lǐng)域帶來了新的可能性。隨著技術(shù)的進一步成熟,我們可能會看到3D建模工作流程的根本性改變,從傳統(tǒng)的交互式建模轉(zhuǎn)向更加智能化、自動化的程序生成方式。

說到底,MeshCoder最大的貢獻在于為3D建模帶來了一種全新的思維方式。它告訴我們,3D物體不僅可以被"看到"和"觸摸",還可以被"閱讀"和"編寫"。這種轉(zhuǎn)變就像從觀看電影到閱讀劇本一樣,雖然最終呈現(xiàn)的內(nèi)容相同,但理解和創(chuàng)作的方式卻完全不同。對于設(shè)計師、工程師和研究人員來說,這意味著他們有了一種全新的工具來理解、創(chuàng)造和修改3D世界。

Q&A

Q1:MeshCoder是什么?它與傳統(tǒng)3D建模方法有何不同?

A:MeshCoder是上海人工智能實驗室開發(fā)的AI系統(tǒng),能將3D物體的點云數(shù)據(jù)自動轉(zhuǎn)換成可編輯的Blender Python代碼。與傳統(tǒng)方法相比,它生成的不是靜態(tài)網(wǎng)格,而是像食譜一樣的代碼指令,可以通過修改參數(shù)輕松調(diào)整物體的形狀、大小和細(xì)節(jié),就像修改程序代碼一樣簡單。

Q2:MeshCoder生成的代碼可以用來做什么?

A:生成的代碼可以直接在Blender軟件中執(zhí)行來重建3D物體,還支持靈活編輯。比如可以通過修改幾個參數(shù)將方桌變成圓桌,調(diào)整浴缸深度,改變網(wǎng)格精細(xì)程度等。這種代碼表示方式特別適合游戲開發(fā)、建筑設(shè)計、制造業(yè)的逆向工程等需要頻繁修改3D模型的應(yīng)用場景。

Q3:MeshCoder的技術(shù)原理是怎樣的?

A:系統(tǒng)采用分層訓(xùn)練策略,先用1000萬個合成部件訓(xùn)練部件識別模型,再用100萬個完整物體訓(xùn)練整體推理模型。輸入的3D點云通過三平面投影技術(shù)轉(zhuǎn)換為標(biāo)記序列,然后由基于Llama-3.2-1B的大語言模型生成相應(yīng)的Python代碼,整個過程就像智能建筑師觀察物體后寫出制作說明書。

分享至
0贊

好文章,需要你的鼓勵

推薦文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-