Grounding Image Matching in 3D with MASt3R

FSA·2024년 7월 5일
0

vision

목록 보기
18/25

  • Dense Correspondences.
    • MASt3R extends DUSt3R as it predicts dense correspondences,
      • even in regions where camera motion significantly degrades the visual similarity.
    • Focal length can be derived from the predicted 3D geometry,
      • making our approach a standalone method for camera calibration, camera pose estimation and 3D scene reconstruction.

0. 들어가기전에:

0.1. dense correspondences

  • 밀도 있는 대응(dense correspondences)은 이미지 매칭에서 모든 픽셀에 대해 정확한 대응을 찾는 것을 의미
  • 일반적으로 이미지 매칭에서는 관심 점(keypoints)이나 특징(freatures)을 추출하여 이러한 점들 간의 대응을 찾지만, 밀도 있는 대응은 이미지의 모든 픽셀에 대해 대응을 계산
    • 이는 각 픽셀이 다른 이미지에서 대응되는 픽셀을 가진다는 것을 의미하며,
    • 더욱 정밀한 3D 재구성, 카메라 자세 추정장면 이해를 가능하게 합니다.
  • 밀도 있는 대응을 계산하기 위해, 각 픽셀의 특징을 추출하고, 이를 바탕으로 다른 이미지에서 가장 유사한 픽셀을 찾습니다.
  • 이러한 과정은 계산적으로 매우 복잡하지만, 최근의 딥러닝 기법과 최적화 알고리즘을 통해 효율적으로 수행될 수 있습니다.

0.2.abstract

  • 이미지 매칭은 3D 비전에서 모든 최고 성능 알고리즘과 파이프라인의 핵심 요소
    • 하지만 매칭이 본질적으로 카메라 위치와 장면 기하학에 연결된 3D 문제임에도 불구하고, 일반적으로 2D 문제로 취급됨
    • 이는 매칭의 목표가 2D 픽셀 필드 간의 대응을 설정하는 것이기 때문에 이해할 수 있지만, 잠재적으로 위험한 선택일 수 있습니다.
  • 본 연구에서는 다른 입장을 취하여 DUSt3R라는 최근의 강력한 3D 재구성 프레임워크를 기반으로 매칭을 3D 작업으로 간주할 것을 제안
    • DUSt3R: Transformer를 기반으로 한 이 방법은 극단적인 시점 변화에서 견고한 매칭 성능을 보여주었지만 정확도는 제한적이었음
  • 우리는 이러한 접근 방식의 매칭 능력을 개선하면서도 견고성을 유지하고자 합니다.
  • 따라서 DUSt3R 네트워크에 밀도 높은 로컬 특징을 출력하는 새로운 헤드를 추가하고, 추가적인 매칭 손실로 학습시킬 것을 제안
  • 또한, 밀도 있는 매칭의 복잡도가 제곱으로 증가하여 -> 다운스트림 응용 프로그램에 대해 신중하게 처리되지 않으면 지나치게 느려지는 문제를 해결
    • 우리는 이 문제를 해결하기 위해, 이론적 보증이 포함된 빠른 상호 매칭 방식을 도입하여 매칭 속도를 수십 배로 가속화할 뿐만 아니라 결과도 개선
  • 특히, 매우 도전적인 지도 없는 로컬라이제이션 데이터셋인 VCRE AUC에서 최상의 공개 방법보다 30%의 절대적 개선을 달성했습니다.


2. Method

2.1. Mast3R framework

  • Figure 2: Overview of the proposed approach.
    • Given two input images to match, our network regresses for each image and each input pixel
      • a 3D point,
      • a confidence value
      • a local feature
    • Plugging either 3D points or local features into our fast reciprocal NN matcher yields robust correspondences.
    • Compared to the DUSt3R framework which we build upon, our contributions are highlighted in blue.
  • 논문에서 언급되는 "밀도 있는 로컬 특징(dense local features)"는 이미지 매칭에서 각 픽셀 또는 작은 패치에 대해 고유한 특징 벡터를 생성하는 것을 의미

2.2. Loss

  • Dust3R의 loss와 겨의 유사 (일부 수정 및 추가)

