
(멀티플 뷰 지오메트리) Lecture 7. The fundamental and essential matrices
2022, Apr 20
- 참조 : https://youtu.be/eJnG1vwGJkE?list=PLxg0CGqViygP47ERvqHw_v7FVnUovJeaz
- 참조 : https://youtu.be/mNThwULGR-g?list=PLxg0CGqViygP47ERvqHw_v7FVnUovJeaz
- 참조 : https://youtu.be/7QYq7qNkmtg?list=PLxg0CGqViygP47ERvqHw_v7FVnUovJeaz
- 참조 : https://youtu.be/WQvJICS3Ecc?list=PLxg0CGqViygP47ERvqHw_v7FVnUovJeaz
- 참조 : Multiple View Geometry in Computer Vision
- Lecture 7에서는
fundamental matrix
와essential matrix
내용을 다룹니다. 이 개념들을 통하여 카메라 간의 관계를 정의하기 위한 기본적인 개념을 익힐 수 있습니다.
- 먼저 본 강의 내용에 앞서 다음 내용을 간략히 숙지하면 이해하는 데 도움이 됩니다.
epipolar geometry
란 2개이상의 카메라에서 카메라 간의 관계를 추정하는 것으로 생각할 수 있습니다.- 만약 카메라가 2개라면 스테레오 비전 또는 2-view라고 하며 스테레오 비전에서의 두 카메라의 관계를
epipolar geometry
로 표현할 수 있습니다. 아래 그림과 같습니다.

- 위 그림에서 동일한 3차원의 점인 P 를 서로 다른 두 카메라에서 획득하였을 때, 매칭 쌍 (p,p′) 사이의 기하학적 관계를 다룹니다. 먼저 위 그림에 각 기호에 대한 설명을 하면 다음과 같습니다.
- P(P′) : 이미지 상에 맺힐 3차원 공간 상의 점을 의미합니다.
- C,C′ : 각 영상의 카메라 센터점을 의미합니다.
- base line : 카메라의 센터점을 이은 선을
base line
이라고 합니다. C,C′ 의 거리가 가까운 경우를narrow base line
이라고 하고 거리가 먼 경우를wide base line
이라고 합니다. - p,p′ : 각 영상에서 P(P′) 가 투영된 점을 의미합니다.
- e,e′ : 반대 영상의 카메라 센터점에서 해당 영상의 이미지 상에 맺힌 점을 의미합니다. 이 점을
epipole
이라고 합니다. - l,l′ : 각 영상에서
epipole
( e,e′ )과 이미지 상의 점 ( p,p′ )를 이은 선을 의미합니다. 이 선을epolar line
이라고 합니다.
- 위 그림에서 C 와 C′ 간의 3차원 위치 관계인 [R|T] 와 p 를 알더라도 3차원 공간 상의 점 P 에 대한 실제 깊이 (
depth
) 를 알지 못하면 유일한 p′ 를 결정하지 못합니다. - 반면에 P 는 C 와 p 를 잇는
ray
상에 존재하므로 이 선이 반대 영상에 투영된epipolar line
l′ 은 유일하게 존재합니다. - 이 때, A 이미지에서 B 이미지로 대응되는
epipolar line
( l′ ) 의 관계를 나타내는 행렬이 F,E 이며 각각Fundamental Matrix
,Essential Matrix
라고 합니다.
Essential Matrix
E 는normalized image plane
에서의 매칭쌍들 사이의 기하학적 관계를 설명하는 행렬을 의미하고Fundamental Matrix
F 는 카메라 파라미터 까지 포함한 두 이미지의 실제 픽셀 좌표 사이의 기하학적 관계를 표현하는 행렬을 의미합니다. 따라서 E 는 F 의 특수한 형태라고 생각할 수 있습니다.
- 두 이미지 평면 간의 기하학적 관계가 E,F 가 주어지고 두 이미지 평면상의 매칭쌍 p,p′ 가 주어질 때, 3D 공간 상의 좌표 P 를 결정할 수 있습니다. 따라서 스테레오 비전에서의 깊이 (
depth
)를 구할 수 있습니다.
- 상세 내용은 본 강의 내용을 통하여 자세하게 살펴보도록 하겠습니다.













