티스토리 뷰
자료 출처: 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
이제 이렇게 많은 카메라를 어떻게 교정할지에 대해 얘기할 것입니다.
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합니다.
'AI > Computer Vision' 카테고리의 다른 글
[CS5670] Lecture 18: Structure from motion (0) | 2022.08.27 |
---|---|
[CS5670] Lecture 14: Light & Perception (0) | 2022.08.16 |
[CS5670] Lecture 13: Stereo (0) | 2022.08.10 |
[보충] Camera model and Vanishing points (0) | 2022.08.09 |
[CS5670] Lecture 12: Single-view modeling (0) | 2022.08.09 |
- Total
- Today
- Yesterday
- 구글드라이브연동
- docker
- 구글드라이브서버다운
- NLP
- Unsupervised learning
- 도커 컨테이너
- clip
- cs231n
- support set
- few-shot learning
- 서버에다운
- 구글드라이브다운
- 파이썬 딕셔너리
- CNN
- 파이썬
- 딥러닝
- vscode 자동 저장
- Prompt
- 서버구글드라이브연동
- 데이터셋다운로드
- 도커
- python
- 파이썬 클래스 다형성
- 파이썬 클래스 계층 구조
- style transfer
- 프롬프트
- prompt learning
- 퓨샷러닝
- stylegan
- 구글드라이브서버연동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |