scispace - formally typeset
Search or ask a question
Book ChapterDOI

Automatic Generator of Minimal Problem Solvers

TL;DR: This paper proposes an automatic procedure for generating Grobner basis solvers which could be used even by non-experts to solve technical problems and demonstrates that the automatic generator constructs efficient and numerically stablesolvers which are comparable or outperform known manually constructed solvers.
Abstract: Finding solutions to minimal problems for estimating epipolar geometry and camera motion leads to solving systems of algebraic equations. Often, these systems are not trivial and therefore special algorithms have to be designed to achieve numerical robustness and computational efficiency. The state of the art approach for constructing such algorithms is the Grobner basis method for solving systems of polynomial equations. Previously, the Grobner basis solvers were designed ad hoc for concrete problems and they could not be easily applied to new problems. In this paper we propose an automatic procedure for generating Grobner basis solvers which could be used even by non-experts to solve technical problems. The input to our solver generator is a system of polynomial equations with a finite number of solutions. The output of our solver generator is the Matlab or C code which computes solutions to this system for concrete coefficients. Generating solvers automatically opens possibilities to solve more complicated problems which could not be handled manually or solving existing problems in a better and more efficient way. We demonstrate that our automatic generator constructs efficient and numerically stable solvers which are comparable or outperform known manually constructed solvers. The automatic generator is available at http://cmp.felk.cvut.cz/minimal

Summary (4 min read)

1 Introduction

  • Many problems can be formulated using systems of algebraic equations.
  • Often, polynomial systems which arise are not trivial.
  • On the other hand, all known computer vision problems share the property that the elimination path associated with their solution is the same for all interesting configurations of coefficients of a given problem.
  • The input into their automatic generator is the system of polynomial equations which the authors want to solve with a particular choice of coefficients from Zp that choose the particular elimination path.
  • In the next two sections the authors review the Gröbner basis method for solving systems of polynomial equations and the solvers based on this method.

2 Solving systems of polynomial equations

  • In the next the authors mostly consider this matrix representation of systems of equations and, for example, by Gauss-Jordan (G-J) elimination of equations they understand G-J elimination of the corresponding coefficient matrix M. Solving systems of algebraic polynomial equations is a very challenging problem.
  • There doesn’t exist one robust, numerically stable and efficient method for solving such systems in general case.
  • Therefore, special algorithms have to be designed for specific problems.
  • The general Gröbner basis method for solving systems of polynomial equations can be quite inefficient in some cases but it was recently used successfully as the basis for efficient solvers of computer vision minimal problems.
  • The authors now describe this method and the solvers based on this method.

3 Gröbner basis method

  • Computing such basis and “reading off” the solutions from it is one standard method for solving systems of polynomial equations.
  • Although this sounds really nice and easy the reality is much harder.
  • Unfortunately, computation of such Gröbner basis w.r.t. the lexicographic ordering is very time consuming and for most of the problems can not be used.
  • Now the authors can use nice properties of a special action matrix defined in this space, to find solutions to their system of equations (1).

4 Gröbner basis solver

  • The Gröbner basis method for solving systems of polynomial equations based on action matrices was recently used to solve many minimal problems in computer vision.
  • This fact was in some way implicitly used in previous solvers [18, 19, 9] but hasn’t been fully articulated.
  • The method starts with the matrix M, which has the property that after its G-J elimination all polynomials qi necessary for constructing the action matrix are obtained.
  • All the previous steps, i.e. finding the number of solutions, basis G, basis B, the generation of elimination template(s) and the reduction of unnecessary polynomials, are performed only once in the automatic generator.

5 The automatic procedure for generatig Gröbner basis solvers

  • In this section the authors describe their approach to automatic generation of such Gröbner basis solvers to general problems.
  • The input of this automatic generator is the system of polynomial equations with coefficients from Zp and the output is the solver, the MATLAB or C code, which returns solutions to this system of polynomial equations for concrete coefficients from R. The authors automatic generator consists of several independent modules .
  • Since all these parts are independent, they can be further improved or replaced by more efficient implementations.
  • Next the authors briefly describe each of these parts.

5.1 Polynomial equations parser

  • First, input equations are split into coefficient and monomials.
  • For the automatic generator, the authors instantiate each known parameter occurring in coefficients with a random number from the Zp.
  • This is important for the code generation module to be able to track the elimination path.

5.2 Computation of the basis B and the number of solutions

  • This module starts with the system of polynomial equations F , which the authors want to solve, with random coefficients from Zp.
  • For many problems, the interesting “regular” solutions can be obtained with almost any random choice of coefficients.
  • The coefficients from Zp speed up computations, minimize memory requirements and especially avoid numerical instability.
  • To obtain this information the authors use the existing algorithms implemented in algebraic geometry softwares Macaulay 2 or Maple.
  • Modularity of the generator allows replacing this part of the code by another existing module computing the Gröbner basis G and the basis B [6].

5.3 Single elimination template construction

  • The input to this third, most important, step of their automatic generator is the basis B of the quotient ring A and the polynomial f for which the authors want to create the action matrix.
  • The authors use an individual variable i.e. f = xk, called “action variable”, to create the action matrix.
  • As explained in Section 4, there are several ways how to generate these polynomials from the initial polynomial equations F .
  • The authors stop when all necessary polynomials qi are obtained.
  • The generator tries to add polynomials starting with the polynomials with as low degree as possible.