- 이번 슬라이드에서는
Fundamental Matrix
를 유도하기 위하여 필요한 각 요소 값들을 소개합니다. 필요한 값은 P,P′,P+,C,x 의 의미입니다. 3차원 좌표 X(λ) 를 P,P′,P+,C,x 값을 이용하여 표현함으로써 각 성분의 의미를 먼저 이해해 보도록 하겠습니다. - 위 식에서
Projection Matrix
P,P′ 는 각각 임의의 3D 포인트 X 를 이미지 I,I′ 에 투영하는 3×4 크기의 행렬을 의미합니다. - 반면 P+ 는 P 의
Pseudo-Inverse
행렬을 의미하며 3×4 행렬의 역행렬을 구하기 위하여Pseudo-Inverse
를 이용하여 구합니다. 따라서 P+ 는 4×3 크기의 행렬이며 이미지 좌표 x 를 역투영 (back-project
) 하는 역할을 합니다. - 3차원 상에서의 카메라 원점을 의미하는 C 는 X(λ) 를 표현할 때, 방향 벡터 형태로 사용됩니다.
homogeneous coordinate
에서 (XC,YC,ZC,1) 형태로back-project
시 방향 벡터로 사용되며 그 스케일은 λ 를 이용하여 조절합니다. - 정리하면 P+x 점을 시작 (origin) 으로 하여 카메라 원점에서 뻣어나가는 방향의
ray
C 를 λ 만큼 뻣어나간 것이 3D 포인트 점 X(λ) 가 됩니다.






- 하나의 3D 물체를 두 이미지에 각각 투영하여 얻은 점을 x,x′ 라고 하였을 때, 지금까지 살펴본
Fundamental Matrix
F 와 x,x′ 를 이용하여 다음과 같은 식을 나타낼 수 있습니다.
- x′TFx=0
- 이와 같이
Fundamental Matrix
를 통하여 위 식과 같은 조건을 만족하면 x,x′ 를corresponding points
관계라고 말할 수 있습니다. 위 식이 만족하는 이유는 슬라이드의 Proof 부분을 보면 쉽게 이해할 수 있습니다. 위 관계를 성립하기 위하여 l′=Fxepipolar line
을 이용합니다. 간략히 살펴보면 다음과 같습니다.
- ① Definition of l′: 두번째 이미지에서의
epipolar line
l′ 는 첫번째 이미지의 포인트 x 와 F 행렬을 통해 만들어집니다. l′=Fx - ② Point on the Line : x′ 는 x 의
corresponding point
이기 때문에 반드시epipolar line
l′ 상에 있어야 합니다.homogeneous coordinate
에서 x′ 가 l′ 상에 있으면 x′Tl′=0 으로 표현할 수 있습니다. - ③ Substitue l′ : x′Tl′=x′T(Fx)=0
- 식 x′TFx=0 은
epipolar constraint
라고도 불립니다.epipolar constraint
는 첫번째 이미지에서의 임의의 점 x 와 F 가 두번째 이미지에서 만들어내는epipolar line
상에 두번째 이미지에서 x 와corresponding point
관계인 x′ 가 존재한다는 조건입니다. epipoelar constraint
는multiple view geometry
의 가장 기본적이면서도 중요한 개념입니다.corresponding points
를 이용하여Stereo Matching
,3D reconstruction
과 같은 분야를 접근할 수 있기 때문입니다.

