SlideShare a Scribd company logo
1 of 283
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 JJ =))I(V(
RISC
Research
Institute for
Symbolic
Computation
Linz, Austria
Wolfgang Gröbner (1899-1980) Bruno Buchberger
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
Mixed Volume, see for example [CLO 1998]
provides a generalization for non-general polynomials.
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.
Resultants
• Provides Elimination
of variables by taking
a determinant












]2[]1[]0[
]2[]1[]0[
]2[]1[]0[
]2[]1[]0[
1xx2
x3
= det = [4]
a1x2
+a2y2
+a3xy+a4x+a5y+a6
b1x2
+b2y2
+b3xy+b4x+b5y+b6














+++
+++
+++
+++
65
2
2431
65
2
2431
65
2
2431
65
2
2431
bybybbybb
bybybbybb
ayayaayaa
ayayaayaa
det
1xx2
x3
Various States of Mind You May Have, I:
• Skip the theory, what is this all about? –Answers
from David
1st
Quadrant2st
Quadrant
3rd
Quadrant 4th
Quadrant
Difficult TheoryEasy Theory
Useful Theory
Useless Theory
Useful but HardUseful and Easy
Super!
Useless and Easy
Useless and impossible
to penetrate – Unfortunately
survives
Algebraic Geometry and
Gröbner Bases
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.
• Stop the handwaving, what is the rigorous
theory?
Answers from David and Henrik + books
Various States of Mind You May Have, II:
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
• Skip the theory, how do I use it? – Answers
from Henrik, Exercises in Macaulay 2.
Various States of Mind You May Have, III:
RANSAC- Random Sample Consensus
Least Squares
RANSAC
Robust
RANSAC- Random Sample Consensus
Line Hypotheses
Points
Robust
RANSAC
Hypothesis
Generator
Observation
Likelihood
Hypotheses
Observations
500
1000
500 x 1000 = 500.000
?
Observed Tracks
Hypothesis Generation
Preemptive RANSAC
Data Input
Estimate or
posterior likelihood
output
Probabilistic
Formulation
Hypothesis
Generator
Precise
Formulation
2D-2D
Relative Orientation
2D-3D
Pose
3D-3D 2D-2D
Absolute Orientation
Bundle Adjustment Robust Statistics
Triangulation
Geometry Tools
For Which Problems Did We Use
Gröbner Bases?
The Generalized
3-Point Problem
YesNo Yes, you bet
The 3 View 4-Point
Problem
8(4)
10
2048
The 5-Point Relative
Pose Problem
0 (or thousands)
47
3 View
Triangulation
Unknown Focal
Relative Pose
15
64
Generalized Relative
Pose
Microphone-Speaker
Relative Orientation
8-38-150-344-??
The Generalized 3-Point Problem
The Generalized 3-Point Problem
The Five Point Problem
What is R,t ?
Given five point correspondences,
×
EEEtraceEEE )(2 ΤΤ
−
det
Sturm Sequences
for Bracketing
Root Polishing
by Bisection
ER,t
−+×
The 5-point algorithm (Nistér PAMI 04)
×
det
Sturm Sequences
for Bracketing
Root Polishing
by Bisection
−+×
R,t E
The 5-point algorithm (Nistér PAMI 04)
EEEtraceEEE )(2 ΤΤ
−
×
EEEtraceEEE )(2 ΤΤ
−
ER,t
10 x 10
Action Matrix
Eigen-Decomposition
The 5-point algorithm (Stewénius et al)
Easy Conditions Realistic Conditions
Correct Calibration
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
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)
Further Examples of Solved Problems
Triangulation
• Max-Norm -> Quartic (Closed form, Nistér)
• Directional Error -> Quadratic (Oliensis)
Triangulation, 2 Views
• L2-Norm -> Sextic (Hartley & Sturm)
• One parameter family – Balance the error
47 Stationary Points
Optimal 3 View Triangulation
work with Henrik Stewenius and Fred Schaffalitzky
ICCV 2005
Microphone-Speaker Location
work with Henrik Stewenius
The 3 View 4 Point Problem
Work with Frederik Schaffalitzky
Geometry-Algebra ‘Dualism’
JJ =))I(V(• Hilbert’s Nullstellensatz
How Hard is this Problem?
Approximately This Hard
For Which Problems Did We Use
Gröbner Bases?
The Generalized
3-Point Problem
YesNo Yes, you bet
The 3 View 4-Point
Problem
8(4)
10
2048
The 5-Point Relative
Pose Problem
0 (or thousands)
47
3 View
Triangulation
Unknown Focal
Relative Pose
15
64
Generalized Relative
Pose
Microphone-Speaker
Relative Orientation
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
Solutions
Intensively Studied
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 of the ideal consists of all)I
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
Transposed
Companion Matrix
Action Matrix
An ‘Equivalence’
Finding the Roots
of a Polynomial
Finding the Eigenvalues
of a Matrix
Compute Companion
Matrix
Compute
Characteristic Polynomial
Finding the Roots
of a Multiple
Polynomial Equations
Finding the Eigenvalues
of a Matrix
Compute Action Matrix in Quotient Ring
(Polynomials modulo Input Equations)
Compute
Characteristic Polynomial
Requires
Gröbner
Basis for
Input Equations
Companion Matrix
x2
1x3
x4
x5
x6
x7
+ a6x6
+a5x5
+ a4x4
+ a3x3
+ a2x2
+ a1x+a0
-a6
1
1
1
1
1
-a0-a4 -a3 -a2 -a1-a5
x
1
Multiplication by x modulo the seventh degree polynomial
can be expressed as left-multiplication by the matrix
Action Matrix
I
Action Matrix
V(I)
I
Action Matrix
V(I)
I
p in J
Action Matrix
V(I)
I
p in J
p in J/I
Action Matrix
I
p in J/I
Action Matrix
I
p in J/I
q in J/I
Action Matrix
I
p in J/I
q in J/I
pq in J/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
I
b0 b1 b2
x0 x1 x2
Action Matrix
I
b0 b1 b2
x0 x1 x2
q in J
Action Matrix
I
q(x1)b1
q(x2)b2
q(x0)b0
q in J
Action Matrix
I
The values q(xi) of q at the solutions xi are the
eigenvalues of the action matrix
q(x1)b1
q(x2)b2
q(x0)b0
q in J
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’(x)Aq p=q(x)b’(x)p
for all p in J/I and x in V(I)
b’=[r1 … ro]
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_1
y_2
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_1
y_2
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
Gaussian
Elimination
Buchberger’s Algorithm
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
x2
xyy2
xy
Multiply by x
Multiply by y
x2
xyy2
xy
x2
xyy2
xy
Multiplying by a Scalar
p(x)
3.8p(x)
Transitions through zero remain
Adding
p1(x)
p2(x)
Common transitions through zero remain
p1(x) + p2(x)
Multiplying
p(x)
f(x)
Transitions through zero remain
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
Elimination
Schedule
Approach
Pose Problem over R
Compute Gröbner basis
End
Compute Action Matrix
Solve Eigenproblem
Backsubstitute
Begin (online)
Pose Problem. Port to Zp
Compute number of solutions
End
Build matrix based
Gröbner basis code
Port to R
Begin (offline)
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
Nister iccv2005tutorial

More Related Content

What's hot

A discussion on sampling graphs to approximate network classification functions
A discussion on sampling graphs to approximate network classification functionsA discussion on sampling graphs to approximate network classification functions
A discussion on sampling graphs to approximate network classification functionsLARCA UPC
 
Approximate Bayesian computation for the Ising/Potts model
Approximate Bayesian computation for the Ising/Potts modelApproximate Bayesian computation for the Ising/Potts model
Approximate Bayesian computation for the Ising/Potts modelMatt Moores
 
ABC short course: model choice chapter
ABC short course: model choice chapterABC short course: model choice chapter
ABC short course: model choice chapterChristian Robert
 
ABC short course: final chapters
ABC short course: final chaptersABC short course: final chapters
ABC short course: final chaptersChristian Robert
 
Accelerated approximate Bayesian computation with applications to protein fol...
Accelerated approximate Bayesian computation with applications to protein fol...Accelerated approximate Bayesian computation with applications to protein fol...
Accelerated approximate Bayesian computation with applications to protein fol...Umberto Picchini
 
Introductory maths analysis chapter 07 official
Introductory maths analysis   chapter 07 officialIntroductory maths analysis   chapter 07 official
Introductory maths analysis chapter 07 officialEvert Sandye Taasiringan
 
Introductory maths analysis chapter 14 official
Introductory maths analysis   chapter 14 officialIntroductory maths analysis   chapter 14 official
Introductory maths analysis chapter 14 officialEvert Sandye Taasiringan
 
MLIP - Chapter 2 - Preliminaries to deep learning
MLIP - Chapter 2 - Preliminaries to deep learningMLIP - Chapter 2 - Preliminaries to deep learning
MLIP - Chapter 2 - Preliminaries to deep learningCharles Deledalle
 
Macrocanonical models for texture synthesis
Macrocanonical models for texture synthesisMacrocanonical models for texture synthesis
Macrocanonical models for texture synthesisValentin De Bortoli
 
On the vexing dilemma of hypothesis testing and the predicted demise of the B...
On the vexing dilemma of hypothesis testing and the predicted demise of the B...On the vexing dilemma of hypothesis testing and the predicted demise of the B...
On the vexing dilemma of hypothesis testing and the predicted demise of the B...Christian Robert
 
k-MLE: A fast algorithm for learning statistical mixture models
k-MLE: A fast algorithm for learning statistical mixture modelsk-MLE: A fast algorithm for learning statistical mixture models
k-MLE: A fast algorithm for learning statistical mixture modelsFrank Nielsen
 
Classification and regression based on derivatives: a consistency result for ...
Classification and regression based on derivatives: a consistency result for ...Classification and regression based on derivatives: a consistency result for ...
Classification and regression based on derivatives: a consistency result for ...tuxette
 
Basics of pixel neighbor.
Basics of pixel neighbor.Basics of pixel neighbor.
Basics of pixel neighbor.raheel rajput
 
Inference for stochastic differential equations via approximate Bayesian comp...
Inference for stochastic differential equations via approximate Bayesian comp...Inference for stochastic differential equations via approximate Bayesian comp...
Inference for stochastic differential equations via approximate Bayesian comp...Umberto Picchini
 
Introductory maths analysis chapter 17 official
Introductory maths analysis   chapter 17 officialIntroductory maths analysis   chapter 17 official
Introductory maths analysis chapter 17 officialEvert Sandye Taasiringan
 
A likelihood-free version of the stochastic approximation EM algorithm (SAEM)...
A likelihood-free version of the stochastic approximation EM algorithm (SAEM)...A likelihood-free version of the stochastic approximation EM algorithm (SAEM)...
A likelihood-free version of the stochastic approximation EM algorithm (SAEM)...Umberto Picchini
 
from model uncertainty to ABC
from model uncertainty to ABCfrom model uncertainty to ABC
from model uncertainty to ABCChristian Robert
 

What's hot (20)

A discussion on sampling graphs to approximate network classification functions
A discussion on sampling graphs to approximate network classification functionsA discussion on sampling graphs to approximate network classification functions
A discussion on sampling graphs to approximate network classification functions
 
Approximate Bayesian computation for the Ising/Potts model
Approximate Bayesian computation for the Ising/Potts modelApproximate Bayesian computation for the Ising/Potts model
Approximate Bayesian computation for the Ising/Potts model
 
ABC short course: model choice chapter
ABC short course: model choice chapterABC short course: model choice chapter
ABC short course: model choice chapter
 
QMC: Transition Workshop - Reduced Component-by-Component Constructions of (P...
QMC: Transition Workshop - Reduced Component-by-Component Constructions of (P...QMC: Transition Workshop - Reduced Component-by-Component Constructions of (P...
QMC: Transition Workshop - Reduced Component-by-Component Constructions of (P...
 
ABC short course: final chapters
ABC short course: final chaptersABC short course: final chapters
ABC short course: final chapters
 
Accelerated approximate Bayesian computation with applications to protein fol...
Accelerated approximate Bayesian computation with applications to protein fol...Accelerated approximate Bayesian computation with applications to protein fol...
Accelerated approximate Bayesian computation with applications to protein fol...
 
Introductory maths analysis chapter 07 official
Introductory maths analysis   chapter 07 officialIntroductory maths analysis   chapter 07 official
Introductory maths analysis chapter 07 official
 
Boston talk
Boston talkBoston talk
Boston talk
 
Introductory maths analysis chapter 14 official
Introductory maths analysis   chapter 14 officialIntroductory maths analysis   chapter 14 official
Introductory maths analysis chapter 14 official
 
MLIP - Chapter 2 - Preliminaries to deep learning
MLIP - Chapter 2 - Preliminaries to deep learningMLIP - Chapter 2 - Preliminaries to deep learning
MLIP - Chapter 2 - Preliminaries to deep learning
 
Macrocanonical models for texture synthesis
Macrocanonical models for texture synthesisMacrocanonical models for texture synthesis
Macrocanonical models for texture synthesis
 
On the vexing dilemma of hypothesis testing and the predicted demise of the B...
On the vexing dilemma of hypothesis testing and the predicted demise of the B...On the vexing dilemma of hypothesis testing and the predicted demise of the B...
On the vexing dilemma of hypothesis testing and the predicted demise of the B...
 
k-MLE: A fast algorithm for learning statistical mixture models
k-MLE: A fast algorithm for learning statistical mixture modelsk-MLE: A fast algorithm for learning statistical mixture models
k-MLE: A fast algorithm for learning statistical mixture models
 
Gtti 10032021
Gtti 10032021Gtti 10032021
Gtti 10032021
 
Classification and regression based on derivatives: a consistency result for ...
Classification and regression based on derivatives: a consistency result for ...Classification and regression based on derivatives: a consistency result for ...
Classification and regression based on derivatives: a consistency result for ...
 
Basics of pixel neighbor.
Basics of pixel neighbor.Basics of pixel neighbor.
Basics of pixel neighbor.
 
Inference for stochastic differential equations via approximate Bayesian comp...
Inference for stochastic differential equations via approximate Bayesian comp...Inference for stochastic differential equations via approximate Bayesian comp...
Inference for stochastic differential equations via approximate Bayesian comp...
 
Introductory maths analysis chapter 17 official
Introductory maths analysis   chapter 17 officialIntroductory maths analysis   chapter 17 official
Introductory maths analysis chapter 17 official
 
A likelihood-free version of the stochastic approximation EM algorithm (SAEM)...
A likelihood-free version of the stochastic approximation EM algorithm (SAEM)...A likelihood-free version of the stochastic approximation EM algorithm (SAEM)...
A likelihood-free version of the stochastic approximation EM algorithm (SAEM)...
 
from model uncertainty to ABC
from model uncertainty to ABCfrom model uncertainty to ABC
from model uncertainty to ABC
 

Viewers also liked

Area of a square
Area of a squareArea of a square
Area of a squareLozanok
 
Perimeter, Area, & Volume of a square/rectange/ cube
Perimeter, Area, & Volume of a square/rectange/ cubePerimeter, Area, & Volume of a square/rectange/ cube
Perimeter, Area, & Volume of a square/rectange/ cubedevincje
 
POLYNOMIALS OF CLASS 10
POLYNOMIALS OF CLASS 10POLYNOMIALS OF CLASS 10
POLYNOMIALS OF CLASS 10Sanjay Mahto
 
Shubhanshu math project work , polynomial
Shubhanshu math project work ,  polynomialShubhanshu math project work ,  polynomial
Shubhanshu math project work , polynomialShubhanshu Bhargava
 
Polynomials And Linear Equation of Two Variables
Polynomials And Linear Equation of Two VariablesPolynomials And Linear Equation of Two Variables
Polynomials And Linear Equation of Two VariablesAnkur Patel
 
polynomials class 9th
polynomials class 9thpolynomials class 9th
polynomials class 9thastha11
 
project goals and objectives
 project goals and objectives project goals and objectives
project goals and objectivesNader Jarmooz
 

Viewers also liked (8)

Area of a square
Area of a squareArea of a square
Area of a square
 
Perimeter, Area, & Volume of a square/rectange/ cube
Perimeter, Area, & Volume of a square/rectange/ cubePerimeter, Area, & Volume of a square/rectange/ cube
Perimeter, Area, & Volume of a square/rectange/ cube
 
POLYNOMIALS OF CLASS 10
POLYNOMIALS OF CLASS 10POLYNOMIALS OF CLASS 10
POLYNOMIALS OF CLASS 10
 
Shubhanshu math project work , polynomial
Shubhanshu math project work ,  polynomialShubhanshu math project work ,  polynomial
Shubhanshu math project work , polynomial
 
Polynomials And Linear Equation of Two Variables
Polynomials And Linear Equation of Two VariablesPolynomials And Linear Equation of Two Variables
Polynomials And Linear Equation of Two Variables
 
polynomials class 9th
polynomials class 9thpolynomials class 9th
polynomials class 9th
 
Polynomials
PolynomialsPolynomials
Polynomials
 
project goals and objectives
 project goals and objectives project goals and objectives
project goals and objectives
 

Similar to Nister iccv2005tutorial

Understanding Basics of Machine Learning
Understanding Basics of Machine LearningUnderstanding Basics of Machine Learning
Understanding Basics of Machine LearningPranav Ainavolu
 
CVPR2008 tutorial generalized pca
CVPR2008 tutorial generalized pcaCVPR2008 tutorial generalized pca
CVPR2008 tutorial generalized pcazukun
 
Machine Learning on Azure - AzureConf
Machine Learning on Azure - AzureConfMachine Learning on Azure - AzureConf
Machine Learning on Azure - AzureConfSeth Juarez
 
Data Analysis and Algorithms Lecture 1: Introduction
 Data Analysis and Algorithms Lecture 1: Introduction Data Analysis and Algorithms Lecture 1: Introduction
Data Analysis and Algorithms Lecture 1: IntroductionTayyabSattar5
 
Fassold-MMAsia2023-Tutorial-GeometricDL-Part1.pptx
Fassold-MMAsia2023-Tutorial-GeometricDL-Part1.pptxFassold-MMAsia2023-Tutorial-GeometricDL-Part1.pptx
Fassold-MMAsia2023-Tutorial-GeometricDL-Part1.pptxHannesFesswald
 
Computer Vision harris
Computer Vision harrisComputer Vision harris
Computer Vision harrisWael Badawy
 
The Automated-Reasoning Revolution: from Theory to Practice and Back
The Automated-Reasoning Revolution: from Theory to Practice and BackThe Automated-Reasoning Revolution: from Theory to Practice and Back
The Automated-Reasoning Revolution: from Theory to Practice and BackMoshe Vardi
 
Teaching Constraint Programming, Patrick Prosser
Teaching Constraint Programming,  Patrick ProsserTeaching Constraint Programming,  Patrick Prosser
Teaching Constraint Programming, Patrick ProsserPierre Schaus
 
Undecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation AlgorithmsUndecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation AlgorithmsMuthu Vinayagam
 
BackTracking Algorithm: Technique and Examples
BackTracking Algorithm: Technique and ExamplesBackTracking Algorithm: Technique and Examples
BackTracking Algorithm: Technique and ExamplesFahim Ferdous
 
module5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdfmodule5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdfShiwani Gupta
 
The X•Y Chart: Multiplication and Coordinates
The X•Y Chart:  Multiplication and CoordinatesThe X•Y Chart:  Multiplication and Coordinates
The X•Y Chart: Multiplication and CoordinatesJoe Speier
 
Types Of Recursion in C++, Data Stuctures by DHEERAJ KATARIA
Types Of Recursion in C++, Data Stuctures by DHEERAJ KATARIATypes Of Recursion in C++, Data Stuctures by DHEERAJ KATARIA
Types Of Recursion in C++, Data Stuctures by DHEERAJ KATARIADheeraj Kataria
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...Vissarion Fisikopoulos
 

Similar to Nister iccv2005tutorial (20)

Understanding Basics of Machine Learning
Understanding Basics of Machine LearningUnderstanding Basics of Machine Learning
Understanding Basics of Machine Learning
 
CVPR2008 tutorial generalized pca
CVPR2008 tutorial generalized pcaCVPR2008 tutorial generalized pca
CVPR2008 tutorial generalized pca
 
Machine Learning on Azure - AzureConf
Machine Learning on Azure - AzureConfMachine Learning on Azure - AzureConf
Machine Learning on Azure - AzureConf
 
Data Analysis and Algorithms Lecture 1: Introduction
 Data Analysis and Algorithms Lecture 1: Introduction Data Analysis and Algorithms Lecture 1: Introduction
Data Analysis and Algorithms Lecture 1: Introduction
 
Fassold-MMAsia2023-Tutorial-GeometricDL-Part1.pptx
Fassold-MMAsia2023-Tutorial-GeometricDL-Part1.pptxFassold-MMAsia2023-Tutorial-GeometricDL-Part1.pptx
Fassold-MMAsia2023-Tutorial-GeometricDL-Part1.pptx
 
Computer Vision harris
Computer Vision harrisComputer Vision harris
Computer Vision harris
 
The Automated-Reasoning Revolution: from Theory to Practice and Back
The Automated-Reasoning Revolution: from Theory to Practice and BackThe Automated-Reasoning Revolution: from Theory to Practice and Back
The Automated-Reasoning Revolution: from Theory to Practice and Back
 
Knapsack problem using fixed tuple
Knapsack problem using fixed tupleKnapsack problem using fixed tuple
Knapsack problem using fixed tuple
 
Teaching Constraint Programming, Patrick Prosser
Teaching Constraint Programming,  Patrick ProsserTeaching Constraint Programming,  Patrick Prosser
Teaching Constraint Programming, Patrick Prosser
 
Fine Grained Complexity
Fine Grained ComplexityFine Grained Complexity
Fine Grained Complexity
 
Undecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation AlgorithmsUndecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation Algorithms
 
BackTracking Algorithm: Technique and Examples
BackTracking Algorithm: Technique and ExamplesBackTracking Algorithm: Technique and Examples
BackTracking Algorithm: Technique and Examples
 
Back tracking
Back trackingBack tracking
Back tracking
 
Mit6 094 iap10_lec03
Mit6 094 iap10_lec03Mit6 094 iap10_lec03
Mit6 094 iap10_lec03
 
module5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdfmodule5_backtrackingnbranchnbound_2022.pdf
module5_backtrackingnbranchnbound_2022.pdf
 
The X•Y Chart: Multiplication and Coordinates
The X•Y Chart:  Multiplication and CoordinatesThe X•Y Chart:  Multiplication and Coordinates
The X•Y Chart: Multiplication and Coordinates
 
Types Of Recursion in C++, Data Stuctures by DHEERAJ KATARIA
Types Of Recursion in C++, Data Stuctures by DHEERAJ KATARIATypes Of Recursion in C++, Data Stuctures by DHEERAJ KATARIA
Types Of Recursion in C++, Data Stuctures by DHEERAJ KATARIA
 
Es272 ch0
Es272 ch0Es272 ch0
Es272 ch0
 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
 
Machine learning mathematicals.pdf
Machine learning mathematicals.pdfMachine learning mathematicals.pdf
Machine learning mathematicals.pdf
 

More from Jag Mohan Singh (20)

10 slides
10 slides10 slides
10 slides
 
2d3d
2d3d2d3d
2d3d
 
10 slides
10 slides10 slides
10 slides
 
10 slides
10 slides10 slides
10 slides
 
10 slides
10 slides10 slides
10 slides
 
10 slides
10 slides10 slides
10 slides
 
10 slides
10 slides10 slides
10 slides
 
Jagmohan presentation2008
Jagmohan presentation2008Jagmohan presentation2008
Jagmohan presentation2008
 
Keynote original
Keynote originalKeynote original
Keynote original
 
Keynote original hyperlink
Keynote original hyperlinkKeynote original hyperlink
Keynote original hyperlink
 
Keynote original hyperlink
Keynote original hyperlinkKeynote original hyperlink
Keynote original hyperlink
 
3dbody outline
3dbody outline3dbody outline
3dbody outline
 
Jagmohan presentation2008
Jagmohan presentation2008Jagmohan presentation2008
Jagmohan presentation2008
 
10 slides
10 slides10 slides
10 slides
 
Kievbrandingshortopt 101123142128-phpapp02
Kievbrandingshortopt 101123142128-phpapp02Kievbrandingshortopt 101123142128-phpapp02
Kievbrandingshortopt 101123142128-phpapp02
 
Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8
 
Finalprez webversion-101012091602-phpapp02
Finalprez webversion-101012091602-phpapp02Finalprez webversion-101012091602-phpapp02
Finalprez webversion-101012091602-phpapp02
 
Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8
 
Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8
 
Ppt c 1
Ppt c 1Ppt c 1
Ppt c 1
 

Nister iccv2005tutorial

Editor's Notes

  1. Now, lets look at the animation. In order to bring the three points to the three rays, we are allowed to translate which makes for three degrees of freedom, and rotate, which makes for three degrees of freedom. If we assume that we have the aligment in place, and forget about the constraint from the third ray for a minute, what are two degrees of freedom that are left? Well, if we consider the axis through the first two points, and we rotate the point configuration around the axis through the first two points, we will clearly not disturb the first two constraints. This causes the third point to move in a circle around the axis. So what about the second degree of freedom? The key is to consider the perpendicular axis between the first two rays. If we perform a slight 3D transformation of everything so that we are looking straight down the perpendicular axis, like this, and we look at this in an orthographic projection, then we find that we can apply Euclid’s proposition III:21. We wish to keep the first two rays through their corresponding points. Euclid III:21 tells us that we can do this with a revolving motion that moves the perpendicular axis around in a circle. This is the second degree of freedom. The interesting thing to study is now what happens to the third ray when we perform this revolving motion.
  2. It turns out that every point on the third ray moves around on a plane curve called a Limacon, like this. Moreover, the whole ray traces out a quartic surface. Being traced out by a line, the surface is of course ruled. The solutions to the problem therefore correspond to the points where the quartic surface meets the circle.
  3. The shape of the surface varies with the configuration of the first two points and the three rays. It is built up by limacons in each plane,
  4. and has a curve of self-intersection, which turns out to be parts of a twisted cubic.
  5. An interesting question is what happens to the geometry in the classical case. It turns out that in the classical case, the problem attains a certain symmetry. The surface becomes symmetric across the plane that appears like a waist in this figure. The self-intersection curve becomes a circle that looks like a waist, and an infinite vertical line. Moreover, the circle is also upright and symmetric with respect to the plane of the waist. So everything has reflection symmetry across the plane of the waist. Because of this, the solutions come in pairs in the classical case. The reflected solutions correspond to reflecting the projection centre across the plane of the three points. Because of the reflection symmetry, it is possible to find the solutions in closed form, since there is a quartic polynomial whose roots correspond to pairs of solutions.