5.4 Reducing the size of the template

  • This part of the automatic generator starts with the polynomials generated in the previous step.
  • The authors know that after the G-J elimination of these polynomials (i.e. of the corresponding matrix M) they obtain all polynomials that they need for constructing of the action matrix.
  • The algorithm in Section 4 removes polynomials one by one and each time calls expensive G-J elimination.
  • These two steps considerably speed up the reduction process.
  • Moreover, the authors can employ the fact that polynomials in the elimination template are ordered by the degree of their leading monomials.

5.5 Construction the action matrix

  • To create the template for the action matrix Mxk , the authors identify those rows of eliminated matrix M (matrix M after the G-J elimination) which correspond to polynomials qi.
  • The action matrix will than contain coefficients from these rows which correspond to the monomials from the basis B and will have the form (5).
  • For the generated online solver the authors just need to know which rows and columns they need to extract.
  • Note that the structure of the eliminated matrix is always the same for all instances of the problem.

5.6 Generating efficient online solver

  • The generated online solver consist of the following steps: 1. construction of the coefficient matrix (from elimination template); 2. G-J elimination; 3. action matrix extraction; 4. solution extraction from eigenvectors of the action matrix.
  • To build the coefficient matrix the authors use unique identifiers associated with coefficients of each of the input polynomials.
  • Recall that in the construction of the elimination template the authors use the input equations and multiply them by monomials.
  • Reducing of the polynomials and further optimizations results only in removing rows or columns in the index matrix.
  • Then, after G-J elimination, it reads values form precomupted rows and columns and builds the action matrix.

6 Experiments

  • In this section the authors demonstrate that their automatic generator constructs efficient and numerically stable solvers which are comparable or outperform known manually constructed solvers.
  • Since the automatic procedure described in this paper generates very similar Gröbner basis solvers as those proposed in the original solutions, there is no point in testing the behavior of generated solvers under noise, outliers or on real images.
  • For all considered problems the authors have obtained comparable or quite smaller elimination templates than those used in the original solvers.
  • The authors choose two problems, the well known [18] and more complex “radial distortion problem” [4], to evaluate and compare the intrinsic numerical stability of the existing solvers with their solvers generated automatically.
  • These generated scenes consist of 1000 points distributed randomly within a cube.

6.1 Six Point Focal Length Problem

  • The problem of estimating the relative camera position for two cameras with unknown focal length is a classical and popular problem in computer vision.
  • After this four new polynomials are added and eliminated.
  • More recently, another Gröbner basis solver to this problem was proposed in [2].
  • For the action variable w their generator first generates all monomial multiples of initial ten polynomial equations up to total degree eight.
  • Since the authors did not have the source code of the solver proposed in [2], they have compared their generated solver with the original solver proposed by Stewénius [18].

6.2 Nine Point Radial Distortion Problem

  • The minimal problem of simultaneous estimation of fundamental matrix and two different radial distortion parameters for two uncalibrated cameras and nine image point correspondences has been successfully solved in floating point arithmetic only recently [4].
  • The authors automatic procedure starts with simplified four polynomial equations in four unknowns.
  • First, the generator also generates all monomial multiples of the initial polynomial equations up to total degree eight.
  • After the G-J elimination of the corresponding 179× 212 matrix (in fact 179× 203 matrix is sufficient) all necessary polynomial qi are obtained and the action matrix Mf31 (Mλ2 ) is constructed.
  • The authors have compared their generated solver with the original solver proposed in [4] which uses special technique for improving the numerical stability based on changing the basis B and also with the “one elimination solver” (the same solver as in [4]) but without this basis selection.

6.3 Elimination template(s) size

  • The results for these three minimal problems together with the results for the two previously discussed problems are shown in Table 1.
  • For all these problems the authors have obtained smaller or the same size elimination templates than those used in original solvers.

6.4 Computation time

  • The authors have implemented the generator in MATLAB.
  • For several problems the authors have tested, the generator running time was from nine seconds to two minutes.
  • Running times of the resulting automatically generated online solvers were in milliseconds.

7 Conclusion

  • The authors have proposed an automatic procedure for generating Gröbner basis solvers for an interesting problems which appear in computer vision and elsewhere.
  • This automatic generator can be easily used even by non-experts to solve their own new problems.
  • The input to the generator is a system of polynomial equations with a finite number of solutions and the output is the Matlab or C code which computes solutions to this system for concrete coefficients.
  • The authors generator constructs efficient and numerically stable solvers which are comparable or outperform known manually constructed solvers in acceptable time.
  • The automatic generator is available at http://cmp.felk.cvut.cz/minimal.

Did you find this useful? Give us your feedback

Content maybe subject to copyright    Report

