
(멀티플 뷰 지오메트리) Lecture 12. Generalized cameras
2022, Apr 20
- 참조 : https://youtu.be/PUgr2VKlNbc?list=PLxg0CGqViygP47ERvqHw_v7FVnUovJeaz
- 참조 : https://youtu.be/HuxLHhvdBLY?list=PLxg0CGqViygP47ERvqHw_v7FVnUovJeaz
- 참조 : https://youtu.be/E-YXFI5xzNM?list=PLxg0CGqViygP47ERvqHw_v7FVnUovJeaz
- 참조 : Multiple View Geometry in Computer Vision







plucker vector
설명: https://en.wikipedia.org/wiki/Pl%C3%BCcker_coordinates

- 위 그림에서 d 는
direction vector
이고 m 은moment vector
를 의미합니다.






Plucker Vector
의Rigid Transformation
을 적용하면direction vector
q 와moment vector
q′ 는 다음과 같이 변환될 수 있습니다.
- p′=Rp+t
- qtransformed=Rq
- q′transformed=p′×qtransformed=(Rp+t)×(Rq)=(Rp)×(Rq)+t×(Rq)=R(p×q)+t×(Rq)=Rq′+t×Rq=Rq′+[t]×Rq
-
따라서 위 슬라이드의 행렬과 같이 표현할 수 있습니다.
- [R0[t]×RR][q1q′1]=[Rq1[t]×Rq1+Rq′1]
- 한 쌍의 선이 교차할 때의 필요 충분 조건에 대하여 다루어 보도록 하겠습니다. 필요 충분 조건에 대한 수식 증명을 위해서는 아래 식을 증명해야 합니다.
- qTbq′a+q′Tbqa=0
- 위 식을 증명하기 위하여 두 선 La 와 Lb 를 다음과 같이 표현해 보겠습니다.
- La=pa+taqa(ta is scalar.)
- Lb=pb+tbqb(tb is scalar.)
- 이 때, 두 선 La,Lb 가 교차한다면 다음과 같이 식을 적을 수 있습니다.
- pa−pb=tbqb−taqa
- 따라서 벡터 pa−pb 는 qa,qb 벡터의
span
된plane
상에 존재함을 알 수 있습니다.
- 지금부터 qTbq′a+q′Tbqa=qa(q′b)T+qTbq′a=0 식에 대한 유도를 진행해 보도록 하겠습니다.
- q′a=pa×qa
- q′b=pb×qb
- qa(q′b)T+qTbq′a=qa⋅(pb×qb)+qb⋅(pa×qa)
- 스칼라 삼중적 성질을 이용하면 a⋅(b×c)=b⋅(c×a) 이므로 위 식을 다음과 같이 변형할 수 있습니다.
- qa(q′b)T+qTbq′a=qa⋅(pb×qb)+qb⋅(pa×qa)=pb⋅(qb×qa)+pa⋅(qa×qb)=pb⋅(qb×qa)−pa⋅(qb×qa)=(pb−pa)⋅(qb×qa)
- 이 때, pa−pb 는 qa,qb 의 선형 결합으로
span
된 평면 상에 존재하는 벡터임을 앞에서 확인하였습니다. 그리고 qb×qa 는 qa,qb 에 의해 만들어진 평면과 직교합니다. - 따라서 pa−pb 는 qa,qb 에 형성되는 평면상에 존재하고 (qb×qa) 는 평면과 직교하므로 pa−pb 와 (qb×qa) 또한 직교합니다. 따라서 다음 식을 만족해야 합니다.
- qa(q′b)T+qTbq′a=(pb−pa)⋅(qb×qa)=0
- 앞에서 두 선이 교차한다는 조건인 pa−pb=tbqb−taqa 식을 사용하였으므로 두 선이 교차할 때, qa(q′b)T+qTbq′a=0 이 만족함을 확인할 수 있습니다.
- 선들이 교차하는 경우, 선 위의 점들 사이의 벡터는
direction vector
에 의해 형성되는 평면에 있기 때문에 스칼라 삼중곱은 0이 되어야 합니다. 따라서 필요 조건을 만족함을 확인하였습니다. 반대로 qaq′b+qTbq′a=0 인 경우에 앞에서 보인 바와 같이 선들이 교차하므로 충분 조건을 만족합니다. 따라서 필요 충분 조건을 만족함을 알 수 있습니다.

- 앞에서 유도한 식을 이용하여 위 슬라이드의 식을 전개해 보도록 하겠습니다.
- qa(q′b)T+qTbq′a=qTbq′a+qa(q′b)T⇒qT2q′1+q1(q′2)T=0
- ⇒qT2([t]×Rq1+Rq′1)+(q′2)Tq1=0(∵q′1=[t]×Rq1+Rq′1)
- ∴qT2[t]×Rq1+qT2Rq′1+(q′2)Tq1=0
- 따라서 행렬로 표현하면 다음과 같이 표현할 수 있습니다.
- [q2q′2]T[ERR0][q1q′1]=0

