文思揚(yáng),周來水,閆杰瓊,胡少乾
(南京航空航天大學(xué) 機(jī)電學(xué)院,江蘇 南京 210016)
在逆向工程領(lǐng)域,三維激光掃描儀獲取的實(shí)物外形點(diǎn)云數(shù)據(jù)被廣泛使用[1]。而在使用逆向工程思路對航空發(fā)動機(jī)外形三維模型重建的過程中,需要將外形點(diǎn)云數(shù)據(jù)進(jìn)行分割,獲得更小、連貫、具有相同屬性點(diǎn)的點(diǎn)云片段,以利于之后點(diǎn)云數(shù)據(jù)的分類,從而針對性地對點(diǎn)云片段進(jìn)行重建。而由于傳統(tǒng)的點(diǎn)云分割法,如曲面生長算法[2-4]、聚類分割算法[5-6]、掃描線算法[7-8]等存在一定的局限性,不能很好地將航空發(fā)動機(jī)外形特征分割出來。而深度學(xué)習(xí)方法通過提供訓(xùn)練集,對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,可以獲取訓(xùn)練點(diǎn)云數(shù)據(jù)中的點(diǎn)云局部特征及點(diǎn)云的幾何信息,從而對點(diǎn)云數(shù)據(jù)進(jìn)行分類,進(jìn)而較好地完成航空發(fā)動機(jī)外形點(diǎn)云分割的任務(wù)。
利用深度學(xué)習(xí)進(jìn)行點(diǎn)云數(shù)據(jù)分割,需要有大量的點(diǎn)云數(shù)據(jù)組成數(shù)據(jù)集,供神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練學(xué)習(xí)。一般的網(wǎng)絡(luò)所使用的訓(xùn)練集,如ModelNet40[9]、ShapeNet[10]等,其中的三維模型僅為簡單的幾何模型,使用這樣的訓(xùn)練集進(jìn)行學(xué)習(xí),會影響網(wǎng)絡(luò)對航空發(fā)動機(jī)外形特征分割結(jié)果的精度。為了解決這個問題,本文提出一種生成含航空發(fā)動機(jī)外形典型特征點(diǎn)云數(shù)據(jù)集的方法。通過對航空發(fā)動機(jī)外形進(jìn)行觀察研究,分析航空發(fā)動機(jī)的外形特點(diǎn)及其所包含的特征,并進(jìn)行分類。然后使用UG軟件制作出一系列具有航空發(fā)動機(jī)外形代表性特征的三維理論模型并生成點(diǎn)云,并將其與掃描的航空發(fā)動機(jī)外形實(shí)測數(shù)據(jù)融合。將這些點(diǎn)云數(shù)據(jù)按照設(shè)置的分類標(biāo)準(zhǔn)進(jìn)行特征標(biāo)注,最終制作成帶標(biāo)簽的航空發(fā)動機(jī)外形點(diǎn)云數(shù)據(jù)集。
由于功能需要航空發(fā)動機(jī)的外形設(shè)計要求與標(biāo)準(zhǔn)非常復(fù)雜。其中,航空發(fā)動機(jī)的機(jī)匣是航空發(fā)動機(jī)最重要的零件之一,具有航空發(fā)動機(jī)最明顯的外形特征。它作為整個發(fā)動機(jī)的基座,也是航空發(fā)動機(jī)的最主要受力零件,有著較為復(fù)雜的外形結(jié)構(gòu)。不同型號的發(fā)動機(jī)機(jī)匣有所不同,但這些機(jī)匣都主要由圓筒形或圓錐形的殼體和支板組成。而其余種類的外形特征,大部分附著在機(jī)匣之上。圖1所示為兩臺實(shí)際航空發(fā)動機(jī)的外形特征照片。

圖1 實(shí)際發(fā)動機(jī)的外形圖片
對實(shí)際的航空發(fā)動機(jī)外形機(jī)匣特征進(jìn)行分析,可以總結(jié)出航空發(fā)動機(jī)外形主要特征為機(jī)匣壁、安裝邊、加強(qiáng)筋、螺栓、凸臺、管路、孔洞等,如圖2所示。