epipolar constraint
x′TFx=0 의 관계를 구하기 위해서는Fundamental Matrix
F 를 알아야 합니다. F 를 알기 위해서는 카메라 파라미터 정보와 상관 없이corresponding points
인 x,x′ 의 관계들만을 필요로 합니다.- 그러면
Fundamental matrix
F 를 구하기 위하여 필요한corresponding points
의 갯수에 대하여 간략히 알아보겠습니다. 상세 내용은 본 글의 뒷부분에서 다룰 예정입니다.
- 참조 : https://stackoverflow.com/questions/49763903/why-does-fundamental-matrix-have-7-degrees-of-freedom
Fundamental Matrix
F 는 3×3 크기를 가지는 행렬이므로 9 개의 값을 가집니다. 따라서 9개의 자유도를 가지기 때문에 9 개의corresponding points
가 필요한 것으로 보이지만Fundamental Matrix
는 7개의 자유도인7-DOF
를 가지므로 7개의corresponding points
를 필요로 합니다.- 7개의 자유도를 가지는 이유는
Fundamental Matrix
의scale ambiguity
와rank-2 constraint
와 연관되어 있습니다. scale ambiguity
는 스케일 값에 무관함을 나타내며 F 와 αF(α≠0) 가 같은 의미를 가지는 행렬이므로 이러한scale ambiguity
가 발생합니다. 이 컨셉은homogeneous coordinate
에서 충분히 많이 다룬 개념입니다. 수식으로 좀 더 자세히 살펴보면 다음과 같습니다.
- x=[uv1]T
- x′=[u′v′1]T
- F=[f1f2f3f4f5f6f7f8f9]
- x′TFx=0
- 위 식을 풀어서 정리해 보면 다음과 같습니다.
- uu′f1+vu′f2+u′f3+uv′f4+vv′f5+v′f6+uf7+vf8+f9=0
- 위 식을 AF=0 형태로 나타내면 A 와 F 는 다음과 같습니다.
- AF=0
- A=[uu′vu′u′uv′vv′v′uv1]
- F=[f1f2f3f4f5f6f7f8f9]
- 행렬 A 를 살펴보면 8개의 미지수가 있고 위 예시에서는 1이라는 상수가 한개 있습니다. 이 값이 1이기 때문에 이미 미지수를 풀 수 있는 하나의 정보는 주어졌고 이 정보가
scale
에 관한 정보입니다. 1은 f9 와 곱해지고 f9 가scale
에 해당합니다. - 만약 1이 아니라 α 라는 값이 적용 된다면 A 의 모든 원소에 α 를 곱하여 AF=0 을 만족시킬 수 있습니다. 따라서 이 값을 통해
scale ambiguity
의 성질을 만족시킬 수 있습니다.
- 두번째로
rank-2 constraint
에 관한 것입니다. l′=Fx 를 통하여 임의의 점 x 에 F 를 곱하면 선 형태인epipolar line
을 얻을 수 있음을 확인하였습니다. 즉, F 는 모든 column 또는 row 성분이 independent 한full rank
행렬이 아니기 때문에 점이 선으로 변환될 수 있습니다. (만약full rank
행렬이면 l′=Fx 를 얻을 수 없고 Fx 는 포인트가 되어야 합니다.) full rank
가 아닌 행렬은determinant
가 0이 되기 때문에 다음과 같이 식을 전개해 볼 수 있습니다.
- F=[f1f2f3f4f5f6f7f8f9]
- det(F)=(f1∗f5∗f8)+(f2∗f6∗f7)+(f3∗f4∗f8)−(f3∗f5∗f7)−(f2∗f4∗f9)−(f1∗f6∗f8)=0by determinant formula
- 식 det(F)=0 에서 단 하나의 미지수를 제외하고 다른 미지수의 해를 구하면 나머지 하나의 미지수는 자동으로 결정되기 때문에 자유도가 하나 줄어들게 됩니다.
- 따라서
scale ambiguity
로 인하여 f9 의 결정이 필요 없어져서 자유도가 1 감소되는 것과 det(F)=0 조건으로 인한 자유도 1 감소로Fundamental Matrix
는7 DoF
를 가지게 됩니다.
- 추가적으로
rank 2
가 가지는 의미와rank 1
을 가지면epipolar constraint
을 만족할 수 없음을 보이면 다음과 같습니다.
- 먼저
rank 2
가 가지는 기하학적인 의미입니다. - ①
Point-to-Line Mapping
- ②
Epipolar Constraint
- 다음으로
rank 2
가 가지는 대수적인 의미입니다. - ①
Rank Deficiency
- ②
Null Vectors
- ③
Non-Invertibility
- 다음으로
rank 1
을 가지면epipolar constraint
을 만족할 수 없는 이유를 설명하겠습니다. - ①
Rank Deficiency
: 3×3 행렬이rank-1
을 가지면 column (또는 row) 들 중 하나만 의미가 있으며 나머지는 linear combination을 통해 만들어 지는 것은 의미합니다. 따라서 단일 선 (single line
) 만을span
할 수 있습니다. - ②
Point-to-Point Mapping
: 3차원에서rank-1
행렬은 모든 포인트들을 단일 선에 매핑되도록 축소시킵니다.Fundamental Matrix
와 관련하여,rank-1
행렬의 의미는 한 이미지의 모든 점이 다른 이미지의 단일 점으로 매핑되는 것을 의미하므로 적합하지 않습니다. - ③
Loss of Epipolar Constarint
:rank-1
행렬에서epipolar constraint
x′TFx=0 식은 만족하지만 기하학적인 의미는 만족하지 못합니다. 왜냐하면 이미지의 모든 점들에 대하여 고정된epipolar line
만 존재하기 때문에 실제 사용하고자 하는 3D 조건에 부합하지 못합니다.
- 지금까지 살펴본
Fundamental Matrix
의 성질에 대하여 몇가지 살펴보도록 하겠습니다.

