Perspective Projection I

 

vanishing lline - we can measure in the image

 

[horizon]

the plane on the ground (ground plane 이 교차하는 무한대 지점)

 

if you point to the right, where you form a vector from himself to the points and image(vanishing point), 

that ray extends out. If that ray is physically parallel to all the rays in the physical space(parallel to each other)

 


 

 

동차좌표(homogenous coordinates) 개념으로 수식화 하기

 

[projective plane]

- 2D image plane을 보되, virtual observer가 image plane을 바라보는 지점

- 왜 projective plane의 동차좌표 상에서 보고자 하는 것인가? // point in infinity의 좌표를 쓰는 데 편리, 점으로 선을 이루고자 할 때도 편리

 

 

2D 이미지를 보면 모든 점은 x,y 좌표로 표현됨

- x,y 를 plane 위에 있는 사람이 아닌 어느 정도 거리를 두고 이미지를 바라보고 있는 관찰자로 보기

- 관찰자의 위치를 (0, 0, 0)라고 하고, image plane이 일정 거리를 두고 위치함

따라서 이미지 위 점은 단순한 점이 아니라 관찰자(0, 0, 0)로부터 뻗어가는 ray라고 생각할 수 있음

(x, y) 좌표는 동차좌표계의 (x, y, 1) 세 숫자로 생각할 수 있음 - image plane 과 관찰자의 거리가 1 

 "every point is associated with a ray"

 

위와 같은 방식으로 이미지 상의 선은 어떻게 나타낼 수 있을까?

선은 ray들의 집합으로 이루어졌다고 볼 수 있음 - 각 ray는 (x, y, z) 로 나타낼 수 있음

모든 ray는 ax + by + cz = 0 성립

- 여기서 a, b, c는 무엇?

원점에서 뻗어나간 ray들이 plane을 이루게 됨 (보라색) - 이 plane 은 surface normal 를 가짐 - a, b, c

 

*surface normal : 물체의 표면을 구성하는 폴리곤으로부터 수직 방향으로 뻗어나오는 벡터

 

Perspective Projection II

(a, b, c) 그리고 (x, y) 로 image plane 위 선을 나타내기

- 선을 plane 이라고 생각하기

- plane 의 surface normal 을 l 이라고 부르기 - ray들에 수직하는 벡터 - (a, b, c)

- 두 개의 점 x, x'가 주어졌을 때, x, x'는 3차원 ray 라고 볼 수 있음

 

we define a line as the homogeneous coordinates of the lines - x 곱하기 x'

x가 선 위에 있으므로 x · l = 0 , 즉 x · (x * x') = 0  같은 방식으로 x' · (x * x') = 0 

 

(x, y)에 점 P2 대입해서 간단하게 c 근사값을 구해봄

이때 두 점을 이용하여 x * x' , 즉 cross(P1, P2) 하여 l 을 구할 수 있음

 

l 이 (a, b, 0) 라면?

: a and b are vectors in a plane.

 

 

To think about it, imagine the points not pointing at 0,0,1, but slightly off. So, in fact, it has some coordinates which is not 0 in the first three elements. That's a plane which is tilting just slightly. Such that it will intersect with the image plane at very, very far away. So we can think of, when this tilting plane becomes eventually parallel to the image plane, the intersection, in fact, happens at infinity. And this is going to cross the line at infinity, and corresponding to the horizon that we will see. This is the horizon of the image plane, but  not the horizon that we're seeing of the horizon in the picture itself.

 

~~ how two points form a line ~~

 

How lines form a point?

--> intersect in a point. plane이나 image 위 두 선이 주어졌을 때 intersection을 어떻게 찾나요?

--> 동차좌표계에서는 image 를 단순 plane이 아니라, 원점으로부터 일정 거리 떨어진 3차원 오브젝트로 생각할 수 있음

이미지의 line은 원점을 지나가는 set of plane. 빨간색 선의 surface normal 은 L1

P는 빨간색 선과 초록색 선의 교차점이므로, P는 plane 위에 놓여있으며 L1과 수직관계

L1과 P는 수직

한편, P가 초록선 위에 있다고 생각할 때, 초록색 선이 형성하는 plane은 초록색 선의 surface normal과 수직관계

따라서 P는 초록색 선의 surface normal(L2) 과 수직관계를 나타냄

즉, 원점 ~ 두선의 교차점 P에 이르는 ray는 L1과 L2 모두에 대해서 수직이다

따라서 L1 과 L2 사이에서 plane 을 형성한다면 P는 그 plane 에 대해서도 수직이다

아래와 같은 수식으로 나타낼 수 있음

'인공지능 > pose estimation' 카테고리의 다른 글

Rotations and Translations  (0) 2022.05.09
Point-line Duality  (0) 2022.05.09
Glimpse on Vanishing Points  (0) 2022.05.06
Single View Geometry/More on Perspective Projection  (0) 2022.05.06
Camera modeling  (0) 2022.05.06
복사했습니다!