Automatic Generator of Minimal Problem Solvers
Zuzana Kukelova
1
, Martin Bujnak
1,2
and Tomas Pajdla
1
1
Center for Machine Perception
Czech Technical University, Prague
2
Microsoft Corporation
kukelova,bujnam1,pajdla@cmp.felk.cvut.cz
Abstract. Finding solutions to minimal problems for estimating epipolar geom-
etry and camera motion leads to solving systems of algebraic equations. Often,
these systems are not trivial and therefore special algorithms have to be designed
to achieve numerical robustness and computational efficiency. The state of the
art approach for constructing such algorithms is the Gr
¨
obner basis method for
solving systems of polynomial equations. Previously, the Gr
¨
obner basis solvers
were designed ad hoc for concrete problems and they could not be easily applied
to new problems. In this paper we propose an automatic procedure for gener-
ating Gr
¨
obner basis solvers which could be used even by non-experts to solve
technical problems. The input to our solver generator is a system of polynomial
equations with a finite number of solutions. The output of our solver generator
is the Matlab or C code which computes solutions to this system for concrete
coefficients. Generating solvers automatically opens possibilities to solve more
complicated problems which could not be handled manually or solving existing
problems in a better and more efficient way. We demonstrate that our automatic
generator constructs efficient and numerically stable solvers which are compara-
ble or outperform known manually constructed solvers. The automatic generator
is available at http://cmp.felk.cvut.cz/minimal
3
.
1 Introduction
Many problems can be formulated using systems of algebraic equations. Examples are
the minimal problems in computer vision, i.e. problems solved from a minimal num-
ber of point correspondences, such as the five point relative pose problem [20], the
six point focal length problem [18], six point generalized camera problem [19], the
nine point problem for estimating para-catadioptric fundamental matrices [9], the eight
point problem for estimating fundamental matrix and single radial distortion parameter
for uncalibrated cameras [11], the six point problem for estimating essential matrix and
single radial distortion parameter for calibrated cameras [12, 4], the nine point prob-
lem for estimating fundamental matrix and two different radial distortion parameters
for uncalibrated cameras [12, 4]. These are important problems with a broad range of
applications [10].
3
This work has been supported by EC projects FP6-IST-027787 DIRAC and MRTN-CT-2004-
005439 VISIONTRAIN and grants MSM6840770038DMCMIII, STINT Dur IG2003-2 062
and MSMT KONTAKT 9-06-17.

Often, polynomial systems which arise are not trivial. They consist of many polyno-
mial equations in many unknowns and of higher degree. Therefore, special algorithms
have to be designed to achieve numerical robustness and computational efficiency. The
state of the art method for constructing such algorithms, the solvers, is the Gr
¨
obner basis
method for solving systems of polynomial equations. It was used to solve all previously
mentioned computer vision problems.
The Gr
¨
obner basis solvers in computer vision are mostly designed for concrete prob-
lems and in general consist of three key steps. In the first step, the problem is solved
using a computer algebra system, e.g. Macaulay 2 or Maple, for several (many) random
coefficients from a finite field. This is done using a general technique for solving poly-
nomial equations by finding a Gr
¨
obner basis for original equations [6]. In this phase,
the basic parameters of the problem are identified, such as whether there exists a finite
number of solutions for general coefficients and how “hard” is to obtain the Gr
¨
obner
basis, and which monomials it contains. This procedure is automatic and relies on gen-
eral algorithms of algebraic geometry such as Buchberger [1] or F4 [8] algorithm. The
computations are carried out in a finite field in order to avoid expensive growth of co-
efficients and to avoid numerical instability.
In the second step, a special elimination procedure, often called “elimination tem-
plate” is generated. This elimination template says which polynomials from the ideal
should be added to the initial polynomial equations to obtain a Gr
¨
obner basis or at least
all polynomials needed for constructing a special matrix, called “action matrix”, and
thus solving the initial equations. The goal of this step is to obtain a computationally
efficient and numerically robust procedure. Until now, this step has been mainly man-
ual requiring to trace the path of elimination for random coefficient form the finite field,
checking redundancies and possible numerical pitfalls, and writing down a program in
a procedural language such as Matlab or C.
In the last step, the action matrix is constructed from the resulting equations and
the solutions to the original problem are obtained numerically as the eigenvalues or
eigenvectors of the action matrix [7].
The first and the third step are standard and well understood. It is the second step
which still involves considerable amount of craft and which makes the process of solver
generating rather complex and virtually impenetrable for a non-specialist. Moreover, for
some problems it need not be clear how their elimination templates were generated and
therefore non-specialists often use them as black boxes, are not able to reimplement
them, improve them or create similar solvers for their own new problems.
In this paper we present an automatic generator of the elimination templates for
Gr
¨
obner basis solvers to an interesting class of systems of polynomial equations which
appear in computer vision problems. We have to accept that there is no hope to obtain an
efficient and robust solver for completely general systems of polynomial equations since
the general problem is known to be NP-complete and EXPSPAPCE-complete [15]. On
the other hand, all known computer vision problems share the property that the elimi-
nation path associated with their solution is the same for all interesting configurations
of coefficients of a given problem.
Consider, for instance, the classical 5 point problem for estimating the essential
matrix from 5 point correspondences [16, 20]. In general, the elimination path used to

