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.
Источник и лицензия. Статья открытого доступа, впервые опубликована как «A parallel Canny edge detection algorithm based on OpenCL acceleration» в журнале PLoS ONE, 2024. DOI: 10.1371/journal.pone.0292345. © Yupu Song, Cailin Li, Shiyang Xiao, Qinglei Zhou, Han Xiao. Воспроизведена без изменений по лицензии Creative Commons Attribution 4.0.
Библиографические ссылки
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
Загрузки
Опубликован
Выпуск
Раздел
Лицензия
Copyright (c) 2024 Yupu Song, Cailin Li, Shiyang Xiao, Qinglei Zhou, Han Xiao

Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Статьи публикуются под лицензией Creative Commons Attribution 4.0 International (CC BY 4.0).