[CVPR 2024] DUSt3R: Geometric 3D Vision Made Easy

안녕하세요, 이번 주 X-review는 태주님과 과제 제안서 관련해서 이야기중 알게된 DUSt3R라는 네이버랩스의 논문을 리뷰해보도록 하겠습니다. 굉장히 신기한 기술이고, 평소에 지나가면서 접했지만 가볍게 넘어갔던 키워드들이 눈에 보여서 Related Works를 정리하면서 그 간의 호기심을 해소하고자 읽어보게 되었습니다. Feature matching 후 dense reconstruction을 거쳐야 하는 기존의 Multi-View Stereo (MVS)와 다르게 Pointmap이라는 개념을 활용해 3D 구조 자체를 예측하는 방식을 도입하여 Transformer를 사용할 수 있게 되었고, 이로 인해 ViT같은 사전학습된 모델을 활용 가능하다고 합니다.

그 결과 아래와 같이 DUSt3R(Dense and Unconstrained Stereo 3D Reconstruction) 이라는 이름에 걸맞게 카메라의 포즈와 파라미터가 없는 2D 이미지 셋(심지어 단일 이미지)로부터 Dense 3D Reconstruction이 가능할 뿐 만 아니라 카메라 파라미터, 픽셀들간의 대응관계, Depth Map까지 얻을 수 있고 Pointmap을 통해 컬러 3d pointcloud와 렌더링된 형상까지 얻을 수 있다고 하니, pointmap이라는 개념이 정말 핵심인 것 같습니다. 이제 논문을 정리해보도록 하겠습니다.

Introduction

3D reconstruction 기술은 내비게이션, 고고학 기술, 로보틱스를 포함해 다양한 3D 비전 작업에서 핵심적인 기술이기 때문에 현대의 3D reconstruction 기술은 기존에 수십년 동안 발전해왔던 keypoint matching, Sfm, MVS와 같은 알고리즘들을 조합해서 결과물을 얻어내고 있습니다.

최근의 3D-reconstruction 기술들은 두 이미지에서 matching points를 찾고, essential matrices를 구하고, triangulation으로 points를 추가해 주고, sparsely reconstruction 한 뒤, camera parameter를 추정하고, dense reconstruction 하는 순서로 진행됐다고 합니다. 하지만 이 과정들을 진행할 때 각각 다른 이유로 노이즈가 추가되고, 실패하기도 합니다. 따라서 각기 다른 이유로 전체 파이프라인이 실패하는 경우가 많았다고 합니다. 특히 로봇, 드론등에서 움직임이 적은 경우에는 Sfm이 제대로 수행되지 않을 확률이 크고, MVS의 결과물은 카메라 파라미터에 의존하기 때문에 Sfm이 잘 수행되지 않으면 3D reconstruction이 제대로 진행되기 힘들다고 합니다.

따라서 DUSt3R은 calbiration, pose estimation, 심지어 내부 파라미터 조차 필요하지 않은 새로운 접근방법으로 기존과는 아예 다른 dense, unconstrained 3D reconstruction을 수행한다고 합니다. 3D reconstruction을 regression 방식으로 접근해서 3d pointcloud를 예측하는 것이 아닌 3D 공간상의 점과 매핑을 할 수 있는 dense 2D field인 pointmap을 예측합니다. Pointmap에는 장면의 픽셀과 3D 점들 사이의 관계, viewpoint들의 관계에 대한 내용들이 포함되어있고, 추가적인 변환을 거치지 않고 pointmap을 통해 바로 3D reconstruction이 가능합니다.