solve the 5 point problem depends on actual image coordinates measured. Fortunately,
for non-degenerate image correspondences, i.e. for those which lead to a finite number
of essential matrices, the elimination path is always the same. Therefore, it is enough
to find the path for one particular non-degenerate configuration of coefficients and then
use the same path for all non-degenerate configuration of coefficients. The paths for
degenerate configurations of coefficients may be very different and there may be very
many of them but we need not consider them.
We propose an automatic generator that finds one elimination path. It can find any
path. The choice of the path is controlled by the particular coefficients we choose to
generate the elimination template. We demonstrate that our automatic generator con-
structs efficient and numerically stable solvers which are comparable or outperform
known manually constructed solvers.
The input into our automatic generator is the system of polynomial equations which
we want to solve with a particular choice of coefficients from Z
p
that choose the par-
ticular elimination path. For many problems, the interesting “regular” solutions can be
obtained with almost any random choice of coefficients. Therefore, we use random co-
efficients from Z
p
. The output from the generator is the Matlab or C code solver that
returns solutions to this system of polynomial equations for concrete coefficients from
R. In online computations, only this generated solver is called.
In the next two sections we review the Gr
¨
obner basis method for solving systems
of polynomial equations and the solvers based on this method. Section 5 is dedicated
to our automatic procedure for generating Gr
¨
obner basis solvers. Then, we demonstrate
the results of our automatic generator on some minimal problems.
2 Solving systems of polynomial equations
Our goal is to solve a system of algebraic equations
f
1
(x) = ... = f
m
(x) = 0 (1)
which are given by a set of m polynomials F = {f
1
, ..., f
m
| f
i
C [x
1
, ..., x
n
]} in n
variables x = (x
1
, ..., x
n
) over the field of complex numbers.
Such system of algebraic equations can be written in a matrix form
M X = 0, (2)
where X is a vector of all monomials which appear in these equations and M is a coef-
ficient matrix. In the next we mostly consider this matrix representation of systems of
equations and, for example, by Gauss-Jordan (G-J) elimination of equations we under-
stand G-J elimination of the corresponding coefficient matrix M.
Solving systems of algebraic polynomial equations is a very challenging problem.
There doesn’t exist one robust, numerically stable and efficient method for solving such
systems in general case. Therefore, special algorithms have to be designed for specific
problems.
The general Gr
¨
obner basis method for solving systems of polynomial equations can
be quite inefficient in some cases but it was recently used successfully as the basis for
efficient solvers of computer vision minimal problems. We now describe this method
and the solvers based on this method.

3 Gr
¨
obner basis method
The polynomials F = {f
1
, ..., f
m
| f
i
C [x
1
, ..., x
n
]} define ideal I, which is the set of
all polynomials that can be generated as polynomial combinations of initial polynomials
F
I = {Σ
m
i=1
f
i
p
i
| p
i
C [x
1
, ..., x
n
]} , (3)
where p
i
are arbitrary polynomials from C [x
1
, ..., x
n
].
We can define division by an ideal I in C [x
1
, ..., x
n
] as the division by the set F of
generators of I. There are special sets of generators, Gr
¨
obner bases, of the ideal I, for
which this division by the ideal I is well defined in the sense that the remainder on the
division doesn’t depend on the ordering of the polynomials in the Gr
¨
obner basis G. This
means that the remainder of an arbitrary polynomial f C [x
1
, ..., x
n
] on the division
by G in a given monomial ordering is uniquely determined. Furthermore, f I if and
only if the reminder of f on the division by G is zero (f
G
= 0). This implies that
f
G
+ g
G
= f + g
G
and f
G
g
G
G
= f g
G
Gr
¨
oebner bases generate the same ideal as the initial polynomial equations and
therefore have the same solutions. However, it is important that they are often easier
to solve (e.g. the reduced Gr
¨
obner basis w.r.t. the lexicographic ordering contains poly-
nomial in one variable only). Computing such basis and “reading off the solutions
from it is one standard method for solving systems of polynomial equations. Although
this sounds really nice and easy the reality is much harder. The problem is that the com-
putation of Gr
¨
obner bases is in general an EXPSPACE-complete problem, i.e. that large
space is necessary for storing intermediate results. Fortunately in many specific cases,
the solution to a system of polynomial equations computed using Gr
¨
obner bases can be
obtained much faster.
For solving systems of polynomial equations, the most suitable ordering is the lex-
icographic one which results in a system of equations in a “triangular form” with one
equation in one variable only. Unfortunately, computation of such Gr
¨
obner basis w.r.t.
the lexicographic ordering is very time consuming and for most of the problems can
not be used. Therefore in many cases a Gr
¨
obner basis G under another ordering, e.g.
the graded reverse lexicographical ordering (grevlex), which is often easier to compute,
is constructed. Then, other properties of this basis are used to obtain solutions to the
initial system of polynomial equations.
Thanks to the property that the division by the ideal I is well defined for the Gr
¨
obner
basis G, we can consider the space of all possible remainders on the division by I. This
space is know as a quotient ring and we will denote it as A = C [x
1
, ..., x
n
] /I. It is
known that if I is a radical ideal [6] and the set of equations F has a finite number of
solutions N , then A is a finite dimensional space with dim(A) = N. Now we can use
nice properties of a special action matrix defined in this space, to find solutions to our
system of equations (1).
Consider the multiplication by some polynomial f C [x
1
, ..., x
n
] in the quotient
ring A. This multiplication defines a linear mapping T
f
from A to itself. Since A is
a finite-dimensional vector space over C, we can represent this mapping by its matrix
M
f
with respect to some monomial basis B =
n
x
α
|x
α
G
= x
α
o
of A, where x
α
is

a monomial x
α
= x
α
1
1
x
α
2
2
...x
α
n
n
and x
α
G
is the reminder of x
α
on the division by
G. The action matrix M
f
can be viewed as a generalization of the companion matrix
used in solving one polynomial equation in one unknown. It is because solutions to our
system of polynomial equations (1) can be easily obtained from the eigenvalues and
eigenvectors of this action matrix [7].
4 Gr
¨
obner basis solver
The Gr
¨
obner basis method for solving systems of polynomial equations based on ac-
tion matrices was recently used to solve many minimal problems in computer vision.
The solvers to all these minimal problems are very similar and are based on the same
concepts. Many minimal problems in computer vision, including all mentioned above,
have the convenient property that the monomials, appearing in the set of initial gen-
erators F are always same irrespectively from the concrete coefficients arising from
non-degenerate image measurements. Therefore, the leading monomials of the corre-
sponding Gr
¨
obner basis, and thus the monomials in the basis B of the quotient ring A,
are generally the same and can be found once in advance. This is an important observa-
tion which helps to solve all these problems efficiently.
The first step of these solvers is to analyze the particular problem, i.e. whether it
is solvable and how many solutions there are, in a randomly chosen finite prime field
Z
p
(Z/ hpi) with p >> 7. Coefficients in Z
p
can be can be represented accurately and
efficiently. It speeds up computations, minimizes memory requirements and especially
avoids numerical instability. Computing with floating point approximations of the co-
efficients may lead to numerical instability since it may be difficult to determine when
the coefficients become zero.
Next, the Gr
¨
obner basis G, and the basis B are found for many random coefficients
from Z
p
. Thanks to algebraic geometry theorem [21], we know that if the bases G
and B remain stable for many different random coefficients, i.e. if B consists of the
same monomials, they are generically equivalent to the bases of the original system of
polynomial equations with rational coefficients.
With this information in hand the solver can be created. The solver typically con-
sists of hand made elimination templates [18, 19, 9, 11] (or one template [2–5]) that
determine which polynomials from the ideal I should be added to the initial equations
to obtain the Gr
¨
obner basis G or at least all polynomials needed for constructing the
action matrix M
f
. These elimination templates are the crucial part of the solver.
An important observation has been made in [11]. It was observed that the action
matrix can be constructed without computing a complete Gr
¨
obner basis G. All we need
for creating the action matrix M
f
is to construct polynomials from the ideal I with
leading monomials from the set (f · B)\ B and the remaining monomials from B. This
fact was in some way implicitly used in previous solvers [18, 19, 9] but hasn’t been
fully articulated.
Consider that the basis B =
©
x
α(1)
, . . . , x
α(N)
ª
of A, which has been found once
in advance by computations in Z
p
. Then, the polynomials we need for constructing the
action M
f
matrix are of the form
q
i
= f x
α(i)
+ h
i
, (4)

Citations
More filters
Proceedings ArticleDOI
01 Dec 2013
TL;DR: In this paper, a non-iterative O(n) solution was proposed for the perspective n-point problem, which is fast, generally applicable and globally optimal, using the Gr"obner basis technique.
Abstract: In this paper, we revisit the classical perspective-n-point (PnP) problem, and propose the first non-iterative O(n) solution that is fast, generally applicable and globally optimal. Our basic idea is to formulate the PnP problem into a functional minimization problem and retrieve all its stationary points by using the Gr"obner basis technique. The novelty lies in a non-unit quaternion representation to parameterize the rotation and a simple but elegant formulation of the PnP problem into an unconstrained optimization problem. Interestingly, the polynomial system arising from its first-order optimality condition assumes two-fold symmetry, a nice property that can be utilized to improve speed and numerical stability of a Grobner basis solver. Experiment results have demonstrated that, in terms of accuracy, our proposed solution is definitely better than the state-of-the-art O(n) methods, and even comparable with the reprojection error minimization method.

278 citations

Book ChapterDOI
06 Sep 2014
TL;DR: This paper presents the first PnP solution that unifies all the above desirable properties within a single algorithm, and compares its result to state-of-the-art minimal, non-minimal, central, and non-central PNP algorithms, and demonstrates universal applicability, competitive noise resilience, and superior computational efficiency.
Abstract: A large number of absolute pose algorithms have been presented in the literature. Common performance criteria are computational complexity, geometric optimality, global optimality, structural degeneracies, and the number of solutions. The ability to handle minimal sets of correspondences, resulting solution multiplicity, and generalized cameras are further desirable properties. This paper presents the first PnP solution that unifies all the above desirable properties within a single algorithm. We compare our result to state-of-the-art minimal, non-minimal, central, and non-central PnP algorithms, and demonstrate universal applicability, competitive noise resilience, and superior computational efficiency. Our algorithm is called Unified PnP (UPnP).

