[发明专利]一种基于GPU的多尺度空间特征提取方法有效
申请号: | 201510181541.3 | 申请日: | 2015-04-17 |
公开(公告)号: | CN104778471B | 公开(公告)日: | 2017-10-31 |
发明(设计)人: | 蒋文斌;罗斌;金海;陈一鸣;池也 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06K9/46 | 分类号: | G06K9/46 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 尺度 空间 特征 提取 方法 | ||
技术领域
本发明属于图像特征提取和显卡通用计算技术领域,更具体地,涉及一种基于GPU的多尺度空间特征提取方法。
背景技术
在计算机视觉应用中,基于图像的特征提取算法往往是计算机视觉应用能否取得成功的前提和关键。基于高斯卷积的线性滤波或非线性扩散方程的非线性滤波等构造的多尺度空间特征提取算法,由于其在一定的尺寸、旋转、模糊等变化下的鲁棒性,受到了广泛的关注和应用。
然而由于多尺度空间的构造具有较高的时间复杂度,为了能够将特征提取算法应用到实时应用中去,不少研究者提出了很多方法,在不降低算法鲁棒性的条件下,基于图形处理器(Graphic Processing Unit,GPU)的方法是较为成功的。基于GPU的多尺度空间特征提取算法主要采用的是统一计算设备架构(compute unified device architecture,CUDA),它是由英伟达公司提出的通用计算平台,将复杂的GPU指令包装成浅显易懂的运行时指令,极大地降低了编写显卡设备代码的难度。CUDA采用的是一种类似于单指令流多数据流(single-instruction multi-data,SIMD)的执行模型,比较适合于并行计算。
利用GPU的众核优势并行处理图像中的多个像素点,可以极大地提升执行效率。这一类算法主要将特征提取中的各个步骤利用GPU并行的方式来进行处理,降低算法所需要的时间。但是现有算法只是停留在原始算法的基础上,在单一尺度下利用GPU并行处理,从而降低时间;对GPU的性能还不能充分地利用。取得了一定的加速比,但是仍然难以满足实时要求。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于GPU的多尺度空间特征提取方法,其目的在于根据CUDA执行模型以及多尺度空间特征提取算法的基本原理,利用多尺寸数据打包、多尺寸并行降采样、多尺寸并行非线性滤波等方法,降低不同尺寸下尺度空间的依赖性,提高尺度空间构造的并行度,使之可以更有效地利用GPU的众核优势。
为实现上述目的,本发明提供了一种基于GPU的多尺度空间特征提取方法,这里多尺度指的是多种尺寸下的多种滤波程度,包括以下步骤:
(1)根据输入图像的宽度W和高度H,计算特征提取尺度空间需要降采样的次数num;一次降采样对应一个尺寸,包含原始尺寸,共有num+1个不同尺寸;
(2)根据输入图像和尺寸数num+1,利用多尺寸数据打包、多尺寸并行降采样、多尺寸并行非线性滤波的方法,并行的构造不同尺寸下的尺度空间;
(3)在(2)构造的不同尺寸下的尺度空间中检测关键点,生成关键点的描述符。
优选地,步骤(2)包括以下子步骤:
(2.1)多尺寸数据打包:根据输入图像的宽度W和高度H、降采样次数num、CUDA编程的特点,将num+1个不同尺寸的图像打包成联合图像,并在GPU中分配联合图像存储空间,对于S层尺度空间,就有S个联合图像;
(2.2)多尺寸并行降采样:利用初始输入图像信息,对输入图像并行的进行num次降采样,得到尺度空间中的第一个联合图像,即第一层图像;
(2.3)根据步骤(2.2)构造的第一个联合图像,利用前一层联合图像,循环的进行S-1次非线性滤波,得到尺度空间中所有的联合图像,即所有S层图像。
优选地,步骤(2.1)包括以下子步骤:
(2.1.1)根据输入图像的宽度W和高度H、降采样次数num,计算得到每次降采样后图像的宽度w和高度h;
(2.1.2)根据CUDA编程特征,将每一个尺寸下的图像的宽度w填充,使得填充后的宽度pw为Warp Size的整数倍;
(2.1.3)将所有尺寸下的图像打包成联合图像,在GPU中分配联合图像的存储空间;对于S层尺度空间就有S个联合图像。
优选地,步骤(2.2)包括以下子步骤:
(2.2.1)利用GPU内存复制函数将输入图像复制到第一个联合图像空间的第1个尺寸所对应的图像空间中;
(2.2.2)对第一个联合图像空间剩下的num个不同尺寸的图像,利用降采样方法对第1个尺寸的图像逐步进行并行降采样,得到第一个联合图像。
优选地,步骤(2.2.2)包括以下子步骤:
(2.2.2.1)根据输入图像的宽度W和高度H,计算当前尺寸i=2下图像的宽度w和高度h,以及填充宽度pw;具体的w=W>>(i-1),h=H>>(i-1),pw=(w+31)/32*32,其中>>是右移运算;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510181541.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图像分类方法
- 下一篇:基于组件树和霍夫森林的文字检测和识别方法