Ingen bildrubrik

advertisement
Using Algebraic Geometry for
Solving Polynomial Problems
in Computer Vision
David Nistér and Henrik Stewénius
Very Rough Outline
•
•
•
•
•
14:00-15:30 “1st Round", administered by David.
- What is this Tutorial About?
- Motivation, RANSAC, Example Problems
- Gröbner Bases
- Action Matrix
• -15:30-16:00 Coffee break
•
•
•
•
•
16:00-18:00-“2nd Round“, administered by Henrik.
- Background Material
- Gröbner Bases
- Exercises in Macaulay2
-Q&A
What is this Tutorial About?
• If you are interested in solving polynomial
equations, this tutorial is for you
• This tutorial is a ‘real’ tutorial
• The main focus will be on Gröbner bases
and how the theory of Gröbner bases can be
used to solve polynomial equations
History
•
•
•
•
Euclid (325BC-265 BC),
Apollonius (262 BC-190BC),
Descartes (1596-1650),
Fermat (1601-1655)
• Bézout (1730-1783)
• Hilbert’s (1862-1943) Nullstellensatz
I(V( J ))  J
Wolfgang Gröbner (1899-1980) Bruno Buchberger
RISC
Research
Institute for
Symbolic
Computation
Linz, Austria
1966: Ph.D. in mathematics. University of Innsbruck,
Dept. of Mathematics, Austria.
Thesis: On Finding a Vector Space Basis of the Residue Class Ring
Modulo a Zero Dimensional Polynomial Ideal (German).
Thesis Advisor: Wolfgang Gröbner
Bezout’s Theorem
2x2=4
With two variables,
a solution according to
the Bezout bound
can typically be
realized with resultants.
With three or more
variables, things
are less simple.
Mixed Volume, see for example [CLO 1998]
provides a generalization for non-general polynomials.
Resultants
• Provides Elimination
of variables by taking
a determinant
a1x2+a2y2+a3xy+a4x+a5y+a6
b1x2+b2y2+b3xy+b4x+b5y+b6
x3
x3
det
a1


b1


x2
x
1
a3 y  a4
a2 y 2  a5 y  a6
a1
a3 y  a4
b3 y  b4
b2 y 2  b5 y  b6
b1
b3 y  b4


a2 y 2  a5 y  a6 


b2 y 2  b5 y  b6 
[0]

= det 
[0]


x2
x
1
[1] [2]

[0] [1] [2]
= [4]

[1] [2]

[0] [1] [2]
Various States of Mind You May Have, I:
• Skip the theory, what is this all about? –Answers
from David
Useful Theory
2st Quadrant
Useful and Easy
Super!
Easy Theory
1st Quadrant
Useful but Hard
Algebraic Geometry and
Gröbner Bases Difficult Theory
Useless and impossible
Useless and Easy
to penetrate – Unfortunately
survives
3rd Quadrant
4th Quadrant
Useless Theory
Proofs of the Power of Gröbner Bases
•
•
•
•
•
So far, approx. 600 publications and 10 textbooks have been devoted to
Gröbner Bases.
Gröbner Bases are routinely available in current mathematical software
systems like Mathematica, Maple, Derive, Magma, Axiom, etc.
Special software systems, like CoCoa, Macaulay, Singular, Plural, Risa-Asir
etc. are, to a large extent, devoted to the applications of Gröbner Bases.
Gröbner Bases theory is an important section in all international conferences
on computer algebra and symbolic computation.
Gröbner Bases allow, for the first time, algorithmic solutions to some of the
most fundamental problems in algebraic geometry but are applied also in such
diverse areas as functional analysis, statistics, optimization, coding theory,
cryptography, automated theorem proving in geometry, graph theory,
combinatorial identities, symbolic summation, special functions, etc.
Various States of Mind You May Have, II:
• Stop the handwaving, what is the rigorous
theory?
Answers from David and Henrik + books
Suggested Literature
• D. Cox, J. Little, D. O’Shea, Ideals, Varieties,
and Algorithms, Second Edition, 1996.
• D. Cox, J. Little, D. O’Shea, Using Algebraic
Geometry, Springer 1998.
• T. Becker and Weispfennig, Gröbner Bases, A
Computational Approach to commutative Algebra,
Springer 1993.
Suggested Literature
• B. Buchberger, F. Winkler (eds.) Gröbner
Bases and Applications
Cambridge University Press, 1998.
• Henrik’s Thesis: H. Stewénius, Gröbner
Basis Methods for Minimal Problems in
Computer Vision, PhD Thesis, 2005
• Planned scaffolding paper, keep a lookout
on the tutorial web page
Various States of Mind You May Have, III:
• Skip the theory, how do I use it? – Answers
from Henrik, Exercises in Macaulay 2.
RANSAC- Random Sample Consensus
Robust
RANSAC
Least Squares
RANSAC- Random Sample Consensus
Robust
Line Hypotheses
Points
RANSAC
Hypothesis
Generator
Observation
Likelihood
?
Hypotheses
500
Observations
1000
500 x 1000 = 500.000
Preemptive RANSAC
Hypothesis Generation
Observed Tracks
Estimate or
posterior likelihood
output
Hypothesis
Generator
Precise
Formulation
Probabilistic
Formulation
Data Input
Geometry Tools
3D-3D 2D-2D
Absolute Orientation
Triangulation
2D-3D
Pose
2D-2D
Relative Orientation
Bundle Adjustment
Robust Statistics
For Which Problems Did We Use
Gröbner Bases?
No
The 5-Point Relative
Pose Problem
10
Yes
Yes, you bet
Unknown Focal
Relative Pose
64
15
Generalized Relative
Pose
2048
The Generalized
3-Point Problem
3 View
Triangulation
8(4)
47
Microphone-Speaker
Relative Orientation
The 3 View 4-Point
Problem
0 (or thousands)
8-38-150-344-??
The Generalized 3-Point Problem
The Generalized 3-Point Problem
The Five Point Problem
Given five point correspondences,
What is R,t ?
The 5-point algorithm (Nistér PAMI 04)


 

