0% found this document useful (0 votes)
12 views

_published

_published

Uploaded by

henrydcl
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

_published

_published

Uploaded by

henrydcl
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

2012 Second Joint 3DIM/3DPVT Conference: 3D Imaging, Modeling, Processing, Visualization & Transmission

A Robust Multi-Camera 3D Ellipse Fitting for Contactless Measurements

Filippo Bergamasco, Luca Cosmo, Andrea Albarelli and Andrea Torsello


Dipartimento di Scienze Ambientali, Informatica e Statistica
Universitá Ca’ Foscari - Venice, Italy
Email: [email protected] [email protected] [email protected] [email protected]

Abstract

Ellipses are a widely used cue in many 2D and 3D ob-


ject recognition pipelines. In fact, they exhibit a number
of useful properties. First, they are naturally occurring in
many man-made objects. Second, the projective invariance
of the class of ellipses makes them detectable even without
any knowledge of the acquisition parameters. Finally, they
can be represented by a compact set of parameters that can
be easily adopted within optimization tasks. While a large
body of work exists in the literature about the localization of
ellipses as 2D entities in images, less effort has been put in
the direct localization of ellipses in 3D, exploiting images
coming from a known camera network. In this paper we
propose a novel technique for fitting elliptical shapes in 3D
space, by performing an initial 2D guess on each image fol- Figure 1. Schematic representation of a multi-camera system for
lowed by a multi-camera optimization refining a 3D ellipse industrial in-line pipes inspection.
simultaneously on all the calibrated views. The proposed
lipses (including circles) are regular shapes that often ap-
method is validated both with synthetic data and by mea-
pear in manufactured objects and can be used as optical
suring real objects captured by a specially crafted imaging
landmarks for tracking and manipulation [22] or measured
head. Finally, to evaluate the feasibility of the approach
for accurate in-line quality assurance [16].
within real-time industrial scenarios, we tested the perfor-
mance of a GPU-based implementation of the algorithm. Because of their usefulness and broad range of applica-
bility, it is not surprising that ellipse detection and fitting
methods abound in the literature. In particular, when points
1. Introduction belonging to the ellipse are known, they are often fitted
through ellipse-specific least square methods [6]. In order
Among all the visual cues, ellipses offer several advan- to find co-elliptical points in images, traditional parameter-
tages that prompt their adoption within many machine vi- space search schemas, such as RANSAC or Hough Trans-
sion tasks. To begin with, the class of ellipses is invariant to form, can be employed. Unfortunately, the significantly
projective transformations, thus an elliptical shape remains high dimensionality of 2D ellipse parametrization (which
so when it is captured from any viewpoint by a pinhole cam- counts 5 degrees of freedom) makes the direct application
era [4]. This property makes easy to recognize objects that of those techniques not feasible. For this reason a lot of ef-
contain ellipses [11, 8] or partially elliptical features [18]. ficient variants have appeared. Some try to reduce the num-
When the parameters of one or more coplanar 3D ellipses ber of samples for a successful RANSAC selection [17, 21].
that originated the projection are known, the class of homo- Others attempt to escape from the curse of dimensionality
graphies that make it orthonormal to the image plane can be that plagues the Hough accumulator [12, 3]. If high accu-
retrieved. This is a useful step for many tasks, such as the racy is sought, point-fitted ellipses can be used as an initial
recognition of fiducial markers [1, 13], orthonormalization guess to be refined through intensity-based methods. Those
of playfields [7], forensic analysis of organic stains [20] or approaches allow to obtain a sub-pixel estimation by ex-
any other planar metric rectification [2]. Furthermore, el- ploiting the raw gradient of the image [14] or by preserv-

978-0-7695-4873-9/12 $26.00 © 2012 IEEE 168


DOI 10.1109/3DIMPVT.2012.22
ing quantities such as intensity moments and gradients [9]. In matrix form it can be expressed by the locus of points
 T
