基于opencl的尺度不变特征变换算法的并行设计与

基于opencl的尺度不变特征变换算法的并行设计与

ID:21896084

大小:59.00 KB

页数:9页

时间:2018-10-25

基于opencl的尺度不变特征变换算法的并行设计与_第1页
基于opencl的尺度不变特征变换算法的并行设计与_第2页
基于opencl的尺度不变特征变换算法的并行设计与_第3页
基于opencl的尺度不变特征变换算法的并行设计与_第4页
基于opencl的尺度不变特征变换算法的并行设计与_第5页
资源描述:

《基于opencl的尺度不变特征变换算法的并行设计与》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于OpenCL的尺度不变特征变换算法的并行设计与针对尺度不变特征变换(SIFT)算法实时性差的问题,提出了利用开放式计算语言(OpenCL)并行优化的SIFT算法。首先,通过对原算法各步骤进行组合拆分、重构特征点在内存中的数据索引等方式对原算法进行并行化重构,使得计算机X络算法的中间计算结果能够完全在显存中完成交互;然后,采用复用全局内存对象、共享局部内存、优化内存读取等策略对原算法各步骤进行并行设计,提高数据读取效率,降低传输延时;最后,利用OpenCL语言在图形处理单元(GPU)上实现了SIFT算法的细粒度并行

2、加速,并在中央处理器(CPU)上完成了移植。与原SIFT算法配准效果相近时,并行化的算法在GPU和CPU平台上特征提取速度分别提升了10.51~19.33和2.34~4.74倍。实验结果表明,利用OpenCL并行加速的SIFT算法能够有效提高图像配准的实时性,并能克服统一计算设备架构(CUDA)因移植困难而不能充分利用异构系统中多种计算核心的缺点。0引言以尺度不变特征变换(ScaleInvariantFeatureTransform,SIFT)算法[1]为代表的基于特征的图像匹配方法近几年发展迅速,该算法对光照、角度

3、或尺度变化的图像都有较好的匹配精度和适应性,但实时性差。为了提高实时性,在此基础上又衍生出了主成分分析(PrincipalponentAnalysis,PCA)SIFT[2]、快速鲁棒特征(SpeedUpRobustFeature,SURF)检测[3]等改进算法。这些改进的算法尽管在速度方面有所提升,但实时性仍然不能满足实际应用要求且在抗尺度和抗旋转方面性能都有不同程度的下降,因此仍无法取代经典的SIFT算法[4]。近年来随着图形处理器(GraphicsProcessingUnit,GPU)计算能力的不断提升,利用G

4、PU天然硬件并行的特性来加速非图形通用大规模运算逐渐受到人们的青睐,目前较为成熟并得到广泛应用的GPU并行编程模型为英伟达(NVIDIA)公司开发的统一计算设备架构(puteUnifiedDeviceArchitecture,CUDA)模型。文献[5-7]利用CUDA实现了SIFT算法关键步骤的GPU并行加速,取得了一定的加速效果。文献[8-9]在移动GPU平台上利用开放式计算语言(OpenputingLanguage,OpenCL)实现了SIFT算法的并行加速,相对于移动中央处理器(CentralProcessin

5、gUnit,CPU)取得了4.6~7.8倍的加速效果。另外,完成同样的计算,GPU比CPU的功耗低87%,即利用OpenCL实现的GPU并行运算相对于传统的CPU具有更高的性能功耗比,但以上方法大多采用步骤分离的优化,没能充分利用GPU全局内存以及算法各步骤的中间计算结果,加速效果受显存带宽的制约。另外利用CUDA实现的算法只适用于NVIDIA显卡,移植困难,而目前的计算机系统大多是“CPU+协处理器”的异构系统[10],这使得CUDA无法充分利用异构系统中不同类型的计算核心。具有跨平台特性的开放式并行编程语言Ope

6、nCL的出现为解决此问题提供了契机,利用OpenCL设计的并行算法能够在CPU+(GPU、数字信号处理器(DigitalSignalProcessor,DSP)、现场可编程门阵列(FieldProgrammableGateArray,FPGA)等异构系统间移植[11-12],该特性使得经OpenCL优化的算法能够摆脱对硬件平台的依赖。自2010年OpenCL1.1发布以来,对OpenCL技术的应用研究逐渐兴起。陈钢等[13]对OpenCL内存操作作了深入的分析;Yan等[14]利用OpenCL实现了SURF算法的并行

7、加速。OpenCL编程相比CUDA更为复杂[15],在软件开发方面也面临更多的挑战和困难,目前在PC平台上还没有利用OpenCL并行优化的SIFT算法出现。针对以上问题,本文对SIFT算法步骤及数据索引方式进行重构,提高其并行度,然后通过优化内存读取、合理利用OpenCL内存层次等策略对该算法进一步优化,在NVIDIAGPU平台上实现了SIFT特征的快速提取。为研究OpenCL的可移植性,将优化的GPU版本移植到Intel双核CPU平台上,实验表明优化后的算法在两种计算平台上的实时性都有一定提升。1SIFT特征提取算

8、法流程SIFT算法最早由Loemory和localmemory的访问机制,使得这3个步骤的中间计算结果最大限度地在显存中完成交互,减少内存与显存间的数据交换次数,隐藏带宽延时。2)步骤拆分。将极值点定位分为极值点坐标检测和极值点精确定位两步:第1步只返回极值点坐标,目的是辅助主机端完成内存分配;第2步完成极值点精确定位。3)重构数据索引。本文全

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。