티스토리 뷰

728x90

자료 출처: CS5670 Multi-view stereo

 

이번 강의는 Multi-view stereo에 관한 내용입니다. 이어지는 내용은 13강의 stereo이며, 18강의 two-view geometry와도 이어집니다.

 

왼쪽과 오른쪽에서 바라봤을 때의 stereo pair이며, disparity를 계산한 map입니다. 이는 로봇과 네비게이션, 비디오 효과에 유용하게 쓰입니다.

 

 

Multi-view Stereo

 

똑같은 object와 scene이 있는 여러장의 이미지가 주어진다면 이것들의 3D shape은 연산해서 표현할 수 있습니다.

 

 

  • Input: 몇몇의 viewpoints들로부터 교정된 이미지(known intrinsics, extrinsics, projection matrices)
  • Output: 3D object model

 

Figures by Carlos Hermandez

 

이제 이렇게 많은 카메라를 어떻게 교정할지에 대해 얘기할 것입니다.

 

 

Multi view stereo: Basic idea

 

여기서 reference view가 조금씩 옮겨지며 depth에 따른 error도 달라집니다.

 

 

 

 

전체 reference view를 통해 depth map을 볼 수 있습니다.

 

 

Multi view stereo: advantages

 

  • 1 neighbor 이상을 쓰면서 window matching을 할 수 있고, 이는 강한 match signal을 줍니다.
  • 만약 potential neighbors를 많이 갖고 있다면, 각 reference image마다 match하며 neighbors의 가장 좋은 subset을 고를 수 있습니다.
  • 각 reference frame으로 depth map을 reconstruct하고, merge하여 3D model을 완성할 수 있습니다.

 

Choosing the stereo baseline

 

가장 최적의 baseline은 무엇인가요?

 

너무 작을 경우 depth error가 커지고, 너무 큰 경우엔 찾는데 어려움이 있습니다.

 

 

 

The Effect of Baseline on Depth Estimation

 

 

 

 

Multiple-baseline stereo

 

 

baseline이 짧은 경우에는 traingulation이 좁기 때문에 측정한 depth가 덜 정확합니다.

 

 

 

 

baseline이 긴 경우에는 second image에서 search해야 할 영역이 더 큽니다.

 

 

 

Multiple baseline stereo results

 

Multibaseline Stereo

 

Basic Approach

  • Reference view를 고릅니다
  • 가장 좋은 stereo algorithm을 사용합니다.
    • 그러나, 모든 baselines에서 two-view SSD를 SSSD로 대체합니다.
    • SSSD: SSD 값을 각 stereo images의 쌍들을 처음 계산한 다음, multiple stereo pair로부터 모두 함께 더해가며 계산합니다.

 

Limitations

  • 오직 depth map만 계산합니다.
  • 넓게 분산된 view들에게는 작동하지 않습니다.

 

Problem: visibility

 

 

Some solutions

 

― 오직 사진 근처에서만 match합니다.

 SSD 대신에 NCC를 사용합니다.

임계점보다 높은 NCC 값은 무시합니다.

 

 

Popular matching scores

 

  • SSD (Sum of Squared Differences)

$\Sigma_{x,y} |W_1(x,y) - W_2(x,y)|^2$

 

  • SAD (Sum of Absolute Differences)

$\Sigma_{x,y} |W_1(x,y) - W_2(x,y)|$

 

  • ZNCC (Zero mean Normalized Cross Correlation)

$\frac{\Sigma_{x,y} (W_1(x,y) - \bar{W_1})(W_2(x,y)-\bar{W_2})}{\sigma w_1, \sigma w_2} $

 

 

 

  • where $\bar{W_i} = \frac{1}{n} \Sigma_{x,y} W_i$, $\sigma_{w_i} \sqrt{\frac{1}{n} \Sigma_{x,y} (W_i-\bar{W_i})^2}$

 

 

Question: NCC를 쓸 떄 좋은 점은?

 

 

Plane Sweep Stereo

 

reference camera image plane에 평행한 plane의 family를 sweep합니다. 그리고 homography를 통해서 각 plane 위에 neighbors을 재투영하고 reprojections을 완성합니다.

 

 

 

 

Plane Sweep Stereo

 

 

Another example

depth를 평균낸 뒤 sweep하여 image들의 reprojection을 얻습니다.

 

 

Fusing multiple depth maps

 

각 이미지마다 depth map을 계산하고, depth maps을 합쳐서 3D model을 만듭니다.

 

 

Another approach: NeRF

 

RGB와 alpha로부터 $(x,y,z)$의 함수로 scenes을 표현하고, volume rendering을 사용하여 이미지들을 render합니다.

 

 

 

 

728x90
댓글