Abstract

Among the many choices to perform image segmentation, Level-Set Methods have demonstrated great potential for unstructured images. However, the usefulness of Level-Set Methods have been limited by their irregular workload characteristics such as high degree of branch divergence and input dependencies, as well as the high computational costs required to solve partial differential equations (PDEs).In this paper, we propose a novel algorithm for Level-Set Segmentation that first divides the pixels from an image into 4 categories. Then we traverse each image curve to obtain the final contour. The first two categories drive the inward evolution of the curve, while the remaining two drive the outward evolution of the curve. Using our categorization, we avoid solving PDEs and perform the evolution with an optimized flood-fill algorithm.Leveraging recently-introduced CUDA features that include dynamic parallelism and concurrent kernel execution, we can accelerate this algorithm on an NVDIA GPU. Our results show we can obtain benefits across a variety of input sizes. We can achieve a speedup greater than 56x with our CUDA optimized implementation run on a K20m GPU as compared to an OpenMP parallel implementation executed on a 16-core Intel Xeon E2560 SandyBridge CPU.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.