- 먼저
Transpose
성질에 대하여 살펴보도록 하겠습니다. F 는 (P,P′) 와 (P′,P) 양쪽에 모두 적용될 수 있습니다. (P,P′) 에 대한 관계를 F 로 나타날 때, (P′,P) 는 FT 로 나타낼 수 있습니다. 이러한 대칭 관계가 성립하는 이유는epipolar geometry
에서 두 이미지 간의 역 관계가 성립하기 때문입니다. 역관계를 살펴보면 다음과 같습니다.
- x′TFx=0
- (x′TFx)T=0
- (x′TFx)T=xTFTx′=0
- 다음으로
Epipolar lines
성질에 대하여 살펴보도록 하겠습니다. 관련 내용은 앞에서 다룬 내용입니다. l′=Fx 로 정의되는epipolar line
은 두번째 이미지에 형성되며 첫번째 이미지의 포인트 x 에 대응됩니다. - 반대 방향으로 l=FTx′ 로 식을 적용할 수 있습니다. l 은 첫번째 이미지에 형성되는
epipolar line
이고 두번째 이미지의 포인트 x′ 에 대응됩니다. - 2가지 방향 모두 아래 식과 같이
epipolar constrain
을 통해 정의될 수 있습니다.
- x′TFx=(x′T)(Fx)=(x′T)l′=0
- xTFTx′=(xT)(FTx′)=(xT)l=0
- 다음으로
Epipole
성질에 대하여 살펴보도록 하겠습니다. - 두번째 이미지의 임의의
epipolar line
l′=Fx 은epipole
e′ 를 포함하고 있습니다. 왜냐하면 두번째 이미지의epipole
은 첫번째 이미지를 촬영한 카메라의 센터점이기 때문에 l′ 는 항상 e′ 에 수렴하게 되어있습니다. 이 원리는 반대 방향도 동일하게 적용됩니다. - 다음으로
Epipole
과Fundamental Matrix
의 관계를 살펴보면 다음과 같습니다. 다음 수식을 살펴보겠습니다.
- e′T(Fx)=(e′TF)(x)=0
epipole
e′ 는epipolar line
l′ 상에 있기 때문에 위 식과 같이 적을 수 있습니다. 그리고 x 는 영벡터가 아닌 유효한 이미지 포인트이기 때문에 (e′TF)=0 를 만족해야 위 식을 만족시킬 수 있습니다.- 따라서 e′ 는 F 에 대하여
left null-vector
가 됩니다.
- 반대 방향으로 적용하면 다음과 같습니다.
- eTFTx′=x′TFe=x′T(Fe)=0
- 같은 논리로 e 는 F 에 대하여
right null-vector
가 됩니다.

