https://arxiv.org/pdf/2202.06688.pdf
Point Cloud Registration 모델
😊Contribution
- Point correspondence가 아닌 patch(superpoint) correspondence을 기반으로 두어 outlier matching을 막음.
- transformer self-attention으로 superpoint를 anchor ⇒ Low overlapping scenario에도 robust한 모델.
- 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를 추출.
- ‘point downsampling’
원래의 point cloud는 보통 너무 dense하므로 original resolution의 절반 정도로 계산 - ‘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)
- Local phase of transformation candidate generation: weighted SVD 사용
- 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.