Multiple view geometry has also been exploited to get a x = x1 x2 1 in homogeneous coordinates for which
better 3D ellipse estimation. In [19], multiple cameras are the equation xT AxT = 0 holds, for
used to track an elliptical feature on a glove to obtain the es- ⎛ ⎞
timation of the hand pose. The ellipses fitted in the images a b d
are triangulated with the algorithm proposed in [15] and the A = ⎝b c f ⎠ (1)
best pair is selected. In [10], holes in metal plates and in- d f g
dustrial components are captured by a couple of calibrated with det(A) < 0 and ac − b2 > 0.
cameras and the resulting conics are then used to reconstruct In the 3-dimensional case it is subjected to 3 more de-
the hole in the Euclidean space. Also in [5] the intersection grees of freedom (i.e. rotation around two more axes and
of two independently extracted conics is obtained through the z-component of the translation vector). More directly,
a closed form. All these approaches, however, exploit 3D we can define the ellipse by first defining the plane T it
constraints in an indirect manner, as triangulation always resides on and then defining the 2D equation of the el-
happens on the basis of the ellipses fitted over 2D data. lipse on a parametrization of such plane. In particular, let
In this paper we present a rather different technique that c = (c1 , c2 , c3 , 1)T ∈ T be the origin of the parametriza-
works directly in 3D space. Specifically, we adopt a para- tion, and u = (u1 , u2 , u3 , 0)T , v = (v1 , v2 , v3 , 0)T be the
metric level-set appraoch, where the parameters of a sin- generators of the linear subspace defining T , then each point
gle elliptical object that is observed by a calibrated net- on the 3D ellipse will be of the form o + αu + βv with α
work of multiple cameras (see Fig.1) are optimized with and β satisfying the equation of an ellipse.
respect to an energy function that simultaneously accounts By setting the origin o to be at the center of the ellipse
for each point of view. The goal of our method is to bind and selecting the directions u and v appropriately, we can
the 2D intensity and gradient-based energy maximization transform the equation of the ellipse on the plane coordi-
that happens within each image to a common 3D ellipse nates in such a way that it will take the form of the equa-
model. The performance of the solution has been assessed tion of a circle. Hence, allowing the 3D ellipse to be fully
through both synthetic experiment and by applying it to a defined by the parametrization of the plane on which the
real world scenario. Finally, to make the approach feasible ellipse resides. However, this representation has still one
regardless of the high computational requirements, we pro- more parameter than the actual degrees of freedom of the
pose a GPU implementation which performance has been ellipse. To solve this we can, without any loss of generality,
compared with a well optimized CPU-based version. set u3 = 0, thus, by defining the matrix
⎛ ⎞
2. Multiple Camera Ellipse Fitting u1 v1 c1
⎜u2 v2 c2 ⎟
In our approach we are not seeking for independent op- Uc = ⎜
⎝ 0 v 3 c3 ⎠
⎟ (2)
tima over each image plane, as is the case with most el- 0 0 1
lipse fitting methods. Rather, our search domain is the
parametrization of an ellipse in the 3D Euclidean space, and the vector x = (α, β, 1)T , we can express any point p
and the optimum is sought with respect to its concurrent in the 3D ellipse as:
2D reprojections over the captured images. In order to per- ⎛ ⎞
1 0 0
form such optimization we need to sort out a number of p = Uc x subject to xT ⎝0 1 0 ⎠ x = 0 . (3)
issues. The first problem is the definition of a 3D ellipse 0 0 −1
parametrization that is well suitable for the task (that is,
it makes easy to relate the parameters with the 2D projec- Even if Uc embeds all the parameters needed to describe
tions). The second one, is the definition of an energy func- any 3d ellipse, it is often the case that an explicit represen-
tion that is robust and accounts for the usual cues for curve tation through center c and axes a1 , a2 ∈ R3 is needed. Let
detection (namely the magnitude and direction of the in- U be the 3 × 2 matrix composed by the first two columns
tensity gradient). The last issue is the computation of the of UC . The two axes a1 , a2 can be extracted as the two
derivative of the energy function with respect to the 3D el- columns of the matrix:
⎛ ⎞
lipse parameters to be able to perform a gradient descent.
2.1. Parameterization of the 3D Ellipse K = ⎝a1 a2 ⎠ = UφT

