Abstract

Edge detection is a terminology that aims at identifying points in a digital image at which the image brightness changes sharply or more formally has discontinuities. The purpose of detecting sharp changes in image brightness is to capture changes such as discontinuities in depth, discontinuities in surface orientation, changes in material properties and variations in scene illumination. The basic principles of edge detection are applying projection processing, perform differentiation, and correct the differential waveform. The different edge detection techniques are first order derivative such as Sobel edge detector, second order derivative such as Laplacian of Gaussian and optimal edge detection called as canny edge detection. The classical edge detectors are simple, detects thick lines but they are sensitive to noise and inaccurate. The Laplacian of Gaussian finds the correct places of edges but malfunctions at corners, curves where the gray level intensity function varies. The canny edge detector improves signal to noise ratio, uses probability to find the error rate, better detection especially in noise conditions but its complex and time consuming. The algorithms are implemented sequentially using high level languages and tools such C, C++, and MATLAB, etc. These languages exploit the CPU alone, which makes the execution of the algorithm slower. In the proposed system, the algorithm will be implemented in OpenCL, a concurrent programming framework which exploits the parallelism that is inherently present in the algorithm. Using the OpenCL framework, the CPU and GPU is parallelized, thus making the algorithm run faster and reducing the running time of the algorithm. This minimizes the overhead and makes the sobel, laplace and canny to run faster thereby achieving 25x, 39x and 50x higher throughput.

Full Text
Published version (Free)

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