本發(fā)明屬于計(jì)算機(jī)輔助與設(shè)計(jì)領(lǐng)域,具體的說是一種基于擴(kuò)散模型的點(diǎn)云三維線框生成方法。
背景技術(shù):
1、在計(jì)算機(jī)輔助與設(shè)計(jì)領(lǐng)域中,三維線框作為初步設(shè)計(jì)的重要表達(dá)形式,對(duì)于物體的結(jié)構(gòu)和布局有著直觀的展示作用。然而,現(xiàn)有的三維線框生成方法依賴手工制作或者簡單的算法生成,存在著效率低下、準(zhǔn)確性不足的問題。手工制作三維線框是設(shè)計(jì)師長期以來使用的方法。這種方法的優(yōu)點(diǎn)在于設(shè)計(jì)師可以根據(jù)自己的經(jīng)驗(yàn)和審美進(jìn)行靈活創(chuàng)作,生成個(gè)性化的設(shè)計(jì)。然而,手工制作耗時(shí)耗力,尤其在處理復(fù)雜結(jié)構(gòu)時(shí)更是如此。此外,手工繪制的精度很大程度上依賴于設(shè)計(jì)師的技能水平,容易出現(xiàn)誤差。
2、隨著三維計(jì)算機(jī)視覺技術(shù)的發(fā)展,研究人員開始探索將先進(jìn)技術(shù)應(yīng)用在三維線框生成任務(wù)上。現(xiàn)有的先進(jìn)技術(shù)包括基于點(diǎn)云卷積神經(jīng)網(wǎng)絡(luò)、基于transformer以及基于神經(jīng)輻射場等。這些技術(shù)在提取三維線框方面表現(xiàn)出色,通過處理三維點(diǎn)云數(shù)據(jù)和其他幾何信息,可以獲得完整的三維線框。然而,這些技術(shù)主要集中于提取現(xiàn)有模型的線框特征,而不是生成線框。近年來,擴(kuò)散模型在二維圖像生成領(lǐng)域取得了巨大的成功。盡管如此,將擴(kuò)散模型應(yīng)用于三維線框生成領(lǐng)域的研究卻很少見。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明是為了解決上述現(xiàn)有技術(shù)存在的不足之處,提出一種基于擴(kuò)散模型的點(diǎn)云三維線框生成方法,以期能實(shí)現(xiàn)對(duì)三維線框的高效生成,從而能顯著提高三維線框的生成質(zhì)量和效率。
2、本發(fā)明為達(dá)到上述發(fā)明目的,采用如下技術(shù)方案:
3、本發(fā)明一種基于擴(kuò)散模型的點(diǎn)云三維線框生成方法的特點(diǎn)在于,是按如下步驟進(jìn)行:
4、步驟1、構(gòu)建三維線框數(shù)據(jù)集;
5、從三維點(diǎn)云數(shù)據(jù)集中提取對(duì)應(yīng)的三維線框,并記為無向圖g=(v,e),其中,v={v1,...,vi,...,vj,...,vn}表示無向圖g中的頂點(diǎn)坐標(biāo)集合,表示無向圖g中的邊集合,vi表示第i個(gè)頂點(diǎn)坐標(biāo),表示第i個(gè)頂點(diǎn)坐標(biāo)vi與第i個(gè)頂點(diǎn)坐標(biāo)vj所連接邊,并記為第s條邊,若第i個(gè)頂點(diǎn)坐標(biāo)vi與第i個(gè)頂點(diǎn)坐標(biāo)vj之間存在邊,則令否則,令n表示頂點(diǎn)的數(shù)量,m表示邊的數(shù)量;
6、步驟2、構(gòu)建向量和掩碼矩陣;
7、構(gòu)建維度為m×2的連接向量c={c1,...,cs,...,cm},cs表示c中的第s個(gè)元素,若則令cs=[i,j];
8、構(gòu)建維度為n×2的索引向量u,并初始化u為全1向量;
9、構(gòu)建維度均為n×n的邊掩碼矩陣em、自掩碼矩陣sm和全連接掩碼矩陣fm;其中,所述邊掩碼矩陣em用于標(biāo)識(shí)邊的兩個(gè)頂點(diǎn)vi和vj之間是否存在連接,若存在,則令em中第i行第j列的元素emi,j=1;否則,令emi,j=0;
10、所述自掩碼矩陣sm用于標(biāo)識(shí)同一頂點(diǎn)之間的自連接,令sm中第i行第i列的元素smi,i=1;其余元素均為0;
11、所述全連接掩碼矩陣fm用于標(biāo)識(shí)所有頂點(diǎn)之間存在的連接關(guān)系,令全連接掩碼矩陣fm為全1矩陣;
12、步驟3、構(gòu)建基于注意力機(jī)制的三維線框生成擴(kuò)散模型,包含一個(gè)噪聲擴(kuò)散網(wǎng)絡(luò)和反向去噪模型;
13、步驟3.1、所述噪聲擴(kuò)散網(wǎng)絡(luò)是對(duì)頂點(diǎn)坐標(biāo)集合v逐步添加t次高斯噪聲z,從而利用式(1)得到t次添加后的頂點(diǎn)噪聲坐標(biāo)集合pt:
14、
15、式(1)中,是t次添加噪聲后的參數(shù);且αx表示第x次添加噪聲的參數(shù);
16、步驟3.2、所述反向去噪模型用于對(duì)pt進(jìn)行處理,得到第t-1次添加后預(yù)測的頂點(diǎn)坐標(biāo)集合
17、步驟3.3、通過式(4)構(gòu)建第t次訓(xùn)練的損失函數(shù)losst:
18、
19、式(5)中,為中預(yù)測的第i個(gè)噪聲值,為中預(yù)測的第i個(gè)頂點(diǎn)坐標(biāo);
20、步驟3.4、將t-1賦值給t后,返回步驟3.2順序執(zhí)行,直至t<1為止,從而迭代訓(xùn)練t次反向去噪模型,得到最優(yōu)反向去噪模型并輸出消除t次噪聲后預(yù)測頂點(diǎn)坐標(biāo)集合
21、步驟4、生成和優(yōu)化三維線框;
22、步驟4.1、根據(jù)預(yù)測頂點(diǎn)坐標(biāo)集合和無向圖g中邊集合e生成新的無向圖
23、步驟4.2、將無向圖的頂點(diǎn)坐標(biāo)集合還原為三維線框的頂點(diǎn)坐標(biāo),將無向圖的邊集合e還原為三維線框的連接線,從而生成初始三維線框;
24、步驟4.3、將無向圖中度數(shù)為3的頂點(diǎn)之間的最短路徑構(gòu)成開放曲線;將由無向圖中度數(shù)全為2的頂點(diǎn)之間的最長路徑組成閉合曲線,其中,所述度數(shù)是指與頂點(diǎn)相連的邊的數(shù)量;
25、步驟4.4、設(shè)置度數(shù)判定原則為開放曲線上非曲線端點(diǎn)的頂點(diǎn)度數(shù)只能為2,閉合曲線上所有頂點(diǎn)度數(shù)只能為2;
26、設(shè)置夾角判定原則為開放曲線和閉合曲線上相連的頂點(diǎn)之間的夾角不能小于85度;
27、保留符合所述度數(shù)判定原則和夾角判定原則的開放曲線和閉合曲線上的頂點(diǎn),從而得到優(yōu)化后的開放曲線和閉合曲線;
28、步驟4.5、通過三次樣條插值法擬合優(yōu)化后的開放曲線和閉合曲線,從而生成最終三維線框。
29、本發(fā)明所述的一種基于擴(kuò)散模型的點(diǎn)云三維線框生成方法的特點(diǎn)也在于,所述反向去噪模型包括:連續(xù)去噪模型和離散去噪模型;
30、步驟3.2.1、所述連續(xù)去噪模型通過式(2)得到第t次的連續(xù)嵌入向量
31、
32、式(2)中,linear表示線性層,norm表示歸一化層,1(i)表示頂點(diǎn)坐標(biāo)的索引i的獨(dú)熱編碼,1(s)表示邊的索引s的獨(dú)熱編碼;
33、步驟3.2.2、所述連續(xù)去噪模型對(duì)和em、sm、fm進(jìn)行處理,輸出第t次添加后預(yù)測的噪聲從而通過式(3)計(jì)算第t-1次添加后預(yù)測的頂點(diǎn)噪聲坐標(biāo)集合
34、
35、式(3)中,αt表示第t次添加噪聲的參數(shù);
36、步驟3.2.3、所述離散去噪模型通過式(4)得到第t次的離散嵌入向量
37、
38、式(4)中,pos2int表示二進(jìn)制數(shù)轉(zhuǎn)換函數(shù);
39、步驟3.2.4、所述離散去噪模型對(duì)進(jìn)行處理,從而輸出第t-1次添加后預(yù)測的頂點(diǎn)坐標(biāo)集合
40、所述步驟3.2.2中的連續(xù)去噪模型包括:連續(xù)特征嵌入層、三層transformer網(wǎng)絡(luò)層:
41、步驟a、所述連續(xù)特征嵌入層用于得到
42、步驟b、將輸入第一層transformer網(wǎng)絡(luò)層,所述transformer網(wǎng)絡(luò)層包括三個(gè)注意力層、一個(gè)殘差連接層、一個(gè)歸一化層和一個(gè)前饋網(wǎng)絡(luò)層;其中,三個(gè)注意力層分別為邊注意力層、自注意力層和全連接注意力層;
43、邊注意力層、自注意力層和全連接注意力層分別輸入邊掩碼矩陣em,自掩碼矩陣sm和全連接掩碼矩陣fm,并和進(jìn)行注意力計(jì)算,相應(yīng)得到第t次邊注意力結(jié)果自注意力結(jié)果全連接注意力結(jié)果
44、通過殘差連接層得到第t次的殘差嵌入向量后,再將依次通過歸一化層和前饋網(wǎng)絡(luò)層的處理后,得到第t次的輸出向量
45、步驟c、將步驟b的輸出作為下一層transformer網(wǎng)絡(luò)層的輸入,最終通過三層transformer網(wǎng)絡(luò)層得到預(yù)測的噪聲從而通過式(3)得到pt′-1。
46、所述步驟3.2.3中的離散去噪模型包括:離散特征嵌入層、兩層transformer網(wǎng)絡(luò)層和線性層,
47、步驟a、所述離散特征嵌入層用于得到
48、步驟b、兩層transformer網(wǎng)絡(luò)層依次對(duì)進(jìn)行處理后,再輸入所述線性層中進(jìn)行處理,從而得到
49、本發(fā)明一種電子設(shè)備,包括存儲(chǔ)器以及處理器是如式征在于,所述存儲(chǔ)器用于存儲(chǔ)支持處理器執(zhí)行所述點(diǎn)云三維線框生成方法的程序,所述處理器被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。
50、本發(fā)明一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器運(yùn)行時(shí)執(zhí)行所述點(diǎn)云三維線框生成方法的步驟。
51、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
52、1、本發(fā)明所提出的一種基于擴(kuò)散模型的點(diǎn)云三維線框生成方法,通過噪聲擴(kuò)散網(wǎng)絡(luò)逐步添加噪聲,并用基于注意力機(jī)制的三維線框生成擴(kuò)散模型進(jìn)行去噪,能夠準(zhǔn)確生成頂點(diǎn)坐標(biāo),并結(jié)合無向圖來生成和優(yōu)化最終的三維線框,實(shí)現(xiàn)了對(duì)三維線框的高效生成,從而克服了現(xiàn)有的三維線框生成方法通常依賴手工繪制或簡單的算法,存在著效率低下、準(zhǔn)確性不足的問題。
53、2、本發(fā)明提出的基于注意力機(jī)制的三維線框生成擴(kuò)散模型,有效地結(jié)合了邊注意力、自注意力和全連接注意力,實(shí)現(xiàn)了從噪聲中預(yù)測頂點(diǎn)坐標(biāo)集合。本發(fā)明提出的三維線框生成擴(kuò)散模型的自動(dòng)化和高效性減少了人工干預(yù),提高了生成效率,并且具備處理多種復(fù)雜結(jié)構(gòu)的靈活性,適用于廣泛的應(yīng)用場景。
54、3、本發(fā)明提出的生成和優(yōu)化三維線框方法,通過度數(shù)判定和夾角判定原則優(yōu)化頂點(diǎn)位置,避免了斷裂和不連續(xù)問題,增強(qiáng)了線框的結(jié)構(gòu)合理性。最終使用三次樣條插值法擬合優(yōu)化后的曲線,生成的三維線框更加平滑和完整,提升了線框的整體質(zhì)量和實(shí)用性。