朱彬,陳新度,吳磊,劉躍生,刁世普
(1.廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣東廣州 510006;2.廣東工業(yè)大學(xué),省部共建精密電子制造技術(shù)與裝備國(guó)家重點(diǎn)實(shí)驗(yàn)室,廣東廣州 510006)
近年來(lái),機(jī)器人自動(dòng)化作業(yè)在鑄件加工中不斷普及[1],打磨作為鑄件加工的核心技術(shù)之一[2],對(duì)其費(fèi)用、效率、精度影響非常大。因點(diǎn)云不受光照、陰影和紋理等影響的優(yōu)勢(shì),對(duì)于感知目標(biāo)的幾何信息具有重要意義[3],可以作為自動(dòng)打磨加工的數(shù)據(jù)載體。然而,所得點(diǎn)云受限于硬件設(shè)備和掃描環(huán)境[4],可能具有較高的冗余度[5]。為了提高處理效率及銳化幾何特征,需要對(duì)感知的點(diǎn)云進(jìn)行精簡(jiǎn),即刪除對(duì)曲面幾何形狀信息貢獻(xiàn)較少的冗余點(diǎn)。
但傳統(tǒng)曲率點(diǎn)云精簡(jiǎn)方法存在數(shù)據(jù)空洞、數(shù)據(jù)缺失等問題[6]。因此,本文作者提出一種線性耦合曲率精簡(jiǎn)算法(Simplification of Curvature Linear Coupling Algorithm,SCLCA),在曲率精簡(jiǎn)的基礎(chǔ)上引入曲變[7]參數(shù)改善精簡(jiǎn)效果與抗噪性能;同時(shí)在不改變?cè)c(diǎn)云屬性的前提下,基于線性耦合曲率參數(shù)排序并篩選特征點(diǎn)云,最終完成精簡(jiǎn)任務(wù)。
點(diǎn)云精簡(jiǎn)旨在保留原特征同時(shí)盡可能剔除冗余數(shù)據(jù),如圖1所示。如何保留特征信息是點(diǎn)云精簡(jiǎn)最重要的一環(huán),為了改善傳統(tǒng)點(diǎn)云曲率精簡(jiǎn)的特征銳化性,文中提出了一種線性耦合曲率特征。通過曲率排序改善點(diǎn)云的無(wú)序性[8],并引入曲變參數(shù)提升特征銳化性。
點(diǎn)云的無(wú)序性使得無(wú)法僅從坐標(biāo)參數(shù)判別特征點(diǎn)。因此可將原點(diǎn)云按照一定規(guī)律排序,即根據(jù)排序提取特征點(diǎn)。其步驟如下:
根據(jù)式(1)(2)得到原點(diǎn)云P(圖1(b)所示)中各點(diǎn)pi的曲率ρ(pi)后,即可按照式(3)對(duì)P排序,得到排序點(diǎn)云Pρ:
(1)
(2)
(3)
即Pρ中各點(diǎn)按照曲率ρ(pi)大小排序。
但由于曲率特征本身具有一定誤差[6],因此還需要一種更穩(wěn)健、精確的排序方法,即線性耦合曲率排序。
αi=i/N(i=1,…,N)
(4)
(5)
(6)
根據(jù)式(7)對(duì)原點(diǎn)云P第二次排序:
(7)
得到排序點(diǎn)云Pη,再按照序列提取兼具特征銳化性、保形性的特征點(diǎn)云Psig。特征點(diǎn)云提取流程如圖2所示。
圖2 特征點(diǎn)云提取流程
提取特征點(diǎn)云區(qū)域Psig后,剩下的非特征區(qū)域Punsig仍具有較高冗余度,可按文中提出的改進(jìn)BSP精簡(jiǎn)方法繼續(xù)精簡(jiǎn)[10]:
首先采用PCA方法構(gòu)造Punsig的協(xié)方差矩陣M(Punsig)并進(jìn)行奇異值分解:
(8)
通過線性耦合曲率特征得到特征點(diǎn)云P1,以改進(jìn)BSP方法得到非特征點(diǎn)云域精簡(jiǎn)結(jié)果P2,融合P1、P2即得最終精簡(jiǎn)結(jié)果,流程如圖3所示。
圖3 SCLCA算法流程
采用圖1(b)所示的鑄件點(diǎn)云模型、斯坦福Bunny模型為實(shí)驗(yàn)對(duì)象,研究文中SCLCA算法的精簡(jiǎn)效果。同時(shí)以曲率精簡(jiǎn)[11]、曲變精簡(jiǎn)[10]為對(duì)比算法,并從精簡(jiǎn)比、保形性[12]、曲面擬合幾個(gè)方面進(jìn)行評(píng)價(jià)。Bunny模型如圖4所示。
圖4 Bunny模型
采用保形性誤差評(píng)判精簡(jiǎn)效果[11]:
(9)
對(duì)于原始點(diǎn)云P中某一點(diǎn)p,pU′為精簡(jiǎn)點(diǎn)云P′中離p最近的點(diǎn),n為點(diǎn)p法向量。
保形性誤差可評(píng)判精簡(jiǎn)點(diǎn)云與原始點(diǎn)云之間差異程度,保形性誤差越小,則精簡(jiǎn)點(diǎn)云與原始點(diǎn)云間差異越小,精簡(jiǎn)效果越好。
算法采用C++、PCL點(diǎn)云庫(kù)編寫,Cloud Compare顯示點(diǎn)云,Geomagic Studio擬合曲面。所有實(shí)驗(yàn)均在一臺(tái)2.90 GHz處理器、8.00 GB內(nèi)存的計(jì)算機(jī)上進(jìn)行。以下曲率精簡(jiǎn)簡(jiǎn)稱算法1,曲變精簡(jiǎn)簡(jiǎn)稱算法2。
以鑄件點(diǎn)云為實(shí)驗(yàn)對(duì)象,采用不同比率(75%即去除75%的冗余數(shù)據(jù)點(diǎn),85%、90%同理)精簡(jiǎn),結(jié)果如表1、2所示。
表1 不同精簡(jiǎn)比鑄件點(diǎn)云數(shù)據(jù)
表2 鑄件曲面重構(gòu)模型
由表1、2可以看出:在相同的精簡(jiǎn)比率下,文中算法處理后的點(diǎn)云具有更好的數(shù)據(jù)還原性,在曲面重構(gòu)中具有更少的數(shù)據(jù)空洞,而保形性誤差指標(biāo)也大幅降低,如圖5所示。
圖5 鑄件精簡(jiǎn)點(diǎn)云保形性誤差
為了進(jìn)一步驗(yàn)證文中算法的魯棒性,以Bunny模型為對(duì)象進(jìn)行實(shí)驗(yàn),結(jié)果如表3、4所示。
表3 不同精簡(jiǎn)比點(diǎn)云數(shù)據(jù)
表4 Bunny曲面重構(gòu)模型
從表3、4中可以看出:當(dāng)精簡(jiǎn)率在75%、85%時(shí),文中算法精簡(jiǎn)點(diǎn)云的重構(gòu)模型僅有細(xì)微的數(shù)據(jù)空洞,證明該算法具有良好的精簡(jiǎn)效果;而當(dāng)精簡(jiǎn)比達(dá)到90%,重構(gòu)模型在密集點(diǎn)云處(Bunny耳朵)出現(xiàn)部分?jǐn)?shù)據(jù)空洞,但仍保存了完整的模型輪廓。這種高精簡(jiǎn)比適用于計(jì)算速度要求高、精度要求相對(duì)不高的場(chǎng)合,具有一定的實(shí)用性。
從圖6中可以看到:相較另2種精簡(jiǎn)算法,文中精簡(jiǎn)算法在保形性誤差指標(biāo)上有著明顯改善;在精簡(jiǎn)比75%時(shí)誤差降低約21%;在精簡(jiǎn)比85%時(shí)誤差降低約31%;在精簡(jiǎn)比90%時(shí)誤差降低約40%,因此文中精簡(jiǎn)算法更適用于高精簡(jiǎn)比場(chǎng)景。
圖6 Bunny精簡(jiǎn)點(diǎn)云保形性誤差
能否過濾掉由設(shè)備誤差、操作失誤、環(huán)境因素等造成的原始點(diǎn)云中的噪聲點(diǎn),也是評(píng)判精簡(jiǎn)算法效果的重要指標(biāo)。
為了模擬噪聲,在Bunny原始模型中加入拉丁超立方1 000點(diǎn)如圖7所示,該噪聲具有完全的隨機(jī)性和均勻性。
精簡(jiǎn)結(jié)果如表5、圖8所示,從保形性誤差、擬合面片數(shù)(由精簡(jiǎn)點(diǎn)云模型生成的重構(gòu)模型具有的擬合面片數(shù)量)進(jìn)行評(píng)判。
表5 1 000噪聲點(diǎn)模型精簡(jiǎn)數(shù)據(jù)對(duì)比
圖8 1 000點(diǎn)噪聲曲面重構(gòu)模型
從表5和圖8中可以看出:在噪聲比2.7%、精簡(jiǎn)比90%條件下,文中精簡(jiǎn)算法生成的曲面擬合模型中離散面片更少;同時(shí)重構(gòu)模型中面片數(shù)相對(duì)算法1、算法2增加了11.2%、13.2%;保形性誤差分別降低了15.1%、36.6%。
文中提出了一種基于線性耦合曲率的點(diǎn)云精簡(jiǎn)方法。實(shí)驗(yàn)結(jié)果表明:
(1)文中方法可在高效剔除冗余點(diǎn)的條件下保留模型原有特征,以便更好地適應(yīng)后續(xù)計(jì)算任務(wù)。
(2)相較傳統(tǒng)曲率精簡(jiǎn),文中方法保形性誤差降低40%(鑄件點(diǎn)云,90%精簡(jiǎn)率)。
(3)在增加拉丁超立方噪聲情況下,文中方法相較傳統(tǒng)曲率方法保形性誤差降低15.1%,擬合面片生成增加11.2%,證明文中算法在點(diǎn)云數(shù)據(jù)預(yù)處理中有更好的應(yīng)用。