- 앞에서 설명한 바와 같이 F 는
7-DOF
를 가집니다. 9개의 elements 중scale ambiguity
와Rank-2 constraint
로 2개의 DOF가 제외되어 최종적으로7-DOF
를 가지게 됩니다.
Fundamental Matrix
는 임의의 포인트 x 를epipolar line
l′ 로 변환하는 행렬입니다. 즉, 점을 선으로 매핑하는 관계를 가지게 됩니다.- 첫번째 카메라에서 형성되는 l 과 두번째 카메라에서 형성되는 l′ 은
corresponding epipolar lines
라고 부르며 l 선상에 있는 임의의 점 x 를 F 통해 매핑하였을 때, l′ 선상에 위치하게 됩니다. 물론 그 반대 관계도 성립합니다. - 이와 같은 점 → 선으로의 매핑 관계를 가지므로 역관계는 가질 수 없습니다. (1:1 대응이 되지 않기 때문입니다.) 이와 같은 조건이 F 가
full rank
가 될 수 없는 이유이기도 합니다.

- 지금까지 살펴본
Fundamental Matrix
내용을 살펴보면 위 표와 같습니다.
- 이번 강의에서는 앞의 강의에서 다룬
Fundamental Matrix
를 이용하여 개념을 좀 더 확장해 보도록 하겠습니다. - 먼저
Epipolar Line
의 관계를 정의하는Epipolar Line Homography
부터 다루어 보도록 하겠습니다.

corresponding epipolar line
인 l 과 l′ 가 있고epipole
e 를 통과하지 않는 임의의 선 k 가 있다고 가정하겠습니다. 이 때, l′=F[k]×l 을 만족하며 F[k]× 는 l 과 l′ 사이의 관계를 정의하는homography
역할을 합니다.- 대칭 관계를 이용하면 l=FT[k′]×l′ 을 만족합니다.
- 이 관계가 성립하는 이유는 간단히 [k]×l=k×l=x 가 성립하기 때문입니다. 즉
epipolar line
과 임의의 선 k 의cross product
를 통해 교차점에서 x 를 도출해 낼 수 있습니다. (교차점이기 때문에 x 는 l 상에 존재합니다.) - 따라서 F[k]×l=Fx=l′ 를 만족하며 그 결과 x 와 l 에 대응되는
epipolar line
l′ 가 됨을 알 수 있습니다.
- 따라서 l 과 l′ 간의 변환 관계인
homography
는 F[k]× 와 FT[k′]× 가 됨을 알 수 있었습니다.

- 위 그림과 같이 li 는 l′i 와 대응되는 관계입니다. 앞에서 이러한 관계를
correspondence
라고 언급하였었습니다. 대응되는epipolar lines
는 각각의 이미지에서epipole
e 와 e′ 를 공통적인 교점으로 가지고 있습니다. 이와 같이 하나의 공통 요소를 가지고 있는 집합을pencil
이라고 부릅니다. 따라서 위 그림은pencil of epipolar lines
를 나타냅니다. epipolar line
li 와 l′i 그리고base line
을 통해plane
을 만들 수 있습니다. 각 대응되는epipolar line
을 통해 다양한plane
을 만들 수 있고 공통 요소인base line
을 가지므로 이렇게 만들어진plane
을pencil of planes
라고 합니다. 물론 공통 요소는base line
이 됩니다.

base line
상의 임의의 점 p 를 중심으로 두 이미지 I,I′ 에 대하여 선을 긋는 상황을 살펴보도록 하겠습니다.pencil of epipolar lines
과epipole
e 를 통과하지 않는 임의의 선 k 와 교차하는 점을 이미지 I,I′ 에 검은 점으로 표현하였습니다. 점 p 에서 부터 I,I′ 의 검은 점을 연결하는 직선을 그엇다고 가정하겠습니다.- 두 이미지 I,I′ 간의 점들이
homography (Perspective Transform)
변환 관계이므로 점들 간의 cross-ratio는 만족함을 알 수 있습니다.
- 슬라이드에서
1D homography
는 다음을 만족하는homography
를 의미합니다.
- l′=Hll′l
- l=[a,b,c]T=e+td
- l′=[a′,b′,c′]T=e′+t′d′
- t : scale parameter
- d : direction vector

- 이번에는
Pure Translation
이 발생하였을 때의Fundamental Matrix
를 살펴보도록 하겠습니다.Pure Translation
이라고 하면 하나의 카메라를 이동시켰을 때,Rotation
은 발생하지 않고 단순히Translation
만 발생한 경우를 의미합니다. 카메라 하나를 이용한 2개의 이미지 이므로intrinsic
K 는 하나입니다. - 20p 슬라이드 내용을 통하여
Fundamental Matrix
F 를 다음과 같이 정의할 수 있었습니다.
- F=[e′]×K′RK−1
- 여기서 R=I 가 되고 K′=K 이므로 식을 다음과 같이 정리할 수 있습니다.
- F=[e′]×K′RK−1=[e′]×KIK−1=[e′]×
skew-symmetric
형태의 [e′]× 는epipole
의 값에 의해 결정됩니다.epipole
e′ 는 (x′,y′,1) 의 좌표값을 가지므로2-DOF
를 가지게 됩니다. 즉, e′ 좌표값에 의해Fundamental Matrix
가 결정됩니다.
- F=[e′]×=[0−1y′10−x′−y′x′0]
skew-symmetric
n×n 행렬에서 n 의 크기가 홀수이면 최대rank
는 n−1 임이 알려져 있습니다.skew-symmetric
행렬의 정의는 다음과 같습니다.- ① A=−AT
- ② All diagonal elements are zero.
- 따라서 행렬 A 는 다음과 같이
determinant
를 적용할 수 있습니다.
- det(A)=det(−AT)=(−1)ndet(A)
- det(A)=−det(A)(∵n=3 is odd.)
- ∴det(A)=0
- 위 식과 같이 det(A)=0 를 만족하므로 최대
rank
는 n−1 이 되고 앞에서 다룬 바와 같이Fundamental Matrix
의rank
3−1=2 를 만족하게 됩니다.

Pure Translation
조건에서 다음 조건이 만족함을 확인할 수 있습니다.
- l′=Fx=[e′]×x
- 그리고 x′ 는 l′ 상에 존재하므로 다음과 같이 식을 적을 수 있습니다.
- x′T[e′]×x=0
- 위 식을 해석하면 x′ 와 e′ 는 같은 선상에 있고 (
epipolar line
) 심지어 x 또한 같은 선상에 있으므로 x,x′,e=e′ 가 같은 선상에 있는 것으로 이해할 수 있습니다. 따라서collinear
관계임을 확인할 수 있습니다.

- 참조 : https://www.geeksforgeeks.org/python-opencv-epipolar-geometry/
- 현재 다루고 있는
Pure Translation
의 경우 위 그림과 같이 2개의 이미지가 평행한 상태입니다. - 위 그림과 같이 두 이미지 평면이 평행할 때 두 카메라 중심을 연결하는 기준선이 이미지 평면과 평행하므로
epipole
e 와 e′ 는 무한대에 위치하고epipolar line
은 각 이미지 평면의 u 축과 평행합니다. - 이전 강의에서 무한대에 존재하는 점을
point at infinity
라고 하였으며vanishing point
라는 이름으로 다루기도 하였습니다. 즉, 평행하는 두 이미지의epipole
은vanishing point
가 됩니다.

