Multiview Stereo란 무엇인가?
이번 글에서는
Multiview Stereo
에 대하여 살펴보겠습니다.
사진이 2장이 아니라
여러 장이 있을 경우에는
어떻게 이용해야 할까요?

지금까지는 주로 2장을 이용해서
Matching 문제로 풀었었습니다.
이제는 여러 장이 있으므로
해당 대응점이 다른 이미지
모두에서 잘 대응되는지를
살펴봐야 합니다.

이렇게 여러 장에서 대응점을 확인하여
error 를 계산하여 모두 더한 값이
가장 작을 때 옳은 Depth 라고
생각할 수 있겠습니다.
실제로 같은 영역이라고 하더라도,
보는 각도에 따라 틸팅되기도 하고
변화가 있기 때문에
오류가 있을 수 있습니다.
단, 다른 영역들 보다 유사도가
높은 것은 명백할 겁니다.
우선 이미지가
여러 장 있는 상황에서,
2장씩 묶어서 생각해보겠습니다.
0번 이미지와 1번 이미지,
0번 이미지와 2번 이미지
, … 이런 식으로 말이죠.
Baseline 길이에 따른 매칭 특성

Baseline 이란 두개의
카메라 센터를 이은 선분입니다.
Baseline 길고 짧음에 따라
Depth 변화에 대한 민감도가 다릅니다.
보시면 Baseline 이 길어질수록
Depth 변화에 민감해집니다.
단, 매칭이 어려워집니다.
말이 어렵고 복잡합니다.
천천히 살펴보도록 하죠.
Multiple Baseline Stereo의 작동 원리

보시면 위에 그림은 Baseline 이 짧고
아래 그림은 Baseline 이 긴 상태입니다.
Baseline이 짧은 경우,
Depth 오차에 변화가 크지 않습니다.
즉, Localization 성능은 나쁘지만
매칭 자체는 쉽습니다.
반면 Baseline이 긴 경우,
Depth 오차에 굉장히 민감합니다.
Localization 성능이 좋치만,
매칭이 어려워집니다.
따라서, 모든 Baseline 을 동시에 생각해서
Depth 에 의한 차이를 모두 더하면,
Global 하게 Optimal Depth 를
구할 수 있습니다.

이 방법이 Multiple Baseline Stereo 라고 합니다.
여러 이미지가 필요하고 SSD를
모든 Baseline 에서 하는 방법입니다.
단점으로는,
한 쪽 뷰에서만 여러 카메라를 두고
Baseline 마다 측정하는 방법이기 때문에
3D object 가 아닌
Depth map 을
얻는다는 한계가 있습니다.

카메라를 360 도로 촬영한다면,
각 이미지에 동일한 대응점이
촬영된 이미지만
사용할 수 있기 때문에,
Visibility 문제가 생깁니다.

Visibility 문제는 치킨 앤 에그 문제입니다.
어떠한 객체를 3D 복원하기 위해
해당 이미지에서 객체가
보이는지를 알아야 합니다.
그런데 어떤 3D 를 복원할지도
모르는 상태이기 때문에,
이미지에 복원을 하고자 하는
대상이 보이는지,
안 보이는지를 모른다는 것이죠,
항목 | 설명 |
---|---|
기본 정의 | 여러 이미지로 3D 복원하는 컴퓨터 비전 기법 |
활용 방식 | 다양한 시점에서 대응점 추정 후 Depth 계산 |
Baseline 영향 | 길수록 정밀, 짧을수록 매칭 용이 |
Multiple Baseline | 모든 시점에서 SSD 계산 후 최적 Depth 추정 |
한계 | 3D 복원이 아닌 Depth map 생성, Visibility 문제 |
그런 건 난 잘 모르겠고,
Multiview Stereo는
여러 시점의 이미지를 활용하여
대응점을 추정하고
3D 형상을 복원하는 기술
참고자료
Slide credit : Shree Nayar
First Principles of Computer Vision
https://www.cs.utexas.edu/~huangqx/2018_CS395_Lecture_14.pdf
https://courses.cs.washington.edu/courses/cse455/10wi/lectures