Computing the Nearest Neighbor Transform Exactly with Only Double Precision

The nearest neighbor transform of a binary image assigns to each pixel the index of the nearest black pixel - it is the discrete analog of the Voronoi diagram. Implementations that compute the transform use numerical calculations to perform geometric tests, so they may produce erroneous results if the calculations require more arithmetic precision than is available. Liotta, Preparata, and Tamassia, in 1999, suggested designing algorithms that not only minimize time and space resources, but also arithmetic precision. A simple algorithm using double precision can compute the nearest neighbor transform: compare the squared distances of each pixel to all black pixels, but this is inefficient when many pixels are black. We develop and implement efficient algorithms, computing the nearest neighbor transform of an image in linear time with respect to the number of pixels, while still using only double precision.

[1]  Kenneth L. Clarkson,et al.  Applications of random sampling in computational geometry, II , 1988, SCG '88.

[2]  Tiow Seng Tan,et al.  Variants of Jump Flooding Algorithm for Computing Discrete Voronoi Diagrams , 2007, 4th International Symposium on Voronoi Diagrams in Science and Engineering (ISVD 2007).

[3]  Kevin Q. Brown,et al.  Voronoi Diagrams from Convex Hulls , 1979, Inf. Process. Lett..

[4]  Raimund Seidel,et al.  Voronoi diagrams and arrangements , 1986, Discret. Comput. Geom..

[5]  Giuseppe Liotta,et al.  Robust Proximity Queries: An Illustration of Degree-Driven Algorithm Design , 1998, SIAM J. Comput..

[6]  David G. Kirkpatrick,et al.  Linear Time Euclidean Distance Algorithms , 1995, IEEE Trans. Pattern Anal. Mach. Intell..

[7]  Nicholas Nethercote,et al.  "Building Workload Characterization Tools with Valgrind" , 2006, 2006 IEEE International Symposium on Workload Characterization.

[8]  Avraham A. Melkman,et al.  On-Line Construction of the Convex Hull of a Simple Polyline , 1987, Inf. Process. Lett..

[9]  Jean-Daniel Boissonnat,et al.  Robust Plane Sweep for Intersecting Segments , 2000, SIAM J. Comput..

[10]  Calvin R. Maurer,et al.  A Linear Time Algorithm for Computing Exact Euclidean Distance Transforms of Binary Images in Arbitrary Dimensions , 2003, IEEE Trans. Pattern Anal. Mach. Intell..

[11]  William Kahan,et al.  Pracniques: further remarks on reducing truncation errors , 1965, CACM.

[12]  Marina L. Gavrilova,et al.  Exact Computation of Delaunay and Power Triangulations , 2000, Reliab. Comput..

[13]  Martin Kraus,et al.  GPU-based Real-time Discrete Euclidean Distance Transforms with Precise Error Bounds , 2009, VISAPP.

[14]  Kenneth L. Clarkson,et al.  Safe and effective determinant evaluation , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[15]  Timothy M. Chan Faster core-set constructions and data-stream algorithms in fixed dimensions , 2006, Comput. Geom..

[16]  Mariette Yvinec,et al.  Evaluating signs of determinants using single-precision arithmetic , 2006, Algorithmica.

[17]  Dinesh Manocha,et al.  Fast computation of generalized Voronoi diagrams using graphics hardware , 1999, SIGGRAPH.

[18]  E. Kaltofen,et al.  Computing the sign or the value of the determinant of an integer matrix, a complexity survey , 2004 .

[19]  M. Keil,et al.  A Simple Algorithm for Determining the Envelope of a Set of Lines , 1991, Inf. Process. Lett..

[20]  Tiow Seng Tan,et al.  Jump flooding in GPU with applications to Voronoi diagram and distance transform , 2006, I3D '06.

[21]  David W. Paglieroni,et al.  Distance transforms: Properties and machine vision applications , 1992, CVGIP Graph. Model. Image Process..

[22]  Tiow Seng Tan,et al.  Parallel Banding Algorithm to compute exact distance transform with the GPU , 2010, I3D '10.