李陸君 黨淑雯 王慶渠
(上海工程技術(shù)大學(xué)航空運輸學(xué)院,上海 201620)
點集配準(zhǔn)是模式識別和圖像處理中的一個關(guān)鍵問題,其目的是建立兩個點集之間的相關(guān)性,通過求解其最優(yōu)空間變換來達(dá)到最佳配準(zhǔn)的目的。目前,點集配準(zhǔn)已經(jīng)在3D重建[1]、圖像拼接和分割[2-3]、目標(biāo)識別[4]等領(lǐng)域得到了廣泛的應(yīng)用。
目前,應(yīng)用最為廣泛的點集配準(zhǔn)算法是由 P.J.Besl等人提出來的迭代最近點(Iterative Closest Point,ICP)算法[5],該算法對重合率較高的點集具有較好的配準(zhǔn)效果。針對重合率較低的點集配準(zhǔn)問題,很多學(xué)者[6-8]也提出了不少改進的點集配準(zhǔn)算法[9],但以上研究均未考慮點集配準(zhǔn)中的尺度問題。
S.Du等人[10]提出了一種有效的尺度迭代最近點(Scaling Iterative Closest Point,SICP)算法,該算法引入有界尺度的概念,從而解決了m維點集的尺度配準(zhǔn)問題。L.Zhao等人[11]解決了 ICP 算法中的全局優(yōu)化問題,大大提高了大尺度點集的配準(zhǔn)精度。李清平[12]提出了一種針對多源運動圖像的跨尺度配準(zhǔn)方法,該方法采用 LTP 算子描述 SIFT特征點[13],保持了特征對圖像旋轉(zhuǎn)、尺度、亮度等變化的穩(wěn)定性和高效性,大大提高了特征點的匹配效率,但以上這些尺度配準(zhǔn)算法均未考慮由旋轉(zhuǎn)角的變化而引起的配準(zhǔn)失敗問題。
因此為了進一步提高尺度配準(zhǔn)的精度,本文提出了基于旋轉(zhuǎn)角約束和引入高斯概率模型的尺度迭代最近點算法,即SRBICP算法,主要解決尺度配準(zhǔn)中由旋轉(zhuǎn)角的變化以及外界噪聲引起的配準(zhǔn)失敗的問題。新方法通過在 ICP 算法中引入有界尺度,為旋轉(zhuǎn)角設(shè)置了邊界約束,同時,引入高斯概率模型來去除噪聲影響。
圖1 SIFT算法流程圖
圖2 深度圖像和彩色圖像
尺度不變特征轉(zhuǎn)換即SIFT(Scale-invariant feature transform)是一種用來偵測與描述影像中的局部性特征,在空間尺度中尋找極值點,并提取出其位置、尺度、旋轉(zhuǎn)不變量的計算機視覺算法。該算法提取圖像特征點流程如圖1所示。
基于SIFT算法具有良好的尺度和旋轉(zhuǎn)不變性,提取的特征點效率高和穩(wěn)定性強的特點考慮,本文采用SIFT算法,使用基于ROS系統(tǒng)搭載Kinect相機的智能小車獲得圖像數(shù)據(jù),對圖像特征點進行提取,采集圖像如圖2所示。
假設(shè)采集得到的圖像數(shù)據(jù)即為點云集:X={x1,…,xn},每一個點數(shù)據(jù)由六個分量組成,其中,r,g,b表示顏色信息,x,y,z表示空間位置,并通過針孔相機模型(如圖3)將點云世界坐標(biāo)系轉(zhuǎn)化為歸一化的平面坐標(biāo)系。
圖3 針孔相機模型示意圖
從而,空間點坐標(biāo)[x,y,z]可轉(zhuǎn)化為像素坐標(biāo)[u,v,d](d指深度),如下方法:
(2-1)
(2-2)
d=z·s
(2-3)
其中,fx和fy指相機在x,y兩個軸上的焦距,cx和cy指相機的光圈中心,s指深度圖的縮放因子。相機的內(nèi)參矩陣C定義為:
其中傾斜參數(shù)β默認(rèn)為0。
則每個點的空間位置與像素坐標(biāo)可描述為:
(2-4)
其中,R和t是相機的姿態(tài),R代表旋轉(zhuǎn)矩陣,t代表位移矢量。在假設(shè)相機沒有旋轉(zhuǎn)和平移的條件下,僅考慮單幅點云的情況下,可將R設(shè)成單位矩陣I,t設(shè)成0。s是深度圖的數(shù)據(jù)與實際距離的比例,設(shè)為1000。
ICP算法又名迭代就近點算法, 該算法是以點集對點集(PSTPS)配準(zhǔn)方法為基礎(chǔ),基于四元數(shù)的點集到點集配準(zhǔn),從測量點集中確定其對應(yīng)的就近點點集,計算新的就近點點集,然后進行迭代計算,直到殘差平方和所構(gòu)成的目標(biāo)函數(shù)值不變,結(jié)束迭代過程。
假定模型集合M={mi}和數(shù)據(jù)集合D={dj},i=1, 2,…,Nm,j=1, 2,…,Nd,Nm和Nd分別表示點集M和D的大小。
經(jīng)典ICP算法分為兩步驟實現(xiàn),其步驟可總結(jié)如下:
1)首先建立點集的相關(guān)性:
(3-1)
式中,i=1, 2,…,Nd。
2)然后計算點集M和D的新的旋轉(zhuǎn)和平移變換:
(3-2)
并更新旋轉(zhuǎn)變換Rk+1和平移變換tk+1:
Rk+1=R*Rk
(3-3)
tk+1=R*tk+t*
(3-4)
重復(fù)以上兩個步驟,直到滿足精度要求,終止迭代,輸出最優(yōu)(R,t),其中,R為旋轉(zhuǎn)矩陣,t為平移矢量。
ICP算法是一種精確度較高的點云配準(zhǔn)算法,但它未考慮尺度因素,旋轉(zhuǎn)角變化大和外界噪聲對配準(zhǔn)精度的影響,在實際情況下,既有尺度變換又有剛度變換,而且還伴隨著噪聲影響的情況,基于此,本文提出一種改進型SRBICP算法,通過引入尺度矩陣邊界[14]、旋轉(zhuǎn)角約束矩陣[15],并進一步引入退火系數(shù)降低外界噪聲的影響,同時,采用動態(tài)迭代系數(shù)來提高配準(zhǔn)速度,從而來提高點云匹配的精確度。
SRBICP算法其步驟可總結(jié)如下:
首先,引入帶有邊界的尺度矩陣S,令S=diag(s1s2…,sm),計算新的變換(Sk+1,Rk+1,tk+1):
(3-5)
判斷條件ΔS=|Sk+1-Sk|小于閾值ε或者達(dá)到最大迭代次數(shù)Stepmax,則停止該迭代過程。
其中S是尺度矩陣,R代表旋轉(zhuǎn)矩陣,t代表位移矢量。然后,加入旋轉(zhuǎn)角約束矩陣R,退火系數(shù)λ和動態(tài)迭代系數(shù)h,具體實現(xiàn)步驟如下:
2)估計旋轉(zhuǎn)角θx,θy,θz的邊界,即θx∈[θxb-Δθx,θxb+Δθx],θy∈[θyb-Δθy,θyb+Δθy]和θz∈[θzb-Δθz,θzb+Δθz];
3)利用s.t.RTR=Im,det(R)=1,建立點集M和D的相關(guān)性,k=k+1,ck(i),i=1.2,…,Nd;
4)利用奇異值分解的方法計算旋轉(zhuǎn)矩陣Rk+1和平移矢量tk+1,則
(3-6)
計算qk+1的相鄰兩次迭代的變化量Δqk+1,并計算Mk+1=Rk+1M+tk+1值;
5)判斷動態(tài)迭代系數(shù)h,若h>0,則
(3-7)
計算新的變換(Sk+1,Rk+1,tk+1)并執(zhí)行Δqk=(Sk+1,Rk+1,tk+1)共h次來進一步更新迭代,即用Δqk更新(Sk+1,Rk+1,tk+1)共計h次,并通過執(zhí)行Mk+1=Δqk+1(Mk+1)共h次來更新Mk+1;
6)對于均方根誤差,判斷其變化量的絕對值,如果|RMSk+1-RMSk|>ε′,則令h=h+1,否則令h=0,RMS定義如下:
(3-8)
(3-9)
并計算點集方差,更新高斯概率方差,高斯概率方差的更新公式為:
(3-10)
7)判斷算法的終止條件,若均方根誤差變化量的絕對值滿足|RMSk+1-RMSk|<ε或者k>Stepmax,算法則停止迭代,否則令k=k+1并轉(zhuǎn)到(3)這里的ε′,ε和Stepmax是預(yù)先設(shè)置的閾值。
本文提出的改進型SRBICP算法,解決了在實際情況下尺度匹配不準(zhǔn)確,旋轉(zhuǎn)角變化過大引起的配準(zhǔn)效果不佳的問題,實現(xiàn)了既有尺度變換又有剛度變換的情況下精確匹配,克服了旋轉(zhuǎn)角過大引起的配準(zhǔn)誤差偏大問題,有效提高了算法的收斂速度和匹配的準(zhǔn)確度。
為驗證改進型SRBICP算法的有效性,本文采用基于Linux系統(tǒng)所搭載的ubuntu14.04平臺進行點云匹配仿真實驗。
該實驗采用SIFT點云提取算法,使用基于ROS系統(tǒng)搭載Kinect相機的智能小車獲得圖像數(shù)據(jù),進行特征點提取,為了達(dá)到可視化的效果,本文在特征點提取圖像上給出了特征點的半徑、角度等參數(shù),得出實驗對比如圖4所示。
通過特征點檢測結(jié)果對比,相較FAST算法和ORB算法,基于SIFT特征提取算法的有效特征點平均數(shù)目多,運行迭代時間縮短,表現(xiàn)出較好的穩(wěn)定性和高效性,見表1所示。
表1 特征點檢測結(jié)果對比
從不同點云配準(zhǔn)算法結(jié)果比較來看,改進型的SRBICP算法與經(jīng)典ICP算法和SICP算法相比,改進型的SRBICP算法的迭代次數(shù)和運算成本有了明顯的降低,且配準(zhǔn)精度得到較大提高,從而驗證了改進型SRBICP算法的有效性和優(yōu)越性。實驗表明,相較經(jīng)典ICP算法,運行時間節(jié)約了近40%,相較SICP算法節(jié)約近30%,配準(zhǔn)誤差減少約4%,見表2所示。
表2 不同點云配準(zhǔn)算法結(jié)果比較
圖4 特征點檢測實驗對比圖
為了更加直觀地看出不同點云配準(zhǔn)算法匹配的效果,本文將數(shù)據(jù)進行標(biāo)準(zhǔn)化處理,生成三維折線圖,得出不同算法的匹配點數(shù),迭代次數(shù)和耗時,配準(zhǔn)誤差對點云配準(zhǔn)的關(guān)系,SRBICP算法在特征點匹配數(shù)目高于其他兩種算法,在迭代次數(shù),耗時,配準(zhǔn)誤差方面都有所降低,如圖5所示。
圖5 不同點云拼接算法結(jié)果比較
圖6 ICP算法匹配
圖7 SICP算法匹配
圖8 改進型的SRBICP算法匹配
從圖6和圖7的配準(zhǔn)結(jié)果來看,傳統(tǒng)的ICP算法匹配的特征點混亂無章,而改進型的SRBICP算法匹配特征點清晰可見。傳統(tǒng)ICP匹配點對數(shù)為500,改進后匹配點對數(shù)為125,相比傳統(tǒng)ICP算法,降低了由于尺度問題和旋轉(zhuǎn)角過大引起的配準(zhǔn)誤差,提高了配準(zhǔn)精度。從圖7和圖8的配準(zhǔn)結(jié)果來看,改進型的SRBICP匹配點對數(shù)62,去除外界噪聲的影響,特征點匹配精度有了明顯的改善,配準(zhǔn)精度得到提高。從圖6和圖8的配準(zhǔn)結(jié)果來看,改進型的SRBICP算法相比經(jīng)典ICP算法,凸顯出匹配精度高,匹配效果好,抗干擾能力強,匹配速度快的優(yōu)點。
本文引入了改進后的SIFT-SRBICP算法,對點云進行提取和匹配,主要從尺度因素,旋轉(zhuǎn)角因素,噪聲因素對點云配準(zhǔn)的影響進行評估,結(jié)合實際采集圖像數(shù)據(jù)進行仿真實驗,得出以下結(jié)論:
1)在改進SIFT-SRBICP算法,相比較經(jīng)典SIFT-ICP算法,在特征點提取方面和點云配準(zhǔn)方面,具有效率高、準(zhǔn)確度高、時間短和高穩(wěn)定性的特點;
2)在改進的SRBICP算法,在點云配準(zhǔn)方面,配準(zhǔn)精度提高了約50%,同時配準(zhǔn)速度提高了約40%,實現(xiàn)了既有尺度變換又有剛度變換的情況下精確匹配,克服了旋轉(zhuǎn)角過大引起的配準(zhǔn)誤差偏大問題,進一步提高點云配準(zhǔn)的精度,速度,魯棒性和抗躁性,具有更高的可靠性和穩(wěn)定性。