Ⅰ. Projection modeling
- 아래와 그림과 같이 3차원 point P는 Pinhole O를 지나서 x점에 맺힐 수 있음
+ 이때 맺히는 면(plane)을 image plane이라고 하며. pinhole과의 거리를 f(focal length)라 할 수 있음
- 그렇다면 image plane 을 pinhole보다 앞에 두고 해석을 한다면? → 아래와 같이 식을 도출해 낼 수 있음
- 3차원 포인트 X [x,y,z] 는 2차원 포인트 x [f(X/Z),f(Y/Z)]로 표현이 가능
Ⅱ. homogeneous coordinate
- homogeneous coordinate 란, "Homogeneous 좌표는 쉽게 말하면 (x, y)를 (x, y, 1)로 표현하는 것입니다. 좀 더 일반적으로 말하면 임의의 0이 아닌 상수 w에 대해 (x, y)를 (wx, wy, w)로 표현하는 것입니다. 즉, homogeneous 좌표계에서 스케일(scale)은 무시되며 (x, y)에 대한 homogeneous 좌표 표현은 무한히 많이 존재하게 됩니다. 마찬가지로, 3차원의 경우에는 (X, Y, Z)를 (X, Y, Z, 1) 나 (wX, wY, wZ, w)로 표현합니다." (참조. https://darkpgmr.tistory.com/78)
+ 위의 글 내용 처럼 차원의 수를 한 차원 더 표현 가능하게끔 한다고 생각하면 쉽게 와닿을 것 같습니다.
+ 위에서 2차원 포인트 x를 3차원 포인트 X로 표현한 것이 homogenerous coordinate로 표현한 것이라고 할 있음
- 식을 다시 풀어내면 아래와 같이 풀어낼 수 있음
+ 앞에 λ는 depth parameter 이며, 2차원 point를 homogenerous coordinate 로 표현하게되면 [x,y,1] 이 우측의 식으로 풀어서 적을 수 있음
Ⅲ. Pixel coodinate
- 앞에서 이해한 homogeneous coordinate에 대한 생각은 잠시 접어두고, pixel의 좌표에 대해서 생각을 해보자.
+ Pixel corrdinate의 한 점(x')은 image plane의 한 점(x)에서부터 올 수 있음
+ 아래의 수식과 같이 정의 될 수 있음
> 해당 수식을 이해하기 위해서는 linear algebra 내용 중 "rigid transformation", "affine transformation" 내용을 알아야함.
> 간단하게 Sx, Sy를 통해서, x/y 축 값이 scaling 되어짐
> 또한, Ox,Oy를 통해서 Translation 되어짐
Ⅳ. Pinhole camera model
- 아래의 내용에서 pinhole camera에 대한 모델은 아래 수식 "λx = kfπ0X" 로 표현 가능
- pixel coordinate의 한 점 x'은 kf(*위에서 설명된 행렬)와 Image plane의 한 점 x의 행렬곱으로 표현 가능
- 위 두 내용을 종합하여 하나의 식으로 나타내면 "λx' = kskfπ0X" 로 나타낼 수 있음
+ ks 행렬과 kf 행렬을 곱하게 되면, 아래와 같은 행렬을 도출 가능하며 해당 행렬을 K라고 표현
→ 이때, K 행렬은 Calibration matrix 라고 하며, camera의 intrinsic parameter 를 의미
- π0 행렬은 projection 행렬
- 최종적으로 "λx'=kπ0X=πX"를 도출 가능
+ 이때 "πX"을 pinhole's projection matrix 라고 함
Ⅴ. 3D Point → 2D point
- 아래와 같이 3D, 2D의 Homogeneous coordinate는 X, x 처럼 나타 낼 수 있음(*'T'는 Transpose를 의미)
- 위에서 pinhole's projection matrix를 가져와서 식을 풀어보면, 최종적으로 "λx'=K(R|T)Xw"를 도출 가능
+ 여기서 잊지말아야 하는 부분은 Projection의 시작은 "World cooridnate"에서 시작이 된다는 점
+ "(R|T)" 는 Rotation, tlanslation 을 의미하는 Rigid 변환 행렬을 의미
> world coordinate 에서 camera coordinate로 변환하기 위해서는 필요하겠지요?
+ 참고할 만한 사이트 : https://darkpgmr.tistory.com/
'영상처리 > Computer vision' 카테고리의 다른 글
Stereo vision (0) | 2022.10.01 |
---|---|
Image processing(3) (0) | 2022.09.26 |
Image processing(2) (0) | 2022.09.25 |
Camera Calibration (0) | 2022.09.22 |
Computer vision 및 Camera model(part 1) (0) | 2022.09.15 |
댓글