The Perspective View of 3 Points

```The Perspective View of
3 Points
bill wolfe
CSUCI
Fischler and Bolles 1981
“Random Sample Consensus” Communications of the ACM, Vol. 24, Number 6, June, 1981
•
•
•
•
•
•
•
Cartography application
Interpretation of sensed data
Pre-defined models and Landmarks
Noisy measurements
Averaging/smoothing does not always work
Inaccurate feature extraction
Gross errors vs. Random Noise
Example (Fischler and Bolles)
RANDSAC
Poison Point
Least Squares
image
position and orientation of
camera in world frame
camera
world
landmarks
Location Determination Problem
Location Determination
Problem
• Variations:
– Pose estimation
– Inverse perspective
– Camera Calibration
– Location Determination
– Triangulation
Applications
•
•
•
•
•
Computer Vision
Robotics
Cartography
Computer Graphics
Photogrammetry
Assumptions
• Intrinsic camera parameters are known.
• Location of landmarks in world frame
are known.
• Correspondences between landmarks
and their images are known.
• Single camera view.
• Passive sensing.
Strategy
camera
measured/
calculated
landmarks
world
known
How Many Points are Enough?
• 1 Point: infinitely many solutions.
• 2 Points: infinitely many solutions, but
bounded.
• 3 Points:
– (no 3 colinear) finitely many solutions (up to 4).
• 4 Points:
– non coplanar (no 3 colinear): finitely many.
– coplanar (no 3 colinear): unique solution!
• 5 Points: can be ambiguous.
• 6 Points: unique solutions (“general view”).
1 Point
2 Points
A
CP
B
Inscribed Angles are Equal
http://www.ies.co.jp/math/java/geo/enshukaku/enshukaku.html
CP
CP
q
q
A
CP
q
B
3 Points
A
s2
LA
C
LB
LC
s3
s1
B
C
LC
s2
qCA
qBC
CP
LB
B
qAB
s3
s1
LA
s 12  L2A  L2B  LA LB cos q AB
C’
s 22  L2B  L2C  LB LC cosq BC
s 32  L2A  L2C  LA LC cosq AC
A
B’
A’
Image Plane
Bezout’s Theorem
• Number of solutions limited by the product of the
degrees of the equations: 2x2x2 = 8.
• But, since each term in the equations is of degree 2,
each solution L1, L2, L3 generates another solution
by taking the negative values -L1, -L2, -L3.
• Therefore, there can be at most 4 physically
realizable solutions.
Algebraic Approach
reduce to 4th order equation
(Fischler and Bolles, 1981)
s 12  L2A  L2B  LA LB cos q AB
s 2  L  L  LB LC cosq BC
2
2
B
2
C
s 3  L  L  LA LC cosq AC
2
2
A
2
C
G 0  G1 x  G 2 x  G 3 x  G 4 x  0
2
3
4
http://planetmath.org/encyclopedia/QuarticFormula.html
Iterative Approach
s2
s3
s1
slide
Iterative Projections
http://faculty.csuci.edu/william.wolfe/csuci/articles/TNN_Perspective_View_3_pts.pdf
Geometric Approach
CP
The Orthocenter of a Triangle
http://www.mathopenref.com/triangleorthocenter.html
4 solutions
when CP is
directly over
the orthocenter
CP
The Danger Cylinder
CP
Why is the Danger Cylinder Dangerous in the P3P Problem? C. Zhang,
Z. Hu, Acta Automatiica Sinica, Vol. 32, No. 4, July, 2006.
“A General Sufficient Condition of Four Positive
Solutions of the P3p Problem”
C. Zhang, Z. Hu, 2005
“Complete Solution Classification for the Perspective-ThreePoint Problem”
X. Gao, X. Hou, J. Tang, H. Cheng
IEEE Trans PAMI Vol. 25, NO. 8, August 2003
4 Coplanar Points
(no 3 colinear)
“Passive Ranging to Known Planar Point Sets”
Y. Hung, P. Yeh, D. Harwood
Camera
IEEE Int’l Conf Robotics and Automation, 1985.
Q2
CP
Q3
Q0
Object
P2
P3
Q1
W
P0
L
P1
P0_Cam = k0*Q0_Cam
P0_Obj = <0,0,0>
P1_Cam = k1*Q1_Cam
P1_Obj = <L,0,0>
P2_Cam = k2*Q2_Cam
P2_Obj = <0,W,0>
P3_Cam = k3*Q3_Cam
P3_Obj = <L,W,0>
Camera
Object
P2
P3
Q2
CP
Q3
Q0
Q1
k0*Q0_Cam = P0_Cam
W
P0
L
P1
(P1_Cam - P0_Cam) + (P2_Cam - P0_Cam) = (P3_Cam - P0_Cam)
Camera
Object
P2_Cam
P3_Cam
CP
P0_Cam
P1_Cam
P0_Cam = k0*Q0_Cam
P1_Cam = k1*Q1_Cam
P2_Cam = k2*Q2_Cam
P3_Cam = k3*Q3_Cam
(P1_Cam - P0_Cam) + (P2_Cam - P0_Cam) = (P3_Cam - P0_Cam)
(k1*Q1_Cam - k0*Q0_Cam) + (k2*Q2_Cam - k0*Q_Cam) =
(k3*Q3_Cam - k0*Q0_Cam)
(k1*Q1_Cam) + (k2*Q2_Cam - k0*Q_Cam) = (k3*Q3_Cam)
let ki’ = ki/k3
(k1’*Q1_Cam) + (k2’*Q2_Cam - k0’*Q0_Cam) = Q3_Cam
-k0’*Q0_Cam + k1’*Q1_Cam + k2’*Q2_Cam = Q3_Cam
Three linear equations in the 3 unknowns: k0’, k1’, k2’
Camera
Object
P2
P3
CP
W
P0
L
P1
| P3_Obj - P0_Obj | = |P3_Cam - P0_Cam| = | k3*Q3_Cam - k0*Q0_Cam |
k3 = | P3_Obj| / | k0’ * Q0_Cam - Q3_Cam |
Orientation
Unit_x = (P1_Cam - P0_Cam)/ | P1_Cam - P0_Cam |
Unit_y = (P2_Cam - P0_Cam) / |P2_Cam - P0_Cam|
Unit_z = Unit_x X Unit_y
Homgeneous Transformation
H=
Unit_x
Unit_y
Unit_x
0
0
0
P0_Cam
1
Summary
• Reviewed location determination problems
with 1, 2, 3, 4 points.
• Algebraic vs. Geometric vs. Iterative
methods.
• 3 points can have up to 4 solutions.
• Iterative solution method for 3 points.
• 4 coplanar points has unique solution.
• Complete solution for 4 rectangular points.
• Many unsolved geometric issues.
References
•
•
•
•
•
•
•
Random Sample Consensus, Martin Fischler and Robert Bolles,
Communications of the ACM, Vol. 24, Number 6, June, 1981
Passive Ranging to Known Planar Point Sets, Y. Hung, P. Yeh, D.
Harwood, IEEE Int’l Conf Robotics and Automation, 1985.
The Perspective View of 3 Points, W. Wolfe, D. Mathis, C. Sklair, M.
Magee. IEEE Transactions on Pattern Analysis and Machine
Intelligence, Vol. 13, No. 1, January 1991.
Review and Analysis of Solutions of the Three Point Perspective
Pose Estimation Problem. R. Haralick, C. Lee, K. Ottenberg, M.
Nolle. Int’l Journal of Computer Vision, 13, 3, 331-356, 1994.
Complete Solution Classification for the Perspective-Three-Point
Problem, X. Gao, X. Hou, J. Tang, H. Cheng, IEEE Trans PAMI Vol.
25, NO. 8, August 2003.
A General Sufficient Condition of Four Positive Solutions of the
P3P Problem, C. Zhang, Z. Hu, J. Comput. Sci. & Technol., Vol. 20,
N0. 6, pp. 836-842, 2005.
Why is the Danger Cylinder Dangerous in the P3P Problem? C.
Zhang, Z. Hu, Acta Automatiica Sinica, Vol. 32, No. 4, July, 2006.
```