APP下载

SIFT算法GPU并行化研究

2017-05-12邓伯胜

现代计算机 2017年9期
关键词:方向特征

邓伯胜

(四川大学计算机学院,成都 610065)

SIFT算法GPU并行化研究

邓伯胜

(四川大学计算机学院,成都 610065)

SIFT是计算机视觉领域一个基础算法,从综合评估上看,SIFT目前仍是最具使用价值的特征检测、特征描述算法。总结SIFT算法原理,针对算法耗时问题,参考多位学者研究者的并行计算解决方案,并利用CUDA具体实现实验,归纳出一种三级并行方案。实验表明,与CPU架构下SIFT实现方案相比,该方案大幅提升SIFT特征提取性能,加速比随着图片数目或特征点数目增加而增加。

SIFT;CUDA;三级并行;加速

0 引言

尺度不变特征变换(SIFT)是一种基于尺度空间理论的提取图像局部特征的优秀算法。SIFT特征鲁棒性强,受旋转、缩放、平移、噪声、关照变化影响很小。但SIFT算法复杂度高,计算耗时,难以应用到实时性要求高的场合。随着可编程图像处理器GPU技术成熟,国内外很多学者针对SIFT计算效率问题做了很多研究,设计出很多并行加速方案。但就目前为止,这些方案的并行级别都不超过两级。例如Sinha等人基于OpenGL和Gg语言在NVIDIA 7900GTX显卡上实现SIFT,仅仅实现了一级并行 (像素级);田文等人提出一种基于CUDA的SIFT实现方案,性能达到30-50倍,但仅仅针对特定图片并且未考虑显卡和CPU端数据传输时间,并行级别只有像素级和高斯组(Octave)两级。本文考虑到SIFT主要应用于多张图片检测特征点,采用CUDA流(cudaStream)实现了首末数据传输和中间计算的并行,隐藏了多张处理图片上传图片数据和返回计算结果的数据传输时间,同时提高了计算并行度,达到了三级并行,在考虑到数据传输时间后,性能能达到CPU实现的20倍左右。……

登录APP查看全文

猜你喜欢

方向特征
2022年组稿方向
2022年组稿方向
2021年组稿方向
2021年组稿方向
2021年组稿方向
如何表达“特征”
不忠诚的四个特征
位置与方向
线性代数的应用特征