Parallel Banding Algorithm to compute exact distance transform with the GPU

We propose a Parallel Banding Algorithm (PBA) on the GPU to compute the exact Euclidean Distance Transform (EDT) for a binary image in 2D and higher dimensions. Partitioning the image into small bands to process and then merging them concurrently, PBA computes the exact EDT with optimal linear total work, high level of parallelism and a good memory access pattern. This work is the first attempt to exploit the enormous power of the GPU in computing the exact EDT, while prior works are only on approximation. Compared to these other algorithms in our experiments, our exact algorithm is still a few times faster in 2D and 3D for most input sizes. We illustrate the use of our algorithm in applications such as computing the Euclidean skeleton using the integer medial axis transform, performing morphological operations of 3D volumetric data, and constructing 2D weighted centroidal Voronoi diagrams.

[1]  Andreas Kolb,et al.  Fast Hierarchical 3D Distance Transforms on the GPU , 2007, Eurographics.

[2]  Kiriakos N. Kutulakos,et al.  Fast Computation of the Euclidian Distance Maps for Binary Images , 1992, Inf. Process. Lett..

[3]  Luciano da Fontoura Costa,et al.  2D Euclidean distance transform algorithms: A comparative survey , 2008, CSUR.

[4]  Adrian Secord,et al.  Weighted Voronoi stippling , 2002, NPAR '02.

[5]  Hubert Nguyen,et al.  GPU Gems 3 , 2007 .

[6]  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).

[7]  S. P. Lloyd,et al.  Least squares quantization in PCM , 1982, IEEE Trans. Inf. Theory.

[8]  Mark J. Harris,et al.  Parallel Prefix Sum (Scan) with CUDA , 2011 .

[9]  Marcelo Gattass,et al.  Lloyd's Algorithm on GPU , 2008, ISVC.

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

[11]  Wim H. Hesselink,et al.  Euclidean Skeletons of Digital Image and Volume Data in Linear Time by the Integer Medial Axis Transform , 2008, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[12]  Shi-Jinn Horng,et al.  Parallel Computation of the Euclidean Distance Transform on a Three-Dimensional Image Array , 2003, IEEE Trans. Parallel Distributed Syst..

[13]  Yao Zhang,et al.  Scan primitives for GPU computing , 2007, GH '07.

[14]  P. Danielsson Euclidean distance mapping , 1980 .

[15]  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..

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

[17]  Stephan Olariu,et al.  Optimal Parallel Algorithms for Finding Proximate Points, with Applications , 1998, IEEE Trans. Parallel Distributed Syst..

[18]  Shi-Jinn Horng,et al.  Optimal Parallel Algorithms for the 3D Euclidean Distance Transform on the CRCW and EREW PRAM Models , 2001 .

[19]  nVIDIA社 CUDA Programming Guide 1.1 , 2007 .

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

[21]  Dinesh Manocha,et al.  Interactive 3D distance field computation using linear factorization , 2006, I3D '06.

[22]  Tiow Seng Tan,et al.  Computing two-dimensional Delaunay triangulation using graphics hardware , 2008, I3D '08.

[23]  O. Cuisenaire Distance transformations: fast algorithms and applications to medical image processing , 1999 .

[24]  Jakob Andreas Bærentzen,et al.  3D distance fields: a survey of techniques and applications , 2006, IEEE Transactions on Visualization and Computer Graphics.