310 likes | 817 Views
비전기반 HRI. Epipolar Geometry Ref. Multiple View Geometry in CV Chap.9, Chap 11. X. P. P ’. x. x 1 `. C`. C. Two-view geometry. Two perspective views 의 geometry 1 st view / 2 nd view. X : 3D, “ Secne ” structure “ pre-image ”. 1 st view. 2 nd view.
E N D
비전기반 HRI Epipolar Geometry Ref. Multiple View Geometry in CV Chap.9, Chap 11
X P P’ x x1` C` C Two-view geometry • Two perspective views의 geometry • 1st view / 2nd view X : 3D, “Secne” structure“pre-image” 1st view 2nd view x, x’ : 2D, “Image point”“Imaged scene” point
X P P’ x x1` C` C • Question • Correspondence geometry 1st view에서 x가 주어졌을 때, 2nd view에서 대응되는 점 x’의 좌표? • Camera geometry {xi -> x’i}, i =1,2,…,n 가 주어졌을 때 P, P’ ? • Scene geometry x->x’, P, P’ 이 주어졌을 때 X ?
l’ l e e’ EpipolarGeometry • Epipolar Geometry of two-view • “a point in one view defines an epipolar line in the other view on which the corresponding point lies” Baseline : CC’ Epipole: image plane과 camera center의 교점 Epipolar plane: baseline을 포함하는 평면 Epipolar line : image plane과 epipolar plane 의 교점 X x’ x baseline 1st view 2nd view
Epipolar Geometry • 두 view에서 각각의 epipolar line은 서로 대응 Baseline : CC’ Epipole : image plane과 camera center의 교점 Epipolar plane: baseline을 포함하는 평면 Epipolar line : image plane과 epipolar plane 의 교점
Epipolar Geometry • Camera의 internal parameter와 상대적 위치에만영향 • 예) Motion parallel to the image plane translation은 image plane에 평행하고, rotation은 image plane에 수직할 경우 image plane과 baseline의 교점이 infinite epipole도 infinite Baseline : CC’ Epipole: image plane과 camera center의 교점 Epipolar plane: baseline을 포함하는 평면 Epipolar line : image plane과 epipolar plane 의 교점 translation이 x축에 평행한 경우
Fundamental Matrix, F • Fundamental Matrix , F • “epipolar geometry의 수학적 표현” point line • x l’F • 3x3 matrix • Rank 2 • 7 DOF
(2) (3) Geometric derivation of F F: x l’ x’TFx=0 • Step 1: Point transfer via a plane • Step 2: Constructing the epipolar line (1) X1 l’ xi xi’ C e e’ C`
Geometric derivation of F F: x l’ x’TFx=0 x’ = Hπx F = [e’]x Hπ • Skew-symmetric matrix, [a]x • F = [e’]x Hπ: 2D 1D, rank 2
Y X ? Z x C X P Algebricderivation of F F: x l’ x’TFx=0 x’ = Hπx F = [e’]x Hπ • Back-projection of points to ray P+x
Algebric derivation of F F: x l’ x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ P’C 는 2nd image의 epipoleHπ= P’P+
Example F: x l’ x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I • 1st camera에서 world-origin을 가지고 camera matrix, P = K[I|0], P’ = K’[R|t] 일 경우
Correspondence condition F: x l’ x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ • F는 Two image에서 corresponding points x ↔x’ 에 대해 을 만족해야 함 • 만약 x ↔x’ 라면 x’은 x에 대응되는 epipolar line (l’ = Fx) 위에 존재 camera matrix없이 F를 계산(chap. 10)최소 7개의 correspondence필요
Properties of F F: x l’ x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ e’TF=0, Fe = 0 • Transpose : F ~ (P,P’) FT ~(P’,P) • Epipolar lines : l’=Fx , l= FTx’ • The epipole : x’TFx=0 e’T(Fx) = (e’TF)x = 0 for all xe’TF = 0 (즉, e’은 F의 left null-space) Fe = 0 (즉, e는 F의 right null-space) • 7 DOF, 3X3 homogenous matrix1 DOF가 없어지면 det F = 0 • F is a correlation no inverse mapping
The epipolar line homography F: x l’ x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- • Epipole line간의 Correspondence • a. li ↔ l’I: baseline을 축으로 하는 평면들의 집합(pencil)으로 정의 할 수 있다. • b. 이러한 corresponding line들은 baseline위의 어느 한 점(p)를 중심으로 perspective 한 관계에 있다
F arising from special motion • “special motion” • Translation 방향(t)와 Rotation 축의 방향(a)간 특정관계가 있는 가운데 일어나는 경우 • “Pure translation” : no rotation • “Pure planar motion” : t가 a에 orthogonal • “pure” : no internal parameter change • 중요성 : 실제로 많이 발생 이런 경우 F는 특정한 형태, 추가적 성질
Pure translation x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ e’TF=0, Fe = 0 • 예) 카메라는 고정된 상태에서 object가 –t만큼 translation 하는 경우 • 3차원의 모든 점들은 t에 평행한 직선위로 움직이고, 이미지 상에서 이러한 평행한 직선들의 교차점은 t방향에서의 vanishing point v가 된다.
Pure translation x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ e’TF=0, Fe = 0 • 예) Epipole이 고정된 상태에서의 motion • 두 이미지는 같은 coordinate을 갖으며, 이미지 위의 점들은 epipole로부터 방사하고 있는 line을 따라 움직임, 이 경우에 epipole을 Focus of Expansion(FOE)라고 함
Pure translation x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ e’TF=0, Fe = 0 • Pure translation , P=K[I|0] , P’=K[I|t]일때 가 됨 카메라의 translation이 x축에 평행 하다면e’ = (1, 0, 0)T, F는 • corresponding point들 간의 관계, x’TFx = 0은 y=y’로 정리됨. 즉, epipolar line들은 각각 수평선들과 대응됨 image rectification
x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ e’TF=0, Fe = 0 • 실제로 image point x가 x = (x, y, 1)T로 normalized 되어 있다면, 로 부터, 3차원 point의 좌표는, Z : 그 3차원 점 X의 depth • Motion • motion은 t의 크기와 1/Z 에 의존 • x에서 “start”한 image point는 x에 의해 정의되는 line을 따라 움직임 • epipole e = e’ = v
x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ e’TF=0, Fe = 0 • General motion • 임의 2대 카메라가 있을 때, 2nd카메라와 정렬시키기 위해 1st카메라를 rotation하는 경우 • 이 rotation을 1st image를 projective transform(H)를 적용하여 볼 수 있음, 이 결과와 2nd image 는 서로 “Pure translation”의 관계
x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ e’TF=0, Fe = 0 • P = K[I|0] , p’=K’[R|t]라면 • x가 normalized 되었다면 Rotation 의 영향
Pure planar motion x’TFx=0 x’ = Hπx F = [e’]x Hπ P’C = e’, PC = 0 Hπ = P’P+ PP+ = I ---------------- F= [e’]x Hπ= [e’]x P’P+= [e’]x K’RK-1= K’-TRKT[e]x ---------------- l’ = Fx , l=FTx’ e’TF=0, Fe = 0 • rotation축이 translation 방향에 직각인 경우 • 만약 K’ = K라면 F의 symmetric part FS는 rank 2, 를 가지므로 F의 constraint에 FS = 0이라는 조건이 추가F의 DOF가 1 줄어 6이 됨 • Cf ) general motion의 경우F의 symmetric part FS 는 full rank따라서 F의 DOF 는 7
Computation of the F • 8-point Algorithm • Fundamental matrix • Form of the Linear equations • Matrix A must have rank at most 8, and if the rank is exactly 8, then the solution is unique • A의 rank가 8이상이면 least-squares solution방법으로 해를 구한다. • The least-squares solution for f is the singular vector corresponding to the smallest singular value of A, that is, the last column of V in the SVD
Computation of the F • 8-point Algorithm • The singularity constraint • Matrix F is that it is singular, in fact of rank 2 • If the matrix F is not singular then computed epipolar lines are not coincident. • Linear equations에서 A의 SVD를 이용해서 구한 F는 일반적으로 rank가 2가 아니다. • Solution : Frobenius norm
Computation of the F • Normalized 8-point Algorithm • 8-point algorithm의 핵심은 normalization에 있다. • Matrix T 는 translation과 scaling으로 이루어진 Matrix이다. • T 를 구하는 방법 • Centroid of the reference points is at the origin of the coordinates • RMS distance of the points from the origin is equal to
Computation of the F The normalized 8-point algorithm
Computation of the F • Algebraic minimization Algorithm • F is computed by minimizing the norm subject to • M : non-singular matrix • [e]x : skew-symmetric matrix • E : epipolein the first image • E : a 9*9 matrix • 를 최소화하기 위해 e를 변화 시킴(LM algorithm)
Computation of the F Algebraic minimization Algorithm
Computation of the F • Gold standard geometric algorithm • Noise in image = Gaussian distribution • Geometric distance • : measured correspondences • : estimated “true” correspondences • Minimization of the error is carried out using the Levenberg-Marquardt algorithm. • An initial estimate of the parameters is computed using the normalized 8-point algorithm