저자들은 이런 DUSt3R의 contribution을 크게 4가지로 정리했습니다. 첫 번째는 앞서 말씀드렸듯 카메라 파라미터 없이 end to end로 monocular, binocular 3D reconstruction을 수행한다는 점입니다. 이를 통해 기존의 제약조건이 많은 3D reconstruction의 한계가 극복됐다고 합니다. 두 번쨰로는 Pointmap이라는 개념의 도입을 통해 3D reconstruction 과정에서 많은 제약을 제거하고 유연한 3D reconstruction을 할 수 있을 뿐만 아니라 표준 좌표계에서도 서로 다른 view들 간의 관계를 유지할 수 있다고 합니다. 또 이러한 pointmap을 global하게 optimize할 수 있는 방법을 제안했고, 마지막으로 이런 직관적인 과정을 통해 다양한 3D vision 태스크들에서 SOTA를 달성했다고합니다.


Related Works

사실 이 논문을 한 번 읽어보려고 했던 이유들 중 하나가 그간 진행된 3D reconstruction 분야들의 핵심적인 부분을 related works 부분을 읽으며 좀 알아갈 수 있지 않을까에도 있었기 때문에, 하나하나 간략하게 정리를 해보도록 하겠습니다.

Structure-from-Motion(SfM)

SfM은 여러 이미지들에서 특징점을 추출해서 카메라의 움직임과 3D 구조를 복원하는 기법이고, SIFT와 같은 알고리즘을 통해 keypoint를 검출하고 여러 이미지들간의 픽셀 대응관계를 찾아 기하학적 관계를 추정한다고 합니다. 매칭된 결과들은 Geometric Verification 이후 삼각측량을 활용해 대응되는 픽셀들을 이용해 각 점의 3D좌표를 계산하고 카메라 포즈와 3D point들을 최적화하는 Bundle Adjustment를 거친 후 최종적으로 outlier들을 없애준 뒤 3D 모델을 생성합니다. 최근에는 특징점을 검출하거나 매칭, bundle adjustment 과정에서 딥러닝을 도입해 learning based 기법이 적용되면서 크게 개선됐다고 합니다. Matching 과정에서는 CNN기반의 SuperGlue나 더 나아가 ViT 기반의 LoFTR 방법도 존재합니다. 하지만 SfM은 일련의 과정들이 sequential 하게 일어나기 때문에, 각 요소들에서 발생할 수 있는 노이즈나 오류가 많아 취약하다고 합니다.

MultiView Stereo(MVS)

MultiView Stereo는 이름에서 알 수 있듯 여러 시점에서 동일한 장면을 촬영한 뒤 각 시점에서 대응되는 픽셀을 찾아 삼각 측량을 사용해 각 픽셀의 depth를 계산해 표면(visible surface)을 dense reconstruction합니다. MVS는 특징점 기반의 SfM과 다르게 픽셀 단위로 3D reconstruction을 진행합니다. 이 과정에서 전통적인 MVS는 카메라의 intrinsic, extrinsic 파라미터를 전부 다 입력받아야합니다. Fully handcrafted 방법에 이어 scene optimization기법, learning-based의 NeRF와 같은 기법들도 등장했습니다. 하지만 전부 calibation을 통해 얻는 카메라 파라미터에 의존하기 때문에 대부분 in the wild 상황에서는 SfM을 통해 얻은 파라미터를 사용한다고 합니다. 그렇기 때문에 실제 세계에서는 estimation된 파라미터의 부정확성으로 인해 품질이 저하됩니다.

Direct RGB-to-3D

최근에는 멀티뷰의 이미지가 필요했기 때문에 자연스럽게 여러장의 이미지가 필요했지만, 이와 대비되는 단일 RGB 이미지로 3D를 예측하는 접근법들도 등장했습니다. 직접 3D 형상을 딥러닝을 활용하여 예측하는 모델들은 본질적으로 3D 사전 지식을 대규모 데이터셋으로 학습한 신경망을 활용하는데, 크게 Class level에서 object prior들을 활용해 특정 객체를 학습하는 방법과 일반적인 모든 장면에서 3D 구조를 복원하는것을 목표로 하는 두 가지 방법이 존재한다고 합니다. 첫 번째 방법은 특정 카테고리의 3D 형상을 대규모로 학습해 새로운 이미지에서 해당 클래스의 3D 구조를 추론해나가는 방법으로, 이미 학습한 카테고리에서는 강력한 성능을 보이지만 처음보는 카테고리에 대해서는 reconstruction을 진행할 수 없다는 문제점이 있습니다. 두번째의 일반으로 작동할 수 있는 방법들은 general scene에 초점을 맞춰 monocular depth estimation을 통해 3D 정보를 포함하고있는 DepthMap을 만들어 intrinsic 파라미터와 결합해 정렬시켜 pixel aligned 3D pointcloud를 생성합니다.