- 위 예시는
Pure Translation
을 가정한 예시입니다. 카메라는 고정인 상태로 세상만 −t 만큼translation
하였다는 가정입니다. - 앞의 슬라이드에서 다루었듯이
Pure Translation
상태에서는 x,x′,e 가 모두collinear
함을 확인하였습니다. 따라서 두 직육면체의 대응되는 점들을 이어서 선을 만들었을 때, 그 선이 모이는 지점의vanishing point
가epipole
e 가 됩니다. e 에서pencil of epipolar lines
가 형성되는 것을 볼 수 있습니다.

- 두번째 예시에서도
Pure Translation
임을 가정합니다. 따라서 카메라 이동 발생 시 카메라 중점 C 의 위치는collinear
한 상태로 이동하게 됩니다. 따라서 e=e′ 를 만족합니다. Pure Translation
이 발생하였으므로epipolar line
또한 그대로 유지됩니다. 하지만 x,x′ 는 카메라의 움직임 때문에 실제 이미지 상의 위치는 옮겨질 것입니다. 따라서correspondent point
인 x,x′ 는Pure Translation
시 이미지 상의 위치 이동은 발생하되epipolar line
을 따라서 움직이게 되어epipolar line
은 그대로 유지됩니다.










- 40p에서 보여준 바와 같이
canonical form
형태의 행렬 P 와 그에 대응되는 행렬 P′ 를 이용할 때, F=[a]×A 가 됨을 확인하였습니다. 같은 논리로 F=[˜a]טA 또한 만족합니다. - 그리고 벡터 a 의
cross product
a×a=0 이기 때문에 다음과 같이 식이 유도될 수 있습니다.
- aTF=aT[a]×A=0
- ˜aTF=˜aT[˜a]טA=0
Fundamental Matrix
F 는 앞에서 살펴본 바와 같이rank
가 2이므로null-space
를 가집니다.- 따라서 aTF=˜aTF=0 에서 a,˜a 각각은 같은 F 에 대한
null-space
를 가지므로 ˜a=ka 와 같이dependent
하게 표현할 수 있습니다. - 또는 ˜aTF=˜aT[a]×A=0 을 항상 만족하기 위해서는 ˜aT[a]× 가 항상 0 을 만족해야 하므로 이 조건을 만족하기 위해서는
cross proudct
가 0이 되는 ˜a=ka 조건을 만족해야 하는 것으로도 해석할 수 있습니다. - 따라서 ˜a=ka 를 이용하면 다음과 같이 식을 전개할 수 있습니다.
- [a]×A=[˜a]טA
- [a]×(k˜A−A)=0
- 위 식을 만족하려면 [a]× 와 a 의
cross product
연산을 통해 항상 0 벡터가 만들어 질 수 있도록 구성해야 합니다. 따라서 k˜A−A=avT 로 정의할 수 있습니다. 이 때, v 는 임의의 벡터입니다. 정리하면 ˜A 는 다음과 같습니다.
- ˜A=k−1(A+avT)






- 앞의 21p 슬라이드를 살펴보면 F=[e′]×P′P+=K′−T[t]×RK−1 을 전개하는 방법에 대하여 다루었습니다. 따라서 49p의 슬라이드에 해당하는 내용을 다음과 같이 전개할 수 있습니다.
- F=K′−TEK−1=K′−T[t]×RK−1
- E=[t]×R

- 앞에서 살펴본 바와 같이
Essential Matrix
를 결정하기 위해서는 R 과 t 만 결정되면 됩니다. R 의 경우scale
이 없으며 각 축의 방향으로의 회전량이 정해지면 되기 때문에 3개의 자유도를 가집니다. - 반면 t 의 경우 움직임에 해당하는
Translation
이므로scale
과 연관되어 있습니다. 하지만scale
이 정해질 수 없는scale ambiguity
상황에서는 자유도가 1개 빠지게 되어 2개의 자유도만을 가질 수 있습니다. t 의 경우 s \cdot \hat^{t} 으로 표현할 수 있습니다. 여기서 s 는scale
로 임의의 상수로 가정한 것이고 ˆt 는normalized vector
를 의미합니다. 즉, 방향값만 가지고 있는 벡터라고 보면 됩니다. 식으로 나타내면 다음과 같습니다.
- ˆt=(ˆtx,ˆty,ˆtz)=(tx,ty,tz)√(t2x+t2y+t2z)
이 때, normalized vector
는 ˆt2x+ˆt2y+ˆt2z=1 의 조건을 만족해야 하므로 (ˆtx,ˆty,ˆtz) 중 2개만 만족하면 나머지 하나는 결정됩니다. 따라서 s \cdot \hat^{t} 에서 결정되어야 하는 것은 2개이므로 t 를 구할 때 DoF는 2개가 됩니다.
- 따라서 R 을 구할 때
3 DoF
와 t 를 구할 때2 DoF
로Essential Matrix
는5 DoF
를 가집니다.

