【技术实现步骤摘要】
本专利技术属于图像处理
,涉及视觉搜索方法,尤其涉及一种基于GPGPU平台的CDVS(视觉搜索紧凑描述子)提取过程加速方法。
技术介绍
视觉搜索技术在近二十年获得了快速发展,尤其随着互联网普及,各种围绕视觉搜索构建的应用已经在很大程度上改变了人们的生活方式,比如搜索引擎的图像检索、监控应用中的对象识别等。一般来讲,视觉搜索的出发点在于寻找图像中有代表性的一组特征点,然后基于该组特征点进行相关匹配工作。文献[1](Duan L Y,Chandrasekhar V,Chen J,et al.Overview of the MPEG-CDVS Standard[J].IEEE Transactions on Image Processing,2015,25(1):323-332)记载的MPEG-7视觉搜索紧凑描述子(CDVS)是由ISO/IEC MPEG组织于2014年7月提出的一个视觉搜索标准。该标准旨在定义视觉搜索紧凑描述子、描述子提取过程和视觉搜索框架的格式,以使遵循该标准的视觉搜索应用之间互操作成为可能。文献[2](Lowe D G.Distinctive Image Features from Scale-Invariant Keypoints[J].International Journal of Computer Vision,2004,60(2):91-110)记载的经典算法SIFT需要使用一幅图像的全部特征点进行图像匹配。这种方法在实际应用中会产生两种额外开销——目标图片量大时的匹配时延和低带宽网络下的传输时延。这两种时延占据了图像匹配 ...
【技术保护点】
一种基于GPGPU平台的CDVS提取过程加速方法,依次包括以下步骤:第一步,划分CPU计算任务和GPU计算任务,将CDVS提取过程的特征检测阶段和局部描述符计算阶段分配给GPU,CDVS提取过程剩余的特征选择阶段、全局描述符聚合阶段、局部描述符压缩阶段和坐标编码阶段分配给CPU;所述特征检测阶段包括的子阶段为高斯卷积子阶段、拉普拉斯卷积子阶段、多项式系数计算子阶段、响应值计算子阶段和检测子阶段;所述局部描述符计算阶段包括的子阶段为梯度计算子阶段、主方向分配子阶段和描述符计算子阶段;针对所述分配给GPU的子阶段的运算逻辑得到源核程序,进一步得到GPU可执行程序对象;第二步,重构图像的尺度空间金字塔存储模型,将层间不连续的存储模型变换为层间连续的存储模型,使得在金字塔所有层完成像素间可并行的阶段或子阶段之后,再统一进行特征点间可并行的子阶段计算;所述像素间可并行的阶段或子阶段包括特征检测阶段和局部描述符计算阶段的梯度计算子阶段;所述特征点间可并行的子阶段包括局部描述符计算阶段的主方向分配子阶段和描述符计算子阶段;第三步,分别采用二维工作组划分和一维工作组划分,为分配给GPU上的各子阶段指定 ...
【技术特征摘要】
1.一种基于GPGPU平台的CDVS提取过程加速方法,依次包括以下步骤:第一步,划分CPU计算任务和GPU计算任务,将CDVS提取过程的特征检测阶段和局部描述符计算阶段分配给GPU,CDVS提取过程剩余的特征选择阶段、全局描述符聚合阶段、局部描述符压缩阶段和坐标编码阶段分配给CPU;所述特征检测阶段包括的子阶段为高斯卷积子阶段、拉普拉斯卷积子阶段、多项式系数计算子阶段、响应值计算子阶段和检测子阶段;所述局部描述符计算阶段包括的子阶段为梯度计算子阶段、主方向分配子阶段和描述符计算子阶段;针对所述分配给GPU的子阶段的运算逻辑得到源核程序,进一步得到GPU可执行程序对象;第二步,重构图像的尺度空间金字塔存储模型,将层间不连续的存储模型变换为层间连续的存储模型,使得在金字塔所有层完成像素间可并行的阶段或子阶段之后,再统一进行特征点间可并行的子阶段计算;所述像素间可并行的阶段或子阶段包括特征检测阶段和局部描述符计算阶段的梯度计算子阶段;所述特征点间可并行的子阶段包括局部描述符计算阶段的主方向分配子阶段和描述符计算子阶段;第三步,分别采用二维工作组划分和一维工作组划分,为分配给GPU上的各子阶段指定并行策略;所述分配给GPU上的各子阶段包括特征检测阶段的五个子阶段和局部描述计算阶段的三个子阶段;第四步,应用局部内存,在局部描述计算阶段的描述符计算子阶段为工作组中特征点在局部内存中分配存储空间,在描述符计算子阶段中使所有更新都发生在所述局部内存中分配的存储空间,在描述符计算子阶段结束之后,再用局部内存中的描述符数据更新全局内存;由此实现加速CDVS提取过程。2.如权利要求1所述基于GPGPU平台的CDVS提取过程加速方法,其特征是,第一步所述划分CPU计算任务和GPU计算任务,具体通过如下操作实现:11)利用OpenCL核程序实现高斯卷积、拉普拉斯卷积、多项式系数计算、响应值计算、检测、梯度计算、主方向分配和描述符计算八个子阶段的运算逻辑,得到八个源核程序;12)依次调用OpenCL接口clCreateProgramWithSource、clBuildProgram和clCreateKernel将步骤11)所述八个源核程序通过软编译得到GPU可执行程序对象;13)利用C语言实现特征选择、局部描述符压缩、坐标编码和全局描述符聚合阶段的运算逻辑。3.如权利要求1所述基于GPGPU平台的CDVS提取过程加速方法,其特征是,第二步所述重构图像的尺度空间金字塔存储模型,具体执行如下操作:21)调用OpenCL接口clCreateBuffer在GPU上为图像尺度空间金字塔的所有层统一申请存储空间,设输入图像长宽分别为W和H,而金字塔包含N(N=1,2,3,...)层,则存储空间大小S通过式1计算得到:其中,S为存储空间大小,单位为字节。因为金字塔第一层尺寸等于输入图像尺寸,而所有更高的层都由较低的一层经过长宽减半的降采样而得;22)逐层构建图像尺度空间金字塔,每一层的起始地址偏移offset通过式2计算得到:式2中,w为金字塔某层的长;h为金字塔某层的宽;n为金字塔层的层号,n=0,1,2,...;23)构建尺度空间金字塔的其他逻辑与文献[1](Duan L Y,Chandrasekhar V,Chen J,et al.Overview of the MPEG-CDVS Standard[J].IEE...
【专利技术属性】
技术研发人员:王荣刚,张申,王振宇,高文,
申请(专利权)人:北京大学深圳研究生院,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。