In its general case, any 2-dimensional ellipse in the im-


age plane is defined by 5 parameters, namely: the length of where φT is the matrix of left singular vectors of UT U
the two axes, the angle of rotation and a translation vector computed via SVD decomposition. The vector c is trivially
 T
with respect to the origin. composed by the parameters c1 c2 c3 .

169
Conversely, from two axes a1 , a2 , the matrix U can be where parameter σ models the band size (in pixels) of the
expressed as: ellipse region to be considered. By varying σ we can man-
α −β age the trade-off between the need of a regularization term
U=K
β α in the energy function to handle noise in the image gradient
and the estimation precision that has to be achieved.
αK31 + βK32 = 0
by imposing that . Finally, once U The level set for a generic ellipse is rather complicated
α2 + β 2 = 1 and cannot be easily expressed in closed form, however,
has been computed, the 3D ellipse matrix can be composed since it appears only within the Heavyside function and its
in the following way: derivative, we only need to have a good analytic approxi-
U c mation in the boundary around the ellipse. We approximate
Uc = 0 1 the level set in the boundary region as:
xT Ai x
Finally, with this parametrization it is very easy to obtain the ϕi (x) ≈  (9)
equation of the ellipse projected onto any camera. Given 2 xT Ai T I0 Ai x
a projection matrix P, the matrix AP describing the 2- ⎛ ⎞
1 0 0
dimensional ellipse after the projection can be expressed as:
⎛ ⎞ Where I0 = ⎝0 1 0⎠ and Ai is the re-projection of the
1 0 0 0 0 0
AP = (PUc )−T ⎝0 1 0 ⎠ (PUc )−1 (4) ellipse Uc into the ith camera computed using equation (4).
0 0 −1 The function has negative values outside the boundaries of
the ellipse, positive values inside and is exactly 0 for each
2.2. Energy Function over the Image
point {x|xT Uc x = 0}.
To estimate the equation of the 3D-ellipse we set-up a The gradient of the level set function ∇ϕ : R2 → R2
level-set based optimization schema that updates the ellipse can actually be defined exactly in closed form:
matrix Uc by simultaneously taking into account its re-
Ai x
projection in every camera of the network. The advantages ∇ϕi (x) =  (10)
of this approach are essentially threefold. First, the equation x Ai T I0 Ai x
T

of the 3D ellipse estimated and the re-projection in all cam- .


eras are always consistent. Second, erroneous calibrations Starting from an initial estimation, given by a simple
that affects the camera network itself can be effectively at- triangulation of 2d-ellipses between just two cameras, we
tenuated, as shown in the experimental section. Third, the maximize the energy function (5) over the plane parameters
ellipse can be partially occluded in one or more camera im- Uc by means of a gradient scheme.
ages without heavily hindering the fitting accuracy. 2.3. Gradient of the Energy Function
In order to evolve the 3D ellipse geometry to fit the ob-
servation, we need to define the level set functions ϕi : The gradient of the energy function can be computed as
R2 → R describing the shape of the ellipse Uc re-projected a summation of the gradient of each energy term. This gra-
to the ith camera. Given each level set, we cast the multi- dient can be obtained by analytically computing the partial
view fitting problem as the problem of maximizing the en- derivatives of equation (6) with respect to the eight param-
ergy function: eters (p1 . . . p8 ) = (u1 , v1 , c1 , u2 , v2 , c2 , v3 , c3 ):
n

∂ ∂
EI1 ...In (Uc ) = EIi (Uc ) (5) EIi (Uc ) = EIi (Uc , x)2 dx
∂pi ∂pi
i=1 R2

Which sums the energy contributions of each camera: ∂
= 2EIi (Uc , x) EI (Uc , x)dx
 ∂pi i