- 위 식에서 E=[t]×R 의 각 성분을
SVD
를 적용하면 다음과 같습니다.
- [t]×=UZUT
- R=UXVT
Skew-symmetric matrix
인 [t]× 인 경우 다음과 같은 이유로SVD
시 같은orthogonal matrix
( U ) 로 분해 됩니다.
- A=UΛVT
- ATA=VΛUTUΛVT=VΛ2VT
- 따라서
Skew-symmetric matrix
를SVD
하였을 때, U,V 는 같은 값으로 분해됩니다.
- 반면 R 을
SVD
하였을 때, [t]× 에서 분해된 U 가 R 에도 사용되었습니다. 이와 같이 U 가 같이 사용됨으로 인하여 E=[t]×R 로 묶일 수 있도록 수식이 전개됩니다. - 기하적으로는 동일한 U 를 사용하면
Translation
및Rotation
이 동일한 좌표계에 표시됩니다.SVD
의 UΛVT 에서 U,V 는basis
의 회전으로 나타내고 Λ 는basis
의 스케일 변화를 나타냅니다. (참조 : SVD 의미 해석) - 따라서 최종 R 을 적용하였을 때,
basis
가 U 에 의해 회전되고 t 또한basis
가 U 에 의해 회전되도록 구성되어야 기하학적으로 일관성이 있기 때문에 [t]×R 값이 의미를 가지게 됩니다.








- 위 슬라이드에서 설명하는
Frobenius norm
은 행렬의 크기 및 사이즈 등을 측정하는 척도이며 벡터의 크기를 측정하는 방법과 유사합니다. 대표적으로 사용하는Frobenius norm
의 수학적인 정의는 다음과 같습니다.
- ‖A‖F=√∑i∑j|aij|2
- 위 식은 행렬 A 에 대하여
square root of sum of absolute squares
를 나타냅니다. - 이와 같은 방법으로 크기를 정하는 것은 벡터의
Euclidean (L2) norm
을 구하는 방식과 같으며 단지 행렬에 적용한 것으로 보면 됩니다. - 반면에
Singular Value
를 이용하는 방법도 존재합니다.singular value
가 σ1,σ2,...,σn 일 때,Frobenius norm
은 다음과 같습니다.
- ‖A‖F=√σ21+σ22+...+σ2n
- 이와 같이
Frobenius norm
을 계산하는 방법은 여러가지가 있고 다음과 같은 조건을 만족하면Frobenius norm
이라고 합니다. - ①
Frobenius norm
은 항상 0 또는 양수이어야 합니다. (non-negative
) - ②
Frobenius norm
이 0이면 행렬은 항상 영행렬 이어야 하며 그 역도 성립합니다. - ③
triangle inequality
가 성립합니다. ‖A+B‖F≤‖A‖F+‖B‖F - ④
orthogonal transformation
에 대하여 불변해야 합니다. ‖QAU‖F=‖A‖F(Q,U are orthogonal matrices.)
- 본 슬라이드에서는
Frobenius norm
이 가장 가까운 행렬을 찾는 방법을 이용하여Fundamental Matrix
를 구하는 방법을 사용합니다.



- 참조 : https://www.cs.cmu.edu/~16385/s17/Slides/11.4_Triangulation.pdf