DUSt3R 또한 이런 direct RGB-to-3D를 수행하는것을 목표로 하지만, intrinsic 파라미터가 필요하지 않을 뿐 만 아니라 네트워크에서 두 개의 viewpoint를 동시에 처리해(Multiview) pointmap을 출력해서, DepthMap을 통해 reconstruction을 하는것이 아니라 더 직접적으로 3D 좌표를 예측한다고 합니다. 과거에도 SfM 파이프라인을 미분 가능하게 만들어 end to end로 학습하려는 개념들이 등장했는데, 이러한 개념에 기반하지만 DUSt3R는 2d dense field인 pointmap을 예측하기 때문에 카메라 포즈를 명시적으로 예측하지 않고도 regression 문제를 well-posed로 정의해 명확한 결과물을 반환한다고 합니다. 단일 이미지에서 3D를 복원하려는 경우 여러가지 정답의 경우의 수를 염두에 두어야 하기 때문에 ill-posed이고, 작은 변화에도 결과에 큰 변화가 생길 수 있지만 DepthMap과 카메라 포즈를 따로 예측하지 않는 (pointmap만 예측하는) well-posed regression을 수행하기 때문에 이 과정에서 일관되고 안정적인 결과를 기대할 수 있습니다.

Pointmap

Pointmap이라는 개념은 3D물체를 한 기준좌표계에서 정리하여 저장하는 방식이라고 합니다. 여러 표준 시점에서 3D 형상을 직접 처리하지 않고 이미지 공간에서 표현하는 방식인데요, 2D 이미지에 각 픽셀별로 Depth를 저장하는 DepthMap(H * W * 1)과 달리 Pointmap에는 2d 필드의 각 픽셀마다 3D 좌표(H * W * 3)가 저장되어있는 2D배열의 텐서 입니다. 따라서 깊이 값을 기반으로 내부 파라미터를 통해 3D상의 위치를 계산해야 하는 방식과 다르게 2D 필드 자체에 3D표현이 되어있습니다. Pointmap은 카메라 내부 파라미터의 역행렬과 이미지 픽셀좌표의 깊이정보를 활용해 다음과 같이 직접 계산됩니다. X_{i,j} = K^{-1} \left( \begin{bmatrix} i D_{i,j} \ j D_{i,j} \ D_{i,j} \end{bmatrix} \right)^{\top}.이러한 Pointmap은 Visual Localization 분야에서 널리 사용되고, 카메라 기하를 명시적으로 사용하지 않고 후처리 없이 3D를 복원할 수 있게 해줍니다.

Method

Overview

DUSt3R의 네트워크는 두 개의 이미지I_1, I_2가 네트워크 F에 입력으로 주어지고 두 개의 pointmap과 confidence map을 출력합니다. F: (I_1, I_2) \rightarrow (X_{1,1}, X_{2,1}, C_{1,1}, C_{2,1}) 에서 두 개의 pointmap은 동일한 좌표계(1번 좌표계)에서 표현되고, 모든 점을 첫 번째 이미지 I_1의 좌표계에서 정렬하여 표현하기 때문에 상대적인 좌표 변환없이 바로 3D reconstruction을 수행할 수 있습니다.