圖2 航空發(fā)動機(jī)外形主要特征
構(gòu)建的航空發(fā)動機(jī)外形點(diǎn)云深度學(xué)習(xí)數(shù)據(jù)集,需要保證數(shù)據(jù)本身具有代表性、豐富性、準(zhǔn)確性、均衡性和真實(shí)性。為實(shí)現(xiàn)這些要求,可以首先根據(jù)上文所總結(jié)的航空發(fā)動機(jī)所具有的外形特征,構(gòu)建出足夠數(shù)量的、包含航空發(fā)動機(jī)外形特征的理論模型。本文通過UG軟件生成所需的理論模型,并針對其中的特征設(shè)置可調(diào)參數(shù),使得這些模型可以在生成后進(jìn)行相應(yīng)的調(diào)整,以滿足不同的訓(xùn)練集設(shè)計需求。本文所使用的UG版本為UG NX12.0。
根據(jù)獲得的實(shí)際航空發(fā)動機(jī)外形圖片和其他參考信息,通過UG軟件進(jìn)行含航空發(fā)動機(jī)外形特征的、等比例的各個三維理論模型的構(gòu)建,如圖3所示。

圖3 航空發(fā)動機(jī)外形幾何特征建模
為了滿足數(shù)據(jù)集所需的數(shù)據(jù)量,可以使用UG中的部件族功能,根據(jù)所建立的第一個三維模型,生成許多基于該模型的模型族群。對該三維模型各個特征的尺寸參數(shù)進(jìn)行自定義,還可以對后續(xù)生成的模型進(jìn)行修改和控制,從而生成大量不同的、含航空發(fā)動機(jī)外形特征的三維模型。首先建立一個根部件模型,如圖4所示。

圖4 一個部件族根部件的模型圖
從圖4中可以看到,該理論模型具有螺栓、凸臺、安裝邊和加強(qiáng)筋這些典型特征。接下來分別將控制這些特征的尺寸進(jìn)行定義,方便后續(xù)識別與修改。部件族功能對這些尺寸的控制使用了一個外部鏈接的Excel尺寸表,可根據(jù)之前自定義的尺寸名稱,對部件族群中的每一個部件族成員進(jìn)行參數(shù)修改。特征尺寸定義的示意圖如圖5所示。

圖5 部件族特征尺寸定義
生成部件族成員的數(shù)量,取決于所擁有的數(shù)據(jù)量。打開部件族成員的外部鏈接的Excel表格,如圖6所示。增加部件族成員的編號,即可增加部件族成員的數(shù)量。而之前定義的每一個控制特征的尺寸都以單獨(dú)一列進(jìn)行表示,通過調(diào)整這些參數(shù)的設(shè)置,可以實(shí)現(xiàn)改變、調(diào)整生成的部件族成員模型的外形特征。

圖6 部件族的控制表格
修改過參數(shù)的部件族成員模型如圖7所示。通過對參數(shù)的修改,可以實(shí)現(xiàn)部件族成員的外形變化??梢詮膱D7中看出,該成員模型中的螺栓個數(shù)變少,且其機(jī)匣長度增加。根據(jù)之前所構(gòu)建的不同根部件,可以生成更多含不同航空發(fā)動機(jī)外形特征的理論模型。

圖7 部件族成員模型示意圖
對于構(gòu)建數(shù)據(jù)集來說,單個理論模型可以是一個機(jī)匣的整體外形,也可以是包含特征外形的局部。將這些局部模型作為根部件,可以增添數(shù)據(jù)集的豐富程度。其他含航空發(fā)動機(jī)外形典型特征的三維模型根部件模型圖如圖8所示。