EIi (Uc ) = ∇H(ϕ(x)), ∇Ii (x)2 dx (6) R2

R2 Where:

= H  (ϕ(x))∇ϕ(x), ∇Ii (x)2 dx , (7) EIi (Uc , x) = H  (ϕ(x))∇ϕ(x), ∇Ii (x)
R2 and
where H is a suitable relaxation of the Heavyside function. ∂ ∂
In our implementation, we used: EIi (Uc , x) =( H  (ϕ(x)))∇ϕ(x), ∇Ii (x)+
∂pi ∂pi
1 ∂
H(t) = t (8) + H  (ϕ(x))( ∇ϕ(x)), ∇Ii (x) .
1 + e− σ ∂pi

170
0.07 0.014
2View 2View
MultiView sigma=3.0 MultiView sigma=3.0
0.06 MultiView sigma=6.0 0.012 MultiView sigma=6.0
MultiView sigma=9.0 MultiView sigma=9.0
0.01
0.05

0.008
0.04

Error
Error

0.006
0.03

0.004
0.02
0.002
0.01
0
0
1 2 3 4 5 6 130 160 190 210 240 270

Focal length error [%] Noise sigma


0.16 0.03
2View 2View
MultiView sigma=3.0 MultiView sigma=3.0
0.14 MultiView sigma=6.0 MultiView sigma=6.0
0.025
MultiView sigma=9.0 MultiView sigma=9.0
0.12
0.02
0.1

Error
Error

0.015
0.08

0.06 0.01

0.04
0.005
0.02
0
0
10 20 30 40 50 60 70 80 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

Perimeter clutter [%] Distortion K1


Figure 2. Evaluation of the accuracy of the proposed method with respect to different noise sources. The metric adopted is the relative error
between the minor axis of the ground truth and of the fitted ellipse.

The derivatives of the parametric level set functions can ∂ 1 ∂


be computed analytically. At the beginning of each iteration ϕ(x) = x, ∇ϕ(x) (15)
∂pi 2 ∂pi
we compute the derivative of the projected ellipse matrices
Ai which are constant with respect to x: ∂ ∂
H  (ϕ(x)) = H  (ϕ(x)) ϕ(x) . (16)
∂pi ∂pi
∂ ∂
Ai = T + TT (11) By summing the derivative ∂p i
EIi (Uc , x) over all im-
∂pi ages and all pixels in the active band in each image, we
obtain the gradient G = ∇EI1 ...In (Uc ). At this point, we
where
update the 3D ellipse matrix Uc through the gradient step
⎛ ⎞
1 0 0
∂ Uc (t+1) = Uc (t) + ηG (17)
T =( [(Pi Uc )−1 ])T ⎝0 1 0 ⎠ (Pi Uc )−1 (12)
∂pi
0 0 −1 where η is a constant step size.
and 3. Experimental evaluation
∂ ∂
[(Pi Uc )−1 ] = −(Pi Uc )−1 (Pi Uc )(Pi Uc )−1 . We evaluated the proposed approach both on a set of syn-
∂pi ∂pi thetic tests and on a real world quality control task where
(13) we measure the diameter of a pipe with a calibrated multi-
Then, using (11), we can compute the level set deriva- camera setup. In both cases, lacking a similar 3D based
tives for each pixel: optimization framework, we compared the accuracy of our
∂ method with respect to the results obtained by triangulating
∂ ( ∂p Ai )x
∇ϕ(x) =  i
− ellipses optimally fitted over the single images. The ratio-
∂pi xT Ai T I0 Ai x nale of the synthetic experiments is to be able to evaluate
∂ T ∂
(14) the accuracy of the measure with an exactly known ground
Ai x(xT ( ∂p A i ) T
I 0 A i 
x + 
x T
A i I 0 ( ∂pi A i )
x )
− i
truth (which is very difficult to obtain on real objects with
2(xT Ai T I0 Ax) 2
3
very high accuracy). Further, the synthetically generated

