王春香,郝林文,王 耀,周國(guó)勇,紀(jì)康輝,劉 流
(內(nèi)蒙古科技大學(xué)機(jī)械工程學(xué)院,內(nèi)蒙古包頭014010)
隨著三維點(diǎn)云數(shù)據(jù)采集技術(shù)日趨成熟,點(diǎn)云模型被廣泛應(yīng)用于逆向工程、文物修復(fù)、醫(yī)療診斷和地形測(cè)繪等領(lǐng)域。完善的點(diǎn)云數(shù)據(jù)是后續(xù)應(yīng)用的基礎(chǔ)。但在實(shí)際的點(diǎn)云數(shù)據(jù)采集過(guò)程中,由于操作技術(shù)、實(shí)物自身特性和測(cè)量環(huán)境等多種因素的影響,使得采集到的點(diǎn)云數(shù)據(jù)不完整,從而導(dǎo)致點(diǎn)云模型存在形狀各異的孔洞[1]??锥慈毕莸拇嬖诓粌H會(huì)影響點(diǎn)云模型的顯示效果,還會(huì)對(duì)后續(xù)點(diǎn)云數(shù)據(jù)的處理以及分析操作等產(chǎn)生較大影響[2]。因此有必要對(duì)點(diǎn)云模型的孔洞進(jìn)行修補(bǔ),進(jìn)而保證點(diǎn)云數(shù)據(jù)完整,為下游模型的重構(gòu)、快速成型和仿真分析等奠定基礎(chǔ)。
散亂點(diǎn)云是指通過(guò)測(cè)量得到的最原始的數(shù)據(jù)集合,也是與物體表面誤差最小的數(shù)據(jù)集合,直接對(duì)散亂點(diǎn)云進(jìn)行孔洞修補(bǔ)不需要重建拓?fù)潢P(guān)系,具有較高的存儲(chǔ)和執(zhí)行效率[3],此類修補(bǔ)方法一直是國(guó)內(nèi)外學(xué)者關(guān)注的熱點(diǎn)。散亂點(diǎn)云孔洞修補(bǔ)往往都是先在檢測(cè)并提取孔洞邊界和孔洞周圍影響區(qū)域點(diǎn)云信息的基礎(chǔ)上構(gòu)建隱式曲面、神經(jīng)網(wǎng)絡(luò)和樣條曲線等,然后通過(guò)孔洞區(qū)域插值實(shí)現(xiàn)孔洞修補(bǔ)。例如:楊永強(qiáng)等[4]在采用最小二乘支持向量機(jī)根據(jù)孔洞周圍點(diǎn)云信息構(gòu)建曲面的基礎(chǔ)上,完成了點(diǎn)云孔洞的修補(bǔ);Kumar等[5]根據(jù)孔洞周圍點(diǎn)云數(shù)據(jù),先擬合得到非均勻B樣條曲面,再通過(guò)插值實(shí)現(xiàn)孔洞修補(bǔ)。上述2種方法對(duì)散亂點(diǎn)云平滑區(qū)域孔洞的修補(bǔ)效果較好,但在修補(bǔ)曲率變化劇烈區(qū)域的孔洞時(shí)會(huì)造成特征信息缺失,從而導(dǎo)致修補(bǔ)效果欠佳。梁亮[6]分別采用粒子群算法、遺傳算法(genetic algorithm,GA)和思維進(jìn)化算法優(yōu)化BP(back propagation,反向傳播)神經(jīng)網(wǎng)絡(luò),然后直接在三維空間內(nèi)修補(bǔ)散亂點(diǎn)云的平面、曲面和跨面孔洞,并通過(guò)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的參數(shù)提高了點(diǎn)云孔洞修補(bǔ)精度;何東健等[7]提出了一種基于三次B樣條曲線的點(diǎn)云孔洞修補(bǔ)方法,并采用該方法對(duì)奶牛點(diǎn)云大面積孔洞進(jìn)行修補(bǔ),取得了良好的修補(bǔ)效果,但某些局部區(qū)域的修補(bǔ)效果受噪點(diǎn)的影響較大。
針對(duì)目前基于GA‐BP神經(jīng)網(wǎng)絡(luò)(利用GA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò))的散亂點(diǎn)云孔洞傳統(tǒng)修補(bǔ)方法存在人機(jī)交互復(fù)雜、自動(dòng)化程度低等缺點(diǎn),筆者提出了一種基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法。首先,對(duì)散亂點(diǎn)云的孔洞識(shí)別、孔洞區(qū)域插值和孔洞修補(bǔ)的方法和步驟進(jìn)行分析;然后,基于提出的修補(bǔ)方法,開(kāi)展散亂點(diǎn)云人為孔洞和自然孔洞修補(bǔ)實(shí)驗(yàn),以驗(yàn)證所提出修補(bǔ)方法的有效性和準(zhǔn)確性。
BP神經(jīng)網(wǎng)絡(luò)具有良好的非線性映射能力和容錯(cuò)能力,但存在收斂速度慢、易陷入局部最優(yōu)等缺陷,對(duì)此很多學(xué)者通過(guò)采用具有良好全局搜索能力的GA尋優(yōu)得到BP神經(jīng)網(wǎng)絡(luò)的最佳權(quán)值和閾值,從而克服BP神經(jīng)網(wǎng)絡(luò)的缺陷[8]。GA‐BP神經(jīng)網(wǎng)絡(luò)算法的流程如圖1所示。
圖1 GA-BP神經(jīng)網(wǎng)絡(luò)算法流程Fig.1 Flow of GA‐BP neural network algorithm
基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞傳統(tǒng)修補(bǔ)方法的基本思路為:先利用散亂點(diǎn)云孔洞周圍影響區(qū)域的點(diǎn)云作為樣本數(shù)據(jù)訓(xùn)練GA‐BP神經(jīng)網(wǎng)絡(luò),得到孔洞區(qū)域內(nèi)數(shù)據(jù)點(diǎn)的某2個(gè)坐標(biāo)與另一個(gè)坐標(biāo)之間的近似映射關(guān)系,再利用該映射關(guān)系對(duì)初步選取的孔洞區(qū)域插值點(diǎn)進(jìn)行調(diào)整優(yōu)化,從而實(shí)現(xiàn)孔洞的修補(bǔ),其流程如圖2所示。
圖2 基于GA-BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞傳統(tǒng)修補(bǔ)流程Fig.2 Traditional repair process of scattered point cloud hole based on GA‐BP neural network
在基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞傳統(tǒng)修補(bǔ)方法中,孔洞識(shí)別、孔洞區(qū)域插值和孔洞修補(bǔ)均需借助逆向軟件(如Imageware、Geomagic Design X等)通過(guò)人機(jī)交互的方式來(lái)完成[9],其修補(bǔ)過(guò)程比較繁瑣,嚴(yán)重影響了修補(bǔ)效率。此外,在修補(bǔ)過(guò)程中,由于需要數(shù)據(jù)轉(zhuǎn)換,可能會(huì)造成數(shù)據(jù)失真,從而影響修補(bǔ)后點(diǎn)云模型的質(zhì)量。
基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法通過(guò)計(jì)算機(jī)編程將傳統(tǒng)修補(bǔ)方法中的孔洞識(shí)別、孔洞區(qū)域插值和孔洞修補(bǔ)相結(jié)合,實(shí)現(xiàn)從殘缺點(diǎn)云模型直接到完整點(diǎn)云模型的自動(dòng)修補(bǔ),整個(gè)過(guò)程無(wú)須進(jìn)行復(fù)雜的人機(jī)交互。
孔洞識(shí)別是散亂點(diǎn)云孔洞修補(bǔ)的首要環(huán)節(jié)。對(duì)于散亂點(diǎn)云,孔洞識(shí)別的本質(zhì)是孔洞邊界點(diǎn)的檢測(cè)及提取。由于散亂點(diǎn)云中相鄰點(diǎn)之間不存在拓?fù)潢P(guān)系,其孔洞識(shí)別難度比網(wǎng)格模型大[10]。對(duì)于散亂點(diǎn)云的孔洞識(shí)別,往往是根據(jù)檢測(cè)點(diǎn)的鄰域點(diǎn)在其局部微切平面內(nèi)的分布情況來(lái)判斷該檢測(cè)點(diǎn)是否為孔洞邊界點(diǎn):內(nèi)部點(diǎn)的鄰域點(diǎn)在其局部微切平面內(nèi)的投影均勻分布在檢測(cè)點(diǎn)周圍,而孔洞邊界點(diǎn)的鄰域點(diǎn)在其局部微切平面內(nèi)的投影集中偏向一側(cè)[11]。目前,最常見(jiàn)的孔洞識(shí)別方法是將檢測(cè)點(diǎn)及其鄰域點(diǎn)投影到對(duì)應(yīng)的局部微切擬合平面上,并求解擬合平面內(nèi)相鄰向量間的最大夾角,將夾角大于設(shè)定閾值的點(diǎn)判定為孔洞邊界點(diǎn)[12‐15],但該方法的過(guò)程較為繁瑣。
鑒于散亂點(diǎn)云的噪點(diǎn)會(huì)影響孔洞識(shí)別的效果,在孔洞識(shí)別之前須對(duì)其進(jìn)行降噪處理。散亂點(diǎn)云孔洞邊界點(diǎn)的檢測(cè)流程如圖3所示,其中局部微切平面通過(guò)最小二乘法擬合得到[16]。識(shí)別散亂點(diǎn)云孔洞時(shí)需要不斷循環(huán)孔洞邊界點(diǎn)檢測(cè)流程,直到完成所有點(diǎn)的檢測(cè),最后輸出孔洞邊界點(diǎn)及其鄰域點(diǎn),作為GA‐BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練數(shù)據(jù)。
圖3 散亂點(diǎn)云孔洞邊界點(diǎn)檢測(cè)流程Fig.3 Detection flow of boundary point of scattered point cloud hole
在散亂點(diǎn)云孔洞邊界點(diǎn)檢測(cè)過(guò)程中,當(dāng)對(duì)由檢測(cè)點(diǎn)及其鄰域點(diǎn)對(duì)應(yīng)的投影點(diǎn)組成的向量進(jìn)行歸一化處理后,這些向量的終點(diǎn)均在圖4所示的以檢測(cè)點(diǎn)的投影點(diǎn)P'為圓心的單位圓上。若鄰域點(diǎn)的投影點(diǎn)在P'周圍均勻分布,如圖4(a)所示,其對(duì)應(yīng)向量矢量和的模較?。蝗羿徲螯c(diǎn)的投影點(diǎn)在P'周圍集中偏向一側(cè),如圖4(b)所示,則其對(duì)應(yīng)向量矢量和的模較大。故可利用來(lái)分析檢測(cè)點(diǎn)P的鄰域點(diǎn)的分布情況,從而判斷檢測(cè)點(diǎn)P是否為孔洞邊界點(diǎn):若表示假設(shè)所有向量方向相同時(shí)的矢量和的模)的比值大于檢測(cè)閾值δ,則檢測(cè)點(diǎn)P是孔洞邊界點(diǎn);否則檢測(cè)點(diǎn)P是點(diǎn)云內(nèi)部點(diǎn)。
圖4 局部微切平面內(nèi)檢測(cè)點(diǎn)鄰域點(diǎn)的分布情況Fig.4 Distribution ofneighborhood pointsofdetection point in local micro‐tangent plane
綜上可知,當(dāng)檢測(cè)點(diǎn)的k個(gè)鄰域點(diǎn)足以體現(xiàn)其鄰近范圍內(nèi)的點(diǎn)集分布情況時(shí),可通過(guò)計(jì)算各向量的矢量和來(lái)判斷孔洞邊界點(diǎn)。通常情況下,鄰域點(diǎn)數(shù)量k一般取15~30,其大小主要由孔洞周圍點(diǎn)云密度決定,點(diǎn)云密度越大,k越??;檢測(cè)閾值δ一般取0~1,其大小主要與點(diǎn)云的彎曲程度有關(guān),點(diǎn)云的彎曲程度越大,δ越小。該孔洞識(shí)別方法簡(jiǎn)單、高效,無(wú)須進(jìn)行復(fù)雜的角度計(jì)算,只需通過(guò)簡(jiǎn)單的向量運(yùn)算就可以有效檢測(cè)并提取散亂點(diǎn)云的孔洞邊界點(diǎn),可為后續(xù)的孔洞區(qū)域插值和孔洞修補(bǔ)奠定基礎(chǔ)。
在識(shí)別和提取散亂點(diǎn)云孔洞邊界點(diǎn)后,須初步選取孔洞區(qū)域插值點(diǎn)(即初步填充點(diǎn))。散亂點(diǎn)云孔洞傳統(tǒng)修補(bǔ)方法一般是通過(guò)將點(diǎn)云模型轉(zhuǎn)化為網(wǎng)格模型,利用逆向軟件通過(guò)三角剖分的方式獲得插值點(diǎn),但該方法得到的插值點(diǎn)的均勻性較差,不同位置的點(diǎn)集密度差異較大[17]。此外,在數(shù)據(jù)轉(zhuǎn)換過(guò)程中可能造成數(shù)據(jù)失真,從而影響修補(bǔ)后點(diǎn)云的質(zhì)量。
為了獲得更符合實(shí)際測(cè)量點(diǎn)云密度的修補(bǔ)點(diǎn)云,在孔洞區(qū)域采用等步長(zhǎng)生長(zhǎng)的方法選取插值點(diǎn)。首先,將孔洞邊界點(diǎn)投影到由這些點(diǎn)擬合得到的局部微切平面上;然后,在局部微切擬合平面的孔洞區(qū)域內(nèi),以孔洞邊界點(diǎn)平均密度作為步長(zhǎng)分別沿x方向和y方向進(jìn)行生長(zhǎng),直到獲得孔洞區(qū)域內(nèi)的全部插值點(diǎn);最后,輸出這些插值點(diǎn)在局部微切擬合平面上的二維坐標(biāo),作為GA‐BP神經(jīng)網(wǎng)絡(luò)模型的輸入數(shù)據(jù)。
在局部微切擬合平面上,孔洞區(qū)域內(nèi)插值點(diǎn)的橫坐標(biāo)為:
式中:xmin為孔洞邊界點(diǎn)對(duì)應(yīng)投影點(diǎn)橫坐標(biāo)的最小值;xmax為孔洞邊界點(diǎn)對(duì)應(yīng)投影點(diǎn)橫坐標(biāo)的最大值;R為孔洞邊界點(diǎn)平均密度。
在局部微切擬合平面上的x=xi處,孔洞區(qū)域內(nèi)插值點(diǎn)的縱坐標(biāo)為:
式中:yimin為孔洞邊界點(diǎn)對(duì)應(yīng)投影點(diǎn)在x=xi處縱坐標(biāo)的最小值;yimax為孔洞邊界點(diǎn)對(duì)應(yīng)的投影區(qū)域在x=xi處縱坐標(biāo)的最大值。
該孔洞區(qū)域插值點(diǎn)選取方法無(wú)須將點(diǎn)云模型轉(zhuǎn)換為網(wǎng)格模型,避免了因數(shù)據(jù)轉(zhuǎn)換而造成的數(shù)據(jù)失真。此外,利用該方法得到的孔洞區(qū)域插值點(diǎn)與孔洞周圍的點(diǎn)云密度相近,更符合實(shí)際測(cè)量得到的點(diǎn)云密度,且分布較為均勻,這在一定程度上有助于提高修補(bǔ)點(diǎn)云的質(zhì)量。
將利用上述孔洞識(shí)別方法提取到的孔洞邊界點(diǎn)及其鄰域點(diǎn)作為樣本數(shù)據(jù)來(lái)訓(xùn)練和測(cè)試GA‐BP神經(jīng)網(wǎng)絡(luò),其中80%的點(diǎn)作為訓(xùn)練數(shù)據(jù),20%的點(diǎn)作為測(cè)試數(shù)據(jù),以得到孔洞修補(bǔ)精度滿足要求的GA‐BP神經(jīng)網(wǎng)絡(luò)模型。將利用上述插值點(diǎn)選取方法得到的孔洞區(qū)域插值點(diǎn)的二維坐標(biāo)作為GA‐BP神經(jīng)網(wǎng)絡(luò)模型的輸入數(shù)據(jù),并計(jì)算其對(duì)應(yīng)的仿真預(yù)測(cè)值。整合孔洞區(qū)域插值點(diǎn)的二維坐標(biāo)與對(duì)應(yīng)的仿真預(yù)測(cè)值,得到孔洞修補(bǔ)點(diǎn)的三維坐標(biāo),將孔洞修補(bǔ)點(diǎn)云和原始點(diǎn)云融合后得到完整點(diǎn)云,即完成了散亂點(diǎn)云的孔洞修補(bǔ)。
為了驗(yàn)證所提出的基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法的修補(bǔ)效果,在內(nèi)存為4.00GB、操作系統(tǒng)為Windows10的Intel(R)Core(TM)i5‐4210M CPU@2.60GHz計(jì)算機(jī)上利用MATLAB R2015a平臺(tái)進(jìn)行編程,分別對(duì)殘缺點(diǎn)云模型的人為孔洞和自然孔洞進(jìn)行修補(bǔ),并分析孔洞修補(bǔ)效果。
在鼠標(biāo)點(diǎn)云模型中挖取一個(gè)如圖5所示的人為孔洞,該區(qū)域內(nèi)缺失點(diǎn)的數(shù)量為397個(gè)。根據(jù)該點(diǎn)云模型的特性,取k=15,δ=0.45,基于圖3流程檢測(cè)并提取孔洞邊界點(diǎn)及其鄰域點(diǎn),結(jié)果如圖6所示。
圖5 鼠標(biāo)點(diǎn)云模型人為孔洞Fig.5 Artificial hole of mouse point cloud model
圖6 鼠標(biāo)點(diǎn)云模型孔洞邊界點(diǎn)及其鄰域點(diǎn)Fig.6 Boundary points and neighborhood points of hole in mouse point cloud model
采用基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法對(duì)該鼠標(biāo)點(diǎn)云模型的人為孔洞進(jìn)行修補(bǔ),結(jié)果如圖7所示。
圖7 修補(bǔ)后的鼠標(biāo)點(diǎn)云模型Fig.7 Mouse point cloud model after repair
為了進(jìn)一步研究該方法的修補(bǔ)精度,在逆向軟件Imageware中計(jì)算圖8所示的鼠標(biāo)點(diǎn)云模型人為孔洞修補(bǔ)點(diǎn)云(十字線)與原始點(diǎn)云(空心圓)之間的偏差,結(jié)果如圖9所示。
圖8 鼠標(biāo)點(diǎn)云模型人為孔洞修補(bǔ)點(diǎn)云與原始點(diǎn)云對(duì)比Fig.8 Comparison between repaired point cloud and origi‐nal point cloud of artificial hole in mouse point cloud model
圖9 鼠標(biāo)點(diǎn)云模型人為孔洞修補(bǔ)點(diǎn)云與原始點(diǎn)云的偏差Fig.9 Deviation between repaired point cloud and original point cloud of artificial hole in mouse point cloud model
根據(jù)上述修補(bǔ)結(jié)果可知,基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法的修補(bǔ)效果較好,修補(bǔ)點(diǎn)云能夠與孔洞周圍點(diǎn)云自然過(guò)渡,無(wú)明顯修補(bǔ)痕跡。為了進(jìn)一步驗(yàn)證本文方法的修補(bǔ)效果,對(duì)基于本文方法與傳統(tǒng)方法的鼠標(biāo)點(diǎn)云模型人為孔洞修補(bǔ)結(jié)果進(jìn)行比較,如表1所示。
表1 基于不同方法的鼠標(biāo)點(diǎn)云模型人為孔洞修補(bǔ)結(jié)果對(duì)比Table 1 Comparison of repair results of artificial hole in mouse point cloud model based on different methods
分析表1數(shù)據(jù)可知,傳統(tǒng)方法利用逆向軟件獲取的插值點(diǎn)數(shù)量較少,與孔洞區(qū)域缺失點(diǎn)的數(shù)量相差較大,而本文方法獲得的插值點(diǎn)數(shù)量更接近原始孔洞區(qū)域缺失點(diǎn)的數(shù)量,誤差率較小。此外,若以最大偏差作為修補(bǔ)精度,傳統(tǒng)方法和本文方法的修補(bǔ)精度均可滿足鼠標(biāo)點(diǎn)云模型的精度要求,但本文方法的修補(bǔ)精度更高。實(shí)驗(yàn)結(jié)果驗(yàn)證了基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法的準(zhǔn)確性和有效性。
采用基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法來(lái)修補(bǔ)因外物遮擋而造成的鏈軌節(jié)點(diǎn)云模型的自然孔洞(如圖10所示)。
圖10 鏈軌節(jié)點(diǎn)云模型自然孔洞Fig.10 Natural hole of track link point cloud model
為了使鏈軌節(jié)點(diǎn)云模型自然孔洞的修補(bǔ)效果較好,需準(zhǔn)確提取該點(diǎn)云模型孔洞的邊界點(diǎn)及其鄰域點(diǎn)。根據(jù)鏈軌節(jié)點(diǎn)云模型的特點(diǎn),取檢測(cè)閾值δ=0.1,0.2,0.3,對(duì)應(yīng)的孔洞邊界點(diǎn)提取結(jié)果分別如圖11、圖12和圖13所示。
圖11 δ=0.1時(shí)提取的鏈軌節(jié)點(diǎn)云模型自然孔洞邊界點(diǎn)Fig.11 Extracted boundary points of natural hole in track link point cloud model withδ=0.1
圖12 δ=0.2時(shí)提取的鏈軌節(jié)點(diǎn)云模型自然孔洞邊界點(diǎn)Fig.12 Extracted boundary points of natural hole in track link point cloud model withδ=0.2
圖13 δ=0.3時(shí)提取的鏈軌節(jié)點(diǎn)云模型自然孔洞邊界點(diǎn)Fig.13 Extracted boundary points of natural hole in track link point cloud model withδ=0.3
由圖11至圖13可知:當(dāng)檢測(cè)閾值δ=0.1時(shí),鏈軌節(jié)點(diǎn)云模型自然孔洞識(shí)別結(jié)果的準(zhǔn)確度較差,識(shí)別得到的孔洞邊界點(diǎn)包含許多噪點(diǎn);當(dāng)檢測(cè)閾值δ=0.3時(shí),識(shí)別得到的孔洞邊界點(diǎn)數(shù)量較少,無(wú)法構(gòu)成該孔洞的完整邊界;當(dāng)檢測(cè)閾值δ=0.2時(shí),識(shí)別得到的孔洞邊界點(diǎn)較為完整且不存在噪點(diǎn)。因此,取0.2作為鏈軌節(jié)點(diǎn)云模型自然孔洞邊界點(diǎn)檢測(cè)的閾值,提取孔洞邊界點(diǎn)及其鄰域點(diǎn),結(jié)果如圖14所示。此外,由于鏈軌節(jié)點(diǎn)云模型自然孔洞屬于跨面孔洞且面積較大,在逆向軟件Imageware中直接圈選孔洞邊界點(diǎn)及其鄰域點(diǎn)的難度較大,需進(jìn)行多次調(diào)整,而本文方法可以自動(dòng)、準(zhǔn)確地提取該孔洞的邊界點(diǎn)及其鄰域點(diǎn)。
根據(jù)提取到的鏈軌節(jié)點(diǎn)云模型自然孔洞的邊界點(diǎn),利用本文方法選取其孔洞區(qū)域的二維插值點(diǎn),如圖15所示。
圖15 鏈軌節(jié)點(diǎn)云模型自然孔洞區(qū)域的二維插值點(diǎn)Fig.15 Two‐dimensionalinterpolation points ofnatural hole area in track link point cloud model
利用檢測(cè)閾值δ=0.2時(shí)提取到的鏈軌節(jié)點(diǎn)云模型自然孔洞的邊界點(diǎn)及其鄰域點(diǎn)訓(xùn)練GA‐BP神經(jīng)網(wǎng)絡(luò)模型,得到其預(yù)測(cè)誤差,如圖16所示。
圖16 用于鏈軌節(jié)點(diǎn)云自然孔洞修補(bǔ)的GA-BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)誤差Fig.16 Prediction error of GA‐BP neural network model for repair of natural hole in track link point cloud
分別利用本文方法和傳統(tǒng)方法對(duì)鏈軌節(jié)點(diǎn)云模型自然孔洞進(jìn)行修補(bǔ),得到的修補(bǔ)點(diǎn)云如圖17所示,其中四周十字線表示識(shí)別或圈選的孔洞邊界點(diǎn)及其鄰域點(diǎn),中間X形線表示修補(bǔ)點(diǎn)。
圖17 基于不同方法的鏈軌節(jié)點(diǎn)云模型自然孔洞修補(bǔ)點(diǎn)云Fig.17 Repaired point cloud of natural hole in track link point cloud model based on different methods
由圖17可以看出,傳統(tǒng)方法得到的修補(bǔ)點(diǎn)數(shù)量較少且分布散亂,而本文方法得到的修補(bǔ)點(diǎn)較為均勻,與孔洞周圍點(diǎn)云密度相近,且更接近實(shí)際測(cè)量點(diǎn)云的密度。為了直觀顯示孔洞的修補(bǔ)效果,將采用本文方法修補(bǔ)后的鏈軌節(jié)點(diǎn)云模型著色,如圖18所示。
圖18 采用本文方法修補(bǔ)后的鏈軌節(jié)點(diǎn)云模型Fig.18 Track link point cloud model repaired by method of this paper
由圖18可知,基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法的整體修補(bǔ)效果較好。為了進(jìn)一步驗(yàn)證本文該方法的有效性,在逆向軟件Geomagic Design X中,采用正逆向混合建模方法對(duì)修補(bǔ)后的鏈軌節(jié)點(diǎn)云模型進(jìn)行實(shí)體模型重構(gòu)[18],如圖19所示。重構(gòu)的實(shí)體模型驗(yàn)證了基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法的有效性和實(shí)用性。
圖19 采用本文方法修補(bǔ)后的鏈軌節(jié)實(shí)體模型Fig.19 Track link solid model repaired by method of this paper
針對(duì)基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞傳統(tǒng)修補(bǔ)方法因需通過(guò)人機(jī)交互完成孔洞識(shí)別、孔洞區(qū)域插值和孔洞修補(bǔ)而耗時(shí)較多的問(wèn)題,提出了一種基于GA‐BP神經(jīng)網(wǎng)絡(luò)的散亂點(diǎn)云孔洞自動(dòng)修補(bǔ)方法,充分利用計(jì)算機(jī)自動(dòng)處理程序,減少了人機(jī)交互工作量,提高了散亂點(diǎn)云孔洞修補(bǔ)的自動(dòng)化程度,使得散亂點(diǎn)云孔洞的修補(bǔ)更為方便和高效。此外,采用基于等步長(zhǎng)生長(zhǎng)的孔洞區(qū)域插值方法所得到的插值點(diǎn)比較均勻,且與孔洞周圍點(diǎn)云密度的較一致,在一定程度上提高了修補(bǔ)后點(diǎn)云模型的質(zhì)量。
雖然本文方法可以有效修補(bǔ)密度較為均勻的殘缺點(diǎn)云模型孔洞,但對(duì)于不同部位密度相差較大的殘缺點(diǎn)云模型孔洞的修補(bǔ)效果不夠理想,這將是后續(xù)的研究重點(diǎn)。此外,該方法僅適用于存在單個(gè)孔洞的殘缺點(diǎn)云模型,當(dāng)殘缺點(diǎn)云模型存在多個(gè)孔洞時(shí),還需對(duì)檢測(cè)到的孔洞邊界點(diǎn)作進(jìn)一步的聚類處理。同時(shí),該方法需要通過(guò)不斷調(diào)整多個(gè)參數(shù)來(lái)達(dá)到理想的孔洞修補(bǔ)效果,如何根據(jù)殘缺點(diǎn)云模型的特性自動(dòng)選取各參數(shù)的最優(yōu)值有待進(jìn)一步研究。