네트워크 F는 CroCo라는 3D reconstruction 네트워크를 기반으로 제작해 CroCo의 Transformer 기반 pretraining을 효과적으로 활용했다고 합니다. 두 개의 입력 이미지는 Siamese 방식으로 동일한 가중치를 공유하는 ViT 인코더를 통해 토큰 representation인 F_1F_2F_1 = \text{Encoder}(I_1), \quad F_2 = \text{Encoder}(I_2)와 같이 변경됩니다. 이렇게 동일한 네트워크를 두 개의 이미지에 적용해서 가중치를 공유하는 방식을 Siamese 방식이라고 합니다.

각 디코더 블록을 통해 self-attention을 수행한 뒤에 cross-attention을 수행해 출력토큰

G_1^i = \text{DecoderBlock}_1^i(G_1^{i-1}, G_2^{i-1}), \quad G_2^i = \text{DecoderBlock}_2^i(G_2^{i-1}, G_1^{i-1}) 를 얻고 토큰을 MLP에 전달합니다. 위 첨자가 view의 index, 아래 첨자가 블럭의 index 입니다. 따라서 1번과 2번 view의 i−1번째 token이 i번째의 입력으로 사용됨으로써 cross-attention이 이루어지고, 정보교환이 일어납니다. 이를 통해 3D 정보를 직접 학습하고, 여러개의 view를 자연스럽게 통합할 수 있습니다. 이후 각 branch에서 개별적인 regression head가 디코더 토큰을 입력받아 pointmap과 confidence map을 출력합니다. 기본적으로 3D 정보를 가지고 있는 pointmap을 예측하기 때문에 모델이 예측한 객체를 얼마나 신뢰할 수 있는지에 대한 수치를 confidence map으로 제공합니다.

출력된 Pointmap들은 scale facator가 알려지지 않은 상태로 regression 되기 때문에 카메라의 실제 거리 정보가 없다면, 같은 장면이라도 스케일이 다르게 예측될 가능성이 있습니다. 이러한 문제를 기존의 3d reconstruction 기법들은 camera calibration을 통해 해결하지만, DUSt3R은 학습을 통해 보정한다고 합니다. 저자들은 이러한 이유 때문에 pointmap이 더 유연하고 일반화에 유리하다고 합니다. 또한 범용성 있는 Transformer 구조를 사용하기 때문에 사전학습된 모델들을 활용할 수 있고, 이는 더 뛰어난 일반화 성능으로 이어질 수 있다고도 합니다.

Training Objective

3D Regression Loss & Confidence-aware Loss

DUSt3R은 3D 공간에서의 regression을 base로 삼기 때문에 학습은 네트워크가 예측한 pointmap과 정답 pointmap 사이의 차이를 최소화하는 방식으로 regression loss를 사용해 진행됩니다. \bar{X}_{1,1}, \bar{X}_{2,1}을 각각 GT Pointmap으로 표기하고 각 pointmap중 유효한 Depth를 가지고 있는 픽셀 집합을 \quad D_1, D_2 \subseteq \{1, \dots, W\} \times \{1, \dots, H\} 로 나타냅니다. 이 때 \bar{X}_{2,1}와 같은 경우 카메라 2에서 찍은 pointmap을 1의 시점으로 옮긴 것인데, 이는 pointmap에 homogeneous변환을 한 후 world 좌표계, camera 1의 좌표계로 순서대로 변환을 거칩니다. X_{n,m} = P_{m} P_{n-1} h(X_n)의 식을 통해 옮겨지는데, 이렇게 시점을 통일하는 이유는 모든 pointmap을 첫 번째 카메라의 좌표계로 표현해 후처리 없이 정렬된 Pointmap을 활용하기 위함입니다. 이렇게 좌표계를 통일할 때 외부 파라미터가 사용되지만 내부파라미터 없이 모델이 3D 정보를 학습하기 때문에 기하학적 제약에서 자유로워지고, 유연한 3D구조 예측이 가능해집니다. 정리하자면 D_1D_2는 각각의 카메라에서 본 실제 3D 점들(GT 픽셀들의 집합)의 유효한 깊이정보가 포함된, 하나의 좌표계로 표현된 pointmap들 입니다. 유효한 깊이를 가진 점들은 깊이값이 0 이상인 점들로 걸러내는데, 그 이유는 하늘과 같이 깊이값이 Nan이 나오는 픽셀들이 존재할 수 있기 때문이라고 합니다. 이렇게 유효한 픽셀들만 걸러서 loss를 계산하여 효율성을 높힌다고 합니다.

