Duplicate

Lecture 20 | Multiview Stereo

수강 일자
2023/03/08

Active Illumination Methods

두 개의 camera 로 이루어진 stereo 는 실질적으로 하나의 projector 와 하나의 camera 로 이루어진 stereo 와 동일함을 이전에 보았음.
Point 를 projecting 하는 projector 를 이용해 특정 픽셀의 위치에 shot 을 쏘고, 그것을 다른 camera 에서 보았을 때의 위치의 차이를 통해 disparity 를 계산할 수 있음.
다만 640×480640\times 480 픽셀 크기의 이미지를 가정하면 300,000300,000 장 이상의 이미지가 필요하고, 처리 속도가 30fps 라쳐도, 3 hours 가 걸림…
이를 개선하기 위해 projector 가 쏘는 pattern 을 vertical line 으로 변경해볼 수 있음. → 대응점은 Epipolar Line 위에 있기 때문에 대응점을 vertical line 과 epipolar line 의 교점으로 한 번에 찾을 수 있음!
640640 장의 이미지가 필요하고, 처리 속도가 30fps 이면 21s 가 걸림.
이 보다 더 좋은 방법은 projector 가 multiple vertical line 을 쏘는 것임. (다른 색깔을 쏘던가 해서 indexing 이 가능하면 한 번에 여러 개의 matching 을 해낼 수 있음.)
위와 같이 여러 장의 이미지로 binary code 를 만들어서 line 을 indexing 할 수도 있음.
문제는 target 이 여러 장을 찍는 동안 static 해야 하며, resolution 이 좋아야 구별이 가능함.

What if We have More Than Two Views?

두 개 이상의 뷰가 존재할 때 3D reconstruction 을 더 잘 할 수 없을까?

Multi-view Stereo: Basic Idea

Ray 상에 어느 점이 실제 3D 위치인지 모르기 떄문에 해당 점을 움직여가면서 나머지 뷰에 reprojection 했을 때의 error 를 최소화하는 방향으로 optimization 할 수 있음.
A Multiple-Baseline Stereo: Okutomi and Kanade (1993)
Baseline 을 바꿔가면서 여러 장을 준비하여 Optimization 기반의 Stereo 를 진행함.
Baseline 이 짧으면 local minimum 이 global minimum 이고 smooth 한 SSD 그래프를 가짐.
그래프가 완만하기 때문에 Depth Estimation 이 어려움. (?!)
Baseline 이 길면 여러 개의 local minimum 이 나타남.
그래프가 가파르기 때문에 Depth Estimation 이 쉬움. (?!)
Multi Baseline 세팅의 그래프를 모두 더하면 아래와 같이 구성되어 단일 global minimum 에 가파른 그래프를 가짐.
다만, 다양한 뷰에서 수집된 데이터를 기반으로 이 방법론을 실행하게 될 경우, visibility 에 대한 고려가 필요함. 특정 뷰에서 보이지 않으면 reprojection error 를 구할 수 없고 해당 그래프 자체를 사용할 수 없음.

Volumetric Stereo

Voxel Grid 를 정의하고 각 모든 voxel point 에 대해서 reprojection 을 했을 때 silhouette 영역 내부에 있는지를 확인하여 최종적으로 occupancy 를 결정함.
다만, 단점은 오목하게 들어간 구조에 대해서는 이 방법으로 구해낼 수 없음. 나온 영역만 silhouette 으로 보이기 때문임.
또한, segmentation 이 하나만 잘못되면 치명적으로 volume 을 깎아버릴 수 있음.

Voxel Coloring

Binary Segmentation 이 아니라, Color Segmentation 으로 바꾸면 기존의 Visual Hull 혈태를 Photo Hull 처럼 개선할 수 있음.

Representing Each Point as a Patch

조금 더 dense 한 representation 을 위해 SfM 을 시작으로 하여 densify 하는 접근이 있음.
Patch 가 정확한 normal 과 depth 를 가지도록 optimization 하는 방법론
Photometric Consistency 를 이용하여 patch 가 올바른 orientation 을 가지도록 adjust 할 수 있음.

Poisson Surface Reconstruction

Oriented Point Cloud 를 입력으로 받아 Implicit Surface Function 을 만드는 과정
Implicit Surface Function 은 내부는 1, 외부는 0 으로 표현 가능한 surface.

High-Quality Single-Shot Capture of Facial Geometry

Camera 로 찍은 뒤 매 pair 마다 Stereo 를 진행하여 human face 3D structure 를 복원함.

Single View Depth Estimation via ML

단일 이미지 + 학습 만으로 depth estimation 을 수행할 수 있음.
Geometric feature 만으로 이게 가능하다는 것을 보이는 논문도 있음.
다만, 현재 mono depth 는 더 이상 geometric feature 를 이용하진 않고 deep learning 분야가 되어버림. 그럼에도 이런 feature 를 활용해서 개선을 한다면 이 강의를 잘 수강한 것임. 좋은 결과를 낼 수 있을 듯함.