THE RED : Area Chair 이광무 교수의 Neural Fields & 3D 컴퓨터 비전 강의를 바탕으로 작성된 글입니다.
2016년도에 개발된 pipeline COLMAP은 최근에도 사용되는 범용적인 pipeline이다.


이미지를 설명하는 local feature들을 추출하는 과정이다. local feature란, 두 이미지를 비교할 때 대응 관계 (correspondence)를 형성하는 특징점(+ 그 주변 정보)들을 의미한다.
SIFT, LIFT 두 알고리즘 모두 특징점과 특징점의 descriptor를 생성하는 알고리즘이다. SIFT는 전통적인 수학적 방식을 사용하는 반면, LIFT는 딥러닝 기반으로 학습된 특징점 검출기와 descriptor를 사용한다는 차이가 있다.

곰인형의 코 부분을 보면 특징점들이 생성된 것을 알 수 있다. 물론 왼쪽 이미지에 표시되었으나 오른쪽 이미지에서는 발견할 수 없는 특징점들도 있다. 이런 것들이 noise가 되는 것이다.
이 파트는 최근까지도 reinforcement learning을 사용한다든지 좋은 특징점 추출을 위해 활발히 발전되고 있는 파트이다.

다음으로는 특징점들을 서로 매칭해 보는 과정이다. 전통적으로는 각 특징점의 descriptor 정보를 비교하여 가장 유사한 점들을 매칭하는 방식이 사용된다. 최근에는 이런 local 정보 비교뿐만 아니라, 이미지 전체를 고려한 전역적인 매칭 방법도 있다.

이런 식으로 matching을 하는 것이 목표이지만, 실제로는 matching 과정에서 많은 noise가 끼기 때문에 후처리 과정이 상당히 중요하다.

앞에서 말한 후처리 과정, 즉 대응점들을 필터링하는 과정이다. A 이미지의 특정 점에 대해 B 이미지 위에 epipolar line을 표시했을 때, 대응점이 이 line 위에 있지 않다면 이 대응점은 고려하지 않겠다 이런 식으로 필터링한다고 생각하면 된다.

그래서 실질적으로 matching을 마치면 왼쪽 이미지처럼 나온다. 빨간색으로 표시된 부분이 잘못 추출된 대응점들이고 오른쪽과 같이 올바른 대응점들 위주로만 남기는 것이 이 단계의 목적이다.
이 파트는 2004년부터 20년 넘게 꾸준히 발전된 Feature Extraction 파트와는 달리 RANSAC 방법을 2018년까지 그대로 사용하였다. 심지어 2018년이면 Deep Learning이 많이 도입된 이후인데도 불구하고 최근 들어 이 파트에 DL이 도입되었다. 그 이유는, 해당 파트는 이미지가 아니라 '대응점', point cloud를 다룰 수 있는 specialized deep network를 필요로 하기 때문이다.

이 강의에서는 다루지 않는 부분이다. 카메라들의 연결을 이용하여 이미지들을 순차적으로 붙여 나가는 과정이다.
이번 part2에서 주안점으로 둘 부분은 Geometric Verification Step으로 특히나 DL이 이 부분에 접목되기 위해 필요한 것은 무엇인지 앞으로 살펴볼 것이다.