Triangulation in Presence of Noise
Triangulation in Presence of Noise
Abstract—The objective of this paper is to review the Stereo- computes reconstruction as intersection of two rays as shown
Triangulation in computer vision, investigating the reconstruction in Figure 1.a. In order to solve this problem, it is necessary to
of three-dimensional data corresponding using the 2-D images in know the parameters of the camera projection function from
a situation where images contain noise. Finally four optimization
methods were implementation for Triangulation simulation in 3D to 2D for the cameras involved, in the simplest case repre-
the noisy condition. The cameras were modelled using Peter sented by the camera matrices. Triangulation is sometimes also
Corke’s MVTB toolbox in MATLAB and Gaussian noise was used referred to as reconstruction. Stereo -Triangulation method,
to simulate noisy condition. Comparison of the result for four which is used in navigation and surveying, is used to calculate
selected optimization methods, i.e., poly-abs, lindstrom, sampson depth. Basic triangulation uses the known distance of two
and mid-point shows that poly-abs performs better in practice
and create less error. separated points looking at the same scene point. From these
Index Terms—stereo-triangulation, optimization, noise, 3D re- parameters the distance to the scene point can be calculated
construction simply applying geometry relation. This same basic idea is
used in stereo vision to find depth information from two
I. I NTRODUCTION images. Figure 1.a graphically shows the geometry of a stereo
vision system and depth calculation.
in this work, we will practice following items and will
support our findings with related work review and some
experimental results.
1) “Recall the mathematical definition of a norm and
the definition of usual norms:L1 , L2 , Lp , L∞ , Frobenius
norm.
2) Search the scientific literature for articles that deal with
the problem of triangulation (in stereovision, not to
be confused with triangulation in computer graphics!).
Make a synthesis of the proposed methods.
3) Suggest and implement a triangulation method in simu-
lation (you can use Peter Corke’s toolbox) and propose a
noise-based analysis. In other words: test without noise
(on the image points), then gradually increase the noise Fig. 1. (a) triangulation in a Stereo Vision System (b)Stereo-Triangulation in
level (on the image points), give a graph with the 3D the presence of noise
error on the y-axis and the noise level on the x-axis. “
A binocular stereo vision system is composed of two In the above arrangement, two cameras ( C, C 0 ) see the same
cameras both of which observe the same scene [2]. The main feature point(Xi ). Assume that we know the camera matrices
task of stereo vision is to compute three dimensional data P , P 0 and 2D correspondences ui ↔ ui on each image. In
from 2D input images grabbed by cameras. Computer stereo order to determine the 3D point Xi it is tempting to back-
vision tries to imitate the human visual system. The human project the two image points and determines their intersection.
visual system obtains information about the world through two The location of the point in the two image planes is denoted by
planar images that are captured by the retina of each eye. The xi and x0i . When the cameras are separated by a distance T, the
position of a scene point in right view is horizontally shifted location of ui and u0i from the cameras normal axis will differ
in the left view. This displacement commonly referred to as (denoted by xi , x0i ). Using these differences, the distance(Xi )
disparity, human brain use to deduce the depth information of to the point can be calculated from the following formula:
the scene. Although this course of action appears simple, for T
Xi = f xi −x 0
computers is surprisingly difficult [1]. i
In a stereo-vision system, the depth is calculated by tri- We know the focal length of the camera (f ) and camera
angulation within 3D reconstruction process. Triangulation baseline distance (T) using the calibration procedure explained
by Zhang [12]. Thus, if we know disparity value, then 5) The Frobenius norm of matrix A denoted by |A|F and
the actual distance of the real world point is known. But, it is defined as follows
unfortunately, the real world environment is usually more 1/2
m X n
complicated due to various source of noise.In practice, the X 2 1/2
= trace AT A
d= (aij )
coordinates of image points cannot be measured with arbitrary
i=1 j=1
accuracy. Instead, various types of noise, such as geometric
noise from lens distortion or interest point detection error, Disntance L1 , L2 are widely used in non-linear triangulation
lead to inaccuracies in the measured image coordinates. As a and all distances are used in linear triangualtion. The above
consequence, as shown in the Figure 1.b, the lines generated formulas can be extended to n-dimensional space. Non-linar
by the corresponding image points do not always intersect in triangulation methods are mainly trying to minimize Geomet-
3D space. As a result, we need to estimate and find a best ric and 3D errors while linear methods minimize algebraic
solution where two lines approximately intersect. error.
Several ways to approach the problem depending on what
we choose to optimize over which parameters. better saying, A. Non Linear Tiangulation (Minimizing a Geometric Error)
one of the following target in the optimisation objective. The idea is to estimate a 3D point X
bi which exactly satisfies
• Only errors in ui ↔ ui
0 the supplied camera geometry [5]. So it projects as
0 0
• Errors in ui ↔ ui , P and P
ûi = P X̂i , ûi = P 0 X̂i
The paper is organized as follows: section 2 summarizes lit-
erature review of methods used in stereo vision triangulation, a And the aim is to estimate X
b i from the image measurements
brief summary. The problem, then, is to find a 3D point which ui and u0i as shown in Figure 2.
optimally fits the image points. There are multiple proposals
for how to define optimality and how to find the optimal 3D
point. Since they are based on different optimization criteria,
the various methods produce different estimates of the 3D
point x when noise is involved. Mainly non-linear methods will
be discussed in this section. Some solutions for triangulation in
the presence of noise will be demonstrated in section 3 because
they are mainly focusing on linear triangulation. Then, for
development purpose, four non-linear methods will be selected
and triangulation implementation will be developed using pure
MATLAB code which will be detailed in section 4. Section
5 will demonstrate the result of the selected methods. In this
section, the result of the noisy and noise-free triangulation
will be presented and compared. The paper will end up to
conclusion and references.
C. Poly-abs
Fig. 3. epipolar plane
We suppose that a point x in R3 is visible in two images.
The two camera matrices P and P 0 corresponding to the two
images are supposed known. Let u and u0 be projections of the
2 2
εi = d (ui , l(t)) + d (u0i , l0 (t)) point x in the two images. Instead of minimizing the square
sum of image errors L1 it is possible to adapt the polynomial
l and l0 range over all choices of corresponding epipolar lines method to minimize the sum of absolute values of the distances
and ûi is the closest point on the line l to ui, same for L1 , instead of the squares of distances. This method is called
û0i as illustrated in Figure 4. To find t that minimizes the Poly-Abs.The quantity to be minimized is d(u, λ) + d(û + λ̂)
reprojection error, one has to minimize a 6-degree polynomial which, as a function of t, is expressed by
of t. |t| |ct + d|
s2 (t) = p +q
1 + (tf )2
(at + b)2 + fˆ(ct + d)2
Fig. 8. (a) triangulation of noise free image (b) triangulation with optimal
correction of noisy image
Fig. 5. 3D model without noise Min, max, average and variance of error over 100 recon-
structed points were calculated for 4 above selected methods.
The reconstruction was applied without using any optimiza-
tion, as the fifth method. The five results are demonstrated
and compared in Figure 9. In Figure 9, 1 through 5 refers
to without optimization, poly-abs, mid-point, lindstrom and
finally sampson. As seen in this Figure 9, average error, max
error and variation of the error for each pixel is minimum
for poly-abs. It means, poly-abs creates more uniform error
on all pixels with respect to other methods and is better to be
used and the behavior of the optimization is more regular. The
detail of the error for all 100 pints are shown in Figure 10. In
our study, the maximum error for all methods of optimization
Fig. 6. (a) projected image by the left camera (b) projected image by the
right camera appears for last two rows. While the minimum always appears
at the first two rows. The detail of the error for all 100 points
Then a Gaussian noise with mean equal to zero and variance is shown in Figure 11. The error curves were a little bit
equal to 5 ∼ N (0, 5) was created and added to the both smoothed for better visualization.
images. In the Figure 7 the noisy left and right images are Figure 12 shows the 3D reconstruction result in presence of
shown with ’x’ symbol compared to the noise free images. the noise without any optimization.
Fig. 9. min, max, average, variation of the error for all points presents for Fig. 12. error curve for all 100 points without optimization
five methods
VI. C ONCLUSION
The Stereo-Triangulation for 3D reconstruction was pre-
sented and the core issue under uncertainty was revealed.
Different optimization methods for triangulation in presence
of noise were reviewed and the principle of each method was
explained. Four methods, i.e., poly-abs, Lindstrom, Sampson
and mid-points were selected and the MATLAB function was
implemented for 3D reconstruction and triangualtion. The
result of the methods were extracted, anlayzed and compared.
3D points were reconstructed using above function adding
different level of the noise. The error for each method were
extracted and compared with triangulation without using any
optimization and without noise condition. The result shows
that poly-abs presents more accurate results with lower error
with respect to other three methods. Lindstrom and mid-
point presented faily poor result with a lot of varation. The
maximum average error belongs to mid-point.
Fig. 10. error curves for each method and maximum error
R EFERENCES
[1] HB Barlow. Temporal and spatial summation in human vision at
different background intensities. The Journal of physiology, 141(2):337–
350, 1958.
[2] Thomas R Dahl and George Spector. Binocular stereovision, January 1
1991. US Patent 4,982,278.
[3] Fredrik Kahl ; Richard Hartley. Multiple-view geometry under the l∞ -
norm. IEEE Transactions on Pattern Analysis and Machine Intelligence,
16 July 2008.
[4] Richard Hartley and Andrew Zisserman. Multiple view geometry in
computer vision. Cambridge university press, 2003.
[5] Richard I Hartley and Peter Sturm. Triangulation. Computer vision and
image understanding, 68(2):146–157, 1997.
[6] Kenichi Kanatani and Hirotaka Niitsuma. Optimal two-view planar
scene triangulation. IPSJ Transactions on Computer Vision and Ap-
plications, 3:67–79, 2011.
[7] Peter Lindstrom. Triangulation made easy. In 2010 IEEE Computer
Society Conference on Computer Vision and Pattern Recognition, pages
1554–1561. IEEE, 2010.
[8] Zlatka Mihaylova. Triangulation methods. seminar paper, 2009.
[9] N Ragot, R Rossi, X Savatier, JY Ertaud, and B Mazari. 3d volumetric
reconstruction with a catadioptric stereovision sensor. In 2008 IEEE
International Symposium on Industrial Electronics, pages 1306–1311.
Fig. 11. error curve for all 100 points and for five selected method
IEEE, 2008.
[10] Paul D Sampson. Fitting conic sections to “very scattered” data: An
iterative refinement of the bookstein algorithm. Computer graphics and
image processing, 18(1):97–108, 1982.
[11] Adam Scholefield, Alireza Ghasemi, and Martin Vetterli. Bound and
conquer: Improving triangulation by enforcing consistency. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 2019.
[12] Zhengyou Zhang. Flexible camera calibration by viewing a plane from
unknown orientations. In Proceedings of the Seventh IEEE International
Conference on Computer Vision, volume 1, pages 666–673. Ieee, 1999.