圖8 其他含航空發(fā)動機(jī)外形典型特征的理論模型根部件模型圖
為了制作訓(xùn)練集,需要將構(gòu)建的理論模型轉(zhuǎn)化為點(diǎn)云,并加上實(shí)際航空發(fā)動機(jī)外形的掃描點(diǎn)云數(shù)據(jù),組成一個點(diǎn)云數(shù)據(jù)集;再制定一個分割標(biāo)準(zhǔn)并按照該標(biāo)準(zhǔn)對點(diǎn)云數(shù)據(jù)進(jìn)行分割后標(biāo)注;最后將所有點(diǎn)云文件組合成訓(xùn)練集文件h5。
本文使用UG制作的理論三維模型的文件后綴為.prt,先用UG將其另存為stl文件。然后,使用MeshLab打開這些stl文件。使用MeshLab內(nèi)的點(diǎn)云采樣功能,對每個stl文件進(jìn)行均勻采樣。采樣時可以根據(jù)神經(jīng)網(wǎng)絡(luò)的需求,決定采樣點(diǎn)云文件中點(diǎn)的個數(shù)、是否包含法向信息等點(diǎn)云文件信息。由于實(shí)際掃描的點(diǎn)云數(shù)據(jù)并不包含法向信息。所以本文采樣時選擇不添加法向信息。采樣后,stl文件轉(zhuǎn)化為xyz文件。該文件記錄了每個點(diǎn)的坐標(biāo)信息,每個點(diǎn)的三維坐標(biāo)信息位于一行。
因?yàn)闃?gòu)建的理論點(diǎn)云數(shù)據(jù)必然與實(shí)際的航空發(fā)動機(jī)點(diǎn)云數(shù)據(jù)存在一些差別,本文在分割點(diǎn)云數(shù)據(jù)時集中添加了實(shí)際的航空發(fā)動機(jī)外形點(diǎn)云掃描數(shù)據(jù),有利于后續(xù)提升分割的準(zhǔn)確性和可靠性。本文所使用的航空發(fā)動機(jī)外形點(diǎn)云數(shù)據(jù),是使用Metro Scan對報廢的實(shí)際發(fā)動機(jī)進(jìn)行掃描而獲得的,獲得的外形掃描點(diǎn)云數(shù)據(jù)如圖9所示。

圖9 實(shí)際航空發(fā)動機(jī)外形掃描點(diǎn)云數(shù)據(jù)圖
同樣,在獲得該實(shí)際航空發(fā)動機(jī)外形整體掃描數(shù)據(jù)后,繼續(xù)將其切割為包含一個或幾個外形特征的點(diǎn)云片段,這樣方便后續(xù)的分割與標(biāo)注的數(shù)據(jù)處理。
對已有的點(diǎn)云文件進(jìn)行區(qū)域分割,并進(jìn)行點(diǎn)云標(biāo)注的主要流程為:1)制定分割標(biāo)準(zhǔn);2)按制定好的標(biāo)準(zhǔn)對點(diǎn)云數(shù)據(jù)進(jìn)行裁剪;3)對分割后的點(diǎn)云添加標(biāo)簽信息。一般的訓(xùn)練集制作主要采用軟件或編程工具對點(diǎn)云文件進(jìn)行手動標(biāo)注。所以本文也采取手動標(biāo)注的方法。
點(diǎn)云數(shù)據(jù)的分類標(biāo)注標(biāo)準(zhǔn)也是根據(jù)網(wǎng)絡(luò)設(shè)計的要求制定的。常用的分類邏輯是按組件結(jié)構(gòu)特征進(jìn)行分類,如是飛機(jī)點(diǎn)云就分別對機(jī)身、機(jī)翼和機(jī)尾進(jìn)行標(biāo)注。還有一種分類方法是將模型根據(jù)外形形狀分成幾種基礎(chǔ)的形狀類型組合,如平面、圓錐體、圓柱體、樣條曲線/面等的組合,標(biāo)注時進(jìn)行形狀的分類標(biāo)注。
由于本文的目標(biāo)是對航空發(fā)動機(jī)外形點(diǎn)云數(shù)據(jù)進(jìn)行特征分割,所以按照航空發(fā)動機(jī)外形特征類型進(jìn)行標(biāo)注的。首先將點(diǎn)云數(shù)據(jù)按照之前總結(jié)的典型特征,將點(diǎn)云數(shù)據(jù)整體裁剪為機(jī)匣殼體、螺栓、安裝邊等特征點(diǎn)云片段,之后再打上對應(yīng)的標(biāo)簽信息。本文設(shè)置的標(biāo)簽信息如表1所示。