- 이전 슬라이드에서 유도된 식을
Generalized epipolar geometry
라고 하며 이 식의 의미와 형태는 앞선 강의에서 다룬Epipolar geometry
와 일치합니다. - 이와 같은 이유로 [ERR0] 는
generalized essential matrix
로 불립니다. - 다음 슬라이드의 내용과 연결 짓기 위하여
Generalized epipolar geometry
의 식을 아래와 같이 풀어서 써보겠습니다.
- q1=[q11q12q13]
- q′1=[q′11q′12q′13]
- ∴[q1q′1]=[q11q12q13q′11q′12q′13]
- [ERR0]=[e11e12e13r11r12r13e21e22e23r21r22r23e31e32e33r31r32r33r11r12r13000r21r22r23000r31r32r33000]
- [q2q′2]T[ERR0][q1q′1]=[q21q22q23q′21q′22q′23][e11e12e13r11r12r13e21e22e23r21r22r23e31e32e33r31r32r33r11r12r13000r21r22r23000r31r32r33000][q11q12q13q′11q′12q′13]=q′11q21r11+q′11q22r21+q′11q23r31+q′12q21r12+q′12q22r22+q′12q23r32+q′13q21r13+q′13q22r23+q′13q23r33+q′21q11r11+q′21q12r12+q′21q13r13+q′22q11r21+q′22q12r22+q′22q13r23+q′23q11r31+q′23q12r32+q′23q13r33+e11q11q21+e12q12q21+e13q13q21+e21q11q22+e22q12q22+e23q13q22+e31q11q23+e32q12q23+e33q13q23

- 이전 슬라이드에서 q1,q′1,q2,q′2 는 알고 있는 값인 반면 [ERR0] 에 정의된 E,R 의 각 원소는 미지수인 상황입니다. 이전 강의에서 살펴본 바와 같이
Epipolar Geometry
에서Essential Matrix
의 값을 추정해야 하는 상황이거나Levenberg-Marquardt
알고리즘을 이용하여R
값을 추정하는 내용등을 상기시키면 이해가 될 것입니다. - 17 페이지 슬라이드에서 최종적으로 풀어쓴 식에서 rij 또는 eij 가 미지수이고 이 미지수에 곱해진 계수들을 분리하여 식을 정리해 보고자 합니다. 이 때, 계수들은 a 로 표시하고 미지수는 g 로 표시하겠습니다. 다음과 같습니다.
- a=[q11q21q12q21q13q21q11q22q12q22q13q22q11q23q12q23q13q23q′11q21+q′21q11q′12q21+q′21q12q′13q21+q′21q13q′11q22+q′22q11q′12q22+q′22q12q′13q22+q′22q13q′11q23+q′23q11q′12q23+q′23q12q′13q23+q′23q13],g=[e11e12e13e21e22e23e31e32e33r11r12r13r21r22r23r31r32r33]
- 위 식에서 [q2q′2]T[ERR0][q1q′1]=aTg=0 을 만족해야 하므로 아래의 식과 같이 적을 수 있습니다.
- aTg=[q11q21q12q21q13q21q11q22q12q22q13q22q11q23q12q23q13q23q′11q21+q′21q11q′12q21+q′21q12q′13q21+q′21q13q′11q22+q′22q11q′12q22+q′22q12q′13q22+q′22q13q′11q23+q′23q11q′12q23+q′23q12q′13q23+q′23q13]T[e11e12e13e21e22e23e31e32e33r11r12r13r21r22r23r31r32r33]=q′11q21r11+q′11q22r21+q′11q23r31+q′12q21r12+q′12q22r22+q′12q23r32+q′13q21r13+q′13q22r23+q′13q23r33+q′21q11r11+q′21q12r12+q′21q13r13+q′22q11r21+q′22q12r22+q′22q13r23+q′23q11r31+q′23q12r32+q′23q13r33+e11q11q21+e12q12q21+e13q13q21+e21q11q22+e22q12q22+e23q13q22+e31q11q23+e32q12q23+e33q13q23
- 따라서 [q2q′2]T[ERR0][q1q′1]=aTg 가 됨을 알 수 있습니다.







-
16 페이지의 식을 참조하면 위 슬라이드의
GEC (Generalized Epipolar Geometry Contraints)
를 정의할 수 있습니다. - qT2[t]×Rq1+qT2Rq′1+(q′2)Tq1=0
- ⇒qT2Eq1+qT2Rq′1+(q′2)Tq1=0
- ⇒xTiEx′i+xTiR(v′i×x′i)+(vi×xi)Tx′i=0





- 만약 E=0,R=I 라면 다음과 같이
GEC
의 해를 만족합니다.
- xTi(vi×x′i)+(vi×xi)Tx′i=(x′i)T(xi×vi)+(vi+xi)Tx′i(∵a⋅(b×c)=c⋅(a×b))=−(x′i)T(vi×xi)+(vi×xi)Tx′i(∵a×b=−b×a)=0




















- 위 슬라이드에서 LC=τCWLW 를 변환할 때, τCW 는 LW=[UTWVTW] 를 LC=[UTCVTC] 로 변환하기 위해 다음과 같이 정의 됩니다.
- PC=RCWPW+tCW
- UC=PC×VC=(RCWPW+tCW)×(RCWVW)=(RCWPW)×(RCWVW)+tCW×(RCWVW)=(RCW)(PW×VW)+tCW×(RCWVW)=RCWUW+tCW×(RCWVW)=RCWUW+(⌊tCW⌋×RCW)VW
- VC=RCWVW
- ∴LC=τCWLW=[RCW⌊tCW⌋×RCW03×3RCW]LW










