Homogeneous Coordinates (동차 좌표)와 Projective Geometry (사영 기하학):
1. 개요:
1-1. Homogeneous Coordinates의 정의와 특성:
Homogeneous Coordinates (동차 좌표)는 Euclidean Coordinates (유클리드 좌표) 시스템을 확장하여 Projective Geometry (사영 기하학)에서 사용되는 좌표 시스템임.
- 이는 3차원 또는 2차원 Euclidean Space (유클리드 공간)의 점을 한 차원 더 높은 공간(projective space)에서 표현하는 방법임.
- Projective Space $\mathbb{P}^2$는 평면(2차원)의 점을 homogeneous coordinates로 나타냄.
- $\mathbb{P}^2 = \frac{ \mathbb{R}^3 \setminus \{\textbf{0}\}}{\sim}$ 로 3차원 실수벡터공간 $\mathbb{R}^3$를 scalar multiple에 따른 equivalent class(동치류)로 나눈 quotient space로 정의됨.
- 이는 2차원의 point를 나타내는데 3차원의 Euclidean Space $\mathbb{R}^3$를 기반으로 함:
- 즉, $\mathbb{P}^2$는 3개의 real number의 vector들($\mathbb{R}^3$)로 구성되나,
- 단, $\langle 0,0,0 \rangle$은 포함하지 않음.
- Homogeneous Coordinates (동차 좌표)는 평행선이 무한히 먼 곳에서 교차하는 등의 Projective Geometry (사영 기하학)적 특성을 효과적으로 표현할 수 있음.
2024.07.06 - [.../Math] - [Math] Projective Space: $\mathbb{P}^n$, n차원 투영공간
[Math] Projective Space: $\mathbb{P}^n$, n차원 투영공간
Projective Space$n$ dimension의 real projective space $\mathbb{P}^n$는 다음과 같은 vector space 사에 정의된 quotient space (일종의 vector들의 집합)임.$$\mathbb{P}^n = ( \mathbb{R}^{n+1} \setminus \{\mathbf{0}\} ) / \sim$$$\setminus$ 는
dsaint31.tistory.com
Pinhole 카메라 모델에서 image 평면은 $\mathbb{P}^2$에 해당함!
Scene의 3D 포인트들이 projection(투영, 사영)을 통해 2D image 상의 homogeneous 좌표로 표현됨.
때문에 $\mathbb{P}^2$ 중심으로 이 문서는 설명을 진행한다.
- 여기서 $\mathbb{P}^2$는 2차원 projective space로, 카메라 이미지 상의 모든 점 - finite point($\omega \ne 0$인 점)과 ideal point ($\omega = 0$인 방향의 동치류 or 방향을 나타내는 점) - 을 동차 좌표로 표현하는 공간임.
- 3D scene 상의 포인트는 $\mathbb{P}^3$에 속하며, pinhole projection은 $\mathbb{P}^3 \to \mathbb{P}^2$ 의 mapping을 수행함
1-2. Homogeneous Coordinates의 확장과 변환
Homogeneous Coordinates (동차 좌표) 시스템에서는 2D Euclidean Coordinates (유클리드 좌표) $(x, y)$를 $(x, y, w)$로 확장하고, 3D Euclidean Coordinates (유클리드 좌표) $(x, y, z)$를 $(x, y, z, w)$로 확장함.
- 여기서 $w$ 는 Scaling Factor (스케일링 인자)로, 점의 실제 위치는 $(x/w, y/w)$ 또는 $(x/w, y/w, z/w)$로 계산됨: 보통 1을 선호.
- Homogeneous Coordinates (동차 좌표)의 중요한 특징 중 하나는 Transformation Matrix (변환 행렬)을 사용하여 기하학적 변환을 일관되게 적용할 수 있다는 점임.
- "translation에 의한 비선형성"을 선형으로 바꾸어서 standard matrix 로 변환을 나타낼 수 있게 해 줌.
- 이는 computer graphics, computre vision, robotics, photometrics 등 다양한 분야에서 유용하게 사용됨.
위 그림은 2차원의 점 $(u,v)$ (affine space상의 점)가 어떻게 homogeneous coordinate인 $(\tilde{u},\tilde{v},\tilde{w})$에 대응되는지를 도식적으로 표현함.
위 그림에서 origin을 제외한 line $L$은 바로 $(u,v)$의 homogeneous coordinate가 됨.
- 참고로, origin (0,0,0)은 방향이 없기 때문에 방향을 의미하는 ideal point가 될 수 없음.
- 때문에 projective space에서 (0,0,0)은 속해있지 않음.
추가된 element를 scaling factor라고 부르며, scaling factor 가 0인 경우엔 point가 아닌 vector 를 의미함.
- 이는 projective space에 속한 ideal point 와 같은 형태로 표현됨.
- 하지만 의미는 다름. ideal point는 방향만을 가지며, vector는 크기와 방향을 가짐.
2. Homogeneous Coordinates (동차 좌표)에서의 Point (점)와 Vector (벡터)의 구분
2-1. Point (점)
일반적인 Point (점)은 Homogeneous Coordinates (동차 좌표)로 $(x, y, w)$ 형태로 표현되며, 여기서 $w \neq 0$임.
- 예를 들어, Euclidean Plane (유클리드 평면)의 Point (점) $(2, 3)$ 는 Homogeneous Coordinates (동차 좌표)로 $(2, 3, 1)$로 표현될 수 있음.
- 다른 예로, Point (점) $(4, 5)$ 는 Homogeneous Coordinates (동차 좌표)로 $(4, 5, 1)$, $(8, 10, 2)$, $(12, 15, 3)$ 등으로 표현될 수 있음.
- $w \neq 0$ 인 경우, 이를 Euclidean Coordinates (유클리드 좌표)로 변환할 때 $(x/w, y/w)$로 변환됨.
2-2. Vector (벡터)
Vector (벡터)는 방향과 크기를 가지며, Homogeneous Coordinates (동차 좌표)로 $(x, y, 0)$ 형태로 표현됨.
- Vector (벡터)는 시작점이 없으며 순수한 방향과 크기만을 나타냄.
- 예를 들어, Vector (벡터) $(2, 3)$ 는 Homogeneous Coordinates (동차 좌표)로 $(2, 3, 0)$로 표현됨.
- 다른 예로, Vector (벡터) $(1, 2)$ 는 Homogeneous Coordinates (동차 좌표)로 $(1, 2, 0)$로 표현됨.
Euclidean Geometry (유클리드 기하학)에서는 좌표 $(2, 3)$만으로는 Point (점)인지 Vector (벡터)인지 구분할 수 없으나, 문맥에 따라 구분됨.
- Point (점)은 공간 내의 특정 위치를 나타내는 반면, Vector (벡터)는 시작점과 끝점을 갖지 않고 방향과 크기를 나타냄.
- 예를 들어, Euclidean Geometry (유클리드 기하학)에서 Point (점) $(2, 3)$는 특정 위치를 나타내지만,
- Vector (벡터) $(2, 3)$는 원점에서 시작하여 $(2, 3)$ 으로 향하는 방향과 크기를 의미함.
3. Ideal Point (이상점)의 정의
3-1. Ideal Point의 Homogeneous Coordinates
Ideal Point (이상점, 무한원점)은 Homogeneous Coordinates (동차 좌표)에서 $w = 0$ 인 경우로 방향(orientation)만이 의미가 있음.
- 이는 무한히 먼 곳에 위치하는 점으로, 방향을 나타내는 Vector (벡터)의 형태를 취하나 vector는 아님.
- Ideal Point (이상점)은 $(x, y, 0)$로 표현
- 이는 Vector (벡터)의 Homogeneous Coordinates (동차 좌표) 표현과 동일하나 vector가 아님에 유의.
- 즉, ideal point는 방향만을 나타내며 magnitude가 없음:
- (1,2,0) 과 (2,4,0)은 ideal point인 경우 동일한 표현임.
- 하지만 vector의 경우엔 다른 벡터임.
- 예를 들어, Ideal Point (이상점) $(1, 2)$는 Homogeneous Coordinates (동차 좌표)로 $(1, 2, 0)$로 표현됨.
- $w = 0$이기 때문에 대응되는 Euclidean Coordinates (유클리드 좌표)가 없음.
참고: ideal point와 vanishing point
The image of an ideal point under a projectivity
is called a vanishing point,
the image of an ideal line is called a vanishing line,
and so on.
Vanishing point는 ideal point를 무한한 image plane으로 투영시킨 것이고,
vanishing line은 line at infinity 의 무한한 image plane으로의 투영결과임
(ideal point는 방향을 의미하며 projective space에만 있고, 3차원 scene (Euclidean Space)에는 존재하지 않음.
한 평면에서 평행한 직선들은 같은 Vanishing point와 Ideal point를 가지며, 이들은 이들 직선의 방향 ($\mathbf{D}$)에만 의존함.
이는 다음과 같이 Projection space에서는 평행선의 교차(intersection)가 ideal point에서 이루어짐을 의미함
주의할 것은 ideal point는 실제로 point가 아닌 vector로 방향만을 가지고 있음.
Projective Geometry 에선 모든 평행선들은 ideal point에서 만남 (Euclidean Geometry와 달리 평행의 개념이 없음)
image plane에 평행한 직선들도 ideal point에서 만나지만(=ideal point가 존재), vanishing point는 없음
(이는 vanishing point가 image plane 상의 무한대로 날아갔다고 표현됨)
5-2에 있는 그림의 C에서 오른쪽에서 멀리 vanising point가 존재하는데 완전히 평행해지면 무한대로 가버린다고 생각하면 됨.
3-2. 평행선의 교차
Euclidean Geometry (유클리드 기하학)에서 평행선은 서로 교차하지 않지만,
Projective Geometry (사영 기하학)에서는 무한히 먼 곳에서 교차한다고 간주함.
이 교차점이 바로 Ideal Point (이상점)임.
3-3. Vector와 Ideal Point의 관계
Vector (벡터)는 특정 방향을 나타내며, Ideal Point (이상점) 역시 해당 방향으로 무한히 먼 곳에 있는 점으로 벡터형태로 표시됨.
- 예를 들어, Vector (벡터) $(3, 4)$는 Homogeneous Coordinates (동차 좌표)로 $(3, 4, 0)$로 표현되며,
- 이는 해당 방향의 Ideal Point (이상점)을 나타냄.
4. Homogeneous Coordinates (동차 좌표)에서의 Line (직선)의 표현
4-1. Line의 Homogeneous Coordinates 표현
Homogeneous Coordinates (동차 좌표)에서는 2D 평면의 직선이 세 개의 동차 좌표 $[a, b, c]$로 표현됨.
이는 다음과 같은 방정식을 만족함:
$$ ax + by + cw = 0 $$
- 여기서 $w$ 는 Homogeneous Coordinates (동차 좌표)의 세 번째 좌표임.
- $w$가 0이 아닌 경우, 이는 유한한 위치에 있는 직선을 나타내며,
- $w$가 0인 경우, 이는 Line at Infinity (무한 원선)과 관련된 직선을 나타냄.
참고로, $\mathbb{P}^2$에서 $ax+by+cz+dw=0$의 형태는 line이 아닌 plane을 의미한다.
4-2. 두 점을 잇는 직선 구하기
두 점 $\mathbf{p}_1 = (x_1, y_1, w_1)$ 과 $\mathbf{p}_2 = (x_2, y_2, w_2)$ 를 잇는 직선을 구하기 위해, 두 점의 cross product (외적)을 계산함:
$$\mathbf{l} = \mathbf{p}_1 \times \mathbf{p}_2$$
이 cross product (외적)의 결과로 얻어진 벡터 $\mathbf{l} = (a, b, c)$는 두 점을 통과하는 직선의 방정식을 제공함:
$$ax + by + cw = 0$$
2024.06.28 - [.../Linear Algebra] - [LA] Matrix Multiplication for Cross Product
[LA] Matrix Multiplication for Cross Product
Matrix Multiplication for Cross Product특정 vector와의 cross product를 matric multiplication의 형태로 표현하기도 한다. 벡터 $\mathbf{a}$와 $\mathbf{b}$의 Cross Product(교차곱 or 벡터곱) $\mathbf{a} \times \mathbf{x}$는 다음과
dsaint31.tistory.com
4-3. 두 직선의 교점 구하기
두 직선 $\mathbf{l}_1 = (a_1, b_1, c_1)$과 $\mathbf{l}_2 = (a_2, b_2, c_2)$의 교점을 구하기 위해, 두 직선의 cross product (외적)을 계산함:
$$\mathbf{p} = \mathbf{l}_1 \times \mathbf{l}_2$$
- 이 cross product (외적)의 결과로 얻어진 벡터 $\mathbf{p} = (x, y, w)$는 두 직선의 교점의 Homogeneous Coordinates (동차 좌표)를 제공함.
- 여기서 $w \neq 0$이면 유한한 점에서 교차하고, $w = 0$이면 Line at Infinity (무한 원선)에서 교차함을 의미함.
참고로, $\mathbb{P}^3$에서 이는 두 평면이 교차하는 직선을 구하는 것에 해당하는데, cross product가 $\mathbb{R}^4$에선 정의되어 있지 않음.
각 평면의 normal vector (이는 동차좌표계 아님)들을 구하고, 이 둘을 cross product 시켜 $\mathbf{d} \in \mathbb{R}^3$ (3차원벡터이므로 cross product가능)를 구하고 두 평면의 연립방정식을 만족하는 임의의 한점 $\mathbf{P}_0$를 구해서, 다음으로 직선을 구함.
$$\mathbf{P}(t) = \mathbf{P}_0 +\mathbf{d}$$
[CV] Intersection and Ideal Point; Homogeneous Coordinate and Cross Product
Intersection and Ideal Point이 글에서는 homogeneous coordinates(동차 좌표)와 cross product(교차곱)을 이용하여 두 직선의 교점을 찾는 방법을 다룸.또한, 평행한 직선의 경우에 ideal point(이상점)이 나오는 경우
dsaint31.tistory.com
4-4 Example
두 선분으로부터 vanishin point 구하기
- 선분 $p_1q_1$ 을 포함하는 직선은 $p_1 \times q_1$ 이고,
- 선분 $p_2q_2$를 포함하는 직선은 $p_2 \times q_2$임 (4-2 이용).
- 위의 각 선분은 한 평면에서 평행한 2개의 선이 image에 perspective projection 된 것임.
- 즉, 이 두 직선이 교차하는 곳이 곧 vanishing point 이며, 이는 $(p_1 \times q_1) \times (p_2 \times q_2)$로 구해짐.
- 이는 4-3을 이용함. (두 직선의 교차하는 점을 외적으로 구하는)
2025.07.05 - [Programming/DIP] - Vanishing Point 유도
Vanishing Point 유도
직선의 vector representation:직선의 시작점 $\mathbf{P}_0$ 에서 방향벡터 $\mathbf{D}$ 로 직선 뻗어나가는 모습을 나타냄.직선 위의 임의의 점은 $\mathbf{P}(t) = \mathbf{P}_0 + t\mathbf{D}$ 임.homogeneous coordinates로
dsaint31.tistory.com
5. Line at Infinity (무한 원선)의 의미
5-1. Line at Infinity의 정의
Homogeneous Coordinates (동차 좌표) 시스템에서
$\mathbf{l}_\infty = [0, 0, 1]^\top$는 Line at Infinity (무한 원선)을 나타냄.
- 이는 Projective Geometry (사영 기하학)에서 중요한 개념으로,
- Euclidean Geometry (유클리드 기하학)에서는 무한히 멀리 떨어진 평행선들이 만나는 선을 의미함.
$\mathbb{P}^3$에선 Plane at Infinity $\pi_\infty=[0,0,0,1]^\top$로 확장된다
다시한번 말하지만, 이 문서는 $\mathbb{P}^2$의 경우로 이야기하고 있음.
5-2. Line at Infinity의 특성
Line at Infinity (무한 원선)은 모든 Ideal Point (이상점)을 포함하는 직선임.
- 이는 평면 위의 모든 직선이 각각 무한히 멀리서 수렴하는 점인 ideal points들로 구성된 직선임.
- 같은 평면 상에서 평행한 직선들은 하나의 ideal points로 수렴.
- 같은 평면 위의 모든 직선들은 어느 방향이냐에 따라 각각 ideal points 가 다름.
- 이들 모든 ideal points를 포함하는 직선이 바로 line at infinity임.
- 평면이 다른 경우, 각 평면마다 line at infinity가 다르다는 점을 주의할 것.
- line at infinity는 대응하는 평면과 ideal plane이 교차하는 선임.
- Homogeneous Coordinates (동차 좌표) 시스템에서, 이 Line at Infinity (무한 원선)은 $l_\infty=[0, 0, 1]^\top$로 표현됨.
- 즉, 이 직선은 $w$가 0인 특정 평면의 ideal points를 포함함.
Vanishing point는 하나의 방향을 의미하는 ideal point의 이미지 상 투영이고,
Vanishing line은 하나의 평면의 line at infinity 전체의 투영 결과임.
이를 바탕으로 다음 그림을 통해 ideal point와 line at infinity의 관계를 vanishin point와 vanishing line을 통해 이해할 것.
- b는 복도 평면 상에서 평행한 선들의 두 그룹을 검은색 점선과 흰색 점선으로 표시하고 이 평면의 vanishing line를 검은색 실선으로 표시.
- 같은 평면상에 위치하면 같은 vanishing line을 가짐: 평면에 의해 vanishing line 결정
- c는 두 평행한 평면 (벽)에서 평행한 선들(흰 점선)들이 복도의 검은색 점선과 평행하며, 이들이 같은 vanishing point를 가짐을 보임.
- 평면이 달라도 방향이 같다(평행)면 vanishing point는 동일: 방향에 의해 vanishing point 결정.
- a는 같은 평면(복도)의 직선들이 같은 vanishing line (검은색 실선)을 가짐을 보임.
복도 바닥과 벽면은 각각 독립된 유클리드 평면으로 볼 수 있으며, 각 평면에 포함된 평행한 직선들은 사영 기하학적으로 무한원선(line at infinity) 위의 점(ideal point)을 갖게 됨. 같은 방향을 갖는 직선들(서로 평행)은 서로 다른 평면에 있어도 동일한 vanishing point로 투영되며, 같은 평면 위의 서로 다른 방향들은 각각 다른 vanishing point를 갖지만 모두 같은 vanishing line 위에 존재한다.
5-3. Line at Infinity의 표현 비교
Homogeneous Coordinates (동차 좌표)에서 Line at Infinity (무한 원선)을 $[0, 0, 1]^\top$로 표현하는 경우와 $[0, 0, 2]^\top$로 표현하는 경우는 본질적으로 동일함.
- 이는 Homogeneous Coordinates (동차 좌표)에서 스케일링 인자 $w$ 는 비례적으로 동일한 선을 나타내기 때문임.
- 따라서 $[0, 0, 1]^\top$ 와 $[0, 0, 2]^\top$는 동일한 Line at Infinity (무한 원선)을 의미함.
5-4. Ideal Points와 Line at Infinity
Line at Infinity (무한 원선)은 모든 Ideal Points (이상점)을 포함함.
각 Ideal Point (이상점)은 다음과 같이 표현될 수 있음:
$$\mathbf{p} = (x, y, 0)$$
Ideal Points (이상점)들이 연결되는 Line at Infinity (무한 원선)은 다음과 같은 일반 형태를 가짐:
$$0x + 0y + 1w = 0$$
- 이는 Line at Infinity (무한 원선)의 방정식임.
- 여기서 $w = 0$인 모든 점들은 이 방정식을 만족하며, 따라서 Ideal Points (이상점)들이 모두 이 직선 위에 놓이게 됨.
6. 요약
6-1. Ideal Point의 요약
- Ideal Point (이상점)은 Homogeneous Coordinates (동차 좌표) 시스템에서 Vector (벡터)의 형태 $(w = 0)$를 취하는 무한히 멀리 위치하는 point임: 사실은 방향임.
- 이는 무한히 먼 곳에 위치하며,
- 평행하는 선들이 이 무한히 먼 곳에서 교차하게 됨.
- 결국 평행하는 선들의 방향을 의미.
- Homogeneous Coordinates (동차 좌표)에서 Point (점)와 Vector (벡터)의 차이를 이해함으로써,
- Ideal Point (이상점)이 유한한 위치의 점이 아닌 "방향을 나타내는 무한히 먼 점"임을 명확히 알 수 있음.
6-2. Projective Geometry에서 Homogeneous Coordinates의 이점
- Projective Geometry (사영 기하학)에서는 Homogeneous Coordinates (동차 좌표)를 사용하여
- Point (점)와 Vector (벡터)를 명확히 구분할 수 있어, 변환의 일관성과 계산의 정확성을 높이는 이점이 있음.
- 또한, Line at Infinity (무한 원선)의 개념은
- Projective Geometry (사영 기하학)에서, Euclidean Plane (유클리드 평면) 상의 모든 평행선이 무한히 먼 곳에서 만나게 되는 직선을 의미하며,
- 이는 같은 평면 상에서 평행한 직선이 무한히 멀리서 교차하는 지점인 각 points at infinity 들로 구성됨.
같이 보면 좋은 자료들
https://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/BEARDSLEY/node5.html
Ideal Points and Vanishing Points
Next: About this document Up: Important concepts from projective Previous: Projective Invariants Ideal points on the projective plane are located at infinity, and have coordinates of the form . There is just one free parameter in the coordinates of an idea
homepages.inf.ed.ac.uk
https://deep-learning-study.tistory.com/695
[Geometry] 이상점(Ideal points)와 무한대 선(line at infinity)
평행한 선의 교점(Intersection of parallel lines) 두 평행한 직선은 유클리드 공간에서는 만나지 않지만, 사영 공간 $P^2$에서는 만납니다. 두 선 ax + by + c = 0과 ax + by + c' = 0을 고려하겠습니다. 이 둘은 l
deep-learning-study.tistory.com
[CV] Intersection and Ideal Point; Homogeneous Coordinate and Cross Product
Intersection and Ideal Point이 글에서는 homogeneous coordinates(동차 좌표)와 cross product(교차곱)을 이용하여 두 직선의 교점을 찾는 방법을 다룸.또한, 평행한 직선의 경우에 ideal point(이상점)이 나오는 경우
dsaint31.tistory.com
2024.06.16 - [.../Math] - [Math] Geometry: Euclidean, Projective, Non-Euclidean
[Math] Geometry: Euclidean, Projective, Non-Euclidean
Euclidean Geometry(유클리드 기하학), Projective Geometry(사영 기하학), Non-Euclidean Geometry(비유클리드 기하학)기하학(Geometry)은 공간과 도형의 성질을 연구하는 수학의 한 분야임.기하학은 여러 종류가 있
dsaint31.tistory.com
2024.06.13 - [분류 전체보기] - [CV] Homography 에 대해서
[CV] Homography 에 대해서
Homographic transformation 이란Homographic transformation(호모그래피 변환)은projective transformation(투영 변환) 또는homography(호모그래피)라고도 불리며,한 평면의 점들을 다른 평면의 점들로 매핑하는 기하학적
dsaint31.tistory.com
'... > Math' 카테고리의 다른 글
[Math] Example of Lagrange Method (0) | 2024.06.19 |
---|---|
[Math] Geometry (기하학) : Euclidean, Projective, Non-Euclidean (0) | 2024.06.16 |
[CV] Intersection and Ideal Point; Homogeneous Coordinate and Cross Product (1) | 2024.06.16 |
[Math] Weighted Least Square (1) | 2024.06.13 |
[ML] Bootstrap Sampling (2) | 2024.06.05 |