171
different cameras looking at the disk from different points
of view (see Fig. 1 and Fig. 4). The corruption by Gaus-
sian noise has been produced by adding to each pixel a nor-
mal distributed additive error of variable value of σ, fol-
lowed by a blurring of the image with a Gaussian kernel
with σ = 6. The artificial clutter has been created by oc-
cluding the perimeter of the disc with a set of random white
circles until a given percentage of the original border was
corrupted. This simulates the effect of local imaging effect
such as the presence of specular highlights that severely af-
Figure 3. Examples of images with artificial noise added. Respec- fect the edge detection process. The focal length error was
tively additive Gaussian noise and blur in the left image and oc- obtained by changing the correct focal length of the central
clusion in the right image. The red line shows the fitted ellipse. camera by a given percentage. Finally, the distortion error
was introduced by adding an increasing amount to the cor-
imagery permits us to control the exact nature and amount rect radial distortion parameter K1. In Fig. 2 we show the
of noise, allowing for a separate and independent evalua- results obtained using the baseline triangulation and our op-
tion for each noise source. By contrast, the setup employ- timization with different values of the parameter σ used for
ing real cameras does not give an accurate control over the the heavyside function (respectively 3, 6 and 9 pixels). As
scene, nevertheless it is fundamental to asses the ability of expected, in all the tests performed the relative error grows
the approach to deal with the complex set of distractors that with the level of noise. In general, all the methods seem to
arise from the imaging process (such as reflections, vari- be minimally sensitive to Gaussian noise, whereas the clut-
able contrast, defects of the object, bad focusing and so on). ter has a big effect even at low percentages. The baseline
In both cases the ellipse detection is performed by extract- method performs consistently worse and, among the multi-
ing horizontal and vertical image gradients with an oriented view configurations, the one with lower heavyside band ap-
derivative of Gaussian filter. Edge pixels are then found by pears to be the most robust for almost all noise levels. This
non-maxima suppression and by applying a very permissive is probably due to the fact that the images have already been
threshold (no hysteresis is applied). The obtained edge pix- smoothed by the gradient calculation step, and thus further
els are thus grouped into contiguos curves, which are in turn smoothing is not required and, to some degree, leads to a
fitted to find ellipses candidates. The candidate that exhibit more prominent signal displacement.
the higher energy is selected and refined using [14]. The
refined ellipses are then triangulated using the two images 3.2. Real World Application
that score the lower triangulation error. The obtained 3D el-
lipse is finally used both as the result of the baseline method For the experiments with real images we built an imag-
(labeled as 2view in the following experiments) and as the ing device that hold 5 PointGrey Flea3 3.2Mp Monochrome
initialization ellipse for our refinement process (labeled as USB3 machine vision cameras (see Fig. 4). The 5 cameras
multiview). All the experiments have been performed with were calibrated for both intrinsic and extrinsic parameters.
3Mp images and the processing is done with a modern 3.2
Ghz Intel Core i7 PC equipped with Windows 7 Operating
System. The CPU implementation was written in C++ and
the GPU implementation uses the CUDA library. The video
card used was based on the Nvidia 670 chipset with 1344
CUDA cores.

3.1. Synthetic Experiments


For this set of experiments we chose to evaluate the ef-
fect of four different noise sources over the optimization
process. Specifically, we investigated the sensitivity of the
approach to errors on the estimation of the focal length and
of the radial distortion parameters of the camera and the
influence of Gaussian noise and clutter corrupting the im-
ages. In Fig. 3 examples of Gaussian noise and clutter are
shown (note that these are details of the images, in the ex-
periments the ellipse was viewed in full). For each test we
Figure 4. The experimental Multiple-camera imaging head.
created 5 synthetic snapshots of a black disc as seen from 5

172
Figure 5. Comparison between the accuracy of the initial 2D fitting and the proposed 3D optimization.

We used an aluminium pipe for air conditioning system as process is shown. In the first two rows of the figure the re-
the object to be measured, and the imaging head has been projection of the initially estimated 3D ellipse is overlayed
supplemented with four high power leds in order to get an to both the original images and the intensity-coded gradient
even illumination of the rim. This is a typical scenario for magnitude. In the remaining rows the reprojection of the
in-line inspection in manufacturing lines. Additionally, the optimized 3D ellipse is overlayed over the same images.
smooth and polished surface of the pipe offers especially The images used for the initial triangulation in this specific
challenging conditions for ellipse detection and refinement, case were the first and the third. Specifically, the initial
since reflections and changes of contrast tend to create a lot guess for the first image was a slightly off-center ellipse fit-
of false elliptical sectors and some highly structured noise. ted in between the edge response produced by the inner and
If Fig. 5 a complete qualitative example of the refinement outer rims of the pipe opening (see the gradient image). As
a matter of fact, it is immediate to note that these two im-
ages exhibits the lower reprojection error, especially for the
8.2
MultiView
central camera. However, the other reprojections are rather
2-Views grossly misaligned with the remaining three points of view.
8
By contrast, almost all the misalignment has been corrected
after performing the 3D refinement procedure. While some
Major-axis length [mm]

7.8
degree of displacement is still visible in some images, we
think that this is mainly due to miscalibration of the extrin-
7.6
sic parameters of the imaging head.
7.4
We manually measured the internal and external diame-
ter of the pipe with a caliper (with ±0.1mm accuracy) ob-
7.2
taining respectively 13.9 and 16.1 mm. However, since the
optimization process aim to converge toward the middle of
7
0 10 20 30 40 50 60 the two rims, it would make no sense to evaluate directly the
Snapshot number
measurement error committed. Still, the standard deviation
Figure 6. Quantitative assessment of the improvement in accuracy. of the data with respect to several subsequent measures of

173
7.7 OpenMP for CPU parallelization and CUDA for GPU com-
MultiView(3)
MultiView(5) puting. Both the CPU and GPU based implementations are
7.6 essentially the same, except for the fact that the latter can
exploit the massive computing power of modern graphics
Major-axis length [mm]

cards. For every algorithm’s iteration, a CPU-based func-


7.5
tion computes a list of pixel for each image that will be
affected by the computation. This list is generated by con-
7.4 sidering a band around each 2d-ellipse reprojection with a
thickness of 5σ pixels and is uploaded to the device mem-
ory, together with the optimized parameters and the pre-
7.3
computed image gradient for each pixel in the list. Once
the upload is completed, all available stream processors are
7.2 used to compute the energy and the energy gradient terms.
0 10 20 30 40 50 60
Snapshot number At the end of the computation steps, all threads are synchro-
Figure 7. Effect of the number of views over the measure quality. nized and 9 values are reduced (energy and the 8 terms of
the gradient) to obtain the final values. The total energy is
used to track the optimization status and trigger a termina-
the same object from slightly different angles can be con- tion criteria, the gradient is used to adjust the 3d ellipse that
sidered a good indication of measurement error. Indeed, is being optimized, moving toward a local maxima.
even if the final measure can be affected by systematic er- We tested the execution time per iteration for both the
rors, they can be estimated and corrected a-posteriori. In CPU and GPU based implementation of our algorithm (see
Fig. 6 we plotted the measured length of the major axis of Fig.8) with respect to the average number of pixel pro-
the detected 3D ellipse for 60 repeated shots of the pipe cessed. In both cases, the process is fast enough to handle
opening. The improvement in uncertainty reduction after a real-time optimization in 3 megapixels images with the
the refinement step is clearly noticeable as the variance of fitted ellipse spanning into about 50% of the image. As ex-
the measurements is strongly reduced. Indeed, the standard pected, the GPU implementation performs better than the
deviation went from 0.23 to 0.03. CPU and exhibits a more consistent running time through-
All the refinements performed so far have been con- out the tests. This is probably due to the fact that we are
ducted using 5 points of view. In order to complete our tests dealing with a dedicated hardware. Finally, the synchro-
it would have been interesting to evaluate if similar accu- nization overhead caused by the reductions decreases the
racy could be obtained using a smaller number of cameras. performance gap between the two implementations when a
To this end we disabled two cameras and took further 60 relatively low number of pixels are processed, which in turn
shots of the pipe. The results are plotted in Fig. 7. While becomes dramatic when an optimization involving more
the dispersion of the measurements is a little higher using than 105 pixels is needed.
only three points of view, it is still noticeably smaller than
the one obtained without the optimization step (note that the 0.16
scales of Fig. 6 and Fig. 7 are different). GPU
CPU
0.14

