Accelerating ant colony optimization-based edge detection on the GPU using CUDA

Ant Colony Optimization (ACO) is a nature-inspired metaheuristic that can be applied to a wide range of optimization problems. In this paper we present the first parallel implementation of an ACO-based (image processing) edge detection algorithm on the Graphics Processing Unit (GPU) using NVIDIA CUDA. We extend recent work so that we are able to implement a novel data-parallel approach that maps individual ants to thread warps. By exploiting the massively parallel nature of the GPU, we are able to execute significantly more ants per ACO-iteration allowing us to reduce the total number of iterations required to create an edge map. We hope that reducing the execution time of an ACO-based implementation of edge detection will increase its viability in image processing and computer vision.

[1]  Iain A. Stewart,et al.  Candidate Set Parallelization Strategies for Ant Colony Optimization on the GPU , 2013, ICA3PP.

[2]  Marco Dorigo,et al.  Ant colony optimization , 2006, IEEE Computational Intelligence Magazine.

[3]  Guohua Zhou,et al.  A parallel Ant Colony Optimization algorithm with GPU-acceleration based on All-In-Roulette selection , 2010, Third International Workshop on Advanced Computational Intelligence.

[4]  Hossein Nezamabadi-pour,et al.  Edge detection using ant algorithms , 2006, Soft Comput..

[5]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[6]  Reiner Lenz,et al.  On Color Edge Detection , 2000, PICS.

[7]  Marco Dorigo,et al.  Optimization, Learning and Natural Algorithms , 1992 .

[8]  Anna Veronica Baterina,et al.  Image edge detection using ant colony optimization , 2010 .

[9]  Thomas Stützle,et al.  Parallel Ant Colony Optimization for the Traveling Salesman Problem , 2006, ANTS Workshop.

[10]  Vittorio Maniezzo,et al.  The Ant System Applied to the Quadratic Assignment Problem , 1999, IEEE Trans. Knowl. Data Eng..

[11]  Guner S. Robinson Color Edge Detection , 1977 .

[12]  Iain A. Stewart,et al.  Improving Ant Colony Optimization performance on the GPU using CUDA , 2013, 2013 IEEE Congress on Evolutionary Computation.

[13]  Clay M. Thompson,et al.  Image processing toolbox [for use with Matlab] , 1995 .

[14]  Koji Nakano,et al.  Efficient Canny Edge Detection Using a GPU , 2010, 2010 First International Conference on Networking and Computing.

[15]  Chien-Chang Chen,et al.  Edge detection improvement by ant colony optimization , 2008, Pattern Recognit. Lett..

[16]  Thomas Stützle,et al.  MAX-MIN Ant System , 2000, Future Gener. Comput. Syst..

[17]  Marc Gravel,et al.  Parallel Ant Colony Optimization on Graphics Processing Units , 2013, J. Parallel Distributed Comput..

[18]  John F. Canny,et al.  A Computational Approach to Edge Detection , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[19]  Jiliu Zhou,et al.  An Ant Colony Optimization Algorithm for Image Edge Detection , 2010, 2010 International Conference on Artificial Intelligence and Computational Intelligence.

[20]  Ramani Duraiswami,et al.  Canny edge detection on NVIDIA CUDA , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[21]  Thomas Stützle,et al.  Parallelization Strategies for Ant Colony Optimization , 1998, PPSN.

[22]  Victor Podlozhnyuk,et al.  Image Convolution with CUDA , 2007 .

[23]  Martyn Amos,et al.  Enhancing data parallelism for Ant Colony Optimization on GPUs , 2013, J. Parallel Distributed Comput..