本發(fā)明涉及三維模型處理,尤其涉及一種基于體-體空間關(guān)系的三維模型拼接方法和裝置。
背景技術(shù):
1、目前,為了盡可能逼真地構(gòu)建電力系統(tǒng)設(shè)備模型(如變電場(chǎng)站模型)以反映實(shí)際場(chǎng)景,通常,通過運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(sfm)算法對(duì)無人機(jī)帶動(dòng)相機(jī)在多視角下拍攝實(shí)景測(cè)區(qū)產(chǎn)生的影像集進(jìn)行處理,以產(chǎn)生稀疏三維點(diǎn)云,通過多視圖立體視覺(mvs)算法對(duì)稀疏三維點(diǎn)云進(jìn)行重建后,利用稠密三維點(diǎn)云構(gòu)建mesh模型,利用影像集對(duì)mesh模型進(jìn)行紋理重建,最終形成帶幾何及紋理細(xì)節(jié)的實(shí)景三維模型。然而,隨著智慧運(yùn)維、智慧巡檢等業(yè)務(wù)需求的不斷增加,需要將整體的三維模型分割為獨(dú)立的具有業(yè)務(wù)與屬性信息的實(shí)體,提供變電站場(chǎng)景下的單體化三維模型構(gòu)建技術(shù)不可或缺。
2、現(xiàn)有的三維模型拼接算法通常只是針對(duì)特定空間關(guān)系的至少兩個(gè)三維模型進(jìn)行拼接處理,前述特定空間關(guān)系是指兩個(gè)三維模型之間的空間關(guān)系為體與體進(jìn)入,而對(duì)于相離的任意兩個(gè)三維模型無法做出拼接處理。對(duì)于具有設(shè)施眾多且部署復(fù)雜等特點(diǎn)的一些場(chǎng)景(比如:變電站或生產(chǎn)工廠),受到數(shù)據(jù)采集和三維重建算法等局限性,難以平衡建模算力和建模精度,也容易導(dǎo)致三維場(chǎng)景模型中表現(xiàn)出幾何誤差,即便采用三維模型拼接算法也會(huì)出現(xiàn)一些錯(cuò)漏情況,比如,本應(yīng)屬于同一設(shè)備的不同部件需要拼接在一起,但因呈相離這種三維空間關(guān)系而未能拼接在一起,這種相離關(guān)系可能由建模誤差等多種因素引起。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種基于體-體空間關(guān)系的三維模型拼接方法,通過根據(jù)三維模型之間的空間關(guān)系進(jìn)行三維模型拼接,提高了三維模型拼接精度。
2、本發(fā)明實(shí)施例的第一方面提供了一種基于體-體空間關(guān)系的三維模型拼接方法,方法包括:
3、選取幾何體模型集合中若干個(gè)幾何體模型進(jìn)行拼接;
4、計(jì)算各個(gè)幾何體模型之間的幾何距離,判斷幾何距離是否小于第一閾值,若幾何距離小于第一閾值且大于0,則根據(jù)各個(gè)幾何體模型之間需要進(jìn)行拼接的兩個(gè)面的面積,將各個(gè)幾何體模型進(jìn)行拼接,得到三維模型;
5、若幾何距離小于第一閾值且小于0,則根據(jù)各個(gè)幾何體模型的體積,將各個(gè)幾何體模型進(jìn)行拼接,得到三維模型。
6、在第一方面的一種可能的實(shí)現(xiàn)方式中,根據(jù)各個(gè)幾何體模型之間需要進(jìn)行拼接的兩個(gè)面的面積,將各個(gè)幾何體模型進(jìn)行拼接,得到三維模型,包括:
7、分別計(jì)算若干個(gè)幾何體模型之間需要進(jìn)行拼接的兩個(gè)面的面積,以獲得面積比值;
8、若面積比值大于第二閾值,則采用第一拼接模式將各個(gè)幾何體模型進(jìn)行拼接;
9、若面積比值小于等于第二閾值,則采用第二拼接模式將各個(gè)幾何體模型進(jìn)行拼接。
10、在第一方面的一種可能的實(shí)現(xiàn)方式中,若面積比值大于第二閾值,則采用第一拼接模式將各個(gè)幾何體模型進(jìn)行拼接,包括:
11、若面積比值大于第二閾值,則將若干個(gè)幾何體模型之間需要進(jìn)行拼接的兩個(gè)面的邊界相連,得到截錐體;
12、根據(jù)截錐體將若干個(gè)幾何體模型進(jìn)行拼接。
13、在第一方面的一種可能的實(shí)現(xiàn)方式中,若面積比值小于等于第二閾值,則采用第二拼接模式將各個(gè)幾何體模型進(jìn)行拼接,包括:
14、若面積比值小于等于第二閾值,則將面積小的面對(duì)應(yīng)的幾何體模型,向面積大的面對(duì)應(yīng)的幾何體模型的進(jìn)行延長(zhǎng),得到相交區(qū)域;
15、將相交區(qū)域刪除,完成拼接。
16、在第一方面的一種可能的實(shí)現(xiàn)方式中,根據(jù)各個(gè)幾何體模型的體積,將各個(gè)幾何體模型進(jìn)行拼接,得到三維模型,包括:
17、分別計(jì)算各個(gè)幾何體模型的體積,以獲得各個(gè)幾何體模型之間的體積比值;
18、判斷各個(gè)幾何體模型之間的體積比值是否大于第三閾值,若小于等于第三閾值,則根據(jù)非重疊區(qū)域的數(shù)量,采用第三拼接模式或第四拼接模式將各個(gè)幾何體模型進(jìn)行拼接;
19、若大于第三閾值,則延長(zhǎng)體積小的幾何體模型,并刪除重疊區(qū)域,完成拼接得到三維模型。
20、在第一方面的一種可能的實(shí)現(xiàn)方式中,非重疊區(qū)域根據(jù)擴(kuò)展重疊區(qū)域得到,包括:
21、確定各個(gè)幾何體模型之間的重疊區(qū)域,沿著各個(gè)幾何體模型的軸線方向,對(duì)重疊區(qū)域進(jìn)行擴(kuò)展,得到擴(kuò)展重疊區(qū)域;
22、根據(jù)擴(kuò)展重疊區(qū)域,得到對(duì)應(yīng)的非重疊區(qū)域。
23、在第一方面的一種可能的實(shí)現(xiàn)方式中,根據(jù)非重疊區(qū)域的數(shù)量,采用第三拼接模式將各個(gè)幾何體模型進(jìn)行拼接,包括:
24、若非重疊區(qū)域的數(shù)量大于等于兩個(gè),則計(jì)算各個(gè)非重疊區(qū)域的體積,以獲得非重疊區(qū)域之間的體積比值,若非重疊區(qū)域之間的體積比值小于第四閾值,則刪除體積小的非重疊區(qū)域,完成拼接;
25、若非重疊區(qū)域之間的體積比值大于第四閾值,則刪除重疊區(qū)域。
26、在第一方面的一種可能的實(shí)現(xiàn)方式中,根據(jù)非重疊區(qū)域的數(shù)量,采用第四拼接模式將各個(gè)幾何體模型進(jìn)行拼接,包括:
27、若非重疊區(qū)域的數(shù)量小于兩個(gè),則刪除重疊區(qū)域。
28、本發(fā)明實(shí)施例的第二方面提供了一種用于設(shè)備的三維模型拼接方法,方法包括:
29、采集待建模設(shè)備場(chǎng)景的點(diǎn)云數(shù)據(jù);
30、對(duì)待建模場(chǎng)景的點(diǎn)云數(shù)據(jù)進(jìn)行場(chǎng)景實(shí)例分割,得到多個(gè)場(chǎng)景實(shí)例,根據(jù)各個(gè)場(chǎng)景實(shí)例的幾何語義信息進(jìn)行分析,得到各個(gè)場(chǎng)景實(shí)例的形狀信息;
31、基于形狀信息,利用點(diǎn)云數(shù)據(jù)進(jìn)行局部擬合,得到各個(gè)場(chǎng)景實(shí)例的幾何體模型集合,其中,形狀信息中包括多個(gè)幾何體,幾何體模型集合包括多個(gè)幾何體模型;
32、利用幾何體模型集合中的各個(gè)幾何體模型進(jìn)行拼接,得到待建模設(shè)備場(chǎng)景的三維模型,其中,三維模型采用上述的基于體-體空間關(guān)系的三維模型拼接方法得到。
33、在第一方面的一種可能的實(shí)現(xiàn)方式中,在得到待建模設(shè)備場(chǎng)景的三維模型后,還包括:
34、采用預(yù)設(shè)高度的水平面作為地面,判斷待建模設(shè)備場(chǎng)景的三維模型中各個(gè)三維模型對(duì)應(yīng)的場(chǎng)景實(shí)例是否為接地類別,若是,則對(duì)三維模型進(jìn)行延長(zhǎng)或切割,若否,則保持不變。
35、本發(fā)明實(shí)施例提供的基于體-體空間關(guān)系的三維模型拼接方法,通過選取幾何體模型集合中若干個(gè)幾何體模型進(jìn)行拼接,計(jì)算各個(gè)幾何體模型之間的幾何距離,判斷幾何距離是否小于第一閾值,若幾何距離小于第一閾值且大于0,則根據(jù)各個(gè)幾何體模型之間需要進(jìn)行拼接的兩個(gè)面的面積,將各個(gè)幾何體模型進(jìn)行拼接,得到三維模型,若幾何距離小于第一閾值且小于0,則根據(jù)各個(gè)幾何體模型的體積,將各個(gè)幾何體模型進(jìn)行拼接,得到三維模型。上述方法通過利用根據(jù)三維模型之間的空間關(guān)系進(jìn)行三維模型拼接,提高了三維模型拼接精度。
1.一種基于體-體空間關(guān)系的三維模型拼接方法,其特征在于,包括:
2.如權(quán)利要求1所述的基于體-體空間關(guān)系的三維模型拼接方法,其特征在于,所述根據(jù)各個(gè)所述幾何體模型之間需要進(jìn)行拼接的兩個(gè)面的面積,將各個(gè)所述幾何體模型進(jìn)行拼接,得到三維模型,包括:
3.如權(quán)利要求2所述的基于體-體空間關(guān)系的三維模型拼接方法,其特征在于,所述若所述面積比值大于第二閾值,則采用第一拼接模式將各個(gè)所述幾何體模型進(jìn)行拼接,包括:
4.如權(quán)利要求2所述的基于體-體空間關(guān)系的三維模型拼接方法,其特征在于,所述若所述面積比值小于等于所述第二閾值,則采用第二拼接模式將各個(gè)所述幾何體模型進(jìn)行拼接,包括:
5.如權(quán)利要求1所述的基于體-體空間關(guān)系的三維模型拼接方法,其特征在于,所述根據(jù)各個(gè)所述幾何體模型的體積,將各個(gè)所述幾何體模型進(jìn)行拼接,得到三維模型,包括:
6.如權(quán)利要求5所述的基于體-體空間關(guān)系的三維模型拼接方法,其特征在于,所述非重疊區(qū)域根據(jù)擴(kuò)展重疊區(qū)域得到,包括:
7.如權(quán)利要求5所述的基于體-體空間關(guān)系的三維模型拼接方法,其特征在于,所述根據(jù)非重疊區(qū)域的數(shù)量,采用第三拼接模式將各個(gè)所述幾何體模型進(jìn)行拼接,包括:
8.如權(quán)利要求5所述的基于體-體空間關(guān)系的三維模型拼接方法,其特征在于,所述根據(jù)非重疊區(qū)域的數(shù)量,采用第四拼接模式將各個(gè)所述幾何體模型進(jìn)行拼接,包括:
9.一種用于設(shè)備的三維模型拼接方法,其特征在于,包括:
10.如權(quán)利要求9所述的用于設(shè)備的三維模型拼接方法,其特征在于,在得到所述待建模設(shè)備場(chǎng)景的三維模型后,還包括: