IEEE Robotics & Automation Magazine - June 2012 - 84
coplanar. However, when the camera is calibrated, its six
degrees of freedom (DoF) motion can be inferred from a
minimum of five-point correspondences, and the first
solution to this problem was given in 1913 by Kruppa [37].
Several five-point minimal solvers were proposed later in
[38]-[40], but an efficient implementation, based on [39],
was found only in 2003 by Nister [41] and later revised in
[42]. Before that, the six- [43], seven- [44], or eight- solvers
were commonly used. However, the five-point solver has
the advantage that it works also for planar scenes. (Observe
that eight- and seven-point solvers work for uncalibrated,
perspective cameras. To use them also with omnidirectional cameras, the camera needs to be calibrated. Alternatively, n -point solvers for uncalibrated omnidirectional
cameras have also been proposed [45]-[47], where n
depends on the type of mirror or fish eye used. Lim et al.
[48] showed that, for calibrated omnidirectional cameras,
6 DoF motion can be recovered using only two pairs of
antipodal image points. Antipodal image points are points
whose rays are aligned but which correspond to opposite
viewing directions. They also showed that antipodal points
allow us to independently estimate translation and
rotation.)
Despite the five-point algorithm represents the minimal
solver for 6 DoF motion of calibrated cameras, in the last
few decades, there have been several attempts to exploit
different cues to reduce the number of motion parameters.
In [49], Fraundorfer et al. proposed a three-point minimal
solver for the case of two known camera-orientation
Number of RANSAC Iterations
1,000
Histogram Voting
One-Point
Two-Point
Five-Point
No. of Iterations
800
600
400
200
0
0
10
20
30 40 50 60 70 80
Fraction of Outliers
(No. of Outliers)/(No. of Points) (%)
90
Figure 7. Number of RANSAC iterations versus fraction of
outliers.
Table 1. Number of RANSAC iterations.
84
*
Number of points (s):
8
7
6
5
4
Number of iterations (N):
1,177
587
292
145
71
IEEE ROBOTICS & AUTOMATION MAGAZINE
*
JUNE 2012
angles. For instance, this can be used when the camera is
rigidly attached to a gravity sensor (in fact, the gravity vector fixes two camera-orientation angles). Later, Naroditsky
et al. [50] improved on that work by showing that the
three-point minimal solver can be used in a four-point
(three-plus-one) RANSAC scheme. The three-plus-one
stands for the fact that an additional far scene point
(ideally, a point at infinity) is used to fix the two orientation angles. Using their four-point RANSAC, they also
show a successful 6 DoF VO. A two-point minimal solver
for 6-DoF VO was proposed by Kneip et al. [51], which
uses the full rotation matrix from an IMU rigidly attached
to the camera.
In the case of planar motion, the motion model complexity is reduced to 3 DoF and can be parameterized with
two points as described in [52]. For wheeled vehicles, Scaramuzza et al. [9], [53] showed that the motion can be
locally described as planar and circular, and, therefore, the
motion model complexity is reduced to 2 DoF, leading to a
one-point minimal solver. Using a single point for motion
estimation is the lowest motion parameterization possible
and results in the most efficient RANSAC algorithm. Additionally, they show that, by using histogram, voting outliers
can be found in a small, single iteration. A performance
evaluation of five-, two-, and one-point RANSAC algorithms for VO was finally presented in [54].
To recap, the reader should remember that, if the
camera motion is unconstrained, the minimum number of
points to estimate the motion is five, and, therefore, the
five-point RANSAC (or the six-, seven-, or eight-point
one) should be used. Of course, using the five-point RANSAC will require less iterations (and thus less time) than
the six-, seven-, or eight-point RANSAC. A summary of
the number of minimum RANSAC iterations as a function
of the number of model parameters s is shown in Table 1
for the eight-, seven-, five-, four-, two-, one-point minimal
solvers. These values were obtained from (1), assuming a
probability of success P ¼ 99% and a percentage of outliers ¼ 50%.
Reducing the Iterations of RANSAC
As can be observed in Table 1, with P ¼ 99% and
¼ 50%, the five-point RANSAC requires a minimum of
145 iterations. However, in reality, the things are not
always so straightforward. Sometimes, the number of outliers is underestimated and using more iterations increases
the chances to find more inliers. In some cases, it can even
be necessary to allow for thousands of iterations. Because
of this, several works have been produced in the endeavor
of increasing the speed of RANSAC.
* The maximum likelihood estimation sample consensus [55] makes
the measurement of correspond2
1
ences more reliable and improves
16
7
the estimate of the hypotheses. The
progressive sample consensus [56]
Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - June 2012
IEEE Robotics & Automation Magazine - June 2012 - Cover1
IEEE Robotics & Automation Magazine - June 2012 - Cover2
IEEE Robotics & Automation Magazine - June 2012 - 1
IEEE Robotics & Automation Magazine - June 2012 - 2
IEEE Robotics & Automation Magazine - June 2012 - 3
IEEE Robotics & Automation Magazine - June 2012 - 4
IEEE Robotics & Automation Magazine - June 2012 - 5
IEEE Robotics & Automation Magazine - June 2012 - 6
IEEE Robotics & Automation Magazine - June 2012 - 7
IEEE Robotics & Automation Magazine - June 2012 - 8
IEEE Robotics & Automation Magazine - June 2012 - 9
IEEE Robotics & Automation Magazine - June 2012 - 10
IEEE Robotics & Automation Magazine - June 2012 - 11
IEEE Robotics & Automation Magazine - June 2012 - 12
IEEE Robotics & Automation Magazine - June 2012 - 13
IEEE Robotics & Automation Magazine - June 2012 - 14
IEEE Robotics & Automation Magazine - June 2012 - 15
IEEE Robotics & Automation Magazine - June 2012 - 16
IEEE Robotics & Automation Magazine - June 2012 - 17
IEEE Robotics & Automation Magazine - June 2012 - 18
IEEE Robotics & Automation Magazine - June 2012 - 19
IEEE Robotics & Automation Magazine - June 2012 - 20
IEEE Robotics & Automation Magazine - June 2012 - 21
IEEE Robotics & Automation Magazine - June 2012 - 22
IEEE Robotics & Automation Magazine - June 2012 - 23
IEEE Robotics & Automation Magazine - June 2012 - 24
IEEE Robotics & Automation Magazine - June 2012 - 25
IEEE Robotics & Automation Magazine - June 2012 - 26
IEEE Robotics & Automation Magazine - June 2012 - 27
IEEE Robotics & Automation Magazine - June 2012 - 28
IEEE Robotics & Automation Magazine - June 2012 - 29
IEEE Robotics & Automation Magazine - June 2012 - 30
IEEE Robotics & Automation Magazine - June 2012 - 31
IEEE Robotics & Automation Magazine - June 2012 - 32
IEEE Robotics & Automation Magazine - June 2012 - 33
IEEE Robotics & Automation Magazine - June 2012 - 34
IEEE Robotics & Automation Magazine - June 2012 - 35
IEEE Robotics & Automation Magazine - June 2012 - 36
IEEE Robotics & Automation Magazine - June 2012 - 37
IEEE Robotics & Automation Magazine - June 2012 - 38
IEEE Robotics & Automation Magazine - June 2012 - 39
IEEE Robotics & Automation Magazine - June 2012 - 40
IEEE Robotics & Automation Magazine - June 2012 - 41
IEEE Robotics & Automation Magazine - June 2012 - 42
IEEE Robotics & Automation Magazine - June 2012 - 43
IEEE Robotics & Automation Magazine - June 2012 - 44
IEEE Robotics & Automation Magazine - June 2012 - 45
IEEE Robotics & Automation Magazine - June 2012 - 46
IEEE Robotics & Automation Magazine - June 2012 - 47
IEEE Robotics & Automation Magazine - June 2012 - 48
IEEE Robotics & Automation Magazine - June 2012 - 49
IEEE Robotics & Automation Magazine - June 2012 - 50
IEEE Robotics & Automation Magazine - June 2012 - 51
IEEE Robotics & Automation Magazine - June 2012 - 52
IEEE Robotics & Automation Magazine - June 2012 - 53
IEEE Robotics & Automation Magazine - June 2012 - 54
IEEE Robotics & Automation Magazine - June 2012 - 55
IEEE Robotics & Automation Magazine - June 2012 - 56
IEEE Robotics & Automation Magazine - June 2012 - 57
IEEE Robotics & Automation Magazine - June 2012 - 58
IEEE Robotics & Automation Magazine - June 2012 - 59
IEEE Robotics & Automation Magazine - June 2012 - 60
IEEE Robotics & Automation Magazine - June 2012 - 61
IEEE Robotics & Automation Magazine - June 2012 - 62
IEEE Robotics & Automation Magazine - June 2012 - 63
IEEE Robotics & Automation Magazine - June 2012 - 64
IEEE Robotics & Automation Magazine - June 2012 - 65
IEEE Robotics & Automation Magazine - June 2012 - 66
IEEE Robotics & Automation Magazine - June 2012 - 67
IEEE Robotics & Automation Magazine - June 2012 - 68
IEEE Robotics & Automation Magazine - June 2012 - 69
IEEE Robotics & Automation Magazine - June 2012 - 70
IEEE Robotics & Automation Magazine - June 2012 - 71
IEEE Robotics & Automation Magazine - June 2012 - 72
IEEE Robotics & Automation Magazine - June 2012 - 73
IEEE Robotics & Automation Magazine - June 2012 - 74
IEEE Robotics & Automation Magazine - June 2012 - 75
IEEE Robotics & Automation Magazine - June 2012 - 76
IEEE Robotics & Automation Magazine - June 2012 - 77
IEEE Robotics & Automation Magazine - June 2012 - 78
IEEE Robotics & Automation Magazine - June 2012 - 79
IEEE Robotics & Automation Magazine - June 2012 - 80
IEEE Robotics & Automation Magazine - June 2012 - 81
IEEE Robotics & Automation Magazine - June 2012 - 82
IEEE Robotics & Automation Magazine - June 2012 - 83
IEEE Robotics & Automation Magazine - June 2012 - 84
IEEE Robotics & Automation Magazine - June 2012 - 85
IEEE Robotics & Automation Magazine - June 2012 - 86
IEEE Robotics & Automation Magazine - June 2012 - 87
IEEE Robotics & Automation Magazine - June 2012 - 88
IEEE Robotics & Automation Magazine - June 2012 - 89
IEEE Robotics & Automation Magazine - June 2012 - 90
IEEE Robotics & Automation Magazine - June 2012 - 91
IEEE Robotics & Automation Magazine - June 2012 - 92
IEEE Robotics & Automation Magazine - June 2012 - 93
IEEE Robotics & Automation Magazine - June 2012 - 94
IEEE Robotics & Automation Magazine - June 2012 - 95
IEEE Robotics & Automation Magazine - June 2012 - 96
IEEE Robotics & Automation Magazine - June 2012 - 97
IEEE Robotics & Automation Magazine - June 2012 - 98
IEEE Robotics & Automation Magazine - June 2012 - 99
IEEE Robotics & Automation Magazine - June 2012 - 100
IEEE Robotics & Automation Magazine - June 2012 - 101
IEEE Robotics & Automation Magazine - June 2012 - 102
IEEE Robotics & Automation Magazine - June 2012 - 103
IEEE Robotics & Automation Magazine - June 2012 - 104
IEEE Robotics & Automation Magazine - June 2012 - 105
IEEE Robotics & Automation Magazine - June 2012 - 106
IEEE Robotics & Automation Magazine - June 2012 - 107
IEEE Robotics & Automation Magazine - June 2012 - 108
IEEE Robotics & Automation Magazine - June 2012 - 109
IEEE Robotics & Automation Magazine - June 2012 - 110
IEEE Robotics & Automation Magazine - June 2012 - 111
IEEE Robotics & Automation Magazine - June 2012 - 112
IEEE Robotics & Automation Magazine - June 2012 - Cover3
IEEE Robotics & Automation Magazine - June 2012 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com