欢迎来到天天文库
浏览记录
ID:28664789
大小:2.20 MB
页数:8页
时间:2018-12-12
《利用SIFT算法实现并优化基于GPU的通用计算》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、利用SIFT算法实现并优化基于GPU的通用计算摘要:现代图形硬件中加入了可编程序组件后,利用图形处理器(GPUs)进行通用计算就变得越来越有趣,尤其是在利用了并行缓冲处理机制后,这一功能得到了更广泛的应用。在本文中,我们介绍了利用现代图形硬件进行实时跟踪和识别特征点的方法。重点是对于一些特征向量的研究,这些特征向量是从不同阶段的输入图像中提取出来的。尺度不变特征变换(SIFT)方法对图像的旋转、尺度、和光照条件的改变具有较高稳定性,因而被广泛使用于对图像特征向量的处理。我们提供了不同阶段中利用图像处理
2、器对特征向量进行处理的结果,并且将它与基于SIFT算法的中央处理器的处理结果进行比较。这个方法可以在Geforce6图形版系列中很好的实现,并且能够充分利用新的硬件特点,比如碎片处理器中的动态分支和多重着色目标(MRT)。我们可以在图形处理器上实现上述实时帧率特征跟踪方法,与此同时中央处理器还可以执行其它任务。关键字:图形处理器、尺度不变特征变换、特征提取、跟踪。1引言随着现代图形硬件中可编程元件的加入,比如顶点和片段处理器,开发人员开始使用图形处理器(GPUs)进行通用计算,而不再仅仅利用它制作精美
3、的图片和高端游戏引擎。这项研究是从GPGPU(GPU实现通用计算)中发展起来的。在研究利用GPU实现通用计算的过程中,当务之急就是变换正在研究的算法,使它能更充分地利用现代图形硬件上的并行缓冲处理模型。大量的算法和应用已经在GPGPU上得以实现,例如,kd-树搜索[FS05],分类算法加速[GHLM05]和数据搜索[GLW*04]。针对GPU的架构进行变换算法的概述在[Har05]和[OLG*05]中给出。本文中,我们会介绍特征提取算法如何利用现代图形硬件实现功能,以及优化各阶段算法达到加速目的。确切
4、地说,就是在内含256MB音频存储器的NVIDIAQuadroFX3400GPU上利用SIFT算法[Low04a]实现新的功能,例如,动态分支、片段上多个渲染目标(MRTs)以及顶点处理器。在了解了相关工作之后,我们先简单介绍了一下算法,接着是GPU执行步骤以及如何在标准CPU上实现算法全面加速。2相关工作计算机视觉的一个主要研究问题即是自然图像稳定特征点的提取。这些特征点主要用于对应匹配,以便找到已知对象,并且获得它们在其它相应图像中的效果、位置、大小或者旋转度的信息[BL02]。在[Fun05]中
5、给出了一种特征跟踪的方法,但是该方法中提取的特征点不具有尺度不变性,并且该方法主要应用在多并行显卡上。DavidLow[Low04]提出了一种从图像中提取高度稳定特征向量的方法,该方法叫做尺度不变特征变换(SIFT)。SIFT特征具有旋转不变性,尺度和照明度/对比度不变性,因此SIFT方法能很好的应用在场景模型,识别,跟踪[GL04]以及全景制作中。3SIFT概述SIFT方法介绍了获取相关特征点的各个步骤。分析调整各步骤以便最大化地使用图形处理器(GPU)的并行处理机制,并且占用较少的CPU进程。单个
6、SIFT特征的提取步骤是:1.寻找兴趣点,兴趣点由高斯差异(DOG)尺度空间金字塔模型识别,在尺度空间中图像中由极值表示。2.对第一步中得到的点进行进一步的过滤和筛选,以得到具有高匹配度的稳定点。3.通过确定特征方向,对每个点的主方向进行指定。4.由第三步中所确定的方向进行特征向量的计算,确保其具有旋转不变性。5.整个过程中,只有一部分元素从一个步骤的开始传递到下一步骤,并由此展开。为了实现尺度不变性,有必要创建一种表示图像频率的模型,如Witkin[Wit83]所介绍的一样,该模型利用尺度空间金字塔
7、可以实现。金字塔里面的每张图像都对应不同的图像频率。通过搜索尺度空间金字塔中所有图像,获取潜在的特征点,并使其具有尺度不变性。尺度空间金字塔由灰度版本的原始图像和尺度不断增大的高斯卷积核反复卷积而组成。因此大量清晰度不同的图像由此生成,就像在图1左上方所显示的四个640*480的图像堆叠一样。接下来,这堆叠的图像中,最模糊的图像缩减两倍尺度。随后与一套同样的高斯卷积核进行卷积,就像之前一样生成第二组4张320*240图像。反复进行此过程直到达到指定的大小,也就是图1右上方例子中的80*60大小的那张图
8、。图1.高斯金字塔(顶部)和高斯的不同(底部)。原始图像经过持续不断的运算生成大小和清晰度不同的图像版本,这个金字塔即由这些不同版本图像组成。为了计算一个图像的单一频率,在金字塔中相同大小的邻近图像或图层必须进行相减运算,生成高斯差异模型,如图1下方所示。最终,通过筛选这个DOG金字塔,从而找到极值。将每一个采样点和它所有的相邻点进行比较,中间的检测点和它同尺度的8个相邻点进行比较,并和上下相邻尺度对应的各9个点进行比较,观察其是否比它的图像域和尺度域的
此文档下载收益归作者所有