간단하게 stereo는 Essential Matrix (Epipolar constraint)로 설명할 수 있다.
epipolar geometry 특성을 이용해 Rectified image를 얻을 수 있다.
x=HX (H: a plane to plane projective transformation)
3d world --> 2d projection P matrix
2d image --> 2d image Homography matrix로 simplify
이를 통해 disparity를 측정할 수 있음.
1.stereo camera calibration
2.rectification (epipolar line을 일렬로)
C. loop and Z. Zhang. Computing Rectifying Homographies for stereo vision.
3.compute disparity
4.estimate depth
Homography는 rotation만 있어도 어느정도 영상간의 관계를 어느정도 구할 수 있지만 3차원 공간상의 관계는 설명X
-->
**epiploar geometry는 translation이 없으면 안됨. essential matrix의 translation을 구할 수 없고 stereo영상에서 rectification을 할 수 없고 영상간의 triangulation을 할 수 없음.
Rotation을 모른다면 8point algorithme --> Fundamental Matrix --> R,T 구할 수 있음.
Calibration
[u v 1].T = K[R|t][x y z 1].T
Z component for each point is 0 in world coordinates
Homography H 구할 수 있음 via K
------
스테레오는 동시에 찍힌 똑같은 영상의 다른 시점을 가져야하기 때문에 이 관계를 가지고 F를 동시에 풀수 있다.
K 를 구하고 동시에 F 구하는과정
K를 구하고 그 바탕으로 E를 구해서 두 영상관에 Rotation과 Translation을 구하는 과정
실제 사진
Rectification 없이 disparity map을 구했을때
Rectification 후 disparity map
상용제품인 ZED의 SDK를 이용한 Depth map
'maengkyun > CV' 카테고리의 다른 글
[Computer Vision] 2D Convolution - python code (0) | 2021.12.12 |
---|---|
ZED2 stereo camera python api setup (0) | 2021.11.27 |
[Computer Vision] Sliding Window Algorithm (0) | 2021.11.12 |
끄적 (0) | 2021.08.25 |