一种多架构加速的尺度不变特征变换快速计算方法.docxVIP

一种多架构加速的尺度不变特征变换快速计算方法.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种多架构加速的尺度不变特征变换快速计算方法 规模-特征变换(sit)是一种测量和描述图像局部特征的算法。sit函数具有旋转、缩去、偏移等几何变量的不变性,并且对噪声和光的变化具有良好的稳定性。这是图像局部特征的优秀描述符号,在图像识别、图像配置等领域得到了广泛应用。 然而,SIFT特征的算法复杂度高、计算耗时过长,无法用于实时性要求较高的场合.随着可编程图像处理器GPU技术的成熟,其强大的并行计算能力和浮点运算能力,以及可编程能力使图像处理操作的加速成为可能. 针对SIFT特征提取的计算效率问题,国内外学者进行了很多研究,其中基于GPU和多核CPU对SIFT算法进行实现与优化成为近年来的研究热点.Sinha等人基于OpenGL和Cg语言在NVIDIA 7900GTX显卡上实现SIFT特征的GPU并行运算,但限于当时的软硬件条件,很多步骤并没有在GPU上执行,导致GPU和CPU之间的数据传输量很大,耗费了很多时间.Zhang等人在Intel 8核CPU上实现SIFT算法,并对算法的可伸缩性进行了详细的分析与实验. 本文提出一种基于统一计算设备架构(compute unified device architecture,CUDA)加速的SIFT特征提取算法,优化各计算步骤在GPU和CPU间的分配、调度及数据传输,并充分利用GPU浮点运算、并行计算及内存管理等方面的优势,使得SIFT特征提取的计算时间大大缩减. 1 特征点提取和描述 SIFT算法首先应用高斯卷积核构造图像尺度空间: L(x,y,σ)=G(x,y,σ)*I(x,y). (1) 式中:符号*表示卷积;G(x,y,σ)是尺度可变高斯函数. G(x?y?σ)=12πσ2e-(x2+y2)/2σ2G(x?y?σ)=12πσ2e?(x2+y2)/2σ2. (2) 式中:(x,y)是空间坐标,代表图像的像素位置;σ是尺度空间因子. 然后,利用不同尺度的高斯差分核与图像卷积构造高斯差分尺度空间(DoG scale-space). D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)= L(x,y,kσ)-L(x,y,σ). (3) 在DoG尺度空间中进行局部极值点检测,该过程需要遍历每一个像素点,并将其与26邻域的像素相比较,若该像素点灰度值是极大或极小值,则将其作为候选关键点保留下来. 接下来,对得到的候选关键点进行进一步的精选.首先获取关键点处拟合函数: D(X)=D+?DΤ?XX+12XΤ?2D?X2X, (4) 再对式(4)求导并让方程等于零,可以得到极值点: ?X=-?2D-1?X2?D?X. (5) 对应极值点,方程的值为 D(?X)=D+12?DΤ?X?X. (6) DoG算子会产生较强的边缘响应,需要剔除不稳定的边缘响应点.获取特征点处的Hessian矩阵,主曲率通过一个2×2的Hessian矩阵H求出, Η=[DxxDxyDxyDyy]. (7) H的特征值α和β代表x和y方向的梯度, tr(Η)=Dxx+Dyy=α+β?det(Η)=DxxDyy-(Dxy)2=αβ.}(8) tr(H)表示矩阵H对角线元素之和,det(H)表示矩阵H的行列式.假设α是较大的特征值,β是较小的特征值,α=rβ.为了剔除边缘响应点,只需检测式(9)是否小于某阈值, tr(Η)2det(Η)=(α+β)2αβ=(rβ+β)2rβ2=(r+1)2r.(9) 对精选得到的关键点进行方向分配,得到梯度模值m(x,y)和梯度方向θ(x,y): m(x?y)=√(L(x+1?y)-L(x-1?y))2+(L(x?y+1)-L(x?y-1))2,θ(x?y)=arctan(L(x?y+1)-L(x?y-1)L(x+1?y)-L(x-1?y)).}(10) 式中L表示关键点的尺度. 最后,生成128维的特征点描述符.Lowe在论文中指出,对每个关键点使用4×4共16个种子点来描述,每个种子点由8个方向梯度组成.这样对于一个关键点就可以产生128个数据,即最终形成128维的SIFT特征向量,如图1所示. 2 特征算法流程 充分利用图像处理单元(GPU)在并行计算、浮点计算、内存管理等方面的优势,合理分配主机端和设备端的资源以及在SIFT特征计算中所承担的角色.特征算法流程如图2所示,其中高斯差分尺度空间构建、局部极值点检测、特征点方向梯度计算以及特征描述符计算在设备端(即在CUDA架构下)进行,这是提高SIFT特征提取算法速度的关键所在. 2.1 基于gpu的高斯滤波和高斯差分无线网络构建 首先将图像从主机端的内存拷入设备端,并绑定纹理内存.选择纹理内存是考虑到以下因

文档评论(0)

uyyyeuuryw + 关注
实名认证
文档贡献者

专业文档制作

1亿VIP精品文档

相关文档