A parallel Canny edge detection algorithm based on OpenCL acceleration

Авторлар

Кілт сөздер:

Canny edge detector, Computer science, Deriche edge detector, Image gradient, Algorithm, CUDA, Kernel (algebra), Edge detection

Аңдатпа

In the process of Canny edge detection, a large number of high complexity calculations such as Gaussian filtering, gradient calculation, non-maximum suppression, and double threshold judgment need to be performed on the image, which takes up a lot of operation time, which is a great challenge to the real-time requirements of the algorithm. The traditional Canny edge detection technology mainly uses customized equipment such as DSP and FPGA, but it has some problems, such as long development cycle, difficult debugging, resource consumption, and so on. At the same time, the adopted CUDA platform has the problem of poor cross-platform. In order to solve this problem, a fine-grained parallel Canny edge detection method is proposed, which is optimized from three aspects: task partition, vector memory access, and NDRange optimization, and CPU-GPU collaborative parallelism is realized. At the same time, the parallel Canny edge detection methods based on multi-core CPU and CUDA architecture are designed. The experimental results show that OpenCL accelerated Canny edge detection algorithm (OCL_Canny) achieves 20.68 times acceleration ratio compared with CPU serial algorithm at 7452 × 8024 image resolution. At the image resolution of 3500 × 3500, the OCL_Canny algorithm achieves 3.96 times the acceleration ratio compared with the CPU multi-threaded Canny parallel algorithm. At 1024 × 1024 image resolution, the OCL_Canny algorithm achieves 1.21 times the acceleration ratio compared with the CUDA-based Canny parallel algorithm. The effectiveness and performance portability of the proposed Canny edge detection parallel algorithm are verified, and it provides a reference for the research of fast calculation of image big data.

Source and licence. Open-access article originally published as “A parallel Canny edge detection algorithm based on OpenCL acceleration” in PLoS ONE, 2024. DOI: 10.1371/journal.pone.0292345. © Yupu Song, Cailin Li, Shiyang Xiao, Qinglei Zhou, Han Xiao. Reproduced unchanged under the Creative Commons Attribution 4.0 licence.

Әдебиеттер тізімі

Canny, J. (1986). A Computational Approach to Edge Detection. IEEE Transactions on Pattern Analysis and Machine Intelligence. https://doi.org/10.1109/tpami.1986.4767851

Lee, J., Tang, H., Park, J. (2016). Energy Efficient Canny Edge Detector for Advanced Mobile Vision Applications. IEEE Transactions on Circuits and Systems for Video Technology. https://doi.org/10.1109/tcsvt.2016.2640038

Cao, J., Chen, L., Wang, M. et al. (2018). Implementing a Parallel Image Edge Detection Algorithm Based on the Otsu-Canny Operator on the Hadoop Platform. Computational Intelligence and Neuroscience. https://doi.org/10.1155/2018/3598284

Sangeetha, D., Deepa, P. (2016). FPGA implementation of cost-effective robust Canny edge detection algorithm. Journal of Real-Time Image Processing. https://doi.org/10.1007/s11554-016-0582-2

Iqbal, B., Iqbal, W., Khan, N. et al. (2019). Canny edge detection and Hough transform for high resolution video streams using Hadoop and Spark. Cluster Computing. https://doi.org/10.1007/s10586-019-02929-x

Badawi, A., Veeravalli, B., Lin, J. et al. (2020). Multi-GPU Design and Performance Evaluation of Homomorphic Encryption on GPU Clusters. IEEE Transactions on Parallel and Distributed Systems. https://doi.org/10.1109/tpds.2020.3021238

Sivakumar, V., Janakiraman, N. (2020). A novel method for segmenting brain tumor using modified watershed algorithm in MRI image with FPGA. Biosystems. https://doi.org/10.1016/j.biosystems.2020.104226

Dhivya, R., Prakash, R. (2017). RETRACTED ARTICLE: Edge detection of satellite image using fuzzy logic. Cluster Computing. https://doi.org/10.1007/s10586-017-1508-x

Жарияланды

2026-08-28