4. GPU-based Implementation 0.12


Time/Iteration [sec.]

In a naive implementation, the optimization scheme pro- 0.1


posed is quite intensive in terms of raw computing power.
Especially for the gradient computation, which requires 0.08

several matrix and vector multiplications that may easily


0.06
sum up to an unacceptable total computation time.
However, the intrinsic structure of the problem leads nat- 0.04
urally to an implementation in which every pixel in the area
of interest defined by the Heavyside function are computed 0.02

in parallel. After this computation, that can be performed 6E4 8E4 1E5 1.2E5 1.4E5 1.6E5 1.8E5 2E5
with no required synchronization between each view, a re- Avg. number of pixels processed

duction step is needed to aggregate all terms and obtain the Figure 8. Comparison between the running time of the CPU and
final value of the energy and gradient in each iteration. GPU-based implementations of the multiview algorithm. Times
We implemented the algorithm in C++ with no addi- are plotted with respect to the number of pixels in the evaluated
mask (i.e. size of the ellipse to be refined).
tional external libraries except for OpenCV for image IO,

174
5. Conclusions [9] J. Heikkila. Moment and curvature preserving technique for
accurate ellipse boundary detection. In Pattern Recognition,
In this paper we presented a novel approach for ellipse 1998. Proceedings. Fourteenth International Conference on,
fitting that exploits multiple simultaneous calibrated views volume 1, pages 734 –737 vol.1, aug 1998.
of the same physical elliptical object. The proposed tech- [10] S. Malassiotis and M. Strintzis. Stereo vision system for pre-
nique starts by obtaining an initial estimation of the 3D el- cision dimensional inspection of 3d holes. Machine Vision
lipse using 2D based fitting methods followed by a pairwise and Applications, 15:101–113, 2003.
triangulation. This initial guess is then refined by moving [11] S. Martelli, R. Marzotto, A. Colombari, and V. Murino.
its parameters according to an intensity-based level set ap- Fpga-based robust ellipse estimation for circular road sign
detection. In Computer Vision and Pattern Recognition
proach that accounts for all the images simultaneously. To
Workshops (CVPRW), 2010 IEEE Computer Society Confer-
this end, a specially crafted parametrization and an apt en-
ence on, pages 53 –60, june 2010.
ergy function have been introduced. The effectiveness of
[12] R. A. McLaughlin. Randomized hough transform: Improved
the approach has been evaluated through an extensive ex- ellipse detection with comparison. Pattern Recognition Let-
perimental section that shows its resilience to a wide range ters, 19(34):299 – 305, 1998.
of noise sources and compares the accuracy obtained with [13] L. Naimark and E. Foxlin. Circular data matrix fiducial
respect to a baseline approach. Finally, a running time system and robust image processing for a wearable vision-
analysis of our GPU-based implementation of the algorithm inertial self-tracker. In Proceedings of the 1st International
shows that the proposed method can be effectively used in Symposium on Mixed and Augmented Reality, ISMAR ’02,
real-time applications. pages 27–, Washington, DC, USA, 2002. IEEE Computer
Society.
References [14] J. Ouellet and P. Hebert. Precise ellipse estimation without
contour point extraction. Mach. Vision Appl., 21, 2009.
[1] F. Bergamasco, A. Albarelli, E. Rodola, and A. Torsello. [15] L. Quan. Conic reconstruction and correspondence from
Rune-tag: A high accuracy fiducial marker with strong oc- two views. Pattern Analysis and Machine Intelligence, IEEE
clusion resilience. In Proceedings of the 2011 IEEE Confer- Transactions on, 18(2):151 –160, feb 1996.
ence on Computer Vision and Pattern Recognition, CVPR [16] D. Schleicher and B. Zagar. Image processing to estimate
’11, pages 113–120, Washington, DC, USA, 2011. IEEE the ellipticity of steel coils using a concentric ellipse fitting
Computer Society. algorithm. In Signal Processing, 2008. ICSP 2008. 9th In-
[2] Y. Chen and H. H. S. Ip. Planar metric rectification by al- ternational Conference on, pages 884 –890, oct. 2008.
gebraically estimating the image of the absolute conic. In [17] G. Song and H. Wang. A fast and robust ellipse de-
Proceedings of the Pattern Recognition, 17th International tection algorithm based on pseudo-random sample consen-
Conference on (ICPR’04) Volume 4 - Volume 04, ICPR ’04, sus. In Computer Analysis of Images and Patterns, volume
pages 88–91, Washington, DC, USA, 2004. IEEE Computer 4673 of Lecture Notes in Computer Science, pages 669–676.
Society. Springer Berlin / Heidelberg, 2007.
[3] A. Chia, M. Leung, H.-L. Eng, and S. Rahardja. Ellipse de- [18] P. Srestasathiern and A. Yilmaz. Planar shape representation
tection with hough transform in one dimensional parametric and matching under projective transformation. Computer Vi-
space. In Image Processing, 2007. ICIP 2007. IEEE Inter- sion and Image Understanding, 115(11):1525 – 1535, 2011.
national Conference on, volume 5, pages V –333 –V –336, [19] J. Usabiaga, A. Erol, G. Bebis, R. Boyle, and X. Twombly.
16 2007-oct. 19 2007. Global hand pose estimation by multiple camera ellipse
[4] H. S. M. Coxeter. Projective Geometry, 2nd ed. Springer tracking. Machine Vision and Applications, 21(1):1–15,
Verlag, 2003. 2009.
[5] Y. Dufournaud, R. Horaud, and L. Quan. Robot Stereo-hand [20] J. Wright, A. Wagner, S. Rao, and Y. Ma. Homography from
Coordination for Grasping Curved Parts. In J. N. Carter and coplanar ellipses with application to forensic blood splatter
M. S. Nixon, editors, 9th British Machine Vision Confer- reconstruction. In Computer Vision and Pattern Recogni-
ence (BMVC ’98), volume 2, pages 760–769, Southampton, tion, 2006 IEEE Computer Society Conference on, volume 1,
Royaume-Uni, 1998. British Machine Vision Association. pages 1250 – 1257, june 2006.
[6] A. Fitzgibbon, M. Pilu, and R. Fisher. Direct least square [21] Y. Xie and J. Ohya. Efficient detection of ellipses from an
fitting of ellipses. Pattern Analysis and Machine Intelligence, image by a guided modified ransac. In Image Processing:
IEEE Transactions on, 21(5):476 –480, may 1999. Algorithms and Systems, volume 7245 of SPIE Proceedings.
[7] A. Gupta, J. Little, and R. Woodham. Using line and ellipse SPIE, 2009.
features for rectification of broadcast hockey video. In Com- [22] Y. Yoon, G. DeSouza, and A. Kak. Real-time tracking and
puter and Robot Vision (CRV), 2011 Canadian Conference pose estimation for industrial objects using geometric fea-
on, pages 32 –39, may 2011. tures. In Robotics and Automation, 2003. Proceedings. ICRA
[8] D. W. Hansen and Q. Ji. In the eye of the beholder: A sur- ’03. IEEE International Conference on, volume 3, pages
vey of models for eyes and gaze. IEEE Trans. Pattern Anal. 3473 – 3478 vol.3, sept. 2003.
Mach. Intell., 32(3):478–500, Mar. 2010.

175

You might also like