193 citations


Cites methods from "Automatic Generator of Minimal Prob..."

  • ...We use our own Gröbner basis solver generator, which follows the idea presented in [10]....

    [...]

  • ...3 For details about the Gröbner basis method, the reader is referred to [4] and [10]....

    [...]

01 Jan 2012
TL;DR: The underlying geometry of rays corresponds to an axial camera, and a general theory of calibrating such systems using 2D-3D correspondences is developed, which allows non-linear refinement by minimizing the reprojection error.
Abstract: In this section, we describe in detail the analytical solutions to compute the layer thicknesses and translation along the axis when refractive indices are unknown. As shown in the paper, the axis can be computed independently of the layer thicknesses and refractive indices. We assume that axis A, rotation R and translation orthogonal to the axis, tA, has been computed as described in Section 3 of the paper. Our goal is to compute the translation tA along the axis, layer thicknesses and refractive indices, using the given 2D-3D correspondences. Let tA = αA, where α is the unknown translation magnitude along the axis. We first apply the computedR and tA⊥ to the 3D points P. Let Pc = RP+ tA⊥ . The plane of refraction is obtained by the estimated axis A and the given camera ray v0. Let [z2, z1] denote an orthogonal coordinate system on the plane of refraction (POR). We choose z1 along the axis. For a given camera ray v0, let z2 = z1 × (z1 × v0) be the orthogonal direction. The projection of Pc on POR is given by u = [u, u], where u = z2 Pc and u = z1 Pc. Similarly, each ray vi on the light-path of v0 can be represented by a 2D vector vpi on POR, whose components are given by z2 vi and z1 vi. Let zp = [0; 1] be a unit 2D vector and ci = vpi zp. On the plane of refraction, the normal n of the refracting layers is given by n = [0;−1]. 1.1. Case 1: Single Refraction In this case, we have three unknowns d0, μ1 and α. When μis are unknown, ray directions cannot be pre-computed and flat refraction constraint needs to be written in terms of camera rays. For Case 1, the flat refraction constraint is given by

141 citations


Cites methods from "Automatic Generator of Minimal Prob..."

  • ...Therefore, we used an automatic generator of Grobner basis solver [4] to obtain the final equation....

    [...]

