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.