星载GPU阵列下的SIFT算法的研究

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:einstein_2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
SIFT特征(Scale-invariant feature transform)是一种具有多尺度以及具有光照不变性和旋转不变性的特征。在遥感图像处理中,基于SIFT特征的图像匹配稳定性强,且能满足多尺度和多传感器的图像之间的匹配。但SIFT特征具有计算复杂度高的缺陷,限制了其在一些场景下的应用。自从NVIDIA推出CUDA(Compute Unified Device Architecture)这一并行计算平台,降低了在图形处理器(GPU)上的编程难度以后,越来越多的科研人员以及工程师利用GPU加速遇到的计算问题。本文面向遥感任务的卫星在轨智能处理设计理念,针对空间任务需求和在轨数据处理带来的挑战,为遥感卫星的星载微型超级计算中心设计SIFT算法的并行加速方案。本文利用OpenMP技术和CUDA技术实现了多GPU下的SIFT算法加速。首先对SIFT算法进行了可并行行分析,给出了在异构模式下,主机端和设备端的任务分配。同时给出了在多GPU下的数据分块,以及并行化方式。随后针对SIFT算法中计算量大的步骤做了并行化处理。针对高斯滤波,本文将二维的高斯滤波分解为先对行做高斯滤波,再对列做高斯滤波,并在此基础上利用GPU加速。在行滤波阶段,利用线程束共享寄存器数据,减少内存的使用,并将中间结果以转置的方式存入共享内存,在避免存储体冲突的情况下还能减少对全局内存的访问。在极值点检测优化中,采用和高斯分离滤波类似的策略,同时引入了原子操作来保证每次对比的正确性。在特征点生成的优化中,引入了共享内存减少原子操作带来的冲突,提高程序的并行化率,同时将数据绑定到纹理内存,增加程序的缓存命中。最后在单GPU的SIFT算法基础上,实现了SIFT算法的多GPU加速,并使用CUDA流将多个数据分块的数据拷贝和内核函数的执行重叠起来,减少程序运行时间。在Jetson TX2硬件平台上对本文的实现做测试,单GPU计算下的特征点个数比CPU计算下的特征点个数平均少百分之八左右,但加速比都达到了82以上,并且随着图像分辨率增大而增大。两个GPU计算下的特征点个数和单GPU计算下的特征点个数基本一致,加速比达到1.5倍左右。本文在多GPU下实现的SIFT算法,整体加速效果比较显著,在小分辨率以及大分辨率下都能很好的加速。
其他文献
本文就从中学计算机教学现状入手,分析数字化模式的优势。
本文从网络流量的特性,网络流量的测量等方面做了探讨,从而为流量监测技术的优化提出了一些建议。
贻贝(Mytilus edulis)是一种蛋白质含量很高的海洋贝类。我国是世界上贻贝产量最大的国家,采用酶解法对食源性蛋白进行定向水解释放抗血栓活性肽段,具有条件温和,成本低,安全
使用振动数据采集仪对风机设备进行了振动数据采集,对采集的数据利用故障诊断系统进行分析、诊断,认为设备振动是源于风机叶轮不平衡故障,而基础振动是由叶轮不平衡引发的系
随着我国经济的快速发展,不同社会阶层对于政府公共服务的需求日益多元化。为更好地满足群众需要,提供优质社会公共服务,各行政事业单位不断加强自身建设,防范舞弊,预防腐败以及提高公共服务的效率和效果。其中作为行政事业单位管理工作的重要环节,内部控制体系的构建与完善,对于进一步提高政府管理水平,规范经济活动以及加强廉政风险防控机制建设方面都有着重要作用。因此,财政部于2012年颁布了《行政事业单位内部控制
高校教育计划改革正广泛实施,计算机教学成为了高校培养人才的重点科目。教师需积极完善计算机教学工作,不断培养出高素质的新型人才。
摘要:PPT多媒体手段对传统的课堂教育具有很好的补充作用,具备着十分明显的优势。但是在目前的应用中也存在着一些问题。PPT课件制作质量不高以及PPT多媒体教学削弱了师生交流,并提出了相应的应对策略。  关键词:PPT;问题;对策  中图分类号:G434 文献标识码:A文章编号:1007-9599 (2011) 19-0000-01  Problems and Countermeasures Tal