Book
01 Jan 2007
TL;DR: Poster Session 4: Image and Video Processing as mentioned in this paperocusing on image and video processing, a Bayesian Network for Foreground Segmentation in Region Level is proposed for image segmentation.
Abstract: Poster Session 4: Face/Gesture/Action Detection and Recognition.- Palmprint Recognition Under Unconstrained Scenes.- Comparative Studies on Multispectral Palm Image Fusion for Biometrics.- Learning Gabor Magnitude Features for Palmprint Recognition.- Sign Recognition Using Constrained Optimization.- Poster Session 4: Image and Video Processing.- Depth from Stationary Blur with Adaptive Filtering.- Three-Stage Motion Deblurring from a Video.- Near-Optimal Mosaic Selection for Rotating and Zooming Video Cameras.- Video Mosaicing Based on Structure from Motion for Distortion-Free Document Digitization.- Super Resolution of Images of 3D Scenecs.- Learning-Based Super-Resolution System Using Single Facial Image and Multi-resolution Wavelet Synthesis.- Poster Session 4: Segmentation and Classification.- Statistical Framework for Shot Segmentation and Classification in Sports Video.- Sports Classification Using Cross-Ratio Histograms.- A Bayesian Network for Foreground Segmentation in Region Level.- Efficient Graph Cuts for Multiclass Interactive Image Segmentation.- Feature Subset Selection for Multi-class SVM Based Image Classification.- Evaluating Multi-class Multiple-Instance Learning for Image Categorization.- Poster Session 4: Shape.- TransforMesh : A Topology-Adaptive Mesh-Based Approach to Surface Evolution.- Microscopic Surface Shape Estimation of a Transparent Plate Using a Complex Image.- Shape Recovery from Turntable Image Sequence.- Shape from Contour for the Digitization of Curved Documents.- Improved Space Carving Method for Merging and Interpolating Multiple Range Images Using Information of Light Sources of Active Stereo.- Shape Representation and Classification Using Boundary Radius Function.- A Convex Programming Approach to the Trace Quotient Problem.- Learning a Fast Emulator of a Binary Decision Process.- Multiplexed Illumination for Measuring BRDF Using an Ellipsoidal Mirror and a Projector.- Analyzing the Influences of Camera Warm-Up Effects on Image Acquisition.- Simultaneous Plane Extraction and 2D Homography Estimation Using Local Feature Transformations.- A Fast Optimal Algorithm for L 2 Triangulation.- Adaptively Determining Degrees of Implicit Polynomial Curves and Surfaces.- Determining Relative Geometry of Cameras from Normal Flows.- Poster Session 5: Geometry.- Highest Accuracy Fundamental Matrix Computation.- Sequential L ??? Norm Minimization for Triangulation.- Initial Pose Estimation for 3D Model Tracking Using Learned Objective Functions.- Multiple View Geometry for Non-rigid Motions Viewed from Translational Cameras.- Visual Odometry for Non-overlapping Views Using Second-Order Cone Programming.- Pose Estimation from Circle or Parallel Lines in a Single Image.- An Occupancy-Depth Generative Model of Multi-view Images.- Poster Session 5: Matching and Registration.- Image Correspondence from Motion Subspace Constraint and Epipolar Constraint.- Efficient Registration of Aerial Image Sequences Without Camera Priors.- Simultaneous Appearance Modeling and Segmentation for Matching People Under Occlusion.- Content-Based Matching of Videos Using Local Spatio-temporal Fingerprints.- Automatic Range Image Registration Using Mixed Integer Linear Programming.- Accelerating Pattern Matching or How Much Can You Slide?.- Poster Session 5: Recognition.- Detecting, Tracking and Recognizing License Plates.- Action Recognition for Surveillance Applications Using Optic Flow and SVM.- The Kernel Orthogonal Mutual Subspace Method and Its Application to 3D Object Recognition.- Viewpoint Insensitive Action Recognition Using Envelop Shape.- Unsupervised Identification of Multiple Objects of Interest from Multiple Images: dISCOVER.- Poster Session 5: Stereo, Range and 3D.- Fast 3-D Interpretation from Monocular Image Sequences on Large Motion Fields.- Color-Stripe Structured Light Robust to Surface Color and Discontinuity.- Stereo Vision Enabling Precise Border Localization Within a Scanline Optimization Framework.- Three Dimensional Position Measurement for Maxillofacial Surgery by Stereo X-Ray Images.- Total Absolute Gaussian Curvature for Stereo Prior.- Fast Optimal Three View Triangulation.- Stereo Matching Using Population-Based MCMC.- Dense 3D Reconstruction of Specular and Transparent Objects Using Stereo Cameras and Phase-Shift Method.- Identifying Foreground from Multiple Images.- Image and Video Matting with Membership Propagation.- Temporal Priors for Novel Video Synthesis.- Content-Based Image Retrieval by Indexing Random Subwindows with Randomized Trees.- Poster Session 6: Face/Gesture/Action Detection and Recognition.- Analyzing Facial Expression by Fusing Manifolds.- A Novel Multi-stage Classifier for Face Recognition.- Discriminant Clustering Embedding for Face Recognition with Image Sets.- Privacy Preserving: Hiding a Face in a Face.- Face Mosaicing for Pose Robust Video-Based Recognition.- Face Recognition by Using Elongated Local Binary Patterns with Average Maximum Distance Gradient Magnitude.- An Adaptive Nonparametric Discriminant Analysis Method and Its Application to Face Recognition.- Discriminating 3D Faces by Statistics of Depth Differences.- Kernel Discriminant Analysis Based on Canonical Differences for Face Recognition in Image Sets.- Person-Similarity Weighted Feature for Expression Recognition.- Converting Thermal Infrared Face Images into Normal Gray-Level Images.- Recognition of Digital Images of the Human Face at Ultra Low Resolution Via Illumination Spaces.- Poster Session 6: Math for Vision.- Crystal Vision-Applications of Point Groups in Computer Vision.- On the Critical Point of Gradient Vector Flow Snake.- A Fast and Noise-Tolerant Method for Positioning Centers of Spiraling and Circulating Vector Fields.- Interpolation Between Eigenspaces Using Rotation in Multiple Dimensions.- Conic Fitting Using the Geometric Distance.- Poster Session 6: Segmentation and Classification.- Efficiently Solving the Fractional Trust Region Problem.- Image Segmentation Using Iterated Graph Cuts Based on Multi-scale Smoothing.- Backward Segmentation and Region Fitting for Geometrical Visibility Range Estimation.- Image Segmentation Using Co-EM Strategy.- Co-segmentation of Image Pairs with Quadratic Global Constraint in MRFs.- Shape Reconstruction from Cast Shadows Using Coplanarities and Metric Constraints.- Evolving Measurement Regions for Depth from Defocus.- A New Framework for Grayscale and Colour Non-lambertian Shape-from-Shading.- A Regularized Approach to Feature Selection for Face Detection.- Iris Tracking and Regeneration for Improving Nonverbal Interface.- Face Mis-alignment Analysis by Multiple-Instance Subspace.

141 citations

Proceedings ArticleDOI
01 Jul 2017
TL;DR: A new method for finding small elimination templates by making use of the syzygies (i.e. the polynomial relations) that exist between the original equations by essentially parameterize the set of possible elimination templates.
Abstract: In this paper we study the problem of automatically generating polynomial solvers for minimal problems. The main contribution is a new method for finding small elimination templates by making use of the syzygies (i.e. the polynomial relations) that exist between the original equations. Using these syzygies we can essentially parameterize the set of possible elimination templates. We evaluate our method on a wide variety of problems from geometric computer vision and show improvement compared to both handcrafted and automatically generated solvers. Furthermore we apply our method on two previously unsolved relative orientation problems.

131 citations


