張亦芳,李 立,劉光帥
(西南交通大學(xué) 機(jī)械工程學(xué)院,四川 成都 610031)
點(diǎn)云精簡(jiǎn)是將密集的點(diǎn)云數(shù)據(jù)在保留模型特征的前提下進(jìn)行簡(jiǎn)化,以提高計(jì)算機(jī)處理的速度和后續(xù)重建曲面的光順性。目前,常用的點(diǎn)云精簡(jiǎn)算法為基于傳統(tǒng)特征的點(diǎn)云精簡(jiǎn)算法,例如曲率精簡(jiǎn)法[1]、法向矢量精簡(jiǎn)法[2]。該類算法以曲率或法向矢量作為來衡量局部細(xì)節(jié)特征和復(fù)雜度的標(biāo)準(zhǔn),能夠很好保持點(diǎn)云的細(xì)節(jié)特征。但這類方法通常需要以人工設(shè)定閾值參數(shù)的方式進(jìn)行特征識(shí)別,所設(shè)定的閾值對(duì)不同的點(diǎn)云模型難以達(dá)到同樣的理想精簡(jiǎn)效果,導(dǎo)致這類算法適用性不廣。
與依賴于曲率、法向等底層特征方法不同,模擬人類視覺注意機(jī)制的顯著性檢測(cè)能夠自動(dòng)捕捉不同場(chǎng)景中的重要信息。顯著性概念被廣泛應(yīng)用于計(jì)算機(jī)視覺和圖形學(xué)任務(wù)中[3]。受二維顯著性檢測(cè)的啟發(fā),三維顯著性檢測(cè)通?;谌诛@著性計(jì)算,即對(duì)全體點(diǎn)云或網(wǎng)格頂點(diǎn)特征聚類成簇,由簇的顯著性來計(jì)算得到全局顯著性。例如,Wu等[4]利用K-means聚類和近似最近鄰搜索將頂點(diǎn)分組成簇求解簇的顯著性,然后根據(jù)簇的顯著性插值得到單個(gè)頂點(diǎn)的全局顯著性。Tasse等[5]利用模糊聚類將點(diǎn)集分解成小簇,將每個(gè)簇的唯一性和空間分布定義一個(gè)點(diǎn)簇概率矩陣來計(jì)算每個(gè)點(diǎn)的全局顯著性。Ding等[6]利用體素連通性分割算法將點(diǎn)云分解為小簇計(jì)算簇的顯著性值后,利用隨機(jī)游走排序法計(jì)算簇中的每個(gè)點(diǎn)全局顯著性。這些全局顯著性的計(jì)算方法在保持簡(jiǎn)單高效的同時(shí),能夠得到穩(wěn)定的顯著性映射,有效捕捉模型中大部分重要的視覺區(qū)域。已經(jīng)被應(yīng)用在三維數(shù)據(jù)處理視點(diǎn)選擇[6]、分割[7]和點(diǎn)云縮放[8]等各個(gè)方面。但全局顯著性不足之處在于丟失了簇內(nèi)信息,降低了顯著性區(qū)分不同性質(zhì)點(diǎn)云的能力,若直接應(yīng)用在點(diǎn)云精簡(jiǎn)上容易造成細(xì)節(jié)特征的丟失。
因此,針對(duì)現(xiàn)有點(diǎn)云數(shù)據(jù)精簡(jiǎn)算法適應(yīng)性不強(qiáng),通過對(duì)全局顯著性算法的改進(jìn),提出一種基于特征顯著性的點(diǎn)云自適應(yīng)精簡(jiǎn)算法,算法在計(jì)算特征單詞全局顯著性基礎(chǔ)上融合了單詞類內(nèi)顯著性生成顯著性詞典,并根據(jù)點(diǎn)云的顯著性值,通過配置不同的采樣率,實(shí)現(xiàn)對(duì)不同尺寸、形狀點(diǎn)云的自適應(yīng)精簡(jiǎn)。
傳統(tǒng)的點(diǎn)云特征描述僅利用中心點(diǎn)的法向量、曲率等幾何屬性,未考慮與鄰域點(diǎn)的相對(duì)關(guān)系,難以準(zhǔn)確反映物體幾何形狀和特性。而快速點(diǎn)特征直方圖(fast point feature histograms,F(xiàn)PFH)三維特征描述子,通過計(jì)算關(guān)鍵點(diǎn)及鄰域點(diǎn)的多個(gè)幾何屬性關(guān)系構(gòu)建直方圖,能夠較好反映物體幾何形狀和特性[9]。因此,本文選用FPFH 作為點(diǎn)云特征描述子。提取方法如下:
首先,為每一個(gè)點(diǎn)對(duì)構(gòu)建Darboux框架。如圖1所示,給定關(guān)鍵點(diǎn)pi及其法向量ni,領(lǐng)域點(diǎn)pj及其法向量nj。則Darboux框架的3個(gè)坐標(biāo)軸(u,v,w)可通過這兩個(gè)點(diǎn)及它們的法向量構(gòu)建得到,即
圖1 Darboux框架
u=ni
(1)
(2)
w=u×v
(3)
然后,基于上述所建立的Darboux框架,計(jì)算以下3個(gè)參數(shù)表達(dá)兩點(diǎn)之間幾何關(guān)系
α=v·nj
(4)
(5)
(6)
其中,α是點(diǎn)pj的法向量nj和坐標(biāo)軸v的夾角,φ是向量ni和pij的夾角,θ是向量nj在wpju平面上的投影和坐標(biāo)軸u的夾角。計(jì)算pi的k近鄰中所有點(diǎn)對(duì)之間的(α,φ,θ),以統(tǒng)計(jì)的方式放進(jìn)直方圖中,就得到了點(diǎn)的直方圖特征(simple point feature histograms,SPFH)。
最后,對(duì)點(diǎn)pi鄰域內(nèi)的各點(diǎn)分別計(jì)算其鄰域內(nèi)點(diǎn)的SPFH,得到最終的直方圖(FPFH)
(7)
式中:wj是pi到點(diǎn)鄰域內(nèi)任意點(diǎn)pj的距離,作為計(jì)算權(quán)重。
本文采用FPFH 作為點(diǎn)云特征描述子時(shí),將每個(gè)參數(shù)劃分為11個(gè)子區(qū)間,最終形成33維的統(tǒng)計(jì)直方圖作為點(diǎn)云特征描述,生成特征集合F={fi|i=1~N}。
獲取點(diǎn)云FPFH特征集合后,特征顯著性計(jì)算的主要步驟為:首先對(duì)特征進(jìn)行k均值聚類,每類作為一種單詞。然后由單詞全局顯著性和類內(nèi)顯著性計(jì)算單詞顯著性,形成顯著性詞典。最后根據(jù)顯著性詞典軟編碼單點(diǎn)特征,獲得點(diǎn)云特征顯著性。
提取點(diǎn)云FPFH特征集合F={fi|i=1~N}后,首先對(duì)特征集合進(jìn)行K-means聚類,將每個(gè)聚類中心作為一個(gè)單詞,得到特征詞典W={wi|i=1~k},詞典中不同單詞的顯著性不同。文獻(xiàn)[4]通過計(jì)算每個(gè)類別與其它類別的差異定義全局顯著性,這種顯著性的計(jì)算方法在保持簡(jiǎn)單高效的同時(shí),能夠有效捕捉點(diǎn)云模型中大部分重要的視覺區(qū)域。故參考此方法計(jì)算單詞全局顯著性,公式如下
(8)
式中:wi和wj分別表示特征詞典W={wi|i=1~k}中兩個(gè)不同的單詞,nj表示被編碼到wj下的點(diǎn)云的數(shù)量,d表示卡方距離。文獻(xiàn)[4]公式中的d采用的歐式距離,容易受點(diǎn)云模型中噪聲和采樣密度不均的影響。而文獻(xiàn)[6]中采用的卡方距離受噪聲影響較小,更適用于點(diǎn)云模型,故本文采用卡方距離度量單詞之間的距離d。定義如下
(9)
由此所得的全局顯著性的意義在于:一方面,通過對(duì)比度刻畫單詞間的差異,如果單詞wi與其它單詞wj區(qū)別較大,則代表此單詞具有較強(qiáng)的顯著性。另一方面,通過稀有性來刻畫單詞間的差異,如果其它單詞內(nèi)部點(diǎn)云數(shù)量較多,則此單詞內(nèi)的點(diǎn)云數(shù)量較少,內(nèi)部點(diǎn)云數(shù)量較少的單詞具有較強(qiáng)的顯著性。
全局顯著性僅考慮了不同單詞間的區(qū)別,并未考慮單詞內(nèi)部點(diǎn)云特征的分布情況。單詞內(nèi)部分布如果分散,則表示包含的信息豐富,顯著性強(qiáng)。反之,分布如果集中,則表示包含的信息少,顯著性弱。而VLAD[10](vector of locally aggregated descriptors)可以描述單詞內(nèi)部分布情況。在Bow(bag-of-words)基礎(chǔ)上改進(jìn)而來的VLAD計(jì)算了每個(gè)局部特征與它對(duì)應(yīng)的聚類中心的殘差,能夠有效解決類內(nèi)的信息缺失問題。因此,利用VLAD特征來定義單詞內(nèi)部的顯著性。
根據(jù)單詞詞典及點(diǎn)云的單詞編碼第k個(gè)單詞的VLAD特征作為類內(nèi)顯著性
(10)
將VLAD(k)記為Sck,融合全局顯著性特征Sgk,構(gòu)成最終特征顯著性
Sk=Sgk+λSck
(11)
由此構(gòu)成顯著性詞典S={sk|k=1~K}。
式中,λ為組合權(quán)重,考慮到在顯著性計(jì)算中,全局顯著相比于類內(nèi)顯著性仍是主要影響因素,故用λ來調(diào)節(jié)單詞內(nèi)部顯著性對(duì)最終顯著度的貢獻(xiàn)比時(shí)應(yīng)取小值,本文λ取0.2。
從式(11)可看出,最終的特征顯著性既考慮了單詞間的差異,也綜合了單詞內(nèi)部點(diǎn)云特征分布情況。相比于只考慮全局顯著性的特征顯著度計(jì)算方式,這種融合了類內(nèi)差異的方法,能夠提高顯著性區(qū)分不同性質(zhì)點(diǎn)云的能力,增強(qiáng)顯著性描述相似區(qū)域點(diǎn)云的區(qū)分性。
獲得單詞顯著性詞典S后,根據(jù)點(diǎn)云特征fi與單詞wk的距離,編碼特征顯著性。編碼方法中傳統(tǒng)的硬性表決編碼方法只選擇完全激活與其最相似的一個(gè)視覺單詞來表達(dá)特征,忽略了與其它單詞的相似性,容易丟失部分點(diǎn)云的特征信息。而局部軟編碼法[10]選擇激活與鄰近內(nèi)k個(gè)相似的視覺單詞來表達(dá)特征,能夠更充分地保留點(diǎn)云特征信息。故本文采用局部軟編碼方式,選擇激活與點(diǎn)云特征相似的Ni個(gè)單詞編碼特征顯著性,表示如下
(12)
(13)
綜上,點(diǎn)云特征顯著性算法步驟具體如下:
算法1:點(diǎn)云特征顯著性計(jì)算
輸入:點(diǎn)云模型每個(gè)點(diǎn)的FPFH特征向量fi
輸出:點(diǎn)云模型每個(gè)點(diǎn)的特征顯著性Sfi
(1)輸入點(diǎn)云的FPFH特征向量集,K-means聚類生成碼本詞典:W={wk|i=1~k};
(2)根據(jù)單詞間的差異,由式(8)計(jì)算單詞全局顯著性Sgk;
(3)考慮單詞內(nèi)點(diǎn)云的分布,由式(10)計(jì)算單詞類內(nèi)顯著性Sck;
(4)融合全局顯著性和類內(nèi)顯著性由式(11)得到顯著度詞典S={sk|k=1~K};
(5)采用局部軟編碼方式,由式(12)計(jì)算所有點(diǎn)云的特征顯著性Sfi。
在點(diǎn)云模型中存在平緩和變化復(fù)雜的不同區(qū)域,如果采用同一個(gè)策略對(duì)整個(gè)點(diǎn)云數(shù)據(jù)進(jìn)行精簡(jiǎn),則很有可能造成特征信息的缺失。因此,為了保證精簡(jiǎn)后特征的完整性,在不同區(qū)域應(yīng)采用不同的精簡(jiǎn)策略。傳統(tǒng)的點(diǎn)云精簡(jiǎn)算法采用的精簡(jiǎn)策略一般是根據(jù)曲率、法矢等幾何屬性,通過設(shè)定某個(gè)固定的閾值對(duì)點(diǎn)云進(jìn)行精簡(jiǎn),這樣人為選取一個(gè)閾值會(huì)導(dǎo)致算法魯棒性較差,選取的閾值可能對(duì)于某一種點(diǎn)云模型處理得比較理想,換了另一種點(diǎn)云后可能難以達(dá)到理想的精簡(jiǎn)效果。針對(duì)此類問題,本文提出基于特征顯著性的自適應(yīng)精簡(jiǎn)算法。精簡(jiǎn)原則是對(duì)點(diǎn)云均勻網(wǎng)格化后,根據(jù)每個(gè)網(wǎng)格內(nèi)的特征顯著性的不同進(jìn)行不同程度的精簡(jiǎn),特征顯著性高代表此網(wǎng)格內(nèi)的點(diǎn)位于特征明顯區(qū)域的可能性越大,采樣率應(yīng)高,反之,顯著性越低,采樣率應(yīng)小。算法的優(yōu)勢(shì)是能自適應(yīng)計(jì)算每個(gè)網(wǎng)格內(nèi)的采樣率,無需設(shè)定相關(guān)的參數(shù)。具體過程如下:
(14)
然后,計(jì)算每種單詞下點(diǎn)云數(shù)量的占比hk
(15)
式中:nk表示被分配到k類單詞的點(diǎn)的數(shù)量,N表示點(diǎn)云總數(shù)。
(16)
此外,在對(duì)點(diǎn)云進(jìn)行精簡(jiǎn)的過程中為確保特征信息的完整性,考慮到僅單獨(dú)根據(jù)顯著性精簡(jiǎn)可能會(huì)丟失部分特征細(xì)節(jié)區(qū)域。而利用點(diǎn)云的曲率能夠快速檢測(cè)到這些細(xì)節(jié)區(qū)域,故將點(diǎn)云曲率作為采樣率設(shè)置的補(bǔ)充條件。在計(jì)算網(wǎng)格采樣率后,若檢測(cè)到網(wǎng)格內(nèi)存在曲率較大的點(diǎn),說明網(wǎng)格內(nèi)點(diǎn)云位于特征區(qū)域的可能性大,則將網(wǎng)格采樣率置為百分百,以保留此區(qū)域的特征信息。由于在計(jì)算點(diǎn)云特征FPFH階段,利用(principal component analysis,PCA)算法計(jì)算點(diǎn)的法向量時(shí)可同時(shí)得到曲率,故此過程并不增加時(shí)間。
綜上,點(diǎn)云自適應(yīng)精簡(jiǎn)算法具體步驟如下:
算法2:點(diǎn)云自適應(yīng)精簡(jiǎn)
輸入:點(diǎn)云模型每個(gè)點(diǎn)的特征顯著性Sfi
輸出:精簡(jiǎn)點(diǎn)云
(1)將點(diǎn)云均勻網(wǎng)格化;
(3)由式(15)計(jì)算單詞內(nèi)點(diǎn)云占比hk;
(4)由式(16)計(jì)算網(wǎng)格采樣率p_sample;
(5)檢測(cè)點(diǎn)云的曲率,若存在大于0.1的點(diǎn),將此網(wǎng)格采樣率p_sample置為百分之百;若無則采用p_sample對(duì)網(wǎng)格點(diǎn)云數(shù)據(jù)進(jìn)行精簡(jiǎn);
(6)循環(huán)(3)到(5),直至精簡(jiǎn)完所有網(wǎng)格,輸出精簡(jiǎn)點(diǎn)云。
經(jīng)過以上計(jì)算,算法以特征顯著性指導(dǎo)點(diǎn)云精簡(jiǎn),在特征顯著性高的特征區(qū)域保留更多的點(diǎn),在特征顯著性低的平坦區(qū)域精簡(jiǎn)更多的點(diǎn),無需設(shè)定相關(guān)閾值,實(shí)現(xiàn)了點(diǎn)云的自適應(yīng)精簡(jiǎn)。該算法完整流程如圖2所示。
圖2 本文算法流程
使用Matlab對(duì)算法進(jìn)行編程,計(jì)算機(jī)配置為Win 10小系統(tǒng),Intel Corei5、8 G內(nèi)存和NVDIA GeForece GTX960M顯卡。實(shí)驗(yàn)用到的點(diǎn)云數(shù)據(jù)來自斯坦福大學(xué)建立的3D點(diǎn)云數(shù)據(jù)庫,均為PLY格式。
實(shí)驗(yàn)分為兩部分。首先,為驗(yàn)證類內(nèi)顯著性算法的有效性,在不同類型模型下應(yīng)用本文方法和文獻(xiàn)[4]的方法,對(duì)比顯著性檢測(cè)的效果。然后,為驗(yàn)證自適應(yīng)精簡(jiǎn)的有效性,在不同類型模型下應(yīng)用包圍盒法、文獻(xiàn)[11]法、文獻(xiàn)[12]法以及本文算法,對(duì)比精簡(jiǎn)效果并分析精簡(jiǎn)誤差及效率。
圖3和圖4中的圖(a)是原始點(diǎn)云數(shù)據(jù),圖(b)是僅利用全局顯著性算法計(jì)算每個(gè)點(diǎn)的特征顯著性的效果,圖(c)是融合全局和類內(nèi)顯著性算法每個(gè)點(diǎn)的特征顯著性效果。圖中灰度值從低到高代表特征顯著性依次升高。從圖3Skull模型可看出,圖3(b)中僅利用全局顯著性計(jì)算點(diǎn)的特征顯著性時(shí),眼眶、鼻骨和牙齒等區(qū)域顯著性相似,且與顴骨及下顎骨區(qū)分度不高,而圖3(c)中融合了類內(nèi)顯著性時(shí),額骨的裂痕、牙齒、顴骨及下顎骨等不同區(qū)域的顯著性區(qū)分明顯,基本無混合。圖4(a)中可看出Cow模型顯著性高的特征區(qū)域主要集中在面部,而圖4(c)中面部中的眼睛和嘴巴的區(qū)分度和顯著性明顯高于圖4(b)。由此可驗(yàn)證本文融合全局顯著性和類內(nèi)顯著性的算法能夠提高顯著性區(qū)分不同性質(zhì)點(diǎn)云的能力,增強(qiáng)顯著性描述相似區(qū)域點(diǎn)云的區(qū)分性。
圖3 Skull模型顯著性效果
圖4 Cow模型顯著性效果
為驗(yàn)證本文算法的自適應(yīng)精簡(jiǎn)效果,在不同類型模型下應(yīng)用包圍盒法、文獻(xiàn)[1]法、文獻(xiàn)[11]法、文獻(xiàn)[12]法和本文精簡(jiǎn)算法對(duì)比精簡(jiǎn)結(jié)果,并分析精簡(jiǎn)誤差及效率。文獻(xiàn)[1]屬于曲率閾值法,該算法將點(diǎn)云聚類后,將數(shù)據(jù)點(diǎn)之間的最大曲率差大于設(shè)定閾值不斷的迭代細(xì)分以保留特征點(diǎn)。文獻(xiàn)[11]和文獻(xiàn)[12]都是基于顯著性的點(diǎn)云精簡(jiǎn),其中文獻(xiàn)[11]的顯著性檢測(cè)是基于無向加權(quán)圖,文獻(xiàn)[12]的顯著性檢測(cè)是基于法向量。將這5種算法應(yīng)用于3種不同類型的模型進(jìn)行精簡(jiǎn):一種為Chair模型,原始點(diǎn)云數(shù)據(jù)為49 960,該模型數(shù)據(jù)量較小,實(shí)際尺寸大,特征細(xì)節(jié)較少;一種為Hand模型,原始點(diǎn)云數(shù)據(jù)為327 323,數(shù)據(jù)量密集,實(shí)際尺寸較小,特征細(xì)節(jié)較多;一種為Dragon模型,原始點(diǎn)云數(shù)據(jù)為437 645,數(shù)據(jù)量大,實(shí)際尺寸小,細(xì)節(jié)特征豐富。為了增強(qiáng)顯著性的區(qū)分性,聚類參數(shù)k取20,其它參數(shù)與4.1相同。將文獻(xiàn)[1]方法閾值設(shè)置為1。定義精簡(jiǎn)比為精簡(jiǎn)掉的點(diǎn)數(shù)與原始點(diǎn)數(shù)的比值,將其保持在90%左右。圖5、圖6和圖7為實(shí)驗(yàn)結(jié)果。
圖5 Chair模型點(diǎn)云不同精簡(jiǎn)算法精簡(jiǎn)結(jié)果
圖6 Hand模型不同精簡(jiǎn)算法精簡(jiǎn)結(jié)果
圖7 Dragon模型不同精簡(jiǎn)算法精簡(jiǎn)結(jié)果
從圖5Chair模型點(diǎn)云的精簡(jiǎn)結(jié)果來看,由于椅子模型本身數(shù)據(jù)量不大,特征信息不豐富,除了包圍盒法在比較平坦的區(qū)域還是存在很多的冗余信息,文獻(xiàn)[1]法、文獻(xiàn)[5]法、文獻(xiàn)[11]法還是本文方法都可以較大程度地去除冗余并有效保留點(diǎn)云特征。但文獻(xiàn)[11]、文獻(xiàn)[12]和本文基于顯著性的點(diǎn)云精簡(jiǎn)算法取得的視覺效果更好。
從圖6Hand模型點(diǎn)云的精簡(jiǎn)結(jié)果來看,包圍盒法精簡(jiǎn)效果整體較為均勻,但特征信息丟失嚴(yán)重大,精簡(jiǎn)效果差。文獻(xiàn)[1]法能夠在一定程度上較好保留手骨模型的特征,但在指尖等細(xì)微特征區(qū)域信息丟失嚴(yán)重,精簡(jiǎn)效果一般。文獻(xiàn)[11]法、文獻(xiàn)[12]法和本文算法精簡(jiǎn)后的點(diǎn)云在關(guān)節(jié)等特征區(qū)域保留了大量的數(shù)據(jù)點(diǎn),在骨頭等非特征區(qū)域保留數(shù)據(jù)點(diǎn)相對(duì)較少,特征區(qū)分明顯,精簡(jiǎn)效果優(yōu)于包圍盒法和文獻(xiàn)[1]法。但本文算法在手骨關(guān)節(jié)處保留了更多的特征點(diǎn),視覺效果優(yōu)于文獻(xiàn)[11]和文獻(xiàn)[12]。
從圖7Dragon模型點(diǎn)云的精簡(jiǎn)結(jié)果可看出,當(dāng)面對(duì)數(shù)據(jù)量大、特征豐富的點(diǎn)云模型時(shí),包圍盒法在精簡(jiǎn)時(shí)由于沒有考慮點(diǎn)云的特征分布,導(dǎo)致龍爪龍頭等特征信息丟失嚴(yán)重,精簡(jiǎn)效果差。文獻(xiàn)[1]法雖然考慮了點(diǎn)云的曲率特征,但需設(shè)定合適的閾值,從精簡(jiǎn)效果看該閾值顯然不適用于此模型,以致冗雜位于曲率高的區(qū)域但不是特征的點(diǎn)云,例如龍身;以致丟失對(duì)位于特征區(qū)域但曲率不高的細(xì)節(jié)特征,例如龍的面部特征。文獻(xiàn)[11]法、文獻(xiàn)[12]法和本文算法精簡(jiǎn)效果明顯優(yōu)于前兩種算法,但文獻(xiàn)[11]法和文獻(xiàn)[12]法已經(jīng)開始丟失某些細(xì)節(jié)和邊緣特征,例如龍眼、龍牙、尾巴的邊緣等細(xì)節(jié)部位,而本文算法在這細(xì)節(jié)特征區(qū)域均保留完整。故,本文精簡(jiǎn)效果優(yōu)于包圍盒法、文獻(xiàn)[1]法、文獻(xiàn)[11]法和文獻(xiàn)[12]法。
從以上實(shí)驗(yàn)結(jié)果可看出,在面對(duì)不同類型的模型時(shí),包圍盒法能獲得均勻點(diǎn)云的效果,但容易丟失特征;文獻(xiàn)[1]法需人工調(diào)試合適的閾值,才有可能獲取合適的精簡(jiǎn)效果;文獻(xiàn)[11]法和文獻(xiàn)[12]在面對(duì)細(xì)節(jié)特征豐富的點(diǎn)云模型時(shí)可能會(huì)造成細(xì)節(jié)特征的丟失。而本文算法對(duì)不同的模型均獲得良好的精簡(jiǎn)結(jié)果,驗(yàn)證了本文基于特征顯著性的點(diǎn)云自適應(yīng)精簡(jiǎn)在能夠保留視覺顯著性高的特征區(qū)域的同時(shí),對(duì)不同模型均具有適用性。
為了更客觀地評(píng)估點(diǎn)云精簡(jiǎn)后的物體描述能力,記錄多個(gè)不同類型的模型誤差。誤差計(jì)算方法為求取精簡(jiǎn)點(diǎn)云與原始點(diǎn)云的最大誤差和平均誤差[5],表達(dá)式分別為
(17)
式中:d(g,S*)表示原始曲面S上采樣點(diǎn)g到精簡(jiǎn)點(diǎn)云曲面S*上投影點(diǎn)g*的歐式距離。
多個(gè)模型精簡(jiǎn)誤差見表1,當(dāng)模型簡(jiǎn)單時(shí),包圍盒法、文獻(xiàn)[1]法、文獻(xiàn)[11]法、文獻(xiàn)[12]法和本文方法的精簡(jiǎn)誤差相差不大,但當(dāng)模型復(fù)雜時(shí),本文方法的最大誤差和平均誤差遠(yuǎn)小于其它4種方法,更好地保留了模型特征,但由于本文算法需進(jìn)行單詞類內(nèi)特征顯著性計(jì)算等算法流程,計(jì)算量較大,所以運(yùn)行時(shí)間要多于其它方法,具體結(jié)果詳見表1。
表1 精簡(jiǎn)算法結(jié)果對(duì)比
提出了一種基于特征顯著性的點(diǎn)云自適應(yīng)精簡(jiǎn)算法,算法在計(jì)算點(diǎn)云FPTP特征聚類生成單詞后,在生成顯著性詞典的過程中,為避免單詞內(nèi)部特征信息的缺失,在計(jì)算單詞全局顯著性基礎(chǔ)上融合單詞類內(nèi)顯著性生成最終的顯著性詞典后,采用軟編碼的方式對(duì)點(diǎn)云進(jìn)行特征顯著性計(jì)算,并利用點(diǎn)云的特征顯著性實(shí)現(xiàn)了特征顯著性越強(qiáng)的區(qū)域,采樣率越高的自適應(yīng)精簡(jiǎn)。實(shí)驗(yàn)結(jié)果顯示,本文的融合全局和類內(nèi)顯著性的顯著性檢測(cè)算法相比只計(jì)算全局顯著性的顯著性檢測(cè)算法,提高了顯著性區(qū)分不同性質(zhì)點(diǎn)云的能力,增強(qiáng)了顯著性描述相似區(qū)域點(diǎn)云的區(qū)分性。利用特征顯著性對(duì)點(diǎn)云進(jìn)行精簡(jiǎn)時(shí),與其它4種精簡(jiǎn)算法相比,能夠更好保留模型視覺特征明顯區(qū)域的同時(shí),對(duì)不同類型的點(diǎn)云具有適應(yīng)性。