Euler Spirals  

 

Introduction

Applications

Source code

References

 

Introduction

 

Historical Perspective

The Euler Spiral was considered by Euler in connection to his investigation of a freely coiled up elastic spring held taut horizontally by a weight at its extremity (Euler, 1744). In its natural, relaxed position, the spring satisfies κ = s /a^2, where a is a constant, s is arc-length, and κ is curvature. By a simple integration of curvature and then the tangent angle θ(s) we obtain the equations for the curve C(s) = (x(s), y(s)),

 

 

Figure 1. A complete Euler Spiral

 

In 1874, Cornu plotted the Euler’s Spiral accurately (Cornu, 1874); the curve thus acquired another name: Cornu’s Spiral. And Cesaro, upon studying the curve and establishing a number of its properties, dubbed it the “clothoid” from the Greek word meaning “to twist by spinning” (Cesaro, 1886).

 

Euler Spiral for Curve Completion

The process of completing contours beyond occlusions or across gaps is referred to as the curve completion problem.

 

Problem Statement:

Given a pair of points A0(x0, y0) and A2(x2, y2), with associated unit tangent vectors, T0(cos θ0, sin θ0) and

T2(cos θ2, sin θ2), find the most “pleasing” curve which passes through both points at their respective tangents.

 

This problem, however, is under-constrained: in completing a missing contour there exist numerous curves that meet the “boundary conditions” of passing through specified endpoints and tangents. The selection of the optimal completion curve, therefore, has typically relied on assumptions regarding on what constitutes the most “likely” curve or the most “pleasing” or the “smoothest” curve [3].

 

We propose that such completion curves should not penalize curvature, as in elastica [2], but curvature variation. The minimization of total curvature variation leads to an Euler Spiral solution, a curve whose curvature varies linearly with arc length.

 

The standard form of an Euler spiral with the starting tangent angle θ0, with curvature κ0, and a rate of change of curvature γ, can be written as

 

 

 

Figure 2. Euler spiral segments starting at the origin and tangent to the x-axis of a given length is

shown by varying initial curvature κ0 and rate of change of curvature γ.

 

Construction:

We reduce the construction of this curve from a pair of points and tangents at these points to solving a nonlinear system of equations involving Fresnel Integrals, whose solution relies on optimization from a suitable initial condition constrained to satisfy given boundary conditions. Since the choice of an appropriate initial curve is critical in this optimization, we analytically derive an optimal solution in the class of biarc curves, which is then used as the initial curve. The resulting interpolations yield intuitive interpolation across gaps and occlusions, and are extensible, in contrast to the scale-invariant version of elastica.

 

 

 

 

Applications

The explicit recovery of a completion curve is useful in a variety of visual tasks, such as the task of disambiguating edge maps in perceptual grouping, the partitioning of visual form for part-based object representation and recognition, and for filling-in tasks in the reconstruction of occluded areas in figure-ground segregation.

 

Here are some examples.

Shape Completion

 

 

 

Completion Curve for Perceptual Grouping

 

Shape Partitioning

 

Inpainting

 

 

Euler Spiral source code

 

The C++ source code for the construction of such Euler Spirals is available for download. The current code has been tailored for the popular VXL library and so some C++ constructs follow conventions from the library. Most of these can be changed to standard C++ constructs with little effort.

 

References

 

[1] Benjamin B. Kimia, Ilana Frankel, and Ana-Maria Popescu. Euler spiral for shape completion. IJCV, 54,159-182, 2003.

[2] Mumford, D. 1994. Elastica and computer vision. In Algebraic Geometry and Its Applications, Springer-Verlag, pp. 491–506.

[3] Nitzberg, M., Mumford, D., and Shiota, T. 1993. Filtering, Segmentation and Depth. Springer-Verlag.

 

 

Last updated: November 10, 2004

Amir Tamrakar