Cites background or methods from "Automatic Generator of Minimal Prob..."

  • ...[33] in that it only requires the user to specify the problem equations and then generates stand-alone MATLAB code that can be used to solve arbitrary problem instances....

    [...]

  • ...[33], where the authors presented an automatic method for generating polynomial solvers....

    [...]

  • ...) The solvers generated using [33] are built on the action matrix method that reduces the polynomial equation system to an eigenvalue problem....

    [...]

  • ...[33] (*) 238× 290 223× 290 154× 210 Rel....

    [...]

  • ...For a more thorough review of the action matrix method and how it has been applied in computer vision we recommend [37], [33] and [9]....

    [...]

References
More filters
Book
01 Jan 2000
TL;DR: In this article, the authors provide comprehensive background material and explain how to apply the methods and implement the algorithms directly in a unified framework, including geometric principles and how to represent objects algebraically so they can be computed and applied.
Abstract: From the Publisher: A basic problem in computer vision is to understand the structure of a real world scene given several images of it. Recent major developments in the theory and practice of scene reconstruction are described in detail in a unified framework. The book covers the geometric principles and how to represent objects algebraically so they can be computed and applied. The authors provide comprehensive background material and explain how to apply the methods and implement the algorithms directly.

15,558 citations

01 Jan 2001
TL;DR: This book is referred to read because it is an inspiring book to give you more chance to get experiences and also thoughts and it will show the best book collections and completed collections.
Abstract: Downloading the book in this website lists can give you more advantages. It will show you the best book collections and completed collections. So many books can be found in this website. So, this is not only this multiple view geometry in computer vision. However, this book is referred to read because it is an inspiring book to give you more chance to get experiences and also thoughts. This is simple, read the soft file of the book and you get it.

14,282 citations


"Automatic Generator of Minimal Prob..." refers background in this paper

  • ...These are important problems with a broad range of applications [10]....

    [...]

BookDOI
TL;DR: In the Groebner package, the most commonly used commands are NormalForm, for doing the division algorithm, and Basis, for computing a Groebners basis as mentioned in this paper. But these commands require a large number of variables.
Abstract: (here, > is the Maple prompt). Once the Groebner package is loaded, you can perform the division algorithm, compute Groebner bases, and carry out a variety of other commands described below. In Maple, a monomial ordering is called a monomial order. The monomial orderings lex, grlex, and grevlex from Chapter 2 are easy to use in Maple. Lex order is called plex (for “pure lexicographic”), grlex order is called grlex, and grevlex order is called tdeg (for “total degree”). Be careful not to confuse tdeg with grlex. Since a monomial order depends also on how the variables are ordered, Maple needs to know both the monomial order you want (plex, grlex or tdeg) and a list of variables. For example, to tell Maple to use lex order with variables x > y > z, you would need to input plex(x,y,z). The Groebner package also knows some elimination orders, as defined in Exercise 5 of Chapter 3, §1. To eliminate the first k variables from x1, . . . , xn, one can use the monomial order lexdeg([x 1,. . .,x k],[x {k+1},. . . ,x n]) (remember that Maple encloses a list inside brackets [. . .]). This order is the elimination order of Bayer and Stillman described in Exercise 6 of Chapter 3, §1. The Maple documentation for the Groebner package also describes how to use certain weighted orders, and we will explain below how matrix orders give us many more monomial orderings. The most commonly used commands in the Groebner package are NormalForm, for doing the division algorithm, and Basis, for computing a Groebner basis. NormalForm has the following syntax:

3,332 citations

Journal ArticleDOI
David Nister1
TL;DR: The algorithm is used in a robust hypothesize-and-test framework to estimate structure and motion in real-time with low delay and is the first algorithm well-suited for numerical implementation that also corresponds to the inherent complexity of the problem.
Abstract: An efficient algorithmic solution to the classical five-point relative pose problem is presented. The problem is to find the possible solutions for relative camera pose between two calibrated views given five corresponding points. The algorithm consists of computing the coefficients of a tenth degree polynomial in closed form and, subsequently, finding its roots. It is the first algorithm well-suited for numerical implementation that also corresponds to the inherent complexity of the problem. We investigate the numerical precision of the algorithm. We also study its performance under noise in minimal as well as overdetermined cases. The performance is compared to that of the well-known 8 and 7-point methods and a 6-point scheme. The algorithm is used in a robust hypothesize-and-test framework to estimate structure and motion in real-time with low delay. The real-time system uses solely visual input and has been demonstrated at major conferences.

2,077 citations

Book
01 Jan 1998
TL;DR: The Berlekamp-Massey-Sakata Decoding Algorithm is used for solving Polynomial Equations and for computations in Local Rings.
Abstract: Introduction.- Solving Polynomial Equations.- Resultants.- Computation in Local Rings.- Modules.- Free Resolutions.- Polytopes, Resultants, and Equations.- Integer Programming, Combinatorics, and Splines.- Algebraic Coding Theory.- The Berlekamp-Massey-Sakata Decoding Algorithm.

1,726 citations

Frequently Asked Questions (1)
Q1. What contributions have the authors mentioned in the paper "Automatic generator of minimal problem solvers" ?

In this paper the authors propose an automatic procedure for generating Gröbner basis solvers which could be used even by non-experts to solve technical problems. The authors demonstrate that their automatic generator constructs efficient and numerically stable solvers which are comparable or outperform known manually constructed solvers.