2.2.1. L_conf

  • dust3r
    • DUSt3R에서는 3D Reconstruction이 목적이므로, scale에 불변(=invariant)하도록 만들기 위해
      • 각 viewpoint 좌표계에서 depth값을 normalization해주었습니다.
  • mast3r
    • 하지만 MASt3R에서는 Scale을 고려하기 때문에, normalization 을 없앴습니다.
  • 위 수식의 norm 계산을 아래 수식(dust3r)을 쓰지 않고,
    • scale factor z는 GT의 ¯x와 같은 값으로 사용합니다. (TODO: 이게 뭐가 좋은데?)

2.2.2. Matching Prediction Loss

  • Dust3r에서는, correspondence matching을 위해, 단순 3D 좌표계 내에서 가장 가까운 점을 찾는 방식을 취함.
  • 이 방법은 정밀하지 못하고, 최적값을 찾지 못합니다.
    • noise에 영향받기 쉽고, matching을 위해 훈련된적이 없기 때문입니다.
  • Head_dsec는 2-layer의 MLP로 구성되어 있고 non-linear GELU activation 함수를 사용
    • 위 식에서 D는 feature vector
  • Constrative Learning에 사용되는 infoNCE Loss를 변형한 loss
    • positive sample에 대해서 feature간의 내적이 커지도록 만들고,
    • negative sample에 대해서 feature간의 내적이 작아지도록 만듦
  • positive sample: 2개 이미지에서 모두 나타나고 3D point가 일치하는 pixel쌍

2.3. fast reciprocal matching scheme

  • 안 좋은 방법
    • 2개 이미지간 모든 Pixel을 비교할 경우, 시간복잡도가 O(W2H2)O(W^2H^2)가 됩니다.
    • -> 이 연산을 줄이기 위해 fast reciprocal matching을 씁니다.
  • network의 input으로 쓰기 위해, 2개의 image를 512*512 해상도로 줄입니다.
  • 그 후, 출력된 feature map 끼리 비교해서, 픽셀 별 Nearest Neighbor을 찾습니다.
  • 최초에, 1번째 이미지 내 하나의 grid에서 적은수의 k개의 pixel을 균등하게 샘플링합니다. (Ut)
  • 그림 3: 빠른 상호 매칭.
    • 왼쪽: NN 검색을 사용하여 반복적으로 전파하는 픽셀 초기 하위 집합 U^0에서 시작하는 빠른 매칭 프로세스의 그림.
    • 순환(파란색 화살표)을 검색하여 상호 대응을 감지하고 수렴한 포인트를 제거하여 후속 단계를 가속화할 수 있습니다.
    • 중앙: 반복 t = 1...6에서 U^t에 남아 있는 포인트의 평균 수.
      • 단 5번의 반복 후 거의 모든 포인트가 이미 상호 매칭으로 수렴했습니다.
    • 오른쪽:
      • 지도 없는 데이터셋에서 성능 대비 시간의 절충.
      • 적당한 수준의 서브샘플링을 수행할 때 매칭 속도와 함께 성능이 실제로 향상됩니다.

2.4. Coarse-to-fine Matching

  • fast reciprocal matching 처럼 저해상도로 연산한 경우 matching 정확도가 정확하지 않을 수 있으므로
    • 고해상도로 높여서 feature macthing이 필요로 합니다.
    • 위 그림은, 원본 해상도 이미지를, 512*512 해상도의 window 여러개로 쪼갠 것. (실제로는 각 window의 overlap이 50% 이상이 되도록 쪼갬)
    • reciprocal matching 집합에서 가장 많은 pair를 포함하는 window 쌍을 선택
    • 선택한 pair을 다시 네트워크에 통과 시킨 후, matching점을 찾습니다.
  • 그 후에 window pair를 하나씩 greedy하게 추가해서 reciprocal matching 집합이 90% 커버 할 때까지 수행합니다.

3. Expriment

3.1. Relative pose estimation

  • MASt3R을 통해 얻은 매칭을 사용하여 Essential Matrices와 상대적인 포즈를 추정합니다.
    • Epipolar geometry를 쓴다는 뜻
  • 우리의 예측은 항상 쌍별로 이루어지며, 이는 여러 뷰를 활용하는 다른 모든 방법들과는 대조적입니다.
    • 2개 input 이미지를 network에 넣고, 상대적 카메라 위치를 추정한다는 뜻
profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글