논문리뷰/Point Cloud, Mesh, Rendering

[논문 리뷰] Geometric Transformer for Fast and Robust Point Cloud Registration

402번째 거북이 2024. 1. 3. 15:49

https://arxiv.org/pdf/2202.06688.pdf

Point Cloud Registration 모델

 

 


😊Contribution

  1. Point correspondence가 아닌 patch(superpoint) correspondence을 기반으로 두어 outlier matching을 막음.
  2. transformer self-attention으로 superpoint를 anchor ⇒ Low overlapping scenario에도 robust한 모델.
  3. overlap-aware circle loss 제안하여 patch overlap ratio에 따라 loss를 reweigh.

+) 기존에 같은 방식으로 논문 냈고, non-rigid에 적용하려고 새로 개선하여 낸 논문.


 

😊배경

Keypoint Detection 기반의 Vanilla Transformer의 한계

  • 보편적인 방식은 두 point cloud에서 keypoint를 추출하여 매칭하는 방식 (keypoint detection).
  • 두 point cloud에 걸쳐있는 repeatable keypoint를 detect하는 것은 어려움 (특히 overlapping이 적을 때)
  • vanilla transformer는 point cloud의 geometric structure를 간과; 많은 outlier match를 유발
  • 이를 극복하기 위한 positional encoding 주입 방식 또한 coordinate-based emncoding이므로 임의의 포즈일 point cloud를 registration하는 데는 적합하지 않음 (deformable registration X)

⇒ tranformation에 관계없이 일정한 (’transformation-invariant’) geometric feature를 추출하기 위해 point cloud의 geometric structure를 학습시키는 것을 제안.


 

😊Methods

  • 문제정의) 두 개의 point cloud P와 Q가 있을 때, 둘을 align시키는 rigid transformation T = {R, t}를 구하는 것.

Feature Extraction

  • downsampling한 point 주변의 local patch(superpoint)를 constructfeature extractor로 KPConv-FPN backbone을 사용 ⇒ point cloud의 multi-level feature를 추출.
  1. ‘point downsampling’
    원래의 point cloud는 보통 너무 dense하므로 original resolution의 절반 정도로 계산
  2. ‘point-to-node grouping strategy’
    ⇒ 각 point 와 해당 feature를 geometric space상의 nearest superpoint에 assign!

 

✨**Superpoint Matching Module (**GeoTransformer)

  • high-level point feature를 encode + intra-point-cloud geometric structure + inter-point-cloud geometric consistency를 모두 capture하는 Transformer를 제안
  • 두 가지 Module을 N 번 interleave하여 hybrid feature를 추출
  • ✔ Module 1) Geometric self-attention Module

  • geometric structure embedding 사용
  • superpoint로부터 transformation-invariant geometric structure를 encode 하기 위함.
  • 핵심 아이디어는 같은 scene의 다른 point clouds에 걸쳐 consistent한 superpoint로부터 계산된 distance와 angle를 다루는 것.
  • +) shared geometric self-attention으로 geometric self-attention의 heavy computation을 줄임.

 

  • ✔ Module 2) Feature-based cross-attention Module
  • 두 input point cloud에 대해서 feature exchange를 수행.
  • 두 point cloud에 대해서 geometric consistency를 모델링하는 역할.
  • P에 대한 Q의 cross attention / Q에 대한 P의 cross attention을 계산.

+) 이후 global feature correlation 기반의 Superpoint Matching 적용.

 

 

✨Point Matching Module

  • 앞에서 얻은 superpoint correspondence를 기반으로 point correspondence를 추출
  • point level에서는 geometric structure embedding같은 것들은 사용하지 않고 오직 local point feature (backbone에서 얻은 것)만을 사용. ← superpoint matching과정에서 global ambiguity가 해결되었기 때문!

⇒ 각 superpoint correspondence에 대해서, P와 Q 간의 local dense point correspondence를 추출함.

⇒ 추출한 point correspondence를 collect together하여 final global dense point corespondence로 형성.

✨Local-to-Global Registration (LGR scheme)

  • slow convergence 문제가 있는 기존의 RANSAC 대신 파라미터/네트워크 training이 필요 없는 방법 제안
  • (RANSAC 자료: https://darkpgmr.tistory.com/61)
  1. Local phase of transformation candidate generation: weighted SVD 사용
  2. Global phase for transformation selection: 전체 global point correspondence에 대해서 가장 inlier하게 match되는 transformation을 선정

✨Loss Function

Overlap-Aware Circle Loss (L_oc)

  • superpoint matching에 대한 loss.
  • patch overlap을 기준으로 GT를 계산 ⇒ 하나의 patch가 다수의 여러 patch와 overlap할 문제의 가능성이 높음 ⇒ 기존 방식은 weight를 동일하게 줌.
  • overlap-aware circle loss 는 모델이 high ovrerlapping match에 집중하도록 함.
    • 최소 10% 이상 겹치는 patch는 positive, 그렇지 않으면 negative. (그 외 patch는 모두 생략)
    • loss value를 overlap ratio 기반으로 overlap이 높은 patch pair에게 중요도를 더 크게 부여.

Point Matching Loss (L_p)

  • point matching에 대한 loss.
  • GT point correspondence는 downsampled point cloud에만 가능하기 때문에 상대적으로 sparse함.
  • negative log-likelihood loss를 사용
  • 훈련 과정에서 prediction대신 N번째 GT superpoint correspondence를 random하게 sample.