一種適用于已配準多視角有序點云的整體優化方法
【技術領域】
[0001] 本發明屬于計算機圖形技術領域,具體涉及一種適用于已配準多視角有序點云的 整體優化方法。
【背景技術】
[0002] 在對物體進行三維掃描時,通常需要從被測物的不同方位進行掃描以獲得較完整 的三維數據,并需要對所得被測物的多視角三維點云進行配準使其處于同一坐標系中。目 前基于結構光、編碼光、ToF等原理的面陣三維掃描設備已被廣泛使用,其所得點云通常為 有序點云。因此初始所得的三維數據通常為一組已配準的多視角有序點云。
[0003] 受測量原理、設備誤差、被測物材質、環境干擾等影響,點云噪聲的存在難以完全 避免,某些情況下甚至會產生如局部點云形變等的嚴重誤差,這都導致了所得數據不夠準 確,造成表面點云有厚度、點云分層或分叉等問題,對后續的三維重建等工作造成了很大影 響。
[0004] 為解決該問題,目前已有多種對點云進行降噪、修復與優化的方法。常見的方法 有:
[0005] 1.基于鄰域特征的降噪方法。該方法的基本原理是通過建立若干局部區域作為鄰 域,并對每一鄰域內的點進行某種處理,從而達到降噪的效果,該種方法通常能較好地在保 留點云局部特征的同時完成降噪,但其缺點在于當鄰域尺度選擇較小時難以去除離散性較 大的噪聲,而當鄰域尺度選擇較大時又會導致點云細節丟失。
[0006] 2.基于統計特征的降噪方法。該方法的基本原理為通過對點云的局部或者整體進 行統計特征計算,從而識別出噪聲點并進行處理。例如基于聚類的點云降噪方法通過聚類 來建立點云的拓撲關系,從而完成噪聲點的識別與刪除。此類方法通常能較好地去除點云 中的離散噪聲,但難以有效地處理混雜于物體點云表面的噪聲以及局部點云形變的情況。
[0007] 3.非剛性配準。該方法的基本原理為通過識別多視角點云的局部特征,將不同視 角點云中非重疊的相似部分加以移動與變形,使具有相同特征的點云能夠良好地重疊。該 方法雖不屬于純粹的點云降噪方法,但其能有效解決點云局部形變的問題,而其缺點在于 對點云的既有特征依賴性較強,易存在誤匹配或識別不到特征的情況。
【發明內容】
[0008] 為解決【背景技術】中存在的問題,本發明提出了一種適用于已配準多視角有序點云 的整體優化方法。
[0009] 本發明采用如下步驟的技術方案:
[0010] 1)初始化:載入各幅點云及其各自的視點,各幅點云均為有序點云,且各幅點云已 經配準,初始化迭代次數階為1;
[0011] 2)點云三角化:對各幅點云分別使用有序點云三角化方法進行三角化;
[0012] 3)干涉檢查:定義點云中存在的點為有效點,為各幅點云中的每個有效點均設立 可移動標記Βτ,并初始化為-1;對各幅點云中的每個有效點分別進行干涉檢查處理,獲得干 涉組,每個干涉組包括被遮擋點Ε、三角面Τ、三角面Τ三個頂點各自對應的偽目標點Q'、干涉 距離Η和干涉方向D的數據;
[0013] 4)計算權重:為各幅點云中的每個有效點均設立被遮擋權重Wd、正面遮擋權重Wf和 反面遮擋權重Wb的三個權重值,并都初始化為0,然后對每個干涉組分別采用如下方式進行 處理;
[0014] 將干涉距離Η加到被遮擋點E的被遮擋權重Wd中,然后進行判斷:如果干涉方向D為 正,則將干涉距離Η分別加到三角面T三個頂點各自的正面遮擋權重W f中;如果干涉方向D為 反,則將干涉距離Η分別加到三角面T三個頂點各自的反面遮擋權重Wb中;
[0015] 5)計算偏移量:為各幅點云中的每個有效點均設立累計偏移量R_和累計偏移量 計數Nr,并都初始化為0,然后對每個干涉組分別采用如下方式進行處理;
[0016] 計算被遮擋點偏移量Re = -H/|EVe|,式中:Η為干涉距離,|EVe|為被遮擋點E到其所 在點云視點Ve的距離,然后進行判斷:如果干涉方向D為正,則進行正向干涉處理;如果干涉 方向D為反,則進行反向干涉處理;
[0017] 6)采用以下方式處理異常點;
[0018] 6.1)初始化移動點數量Nmp為0,對各幅點云中的每個有效點分別進行如下處理:如 果當前有效點C的累計偏移量計數Nr大于0,則進行移動點處理;否則不做處理;
[0019] 6.2)從各幅點云中刪除不是任何一個三角面頂點的有效點;
[0020] 6.3)從各幅點云中刪除可移動標記Βτ為0的有效點;
[0021] 7)迭代終止檢查:如果達到迭代終止條件,則結束處理,所得各幅點云為優化后的 點云;否則使迭代次數階增1,返回步驟2)重復各步驟進行迭代處理,直到達到迭代終止條 件。
[0022]所述步驟2)中有序點云三角化方法具體為:
[0023]對點云中的每個點分別進行如下處理:記該點在點云中的編號為(X,y),則將編號 為(x,y)、(x+l,y)、(x,y+l)、(x+l,y+l)的該四個點進行判斷:
[0024]若其中至少有兩個點不存在,則不做處理;
[0025]若其中只有三個點存在,則將這三個點構成三角面并進行新增三角面處理;
[0026]若其中四個點均存在,則對該四個點進行Delaunay三角剖分,將得到的兩個三角 面進行新增三角面處理。
[0027]所述新增三角面處理具體為:對所得三角面進行如下判斷:如果三角面的最小角 不小于三角面最小角閾值,則記錄該三角面,并記三角面朝向其所在點云視點的一側為正 面、另一側為反面;否則不記錄該三角面。
[0028]所述"三角面最小角閾值"為預先設定的參數。
[0029]所述步驟3)中干涉檢查處理具體為:
[0030] 3.1)定義正在處理的有效點為檢查點P,定義檢查點P所在點云的視點為檢查點視 點Vp,對每一幅除檢查點P所在點云以外的其他點云分別進行如下處理:對該點云的各三角 面進行干涉距離Η計算與干涉條件判斷,若存在符合干涉條件的三角面,則從中選出干涉距 離Η最小的三角面Τ,執行步驟3.2);否則不做處理;
[0031] 3.2)定義三角面Τ所在點云的視點為三角面視點VT,如果三角面視點V T指向檢查點 P的射線VtP與三角面T所在平面ST相交,則執行步驟3.3);否則不做處理;
[0032] 3.3)對三角面T的三個頂點分別進行偽目標點計算與移動條件判斷,如果三角面T 的三個頂點中至少有一個頂點達到了移動條件,則執行步驟3.3.1);否則執行步驟3.3.2); [0033] 3.3.1)將檢查點P的可移動標記Βτ置為1,分別將三角面T的三個頂點各自的可移 動標記Βτ置為1;
[0034]設立干涉方向D:如果檢查點視點VP在三角面Τ的正面一側,則干涉方向D為正;否 則為反。
[0035]將檢查點P作為被遮擋點E,并與三角面T、三角面T三個頂點各自對應的偽目標點 Q'、干涉距離H、干涉方向D的數據一起歸為一個干涉組,并記錄;
[0036] 3.3.2)對三角面T的三個頂點分別進行如下處理:如果該頂點的可移動標記價為_ 1,則將其置為〇;否則不做處理。
[0037]所述步驟3.1)中干涉距離Η計算與干涉條件判斷具體為:
[0038]如果檢查點視點VP與檢查點Ρ構成的線段VpP與三角面Τ相交,則記其交點到檢查點 P的距離為干涉距離H,并且如果干涉距離Η不大于檢測范圍閾值,則認為三角面T符合干涉 條件;否則均認為三角面Τ不符合干涉條件。
[0039] 所述"檢測范圍閾值"為預先設定的參數。
[0040] 所述步驟3.3)中偽目標點計算與移動條件判斷具體為:對于正在處理的三角面頂 點Q,過檢查點Ρ做與三角面Τ平行的平面S P,將三角面視點VT指向頂點Q的射線VTQ與該平面 s P的交點作為頂點Q的偽目標點Q ',如果以偽目標點Q '為球心并以鄰域范圍為半徑的球體 內的其他點云有效點個數總和不小于鄰域點數量閾值,則認為頂點Q達到了移動條件;否則 認為頂點Q沒有達到移動條件。
[0041]所述"鄰域范圍"與"鄰域點數量閾值"為預先設定的參數。
[0042]所述步驟5)中正向干涉處理具體為:
[0043] 5. al)計算被遮擋點加權偏移量RE:W = RE X Wd / <Wd 式中:Re為被遮擋 點偏移量,Wd為被遮擋點E的被遮擋權重,1Wf為三角面T三個頂點的正面遮擋權重Wf的平均 值;然后將被遮擋點加權偏移量Rew加到被遮擋點E的累計偏移量1?_中,并使被遮擋點E的累 計偏移量計數Nr增1;
[0044] 5. a2)接著,對三角面T的三個頂點分別進行如下處理:
[0045]先計算頂點偏移量Rq=|Q'Q|/|QVt|,式中:|Q'Q|為頂點Q的偽目標點Q'到頂點Q的 距離,I QVt |為頂點Q到三角面視點VT的距離;
[0046] 再計算頂點加權偏移量RQW=RQXWf/(Wf+Wd),式中:Rq為頂點偏移量,W f為頂點Q的 正面遮擋權重,Wd為被遮擋點E的被遮擋權重;
[0047]然后將頂點加權偏移量RW加到頂點Q的累計偏移量Rsum中,并使頂點Q的累計偏移 量計數Nr增1。
[0048]所述步驟5)中反向干涉處理具體為:
[0049] 5.bl)計算被遮擋點加權偏移量RFAV = RE X冒^/ 式中:Re為