Regression Loss는 예측된 Pointmap과 GT Pointmap 간의 유클리드 거리로 정의되고, 추가적으로 스케일 불확실성을 보정하기 위한 norm scaling factor를 사용합니다.

\ell_{\text{regr}}(v,i) = \frac{1}{z} \left| X_{v,1}^{i} - \frac{1}{\bar{z}} \bar{X}_{v,1}^{i} \right| 에서 z와 \bar{z}가 스케일링 팩터인데, Pointmap에서 원점까지의 거리의 평균을 사용합니다. 뿐만 아니라 네트워크는 각 픽셀에 대한 confidence score를 함께 예측하는데, 이로 인해 최종적으로 confidence-weighted regression loss로 학습 목표를 정의합니다. Confidence score는

C_{v,1}^{i} = 1 + \exp C_{v,1}^{i} > 1 의 식을 통해 무조건 1보다 크도록 강제합니다. 이렇게 무조건 1보다 큰 값을 주면서 원래는 불가능하다고 판단되는 부분도 모델이 추론을 해볼 수 있게 유도하는 트릭이 사용된거 같습니다. 또한 Confidence를 모두 0으로 예측해 버리는 trivial solution을 찾지 않게 하기 위해 regularization term도 추가되었다고 합니다. 네트워크는 Confidence score를 제공받지 않고 학습을 통해 예측하기 때문에 supervision 없이 3D 구조를 복원할 수 있게 됩니다.

Downstream Application

기존 SfM-MVS 단계를 거치는 3D reconstruction을 위해 필요한 각 요소들을 얻어서 3D를 구성한것과 반대로 DUSt3R의 Pointmap 출력 덕분에 기존의 3D reconstruction 방식보다 효율적으로 Feature Matching, Intrinsics 복원, Relative/Absolute Pose Estimation을 수행할 수 있습니다. 두 이미지 사이의 픽셀 간 대응 관계를 찾는 것은 3D Pointmap 공간에서 Nearest Neighbor 탐색을 통해 쉽게 수행 가능하고, 기존의 방식들과 다르게 직접 pointmap을 비교해 Keypoint Detection없이 대응점을 찾을 수 있다고 합니다.

Pointmap X_{1,1}​은 기본적으로 카메라 1의 좌표계에서 표현되기 때문에 이를 활용하면 카메라 내부 파라미터를 복원할 수 있습니다. 즉, DUSt3R의 Pointmap을 사용하면, 카메라 캘리브레이션 정보 없이도 초점 거리(focal length)를 추정 가능합니다.

