1. 程式人生 > >4-Points Congruent Sets for Robust Pairwise Surface Registration——4PCS閱讀筆記

4-Points Congruent Sets for Robust Pairwise Surface Registration——4PCS閱讀筆記

4-Points Congruent Sets for Robust Pairwise Surface Registration——4PCS閱讀筆記

2018年03月08日 10:18:14 Vodake 閱讀數:1254 標籤: 點雲配準計算機視覺

4-Points Congruent Sets for Robust Pairwise Surface Registration


 

 

1. 背景

1.1. 問題描述

給定兩個處於任意初始位置的點集PP和QQ,找到兩個點集之間的最佳剛性變換,使得PP,QQ中兩點間距離小於δδ的點數最多。

1.1.1. RANSAC

  • 分別在點集PP和點集QQ中任意選取三個點來組成一個基礎關聯對
  • 計算這個關聯對的旋轉矩陣TiTi
  • 計算點集PP中處在點集QQ中的點δδ距離內的點的個數kiki
  • 如果kiki足夠大,則認為kiki是個好結果,否則重讀以上步驟
  • 這個過程將被重複LL次,選取最高的kiki作為最後的結果

1.1.2 Randomized Alignment

  • 在點集PP中隨機選取一個base
  • 計算在點集QQ中所有有可能的bases,得到旋轉矩陣
  • 驗證配準 
    • 先驗證部分點集重合
    • 驗證剩餘點

如何有效的計算可能的bases,提出4點法,基於共麵點(planar congruent sets)

1.2. 4點法概述

使用從點集PP中選取的共面四點作為base BB,然後採用一定的演算法在點集QQ中找到所有的與BB近似一致的共面4點對,近似一致指的是兩個4點對可以經過剛性變換(rigid transformation)在允許範圍(allowed tolerance)δδ內對齊

2. 4點法

2.1 Overview

仿射變換遵循以下法則,給定三個共線點a,b,ca,b,c,那麼比例r=||a−ba−c||r=||a−ba−c||是不變的。給定一個共面四點標準對(coplanar 4-points base sets),我們在給定的資料點中尋找近似仿射相等的共面四點對,接著我們確認這些共面四點對與選定的共面四點標準對是否在一定的距離約束下相等。

2.2 4點對的仿射不變性

並非全共線的一個共面四點集X≡a,b,c,dX≡a,b,c,d,定義了兩個獨立的比率。令abab,cdcd相交於點ee,則兩個獨立的比率為: 

r1=a−ea−br1=a−ea−b

r2=c−ec−dr2=c−ec−d


在仿射變化中是不變的並且是唯一的。 
仿射不變性 
現在給定一個具有nn個點的點集QQ,以及兩個由點PP得到的仿射不變的比率r1r1,r2r2,對每一對點q1,q2⊂Qq1,q2⊂Q,計算他們的中間點: 

e1=q1+r1(q2−q1)e1=q1+r1(q2−q1)

e2=q1+r2(q2−q1)e2=q1+r2(q2−q1)


若任意兩對這樣的點,一對由r1r1計算得到的中間點和另一對由r2r2計算得到的中間點在允許範圍內一致,那麼可以認為這兩對點可能是PP中基礎點的仿射對應點。 
仿射對應點

 

2.3 如何在3D模型中找到合適的4點

給定一個在一定範圍內共面的基礎對B⊂PB⊂P,以及另一個點集Q⊂R3Q⊂R3。我們的目標是從點集QQ中找到所有在允許範圍δδ與基礎對BB一致的4點的集合。

  • 計算給定基礎對BB的放射不變比
  • 使用2.2中提到的演算法在點集QQ中尋找所有能與基礎對BB通過放射變換配對的4點集合
  • 通過檢測這些點集的原始位置,保留下只能通過剛性變化配對的點集
  • 通過最小二乘法,對每一對點和BB計算其最佳變化

事實上,考慮到尋求剛性變換的解,對於一個基礎對B≡{a,b,c,d}B≡{a,b,c,d},首先計算兩兩點間的距離d1=||a−b||,d2=||c−d||d1=||a−b||,d2=||c−d||,然後僅僅考慮點集QQ中兩點距離在一定範圍δδ內為d1d1或d2d2的點對。

3. 4點法(The 4PCS Algorithm)

給定兩個點集P,QP,Q,不確定度δδ,以及點集PP與點集QQ芙蓉重疊度的預估ff。我們的目標是找到一個剛性變換使得點集PP中的點儘可能多的與點集QQ中的某些點的距離小於δδ。

  • 在點集PP中選擇一些共面4點對。實際上,在選擇的過程上是先隨機選擇3個點,再選擇能夠與這個三個點在一定範圍內組成共面4點對的另一個點。若選擇的這個點與其他點相距較遠,可以提升配準的穩定度,也就是說更加精確。然而,如果選擇的點過遠,則會導致選擇的點可能不全在兩個點集重疊的部分,從而無法計算出理想的變化對。這裡使用重複度(overlap)來預估這個最大距離。
  • 對於給定的基礎對BB,我們可以定義放射不變比集合。從點集QQ中提取出所有在一定範圍δδ內可能與BB相符合的4點集合。U≡{U1,U2,…,Us}U≡{U1,U2,…,Us}。對任一UiUi,通過BB和UiUi的關係可以計算出最佳剛性變換TiTi使得BB和TiTi足夠接近。
  • 為了確認唯一的TiTi,我們計算Ti(P)Ti(P),並且統計有多少點與點集QQ之間的距離小於δδ。採用ANN(Approximate Nearest Neighbor)來提高確認效率。具體來說就是首先從點集PP中選擇一部分點使用TiTi進行變換,然後統計與點集QQ足夠接近的點,如果有足夠的點被統計到,那麼對餘下的點也進行這樣的測試,並且為TiTi評估一個分數。最後得到最佳剛性變換矩陣TT。
  • 對於不同的基礎對BiBi,我們都可以按照上述的辦法找到最佳變化TiTi,根據overlap測試LL組不同的基礎對,最終得到最佳變換矩陣ToptTopt。