一種適用于ToF相機的三維點云自動配準方法及系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明涉及三維掃描技術領域,尤其涉及一種適用于ToF相機的三維點云自動配 準方法及系統(tǒng)。
【背景技術】
[0002] ToF相機是基于時間飛行法(Time of Flight)測距原理的3D成像儀,其不僅能像 傳統(tǒng)2D相機獲得強度圖像,還能實時獲得感光器件上每個像素點到目標物體的對應距離, 繼而可以計算得到三維點云。由于ToF相機通過主動發(fā)射光線進行測量,對光環(huán)境的要求 較低,具有較好的魯棒性。
[0003] 在利用ToF相機構建三維掃描系統(tǒng)時,由于物體本身的遮擋,一次掃描無法獲得 被測物完整的三維數(shù)據(jù),因此通常需要從被測物的不同方位進行掃描。這就需要將不同方 位掃描所得的點云轉(zhuǎn)化到同一坐標系,以獲得被測物的完整三維點云,該過程稱為點云的 配準。
[0004] 為解決多視角點云配準問題,出現(xiàn)了基于轉(zhuǎn)臺的三維掃描系統(tǒng)及點云配準方法。 現(xiàn)有的方法主要有如下幾種:
[0005] 1.基于可控轉(zhuǎn)角的轉(zhuǎn)臺進行多角度掃描,事先獲得轉(zhuǎn)臺軸線的粗略位置,并根據(jù) 轉(zhuǎn)臺轉(zhuǎn)角進行粗配準,利用ICP方法進行精配準。該方法存在的問題是:由于ToF相機掃描 得到的點云存在誤差,甚至存在受被測物材質(zhì)等影響導致局部點云形變等現(xiàn)象,因此直接 對被測物點云使用ICP方法容易產(chǎn)生累積誤差,導致全局優(yōu)化配準難的問題。
[0006] 2.基于可控轉(zhuǎn)角的精密轉(zhuǎn)臺進行多角度掃描,事先采用一定方法獲得轉(zhuǎn)臺軸線精 確位置,并結合轉(zhuǎn)臺轉(zhuǎn)角直接計算完成配準。該方法雖避免了 ICP方法帶來的問題,但對轉(zhuǎn) 臺設備要求較高,且需提前操作以獲取轉(zhuǎn)臺軸線的精確位置,配準結果會受到軸線測量誤 差的直接影響。
[0007] 3.基于非精密轉(zhuǎn)臺進行多角度掃描,通過在轉(zhuǎn)臺上印刷或粘貼標記物,使用額外 的相機拍攝并識別標記物來獲得轉(zhuǎn)臺位置,進而對ToF相機所得點云進行配準。為此,需要 事先對兩相機進行標定以獲取其相對位置,且需要適度的光照環(huán)境以輔助拍攝。該方法雖 對轉(zhuǎn)臺要求不高,且避開了 ICP方法帶來的問題,但需要事先標定、對光環(huán)境有一定要求的 特點限制了其易用性。
【發(fā)明內(nèi)容】
[0008] 為了解決【背景技術】中存在的問題,本發(fā)明提出了一種適用于ToF相機的三維點云 自動配準方法及系統(tǒng)。
[0009] 本發(fā)明采用如下技術方案:
[0010] -、一種適用于ToF相機的三維點云自動配準方法,包括以下步驟:
[0011] 1)將被測物(4)放置于轉(zhuǎn)臺(1)中心,轉(zhuǎn)臺(1)上表面鋪有漫反射材料(2),漫反 射材料⑵上間隔設有圓形標記點(3),調(diào)節(jié)ToF相機(5)的視角朝向轉(zhuǎn)臺⑴中心的被測 物⑷;
[0012] 2)從ToF相機(5)采集數(shù)據(jù),獲得原始點云CdP原始強度圖像G p i表示采集次 數(shù)的序數(shù);
[0013] 3)對原始點云C1和原始強度圖像6 i進行處理得到粗配準被測物點云CWS i和標記 點點云CffM1;
[0014] 4)使轉(zhuǎn)臺旋轉(zhuǎn)角度,轉(zhuǎn)臺轉(zhuǎn)動的角度為:
[0015] Θ = 360/ (2 X 3n) = 180/3η, η = I, 2, 3...
[0016] 其中,η表示轉(zhuǎn)動參數(shù),η為固定值;
[0017] 5)如果轉(zhuǎn)臺累計轉(zhuǎn)過角度達到一圈,則繼續(xù)以下步驟;如果轉(zhuǎn)臺累計轉(zhuǎn)過角度未 達到一圈,則返回步驟2)再次進行采集數(shù)據(jù)計算,每次采集轉(zhuǎn)臺轉(zhuǎn)動的角度相同;
[0018] 6)采用配準方法配準各次處理得到的標記點點云CffM1獲得各自的精配準變換矩 陣 TM1;
[0019] 7)使用精配準變換矩陣TM1對各自對應的粗配準被測物點云CWS 1進行變換,即得 到精配準被測物點云CWST1,實現(xiàn)被測物三維點云的配準。
[0020] 所述步驟3)對原始點云C1和原始強度圖像G i進行處理得到粗配準被測物點云 CWS1和標記點點云CffM i具體為:
[0021] 3. 1)從原始點云(^中識別出轉(zhuǎn)臺并獲得轉(zhuǎn)臺內(nèi)點、轉(zhuǎn)臺中心與轉(zhuǎn)臺法向;
[0022] 3. 2)計算原始點云C1的粗配準變換矩陣T 1;
[0023] 3. 3)使用粗配準變換矩陣T1對原始點云C 1進行變換,得到粗配準點云CW 1;
[0024] 3.4)根據(jù)已知數(shù)據(jù)對粗配準點云CW1進行背景分割,得到粗配準被測物點云 CffS1;
[0025] 3. 5)根據(jù)原始點云C1中各點與原始強度圖像G i中各像素的對應關系,結合轉(zhuǎn)臺 內(nèi)點,從原始強度圖像G1中摳取出轉(zhuǎn)臺強度圖像GP i;
[0026] 3. 6)在轉(zhuǎn)臺強度圖像GP1*識別出各圓形標記點(3)的中心,根據(jù)上述對應關系, 結合粗配準點云CW1,用雙線性內(nèi)插法求得各圓形標記點(3)中心的三維坐標,得到標記點 點云CffMi。
[0027] 所述步驟3. 1)中從原始點云(^中識別出轉(zhuǎn)臺并獲得轉(zhuǎn)臺內(nèi)點、轉(zhuǎn)臺中心與轉(zhuǎn)臺 法向具體包括:
[0028] 3. I. 1)對原始點云C1進行多平面擬合獲得所有平面及各平面的內(nèi)點;
[0029] 3. 1. 2)對于每一平面,將其內(nèi)點投影到該平面上,計算所有投影點的凸包;
[0030] 3. 1. 3)對于每一凸包,取其上的所有點,用最小二乘法擬合圓;
[0031] 3. 1. 4)篩選出擬合度達到圓擬合度閾值的擬合結果;
[0032] 3. 1. 5)從篩選出的擬合結果中選取擬合半徑最接近轉(zhuǎn)臺半徑的擬合數(shù)據(jù),獲得轉(zhuǎn) 臺內(nèi)點、轉(zhuǎn)臺中心與轉(zhuǎn)臺法向。
[0033] 所述步驟3. 2)中計算原始點云C1的粗配準變換矩陣T具體包括:
[0034] 3. 2. 1)計算原始點云(^變換到轉(zhuǎn)臺中心坐標系0 τ的轉(zhuǎn)臺中心變換矩陣T a,轉(zhuǎn)臺 中心坐標系Ot是以轉(zhuǎn)臺中心為原點,轉(zhuǎn)臺法向為Z軸方向,轉(zhuǎn)臺中心指向視點的矢量在轉(zhuǎn) 臺平面上的投影方向為Y軸方向;
[0035] 3. 2. 2)計算繞轉(zhuǎn)臺中心坐標系(\的Z軸向轉(zhuǎn)臺旋轉(zhuǎn)相反方向轉(zhuǎn)過轉(zhuǎn)臺所累計轉(zhuǎn) 角的轉(zhuǎn)臺旋轉(zhuǎn)變換矩陣Tb;
[0036] 3. 2. 3)將轉(zhuǎn)臺中心變換矩陣Ta與轉(zhuǎn)臺旋轉(zhuǎn)變換矩陣Tb相乘得到粗配準變換矩陣 T1= TaXTbO
[0037] 所述步驟3. 4)中,已知數(shù)據(jù)是指Z軸分割的起止范圍以及轉(zhuǎn)臺半徑;所述背景分 割具體是在粗配準點云CW1的轉(zhuǎn)臺上方建立一個圓柱形區(qū)域,并選取圓柱形區(qū)域內(nèi)部的所 有點作為粗配準被測物點云CWS1,圓柱形區(qū)域的圓柱軸線與粗配準點云CW1所在坐標系的 Z軸重合,圓柱形區(qū)域的半徑為轉(zhuǎn)臺半徑,圓柱形區(qū)域的高度方向起止范圍作為Z軸分割的 起止范圍。
[0038] 所述步驟3. 6)中在轉(zhuǎn)臺強度圖像GP1*識別出各圓形標記點(3)的中心具體包 括:
[0039] 3. 6. 1)使用Canny計算方法獲得轉(zhuǎn)臺強度圖像GP1的邊緣,分割不連通的邊緣;
[0040] 3. 6. 2)對于每一邊緣進行橢圓擬合,篩選出擬合度達到橢圓擬合度閾值、長短軸 分別處于長軸值域內(nèi)和短軸值域內(nèi)的橢圓作為圓形標記點(3),橢圓中心作為圓形標記點 (3)的中心。
[0041] 所述步驟6)中配準方法具體包括:
[0042] 6. 1)為每一幅標記點點云CffM1建立一個與之對應的迭代變換矩陣TL i,并將其初 始化為單位矩陣;
[0043] 6. 2)將各幅標記點點云CffMJt為待處理點云,對待處理點云進行處理,得到前最 終點云Cx與后最終點云Cy;
[0044] 6. 3)以前最終點云Cx為目標點云,以后最終點云C ,為源點云,進行ICP配準,得 到最終變換矩陣Ty;
[0045] 6. 4)將最終變換矩陣1\分別累乘到組成后最終點云Cy的各幅標記點點云CffM1K 對應的迭代變換矩陣TL1中,獲得所有精配準變換矩陣TM 1<3
[0046] 所述步驟6. 2)中對待處理點云進行處理具體包括:
[0047] 6. 2. 1)對于各幅待處理點云,按采集的順序?qū)⒚肯噜彽娜c云分為一組,對各 組點云進行處理,每組各得到一幅點云;
[0048] 6. 2. 2)將各組得到的點云作為待處理點云,重復上述步驟6. 2. 1)再進行處理,直 到得到僅剩的兩幅最終點Ζ5Γ,以米集順序在前的點75Γ為前最終點75Γ Cx,米集順序在后的點 云為后最終點云Cy;
[0049] 所述步驟6. 2. 1)中對各組點云進行處理具體包括:
[0050] 6. 2. I. 1)對于每組中的三幅點云,以采集順序在中的中待處理點云CbS目標點 云,以采集順序在前的前待處理點云Ca和采集順序在后的后待處理點云C ^為源點云,分別 進行ICP配準,得到前待處理點云Ca、后待處理點