240 likes | 365 Views
MAKING MINIMAL SOLVERS FAST. Zuzana Kukelova , Martin Bujnak , Tomas Pajdla. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A. Motivation. Require fast solvers. Robotics. Placeholder text. Recognition & Tracking. Placeholder text.
E N D
MAKING MINIMAL SOLVERS FAST ZuzanaKukelova, Martin Bujnak, Tomas Pajdla TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAAA
Motivation • Require fast solvers Robotics Placeholder text Recognition & Tracking Placeholder text Augmented reality 3D Reconstruction
Motivation Camera geometry problems - calibration, relative/absolute pose estimation Systems of polynomial equations x1 x2 R,t
Camera geometry problems Properties Requirements • all “non-degenerate” instances of the problem result in systems of equations of the same form - consisting of the same polynomials and differing only in coefficients • Contaminated input measurements => problems have to be solved for many different inputs (RANSAC) • High or even real-time performance Solve many instances of the same problem, of the same system of polynomial equations only with different coefficients, very fast Conclusion
Complicated systems 5-point relative pose problem
General methods Existing software – well known general Grőbner basis or resultant algorithms Reliable but SLOW!
Specific methods • Design special algorithms to achieve numerical robustness and computational efficiency • Not general • Fast !!! • Intersection ellipse-line • No need to use general algorithms • Closed form solution
Specific methods Offline phase • Offline phase • Study the problem • Solve it in some finite prime field • Design a specific efficient solver • Needs to be performed only once • Online solver • Efficient solver for solving systems of polynomial equations of one form • Not general but fast • This is what the user call Online phase
Grőbner basis specific methods 3. G-J emination of the template 2.Elimination template design 4. Eigenvalue computations Offline phase • Parameters identification • Number of solutions, basis • Computations in finite prime field - fast, stable • Elimination template design • Which polynomials should be multiplied with which monomials and eliminated to obtain the solution 1.Parameters identification • Eigenvalue computations • Computation of eigenvalues and eigenvactors of the action matrix created from the eliminated template Online phase • G-J elimintation of the found template • With concrete coefficients
15min 25min Offline phase • Offline phase & Elimination template – hard to understand and implement • Requires knowledge from algebraic geometry Quotient ring 1+1=? field multiplication matrix ideal xy2+7y+..
Automatic generator • Equations • List of unknowns • List of known coeffs Offline phase • Final “online” solver
How to make the final solver fast 3. G-J emination of the template 2.Elimination template design 4. Eigenvalue computations 4. Eigenvalue computations Offline phase • Reduce the size of the elimination template • Kukelova Z., Bujnak M., Pajdla T., Automatic Generator of Minimal Problem Solvers, ECCV 2008, Marseille, France, October 12-18, 2008. 1.Parameters identification • The slowest part • Idea: Exchange it for computation of roots of a single-variable polynomial using Sturm-sequences • Bujnak M., Kukelova Z., Pajdla T., Making Minimal Solvers Fast, CVPR 2012. Online phase • Sparse G-J elimintation of the found template
Grőbner bases of the ideal • System of input polynomial equations • Theideal generated by is a setof all polynomials that can be generated as polynomialcombinations of where are arbitrary polynomials from +
Grőbner bases of the ideal • An ideal can be generated by many different sets of generators which all share the same solutions + ++ • Grőbner bases - special bases • Useful in solving system of polynomial equations
Grőbner bases of the ideal Lexicographic GB Graded Reverse Lex GB • Contains polynomial in one variable • Very expensive to compute • Not feasible for computer vision problems • Doesn’t contain a single variable polynomial • Special multiplication matrix – eigenvalues & eigenvectors give solutions • Easier to compute • Used to solve CV problems
1. FGLM conversion algorithm • We have the Graded Reverse Lexicographic GB and multiplication (action) matrix We have • We want the variable polynomial from the Lexicographic GB We want • Well known FGLM algorithm for converting grevlex GB to Lexicographic GB • Needs polynomial division • Doesn’t bring a speed up over eigenvalue computations Solution
New Matrix FGLM algorithm • Replace time consumingpolynomial division performed in standard FGLM algorithm with efficient matrix-vector multiplication using the action matrix Trick • New Matrix FGLM algorithm • To obtain a single variable polynomial for a system with solutions • matrix-vector multiplications • Solve system of linear equations in unknowns • Solve single variable polynomial using efficient Sturm-sequences Algorithm • Significant speedup over the eigenvalue computation • Only feasible solutions – positive feasible focal lengths, depths or radial distortion coefficients Positives
2. Characteristic polynomial method • We have a multiplication (action) matrix for multiplying with some variable • Eigenvalues of this action matrix give solutions to We have • We want a single variable polynomial We want • Characteristic polynomial of the action matrix • Krylov’s method • Faddeev-Leverrier method • Danilevsky method Solution
2. Characteristic polynomial method • Faddeev-Leverrier method • Well-known method, compute traces of matrices • Suffers from a large numerical instability Faddeev • Krylov’s method • Based on Cayley-Hamilton theorem • Equivalent to the proposed matrix FGLM algorithm • Computes - for some matrices may be unstable Krylov • Danilevsky method • Transforms input matrix to its companion matrix by s− 1 similarity transformations • very efficient and numerically stable Solution
Speedup over the eigenvalue method • 5-point relative pose problem • Nister – SOTA “closed form solution” • GB+eig – standard Grőbner basis solution with eigenvalue computation • New “single variable polynomial”solutions – • ~5x speedup over GB+eig • Comparable to the closed form solution • Nister • GB+eig • Faddeev • mFGML • Danilevsky • 10.6μs • 61.2μs • 17.2μs • 13.7μs • 14.2μs
Speedup over the eigenvalue method • 6-point focal length relative pose problem • New “single variable polynomial”solutions • ~8x speedup over GB+eig • GB+eig • mFGML • Danilevsky • 176.3μs • 21.3μs • 22.6μs
Speedup over the eigenvalue method • P4P+f absolute pose problem • New “single variable polynomial”solutions – • ~3x speedup over GB+eig • GB+eig • Sparse GB • Faddeev • mFGML • Danilevsky • 127.4μs • 82.9μs • 51.2μs • 46.2μs • 47.4μs
Conclusion • Many problems in computer vision and other fields require fast solvers of systems of polynomial equations • General methods – not feasible • Specific solvers – not general but fast • Automatic generator of Grőbnerbasis solvers • New methods for speeding up Grőbner basis solvers • Matrix FGLM method + Sturm sequences • Characteristic polynomial method + Sturm sequences • Significant speed up over existing GB solvers
http://cmp.felk.cvut.cz/minimal THANK YOU FOR YOUR ATTENTION