2 EE E  trace( EE ) E
det
Sturm Sequences
for Bracketing
Root Polishing
by Bisection
R,t
E
The 5-point algorithm (Nistér PAMI 04)

 
2 EE  E  trace( EE  ) E
det
Sturm Sequences
for Bracketing
Root Polishing
by Bisection
R,t
E
The 5-point algorithm (Stewénius et al)

2 EE  E  trace( EE  ) E
10 x 10
Action Matrix
Eigen-Decomposition
R,t
E
Easy Conditions
Correct Calibration
Realistic Conditions
5-Point Matlab Executable
Recent Developments on Direct Relative Orientation,
Henrik Stewenius, Christopher Engels, David Nister,
To appear in ISPRS Journal of Photogrammetry and Remote Sensing
www.vis.uky.edu/~dnister
Further Examples of Solved Problems
6-point generalized relative orientation (64 solutions) (Stewenius,
Nistér, Oskarsson and Åström, Omnivis ICCV 2005)
6-point relative orientation with common but unknown focal length
(15 solutions) (Stewenius, Nistér, Schaffalitzky and Kahl,
to appear at CVPR 2005)
Triangulation
Triangulation, 2 Views
•
•
•
•
One parameter family – Balance the error
L2-Norm -> Sextic (Hartley & Sturm)
Max-Norm -> Quartic (Closed form, Nistér)
Directional Error -> Quadratic (Oliensis)
Optimal 3 View Triangulation
work with Henrik Stewenius and Fred Schaffalitzky
ICCV 2005
47 Stationary Points
Microphone-Speaker Location
work with Henrik Stewenius
The 3 View 4 Point Problem
Work with Frederik Schaffalitzky
Geometry-Algebra ‘Dualism’
• Hilbert’s Nullstellensatz
I(V( J ))  J
How Hard is this Problem?
Approximately This Hard
For Which Problems Did We Use
Gröbner Bases?
No
The 5-Point Relative
Pose Problem
10
Yes
Yes, you bet
Unknown Focal
Relative Pose
64
15
Generalized Relative
Pose
2048
The Generalized
3-Point Problem
3 View
Triangulation
8(4)
47
Microphone-Speaker
Relative Orientation
The 3 View 4-Point
Problem
0 (or thousands)
8-38-150-344-??
Camera Geometry
• Often leads to polynomial formulations,
or can at least very often be formulated in
terms of polynomial equations
Polynomial Formulation
• p1(x) , … , pn(x)= A set of input polynomials
(n polynomials in m variables)
x=[y1 … ym]
Main Point
• Gröbner Basis Gives Action Matrix
(because it provides the ability to compute unique ‘smallest’ possible
unique remainders)
• Action Matrix Gives Solutions
Polynomial
Equations
Gröbner
Basis
Action
Matrix
Intensively Studied
Solutions
Algebraic Ideal
• I(p1 , … , pn)= The set of polynomials
generated by the input polynomials
(through additions and multiplications by a polynomial)
p and q in I => p+q in I
p in I
=> pq in I
The ideal I consists of ‘Almost’ all the polynomials implied
by the input polynomials
(More precisely, the radical I of the ideal consists of all)
Basis (for Ideal)
• A basis for the ideal J is a set of polynomials
{p1 , … , pn} such that J=I(p1 , … , pn)
Algebraic Variety
• The solution set
(the vanishing set of the input polynomials)
V(I)={x:I(x)=0}
More precisely
p(x)=0 for all p in I
Quotient Ring J/I
• The set of equivalence classes of
polynomials when only the values on V are
considered (i.e. polynomials are equivalent iff p(V)=q(V))
V(I)
p in J/I
Action Matrix
• For multiplication by polynomial on finite
dimensional solution space
V(I)
Action Matrix
Action Matrix
Transposed
Companion Matrix
An ‘Equivalence’
Compute Companion
Matrix
Finding the Eigenvalues
Finding the Roots
of a Matrix
of a Polynomial
Compute
Characteristic Polynomial
Requires
Gröbner
Compute Action Matrix in Quotient Ring Basis for
(Polynomials modulo Input Equations) Input Equations
Finding the Roots
of a Multiple
Polynomial Equations
Finding the Eigenvalues
of a Matrix
Compute
Characteristic Polynomial
Companion Matrix
Multiplication by x modulo the seventh degree polynomial
x7+ a6x6 +a5x5+ a4x4+ a3x3+ a2x2+ a1x+a0
can be expressed as left-multiplication by the matrix
x6 x5 x4 x3 x2 x 1
-a6 -a5 -a4 -a3 -a2 -a1 -a0
1
1
1
1
1
1
Action Matrix
I
Action Matrix
I
V(I)
Action Matrix
p in J
I
V(I)
Action Matrix
p in J
I
p in J/I
V(I)
Action Matrix
I
p in J/I
Action Matrix
q in J/I
p in J/I
I
Action Matrix
pq in J/I
q in J/I
p in J/I
I
Action Matrix
Multiplication by a polynomial q is a linear
operator Aq
(αp+βr)q=α(pq)+β(rq)
The matrix Aq is called the action matrix for
multiplication by q
Action Matrix
b0
b1
b2
x0
x1
x2
I
Action Matrix
q in J
b0
b1
b2
x0
x1
x2
I
Action Matrix
q in J
q(x0)b0
q(x2)b2
q(x1)b1
I
Action Matrix
q in J
q(x0)b0
The values q(xi) of q at the solutions xi are the
eigenvalues of the action matrix
q(x2)b2
q(x1)b1
I
Action Matrix
The values q(xi) of q at the solutions xi are the
eigenvalues of the action matrix
If we choose q=y1 , the eigenvalues are the
solutions for y1
Action Matrix
b’=[r1 … ro]
b’(x)Aq p=q(x)b’(x)p
for all p in J/I and x in V(I)
b’(x)Aq =b’(x)q(x)
b(x) is a left nullvector of Aq corresponding to eigenvalue
q(x)
Monomial Order
• Needed to define leading term of a polynomial
• Grevlex (Graded reverse lexicographical) order
usually most efficient
y_2
y_1
Gröbner Basis
• A basis for ideal I that exposes the leading
terms of I (hence unique well defined remainders)
• Easily gives the action matrix for
multiplication with any polynomial in the
quotient ring
y_2
y_1
A Reduced Gröbner Basis is a Basis
in the normal sense
• A polynomial in the ideal I can be written as
a unique combination of the polynomials in
a reduced Gröbner basis for I
• The monic Gröbner basis for I is unique
Buchberger’s Algorithm
Buchberger’s Algorithm
Gaussian
Elimination
Euclid’s
Algorithm for the
GCD
Gaussian Elimination
Exposes all the leading terms, which are simply
all the variables in the case of general linear equations
xn
x1
Remember Row Operations:
• Multiplying a row by a scalar
• Subtracting a row from another
• Swap rows
Add:
• Multiplying a row by any polynomial
More General Elimination
With non-linear equations, there are relations between
the monomials that matter when multiplying
y2 xy x2 y x
y2
xy
x2
y x
Multiply by x
y2 xy x2 y x
Multiply by y
Multiplying by a Scalar
Transitions through zero remain
p(x)
3.8p(x)
Adding
Common transitions through zero remain
p1(x)
p2(x)
p1(x) + p2(x)
Multiplying
Transitions through zero remain
p(x)f(x)
p(x)
f(x)
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Buchberger’s Algorithm
Compute remainders of S-polynomials until
all remainders are zero
Begin (offline)
Pose Problem. Port to Zp
Approach
Begin (online)
Pose Problem over R
Compute number of solutions Elimination Compute Gröbner basis
Schedule
Build matrix based
Gröbner basis code
Compute Action Matrix
Solve Eigenproblem
Port to R
End
Backsubstitute
End
Prime Field Formulation
• Reals => Cancellation unclear
• Rationals => Grows unwieldy
• Prime Field => Cancellation clear, size is
limited, only small risk of incorrect
cancellation if prime is large
Gaussian Elimination
• Expanding all polynomials up to a certain
degree followed by Gaussian elimination
allows pivoting
Unwanted Solutions
Can be removed by ideal quotients, or more generally saturation
Elimination Example
Elimination Example
Elimination Example
Elimination Example
Elimination Example
Elimination Example
Elimination Example
Elimination Example
Elimination Example
Elimination Example
Action Matrix
Download