欢迎来到010在线作文网!

基于OpenCL的尺度不变特征变换算法的并行设计与论文(3)

实用文 时间:2021-08-31 手机版

5实验结果及分析

  5.1实验平台

  本实验的实验平台CPU为Intel Core i5 3210m,双核心四线程,2.5GHz;GPU采用NVIDA GeForce GT 635m,核心频率660MHz,96个流处理器单元,128位总线宽度;开发环境为Vs2013,OpenCV版本2.4.9,OpenCL版本1.1。

  5.2实验方法

  本文实验的代码是在Rob Hess维护的SIFT算法(http://robwhess.github.io/opensift/,本文称之为CPU_SIFT)的基础上修改而来。实验分别测试并行化的OpenCL_CPU_SIFT和OpenCL_GPU_SIFT这两个版本用时,并与未优化的CPU_SIFT版本用时作比较分别计算两个版本的加速比。实验选取a,b两组图片。a组有a1~a5共5幅图片,b组有b1~b4 4对共8幅图片。为使实验结果更具有参考性,其中a1选取Rob Hess采用的behavior图,分辨率为320×300;a2选取国际通用的Lena图,分辨率为512×512;a3此处是否描述有误?即a2~a5,共4幅图像,而后面的描述中却有3幅,所以请作相应调整。~a5为利用CCD摄像头获取的3幅纹理从简单到复杂的测试图片,分辨率分别为960×720、1280×960、2560×1440。另外为了测试优化后的算法对不同图片的适应性,b组图片选取4对有角度、光照和尺度变化的图片,分辨率统一为1280×960。

  5.3实验结果

  在与原CPU_SIFT算法匹配效果一致的情况下,各图片的耗时如表2所示,利用OpenCL优化后的CPU版本和GPU版本的加速比最大分别为4倍和19倍左右,如图8所示。这表明OpenCL不仅具有优秀的并行计算能力,而且具有较好的跨平台特性,这也是OpenCL相对于CUDA的一大优势。

  通过对比表1和表2可知,本文在PC平台实现的SIFT算法的加速比比文献[9]中实现的加速比更高,特别是当图像分辨率较大时,本文实现的加速比会进一步增大。这主要是因为两点:1)数据量越大,越能充分发挥GPU并行运算的能力,越能隐藏数据传输延时;2)由于移动处理器架构的限制,文献[9]只针对SIFT特征点检测部分进行了优化,而本文则是对整个SIFT算法流程进行统一优化,充分利用了GPU的全局内存,数据读取效率更高。另外,通过对比进一步证明了OpenCL对移动平台和PC平台都具有广泛的适用性,再次说明OpenCL具有较好的可移植性和跨平台性。

  图9为本文算法对a组图像的特征提取结果。由图9可知,优化的算法对图像处理领域常用的Lena图和behavior图都能有效地提取特征点,a3~a5三张图片的纹理由简单到复杂,优化后的算法均能有效提取特征点。在b组图片中,b1的两幅图片有角度变化,b2有光照变化,b3既有角度又有光照变化,b4的角度、光照和尺度均有变化,匹配结果如图10所示。综合图9和图10的实验结果可知,优化后的算法对不同分辨率、不同纹理复杂度的图像都能提取稳定的特征点,对具有角度、光照和尺度变化的图像都能正确匹配,这表明并行化后的算法对各种图片都有较好的适应性。

  为进一步分析不同平台不同数据规模对OpenCL加速性能的影响,针对a3、a4和a5三幅不同分辨率的图像,本文分别统计了优化后的GPU和CPU版本各步骤的加速比,结果如图11和图12。图11和图12中步骤1为高斯模糊+高斯差分金字塔生成,步骤2为极值点定位,步骤3为计算方向直方图,步骤4为特征矢量生成。对比图11和图12可知,无论是GPU还是CPU平台,优化后,高斯模糊+高斯差分金字塔生成步骤加速比都最大,GPU版本甚至达到了50倍,这是因为该步骤中各工作项数据独立无分支,并行度高。而极值点定位步骤有大量的选择判断语句,并行度较差,闫钧华等[19]将此步骤放在CPU端执行,本文将此步骤一并优化,速度有一定提升但不够理想,这是因为在并行编程中无论CPU还是GPU都受分支语句的影响,GPU尤其如此。另外,与图11不同,图12中的三条曲线无交叉,随着图片分辨率的增大各步骤的加速比都逐步增大,说明数据规模越大越能发挥并行运算的优势。另外OpenCL_CPU_SIFT版本的特征向量生成步骤比计算方向直方图步骤的加速效果更好,这是因为前者通过工作组共享局部内存能充分利用CPU的L1 cache,从而提升运算性能。

6结语

  本文对SIFT算法进行合并、拆分和数据重构等并行化设计,改善提高了算法的并行度,并通过合理设置工作组和工作项大小,充分利用内存层次等方法对算法进一步优化。利用OpenCL并行编程语言的跨平台特性,本文分别在NVIDIA GPU和Intel CPU平台上对该算法进行并行优化,分别取得了10.51~19.33和2.34~4.74倍的加速,并利用OpenCL的可移植性解决了CUDA对硬件平台的依赖问题。本文的研究内容及结果可应用于提升遥感图像拼接、医学影像配准和流水线工件定位等领域的图像匹配速度。

  目前本文的优化方法在同一时刻只将OpenCL内核入列到CPU或者GPU中,即同一时刻只能充分利用CPU或GPU的计算能力,接下来本文将进一步研究异构系统中不同平台间的并行性,将可并行运行的内核同时入列到CPU和GPU中运行,进而扩展到多核多CPU和多GPU的复杂异构系统中,进一步提高算法的运行速度。

【基于OpenCL的尺度不变特征变换算法的并行设计与论文】相关文章:

1.基于遗传算法的优化设计论文

2.基于遗传算法的大型圆振动筛的优化设计论文

3.基于遗传算法的车牌定位技术研究论文

4.论文:基于粒子群算法的双子支持向量机研究

5.办公空间设计特征论文

6.《图形的变换》教学设计

7.队列的变换教案设计

8.简约风格的设计特征手法及应用论文


本文来源http://www.010zaixian.com/shiyongwen/2304318.htm
以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请给我们来信(zaixianzuowenhezi@gmail.com),我们会及时处理和回复,谢谢.