Jungduri / MLPaperReivew

0 stars 0 forks source link

Self-supervised Correspondence Estimation via Multiview Registration #9

Open Jungduri opened 1 year ago

Jungduri commented 1 year ago

Self-supervised Correspondence Estimation via Multiview Registration

official repo: https://github.com/facebookresearch/SyncMatch

Registration

image

Multiview reconstruction, Structure-from-motion이나 SLAM 과 같은 moving camera로 scene을 3D로 복원해야 하는 테스크는 카메라 위치를 찾아야 합니다. 보통은 landmark는 고정되어 있다는 전제를 통해서 카메라의 위치를 역산한다. 이때 각 카메라간의 위치를 추정하는 문제를 registration 이라고 합니다.

Introduction

Registration은 모델에게 특정 픽셀의 위치가 움직이지 않는 다는(e.g. 체커보드) 등의 supervision 을 통해 상응하는 점들을 추정하는데 많이 의존하고 있습니다. 이러한 추정 과정 없이 모델이 correspondence를 추정할 수 있는지를 해결하는 것이 이 논문의 궁극적인 목표입니다. point cloud를 registration 하는 연구에서 힌트를 얻어 RGB-D 카메라 베이스로 동일한 방법을 제안합니다.

Related Work

Correspondence Estimation

두 개의 이미지에서 똑같은 물리적 위치에 있는 상응하는 점들을 찾는 과정을 의미합니다. 보통은 두개의 스텝으로 나누어집니다. 첫번째 스텝에서는 이미지에서 feature를 추출하고, 서로 다른 이미지에서 추출된 이미지를 matching하는 과정을 담고 있습니다.

이 방식은 초기에는 hand-crafted 방식의 feature detector와 descriptor를 사용했습니다. ML이 발전 됨에 따라서 학습된 key point detector와 descriptor를 사용합니다. 그 외에도 self-supervision using synthetic data, RGB-D pairs from video 등 다양한 방식이 논문을 통해서 제안되었습니다. 이 논문에서는 self-supervised 방식에서 아이디어를 얻었습니다.

Pointcloud Registration

image 두개 이상의 pointcloud를 일치 시켜주는 transformation을 찾는 것이 이 아이디어의 핵심입니다.

SE(3) Transformation Synchronization

추정하고자 하는 쌍들의 집합이 주어졌을때, 동기화는 그 쌍들을 설명하는 잠재적 변수(latent value)를 추정합니다. 변환 동기화는 보통 SO(3)이나 SE(3)으로 표현되는 변환을 추정하는 것으로 귀결됩니다. 이 논문에서도 SE(3)으로 표현되는 동기화 방식을 사용하여 더 산술적으로 견고하고 정확한 접근 방법을 제안합니다.

Method

image

N개의 RGB-D 프레임이 주어집니다. RGB에서 featrues를 추출하여 intrinsic과 depth를 이용하여 points cloud에 올려놓습니다. 모든 clould에서 correspondeces를 추출하고 쌍들간의 SE(3) 변환을 추정합니다. 주어진 (N; 2) 쌍들간의 변환을 통해서 N개의 카메라의 extrinsic 파라미터를 찾습니다. 한번의 alignement가 끝나고 다시 샘플링을 통해서 correspondences를 찾습니다. Updated correspondences를 이용하여 registration를 반복합니다. 마지막으로 우리가 구한 SE(3)과 estimated correspondences를 통해 만든 에러를 역전파시켜서 feature encoder를 학습 시킵니다.

Feature Pointcloud

RGB-D 영상에서 Feature를 추출하여 feature pointcolud를 만듭니다.

Correspondence Estimation

추출된 feature만의 correspondence를 알아내기 위해서는 Lowe's ratio test, attention-based 방식 등이 고려됩니다. 해당 논문에서는 Geometry- Aware Ratio Test (GART)를 사용하여 상응하는 점들의 관계를 규명했습니다.

Pairwise Alignment

i번째 카메라와 j번째 카메라의 변환을 찾기 위해서 아래의 수식을 풀어야 합니다.

image

여기서 C_i,j 는 p,q,w space에 집합을 의미합니다. p,q는 i카메라와 j카메라의 대응점이고 w는 위에서 계산한 Correspondence입니다.

SE(3) Transformation Synchronization

N개의 카메라가 있고 2개의 카메라의 모든 Transfromation을 찾으면 총 (N; 2)의 camera-to-camera transformations을 구할 수 있습니다. 최종적으로 알고 싶은 것은 N world-to-camera transformations 입니다. 이 변환 관계를 가장 잘 설명할 수 있는 cam-to-cam 변환 관계를 선택하는 문제를 SE(3) Transformation Synchronization라고 합니다.

이 문제를 해결하기 위해서 어떤 변환관계가 신뢰가 있는지 파악하기 위해서 confidence의 값을 설정합니다. 이 값은 아래 두 수식으로 도출 될 수 있습니다.

image

위에에서 얻어진 값을, 아래 수식에 대입하여 confidence를 얻어냅니다.

image

해석하자면 결국 confidence는 correspondence가 강력할 수록 더 강하게 나타납니다.

결과적으로 아래와 같은 변환을 얻어낼 수 있습니다.

image

A를 t번 곱하면 A^(2^t)를 구할 수 있고, 이 행렬의 첫번째 column이 첫번째 viwe를 기준으로 한 SE(3) 변환의 레퍼런스가 됩니다. (?)

Refinement

image

feature만을 통해서 matching하는 것은 좋은 결과를 줄 수 있지만, false positive가 생길 수도 있습니다. 따라서 geometry를 고려한 고전적인 방식을 더해주는 것이 좋은 결과를 줄 수 있습니다.

Losses

El Banani and Johnson의 Loss를 사용합니다. 이 loss는 weighted residual error를 최소화 해줄 수 있다고 알려져있습니다.

image

Result

image image

고찰