本文提出一种基于 GPU+CPU 的快速实现 Canny 算子的方法.首先将算子分为串行和并行两部分,高斯滤波、梯度幅值和方向计算、非极大值抑制和双阈值处理在 GPU 中完成,将二维高斯滤波分解为水平方向上和垂直方向上的两次一维滤波从而降低计算的复杂度;然后使用 CUDA 编程完成多线程并行计算以加快计算速度;最后使用共享存储器隐藏线程访问全局存储的延迟;在 CPU 中则使用队列 FIFO 完成边缘连接.仿真测试结果表明:对分辨率为1024×1024的8位图像的处理时间为122 ms,相对应单独使用 CPU 而言,加速比最高可达5.39倍,因此本文方法充分利用了GPU 的并行性的特征和 CPU 的串行处理能力.
This paper presents a fast method for Canny algorithm based on GPU + CPU.The Canny algorithm is divided into two parts:Gauss filtering,gradient computations,non maximum suppression and double thresholding are processed by GPU.The fast method convert two-dimensional Gaussian filter to two separable convolutions to reduce the computation complexity.Then,multiple threads execute kernel in parallel to speed up the computation in the CUDA program.Finally,threads access shared memory instead of global memory to hide the latencies of global memory.In addition,FIFO is used to connect components in CPU.The simulation results show that the processing time of the 8-bit images with the resolution 1 024× 1 024 is 122 ms,which is 5.39 times faster than CPU.Therefore,this method takes full advantage of the parallelism of GPU and the serial processing capability of CPU.
参考文献
[1] | 钮圣虓;王盛;杨晶晶;陈更生.完全基于边缘信息的快速图像分割算法[J].计算机辅助设计与图形学学报,2012(11):1410-1419. |
[2] | 石桂名;魏庆涛;孟繁盛.基于Canny算子的图像边缘检测算法[J].现代电子技术,2015(12):92-93,97. |
[3] | 刘久文;潘峰;李军.结合图像边缘检测和最小误差替换的隐写方案[J].液晶与显示,2015(1):151-156. |
[4] | 许佳佳.结合 Harris 与 SIFT 算子的图像快速配准算法[J].中国光学,2015(4):574-581. |
[5] | 丁怡心;廖勇毅.高斯模糊算法优化及实现[J].现代计算机(专业版),2010(8):76-77,100. |
[6] | 王新华;王晓坤.十亿像素瞬态成像系统实时图像拼接[J].中国光学,2015(5):785-793. |
[7] | 刘谷;安虹;李小强;吴石磊.图广度优先搜索算法面向图形处理器的优化方法研究[J].小型微型计算机系统,2014(5):1074-1079. |
- 下载量()
- 访问量()
- 您的评分:
-
10%
-
20%
-
30%
-
40%
-
50%