f_1^* = \arg\min_{f_1} \sum_{i=0}^{W} \sum_{j=0}^{H} C_{1,1}^{(i,j)} \left( i' - f_1 \frac{X_{1,1}^{(i,j,0)}, X_{1,1}^{(i,j,1)}}{X_{1,1}^{(i,j,2)}} \right) 의 식을 통해 초점거리 f_1를 최소화 하는 최적화 문제를 풀어 내부 파라미터를 복원할 수 있다고 하네요. Relative Pose Estimation과 Absolute Pose Estimation또한 Feature matching 없이 Pointmap을 활용하여 진행 가능하다고 합니다.

Global Alignment

여러 view에서의 사진들을 가지고 3d reconstruction을 한다고 가정했을 때, 하나의 view가 다른 모든 view의 이미지들과 overlap이 있는 것은 아니기 때문에 개별적인 다른 view의 이미지들을 하나의 일관된 좌표계로 변환해주는 post-processing optimization 기법을 적용 global alignment를 수행한다고 합니다. 정리하자면 파노라마 사진과 같은 느낌으로 하나의 3D 구조를 만들어내기 위해 여러 각도에서 촬영된 사진을 하나의 좌표계로 옮겨서 붙이는 과정이 필요합니다. I_1부터 I_N까지 여러 이미지가 주어졌을 때, 각 이미지를 Vertex로 하고 비슷한 형상이 있는 이미지를 Edge로 연결한 그래프 G(V,E)를 생성합니다. 이 그래프 G를 이용해 모든 카메라에서 얻은 pointmap들을 하나의 공통된 좌표계로 정렬하는 문제를 최적화 문제로 풉니다.

\chi^* = \arg\min_{\chi, P, \sigma} \sum_{e \in E} \sum_{v \in e} \sum_{i=1}^{HW} C_{v,e}^{i} | \chi_v^{i} - \sigma_e P_e X_{v,e}^{i} | 에서 공통 좌표계로 표현될 때 pointmap 간의 정렬 오차를 최소화 하는 것을 목표로 Pointmap을 Rigid Transformation과 Scaling을 적용한 후 신뢰도가 높은 점을 우선으로 변환 전후의 pointmap의 차이를 최소화 하는 최적화 문제를 풀이하는 과정이라고 합니다. 이를 조금 더 확장하면 카메라의 파라미터도 복원할 수 있다고 하네요. 또한 이 과정은 기존의 Bundle Adjustment보다 훨씬 바르다고 합니다.

Reconstruction Examples

이렇게 학습된 모델은 아래와 같이 한 번도 보지 못했던 scene에서 RGB사진을 통해 depth map, confidence map을 구하고 3D reconstruction을 진행합니다. 다양한 scene에서의 이미지들도 global alignment를 통해 하나의 좌표계에 합쳐져 3D reconstruction된 모습을 보여줍니다.

Training

학습 할 때 8개의 데이터셋을 취합해 8.5M의 image pairs를 만들어 사용했습니다. Habitat, ARKitScenes, MegaDepth, Static Scenes 3D, Blended MVS, ScanNet++, CO3D-v2, Waymo 데이터 셋들을 활용했는데, Image pair가 명시적으로 없는 데이터셋은 image retrieval과 point matching 알고리즘을 이용해 매칭시켜 주었습니다. 그 결과 Indoor, outdoor, synthetic, real-world, object-centric 등 다양한 scene type에서 학습을 진행할 수 있었다고 합니다. 인코더는 ViT-Large , 디코더는 ViT-Base , head는 DPT를 사용했습니다. CroCo pretraining을 이용해 initialize 합니다.

Experiments

Visual Localization

Visual Localization 성능을 평가하기 위해 카메라의 6-DOF를 복원하는 Absolute Pose Estimation 실험을 수행하였습니다. 평가에 사용된 데이터셋은 7Scenes(indoor scene들)과 Cambridge Landmarks(Outdoor scene들)입니다. 평가 metric은 카메라의 위치 오차를 나타내는 Median Translation Error와 방향 오차를 나타내는 Median Rotation Error를 사용했습니다. pointmap을 사용해 Visual Localization을 위해 학습된 모델이 아님에도 불구하고 SOTA와 비슷한 성능을 보입니다.

Multi-view Pose Estimation

각 이미지 쌍 사이의 상대적인 카메라 transformation을 추정하는 Multi-View Relative Pose Estimation 작업도 평가했습니다. CO3Dv2와 RealEstate10k를 사용했고 RelPose,PoseDiffusion과 같은 Learning-based 기법과 더불어 PixSFM, COLMAP+SuperPoint+SuperGlue와 같은 Structure-based 기법들과도 비교했습니다. 평가지표로는 각 이미지 쌍에서 예측된 회전의 오차(Relative Rotation Accuracy), 이동 오차(Relative Translation Accuracy), 해당 수치들이 임계값(15) 이내에 있는 비율, 각 값들의 최소값에 대한 AUC (mAA)에서 mAA = 30까지의 면적입니다. 결과는 PoseDiffusion 보다도 기존 SOTA성능을 능가했습니다.

Monocular Depth

한 장의 이미지를 받아 각 픽셀의 Depth 정보를 추정하는 Monocular Depth Estimation도 수행헀는데 DUSt3R에 동일한 이미지를 두 장 입력하고 모델이 하나의 이미지(동일한 두 이미지)를 사용해 예측한 pointmap의 z좌표를 깊이로 사용했습니다. 평가 데이터셋은 outdoor 로 DDAD, KITTI를 사용했고, indoor로 NYUv2, BONN, TUM를 사용했습니다. 평가지표로는 예측된 depth와 실제 depth간의 상대오차인 Absolute Relative Error와 실제 depth와 25% 이내의 오차로 예측한 픽셀의 비율인 Prediction Threshold Accuracy(1.25)를 사용했습니다. 실험결과 zero shot에서 SOTA인 SlowTv와 비슷한 수준의 성능을 보였습니다.

Multiview Depth

다양한 뷰에서의 이미지들을 활용해 Depth Estimation을 진행하는 실험도 진행했습니다. 여기서도 예측된 pointmap의 z값을 depth로 사용했다고 합니다. 작은 물체를 복원하기 위해 사용하는 DTU, 실내/외 장면이 포함된 ETH3D, 대규모 실외 장면들로 구성된 Tanks and Temples, 실내 중심의 ScanNet을 사용해 평가했고, 평가기준은 Monocular Depth Estimation을 평가할때와 유사하게 Absolute Relative Error와 정답 값과 예측값의 비율이 특정 비율 (1.03) 이내에 있는 픽셀들의 비율로 평가했습니다. 평가결과 ETH3D 에서는 기존 SOTA 방법보다 좋은 성능을 보였습니다.

3D Reconstruction

MVS 없이 얼마나 3D 모델을 정확하게 생성할 수 있는지를 평가했습니다. 평가에 사용된 데이터셋은 DTU 데이터셋으로, 다양한 각도에서 촬영된 작은 물체의 3D reconstruction 성능을 Zero Shot 환경에서 평가했습니다. 평가기준은 예측된 3d pointcloud에서 GT로의 최소 유클리드 거리 Accuracy와 재구성된 점들이 얼마나 완전한지에 대한 completeness, 둘의 평균인 overall average distance를 사용했습니다. 2.7 mm의 Accuracy, 0.8mm의 completeness, 1.7mm의 overall average distance가 나왔다고 합니다. 수치로만 보면 기존의 모델들 대비 조금 부정확한 모습을 보여주지만 plug and play가 가능한 점과 빠른 속도를 생각해보면 사용할만 하다고 생각합니다. 또한 아래 사진과 같이 엄청나게 차이가 많이 있는 view를 통해서도 3D reconstruction이 가능합니다.

Conclusion

이 논문은 여태까지 사전에 전달받은 카메라 파라미터를 활용해 3D reconstruction을 진행하던 방식과는 다르게 pointmap을 예측하는 형태로 새로운 시도를 한 것에 굉장한 의미가 있는 논문인 것 같습니다. 카메라 파라미터 없이 기존의 사전학습된 모델들을 사용할 수 있는 구조를 구축하고 그 결과 다양한 task에서 특정 태스크를 위한 라벨링과 학습 없이 해당 방식으로 학습된 기존 모델들과 견주거나 그 이상의 성능을 plug and play로 할 수 있다는 점은 대단한것 같습니다. 또 global alignment의 방법을 통해 기존의 방법보다 빠른 속도도 어필점 중에 하나인 것 같습니다. 아직 대략적인 내용만 숙지하고 깊게 이해하지 못한점은 아쉽지만 추후에 관련 논문들을 보고 더 채워보도록 하겠습니다.

Author: 김 영규

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다