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