表1 特征、標(biāo)簽信息設(shè)置
含航空發(fā)動機(jī)外形特征的點(diǎn)云數(shù)據(jù)標(biāo)注的示意圖如圖10所示。

圖10 點(diǎn)云數(shù)據(jù)標(biāo)注示意圖
表2展示了本文所構(gòu)建數(shù)據(jù)集的整體詳細(xì)情況。數(shù)據(jù)集總計點(diǎn)云數(shù)據(jù)文件1 160個,其中機(jī)匣整體數(shù)據(jù)420個,特征局部數(shù)據(jù)740個。數(shù)據(jù)集包含了理論數(shù)據(jù)與實(shí)際掃描數(shù)據(jù)、整體數(shù)據(jù)與局部數(shù)據(jù),體現(xiàn)了本文所構(gòu)建數(shù)據(jù)集的豐富程度及可靠程度。

表2 本文構(gòu)建數(shù)據(jù)集的具體信息
由于包括理論模型數(shù)據(jù)和實(shí)測數(shù)據(jù)的整個數(shù)據(jù)集的點(diǎn)云文件較多,為了提高網(wǎng)絡(luò)讀取數(shù)據(jù)的效率,可以將標(biāo)注好的點(diǎn)云文件通過編程,整理合并為h5文件。h5文件這種文件格式主要用于大規(guī)模數(shù)據(jù)的組織和存儲。由于h5集合對數(shù)據(jù)對象的數(shù)量或大小沒有限制,為數(shù)據(jù)量較大的深度學(xué)習(xí)領(lǐng)域提供了極大的幫助。
通過VS編程,將先前獲得的理論模型點(diǎn)云數(shù)據(jù)和實(shí)測點(diǎn)云數(shù)據(jù)統(tǒng)一編輯成為h5文件。本章所制作的含航空發(fā)動機(jī)外形典型特征點(diǎn)云的h5文件里應(yīng)該包含的信息有:所有點(diǎn)的x、y、z坐標(biāo)以及每個點(diǎn)的標(biāo)簽信息,這些信息每個點(diǎn)一一對應(yīng)地存儲在h5文件內(nèi)。本文使用的VS版本為Visual Studio 2015。本文制作訓(xùn)練集的整體流程圖如圖11所示。

圖11 航空發(fā)動機(jī)外形點(diǎn)云數(shù)據(jù)訓(xùn)練集的制作流程圖
本文研究分析了航空發(fā)動機(jī)外形特點(diǎn)及其所具有的典型特征,提出了一種制作含航空發(fā)動機(jī)外形典型特征的點(diǎn)云數(shù)據(jù)訓(xùn)練集的方法,通過制作包含這些典型特征的三維理論模型,轉(zhuǎn)化為stl文件后通過MeshLab進(jìn)行點(diǎn)云采樣,并與掃描獲得的實(shí)際航空發(fā)動機(jī)外形點(diǎn)云數(shù)據(jù)共同組成數(shù)據(jù)集。再對點(diǎn)云數(shù)據(jù)集按所設(shè)置的航空發(fā)動機(jī)外形特征分類標(biāo)準(zhǔn)進(jìn)行特征點(diǎn)云標(biāo)注,最后將這些理論模型對應(yīng)每個標(biāo)注好的點(diǎn)云文件轉(zhuǎn)換編輯成神經(jīng)網(wǎng)絡(luò)所需的輸入文件h5,完成了適用于的航空發(fā)動機(jī)深度學(xué)習(xí)訓(xùn)練集的制作,為接下來利用深度學(xué)習(xí)進(jìn)行點(diǎn)云數(shù)據(jù)分割做好了準(zhǔn)備。