吳慶華,蔡瓊捷思,黎志昂,劉嘉程
(1. 湖北省現(xiàn)代制造質(zhì)量工程重點實驗室,湖北武漢430064;2. 湖北工業(yè)大學機械工程學院,湖北武漢430064)
點云配準是虛擬現(xiàn)實、三維測量、機器人視覺引導等領(lǐng)域中的一項關(guān)鍵技術(shù)[1]。配準主要分為手動和自動兩大類。前者是通過貼上標記,計算標記點在不同視角下的位置關(guān)系矩陣;后者是通過描述子或者形狀關(guān)系,進行迭代查詢最優(yōu)位置關(guān)系矩陣[2]。目前,自動配準需求廣泛,是點云配準的研究熱點。然而,受物體表面形貌和紋理特性等因素影響,所獲取的三維點云往往存在局部數(shù)據(jù)丟失、噪聲和亂序等問題。這類問題會影響點云的配準精度和時效,對此許多學者開展了大量研究工作。
自動配準算法中運用最廣泛的是由Besl 等提出的最近點迭代算法(Iterative Closest Point,ICP)[3],該算法通過迭代求解出最小誤差時的對應點對之間的變換關(guān)系。雖然該算法精度很高,但需要良好的初值來保證收斂性。所以,自動配準一般先采用粗配準獲得初值,再用ICP 進行精配準,因此,如何將點云變換到ICP 的收斂域成為解決問題的關(guān)鍵[4]。Radu Bogdan Rusu 等[5]提出了快速點特征直方圖(Fast Point Feature Histograms,F(xiàn)PFH)的特征量,以點與其鄰域點法向量夾角等信息為特征構(gòu)建直方圖,并實現(xiàn)了三維點云的粗配準。該方法對大多數(shù)點云具有較高的配準精度,但耗時長,特別是對于存在異常法向量夾角等信息的缺失點云更難以收斂;Salti S[6]提出基于方向直方圖的編碼統(tǒng)計特征(Signature of Histogram of Orientation,SHOT)點云配準算法,該算法同時具有直方圖特征的抗噪性和基于標簽特征的鑒別性,且對旋轉(zhuǎn)和尺度具有不變性,其局限性在于僅適用于含有大量不同曲率特征的缺失點云;王欣[7]使用邊界生長法提取點云的邊界點云,通過匹配邊界點云實現(xiàn)粗配準,對于缺失點云,由于其邊界并不完整容易使配準失效;Magnusson M 提出的正態(tài)分布變換(Normal Distributions Transform,NDT)算法[8],該算法耗時穩(wěn)定,并且初值誤差大也能很好的糾正,但對缺失點云,由于局部區(qū)域統(tǒng)計結(jié)果會產(chǎn)生異常,導致配準效果不佳。
缺失點云的局部數(shù)據(jù)存在丟失,會造成其局部法向特征、邊界特征和重疊度等發(fā)生一定程度的改變。這些改變會導致大部分算法的收斂速度、配準精度和適用性產(chǎn)生不同程度的影響。擴展高斯圖像聚類可以有效地提取出法向特征相似且重疊度較大的子點云,且對局部點云缺失并不敏感[9]。為此,本文提出了基于擴展高斯圖像聚類(Clustering Extended Gaussian Image,CEGI)的缺失點云配準算法。該算法對于缺失點云具有較高的配準精度,可以有效的避免上述問題帶來的影響。
C-EGI 算法的基本思想是將點云通過高斯映射得到擴展高斯圖像(Extended Gaussian Image,EGI);然后,對EGI 聚類分割,并對分割后的聚類進行匹配;將匹配結(jié)果逆高斯映射后,進行粗配準;最后,使用粗配準結(jié)果更新源點云,再和模板點云進行精配準,如圖1 所示。其關(guān)鍵在于分割后的聚類匹配和粗配準關(guān)系求取。本文采用體積-模長算子(Volume-norm Operator,VN Operator)對分割后的聚類進行匹配;使用基于距離-曲率描述子(Distance-curvature Descriptor,DC Descriptor)查詢對應點對,實現(xiàn)粗配準。
基于VN 的聚類匹配分為兩個部分,EGI聚類分割和基于VN 匹配分割后的聚類。EGI 是將三維物體的一點通過高斯映射至單位球面上的一點,并在該點上添加一個向量,向量的方向與該點的法向量方向一致,模長為該點所在面的面積[9]。并且,法向相近的點會區(qū)域性集結(jié),如圖2所示,(a)表示長方體與其擴展高斯圖像的對應關(guān)系,(b)表示空間曲面與其擴展高斯圖像的對應關(guān)系。
圖2 三維物體映射擴展高斯圖像示意圖Fig. 2 Diagram of 3D object mapping to EGI
在獲得EGI 之前,需要估算點云中每個點的法向量。取點Pi(xi,yi,zi)與鄰域點云集N{Pi},采用最小二乘法擬合出Pi點的平面方程z=Ax+By+C[10],利用公式(1)求出該平面方程的偏差平方和d:
取d最小值時所對應的向量n(A,B,C)作為點Pi(xi,yi,zi)的法向量。然后,進行高斯映射,獲得對應EGI,并對EGI 使用歐式聚類。
為確保聚類后源點云和模板點云的高斯點云簇是相對應的,本文采用基于VN 算子進行匹配。其定義函數(shù)為:
其中:Vi表示每個簇的體積,Li表示每個簇的向量總模長,α和β為自定義權(quán)重系數(shù)。
由于EGI 只能反映三維物體的旋轉(zhuǎn)姿態(tài)關(guān)系,無法反映出三維物體的空間位置關(guān)系[11]。本文對最優(yōu)高斯點云簇對使用索引查找的方式進行逆高斯映射,獲取對應的實體點云對,進行對應點對求解。由于此時點云的法向特征相似,重疊度較高,并且數(shù)據(jù)集大幅下降,使用傳統(tǒng)算法進行對應點對的求解優(yōu)勢并不明顯,所以本文提出一種基于DC 描述子的粗配準方法。
首先,通過DC 描述子進行對應點對的查詢,其定義函數(shù)為:
圖3 對應點對查詢示意圖Fig. 3 Diagram of querying corresponding point
本文算法總體流程如圖4 所示。主要分為兩部分:
首先,對實際掃描點云S和模板點云T使用高斯映射獲得EGI,對EGI 進行聚類,通過基于VN 的匹配獲得最優(yōu)簇對;其次,在逆高斯映射后,通過DC 描述子求解對應點對,并使用RANSAC 算法剔除異常點對;最后,采用SVD 算法計算出粗配準矩陣RcTc。
將源點云S 進行矩陣變換乘以后獲得點云S′,對S′ 采用ICP 算法計算出精配準矩陣RfTf。利用公式(5)求解最終配準矩陣RT。
實驗運行環(huán)境為IntelCore 2.4GHz CPU,PCL 1.8.0 平臺,實驗數(shù)據(jù)來自于斯坦福大學激光掃描數(shù)據(jù)庫中的bunny(35947)模型和實際采集點云。分別進行了一般點云配準實驗、缺失點云配準實驗和散放棒料抓取中的點云配準實驗。
圖4 算法流程圖Fig 4 The algorithm flowchart
實驗分別使用FPFH,NDT,SHOT 和本文算法,結(jié)合ICP 精配準算法進行配準實驗比對,為了使實驗更有說服力,設(shè)置各實驗模型原始點云(模板點云)密度的10 倍作為各算法搜索半徑;NDT 網(wǎng)格內(nèi)點云數(shù)量設(shè)為10,步長設(shè)置為0.1;為減小ICP 算法受到數(shù)據(jù)局部缺失的影響,采用縮小ICP 算法的最近點搜索范圍的方法,設(shè)置ICP 算法的搜索半徑為模型原始點云密度的5倍。采用配準后對應點之間的距離d的均方誤差(Mean Square Error,MSE)作為配準評價標準,如式(6)所示:
對Bunny(35 947)點云進行旋轉(zhuǎn)變換,獲取不同姿態(tài)的點云,任取3 個姿態(tài)分別使用C-EGI,F(xiàn)PFH,NDT,SHOT 進行配準測試。
圖5 為各算法配準效果,表1 和表2 為各算法的配準精度與耗時。從表1 和表2 中可知,F(xiàn)PFH算法擁有較高的配準精度,但是耗時長。SHOT算法相比FPFH 精度稍有下降,但速度優(yōu)勢明顯。NDT 算法相對SHOT 算法精度相近,但耗時相對較高。本文算法精度與SHOT 算法相近,但速度提升近31.1%。
圖5 各算法配準結(jié)果Fig. 5 Registration result of different algorithms
表1 配準精度實驗誤差對比表Tab. 1 MSE of registration experiment (mm2)
表2 配準精度實驗耗時對比表Tab. 2 Running time of registration experiment (s)
本實驗分兩步驗證,首先驗證本文算法的精度和時效性,然后驗證本文算法的穩(wěn)定性。4.2.1 缺失點云配準精度和時效性實驗
由于物體表面材質(zhì)、紋理和光線遮擋,獲取的點云數(shù)據(jù)常常存在數(shù)據(jù)丟失。故設(shè)計缺失點云實驗,對各算法進行配準測試。分別采用統(tǒng)計閾值T=0.1 和T=0.5 的統(tǒng)計離群點濾波過濾相對稀疏部分,模擬物體自身形貌遮擋或表面反光導致的數(shù)據(jù)丟失;分別使用X軸方向和Z軸方向直通濾波過濾40%左右的截面數(shù)據(jù),模擬光線受到遮擋導致的數(shù)據(jù)丟失。
圖6 為各算法對缺失點云的實際配準效果,表3 和表4 為各算法對缺失點云的配準精度與耗時。從表3 和表4 中可知,NDT 算法對缺失點云已不能有效的配準。FPFH 算法對于缺失點云配準精度依舊穩(wěn)定,但是耗時更長。對于SHOT 算法而言,精度相對FPFH 算法較差,但耗時縮小了近70 倍。本文算法與FPFH 算法精度相當,并且相對SHOT 算法速度提升了近
38.7%。
圖6 缺失點云配準實驗各算法結(jié)果Fig. 6 Registration result of different algorithms with losing point cloud
表3 缺失點云配準實驗誤差對比表Tab. 3 MSE of registration experiment with losing point cloud(mm2)
4.2.2 缺失點云配準穩(wěn)定性實驗
本文算法是利用基于擴展高斯圖像聚類提取相同特征的子點云進行配準,如圖7 所示,(a)為模擬孔洞缺失時的擴展高斯圖像聚類提取的子點云示意圖,(b)為模擬截面缺失時的擴展高斯圖像聚類提取的子點云示意圖。
為驗證其可以穩(wěn)定有效地規(guī)避點云局部缺失帶來的影響。本實驗采用與精度實驗相同方法,通過統(tǒng)計濾波和直通濾波模擬孔洞缺失和截面缺失。
表4 缺失點云配準實驗耗時對比表Tab. 4 Running time of registration experiment with losing point cloud(s)
圖7 擴展高斯圖像聚類結(jié)果Fig. 7 Clustering result of Extended Gaussian Image
分別對源點云進行9 組不同閾值的統(tǒng)計濾波和X 軸直通濾波后與同一模板點云進行配準實驗,實驗結(jié)果如圖8 和9 所示,采用缺失點數(shù)的占比區(qū)分各組數(shù)據(jù)。從圖8 和9 可知,本文算法在9組不同孔洞缺失和截面缺失下的進行配準實驗,實驗結(jié)果都顯示本文算法能獲得良好的配準效果。因此,該算法針對局部孔洞缺失和局部截面缺失兩種情況均具有良好的魯棒性。
圖8 孔洞缺失點云配準穩(wěn)定性實驗結(jié)果Fig. 8 Robust result of registration experiment with hole losing point clouds
圖9 截面缺失配準穩(wěn)定性實驗結(jié)果Fig. 9 Robust result of registration experiment with section losing
本實驗采用3D 掃描儀和散放棒料零件進行測試,如圖10 所示,從實際掃描點云中任取五個姿態(tài)不同棒料作為實驗對象進行配準測試。
圖10 實驗儀器及掃描結(jié)果圖Fig. 10 Experiment instrument and the scanned result
圖11 為各算法對散放棒料抓取中的點云的配準效果,表5 和表6 為各算法對散放棒料抓取中的點云的配準精度和耗時。從表5 和表6 中可知,NDT 算法配準精度較差且耗時較長。FPFH算法由于該點云特征單一且存在缺失,使得在時效性和精度兩個方面結(jié)果都不佳。SHOT 算法相比NDT 和FPFH 精度較優(yōu),并在耗時上具有明顯優(yōu)勢。本文算法在精度方面優(yōu)于這三種算法,在評價誤差上優(yōu)于FPFH 算法17.9%,并且在平均耗時方面相比SHOT 算法提速近26.4%,可見本算法能滿足實際缺失點云配準要求。
圖11 實際點云配準實驗各算法結(jié)果Fig. 11 Registration result of different algorithms with actual point cloud
表5 實際點云配準實驗誤差對比表Tab. 5 MSE of registration experiment with actual point cloud(mm2)
表6 實際點云配準實驗耗時對比表Tab. 6 Running time of registration experiment with actual point cloud(s)
本文針對缺失點云提出了一種基于擴展高斯圖像聚類的配準算法,實現(xiàn)了對缺失點云的快速高效配準,可以滿足一般物體掃描時存在數(shù)據(jù)丟失的點云配準要求。通過把點云映射到EGI中聚類再逆映射回實體點云的方法進行配準,根據(jù)實驗結(jié)果證明該方法可以有效的避免點云由于掃描儀視角、物體材質(zhì)和掃描環(huán)境等因素帶來的影響。并且,與傳統(tǒng)配準算法相比,具有更好的精度和時效性。
但由于本算法運用了較多的參數(shù)進行計算,并且利用EGI 進行聚類,所以本算法的參數(shù)選取和法向方向判斷是一個重要因素,對于如何自動調(diào)節(jié)最優(yōu)參數(shù)和法向統(tǒng)一是本算法未來研究的重要方向。