一种基于图形处理单元的图像特征快速提取方法

文档序号:6628791阅读:699来源:国知局
一种基于图形处理单元的图像特征快速提取方法
【专利摘要】本发明涉及图像处理与分析【技术领域】,尤其涉及一种基于图形处理单元的图像特征快速提取方法,包括:读取原始图像,提取所述原始图像的亮度分量图像,并将所述亮度分量图像拷贝到图形处理单元的帧缓存中;将所述图形处理单元中的所有活动线程划分为若干个线程块,计算出每个线程块中所包含的线程的数量,建立若干个并行单元,根据所述亮度分量图像的大小,计算每个并行单元需要创建的线程块的个数;通过所述并行单元对所述亮度分量图像进行滤波处理,获得若干个与所述并行单元对应的边缘特征图像;通过所述线程块对所述边缘特征图像进行特征提取,形成原始图像的边缘特征矩阵,本发明通过图形处理单元的并行计算能力,提高了图像特征提取的速度。
【专利说明】一种基于图形处理单元的图像特征快速提取方法

【技术领域】
[0001] 本发明涉及图像处理与分析【技术领域】,尤其涉及一种基于图形处理单元的图像特 征快速提取方法。

【背景技术】
[0002] 图像的特征描述了图像的主要结构信息,特征提取是图像处理领域的重要技术, 是计算机视觉技术的基础,在许多应用如:图像配准、图像矢量化和自动目标识别中都得到 了广泛应用,随着视频图像实施业务处理的发展,图像特征的快速提取技术已成为视频图 像处理的迫切要求。
[0003] 现有的图像局部特征提取算法为:首先,分别对原始图像在水平方向和坚直方向 上提取边缘,得到水平方向和坚直方向上的边缘特征图像,然后在边缘特征图像上开窗提 取图像局部的边缘信息,得到图像的特征,该方法由于采用开窗处理技术,计算量大,并且 随着视频图像单帧数量的增大以及帧频率的提高,利用CPU处理技术很难满足视频图像的 实时性要求。


【发明内容】

[0004] 本发明的目的在于提出一种基于图形处理单元的图像特征快速提取方法,有效利 用硬件的并行计算能力,提高图像特征提取的速度。
[0005] 为达此目的,本发明采用以下技术方案:
[0006] -种基于图形处理单元的图像特征快速提取方法,包括:
[0007] 读取原始图像,提取所述原始图像的亮度分量图像,并将所述亮度分量图像拷贝 到图形处理单元的帧缓存中;
[0008] 将所述图形处理单元中的所有活动线程划分为若干个线程块,计算出每个线程块 中所包含的线程的数量,建立若干个并行单元,根据所述亮度分量图像的大小,计算每个并 行单元需要创建的线程块的个数;
[0009] 通过所述并行单元对所述亮度分量图像进行滤波处理,获得若干个与所述并行单 元对应的边缘特征图像;
[0010] 通过所述线程块对所述边缘特征图像进行特征提取,形成原始图像的边缘特征矩 阵。
[0011] 其中,在步骤形成原始图像的边缘特征矩阵之后,还包括:
[0012] 将所述边缘特征矩阵存储到图形处理单元的缓存中。
[0013] 其中,所述线程块为二维线程块,所述二维线程块所包含的线程的数量为[Tx,T y]。
[0014] 其中,所述亮度分量图像的大小为MX N,所述并行单元的大小也为MX N,每个并 行单元需要创建的线程块的个数为1(,1( = 111\11,其中,/^=¥/7^,/1=#/2^, 表示上取整。
[0015] 其中,所述并行单元包括:第一并行单元、第二并行单元、第三并行单元和第四并 行单元;所述边缘特征图像包括:第一边缘特征图像、第二边缘特征图像、第三边缘特征图 像和第四边缘特征图像。
[0016] 其中,所述第一并行单元采用1X3滤波算子{-1.0, 0, 1.0}进行水平方向滤波处 理,通过所述第一并行单元的并行计算,获得所述第一边缘特征图像。
[0017] 其中,所述第二并行单元采用3X1滤波算子{-1.0,0, 1.0}进行垂直方向滤波处 理,通过所述第二并行单元的并行计算,获得所述第二边缘特征图像。
[0018] 其中,所述第三并行单元采用1X5滤波算子{0.5, 0,-1,0,0.5}进行水平方向滤 波处理,通过所述第三并行单元的并行计算,获得所述第三边缘特征图像。
[0019] 其中,所述第四并行单元采用5X 1滤波算子{0. 5, 0, -1,0, 0. 5}进行垂直方向滤 波处理,通过所述第四并行单元的并行计算,获得所述第四边缘特征图像。
[0020] 其中,所述步骤通过所述线程块对所述边缘特征图像进行特征提取,形成原始图 像的边缘特征矩阵具体为:通过所述线程块分别对第一边缘特征图像、第二边缘特征图像、 第三边缘特征图像和第四边缘特征图像中相同位置的6X6的的子区域进行处理,提取特 征数据,构成一个大小为6X6X4的一维特征向量,作为所述原始图像每个位置的边缘特 征向量,将所述原始图像中每个位置的边缘特征向量按照位置排列顺序由左到右由上到下 进行拼装,形成原始图像的边缘特征矩阵。
[0021] 本发明的有益效果为:一种基于图形处理单元的图像特征快速提取方法,包括: 读取原始图像,提取所述原始图像的亮度分量图像,并将所述亮度分量图像拷贝到图形处 理单元的帧缓存中;将所述图形处理单元中的所有活动线程划分为若干个线程块,计算出 每个线程块中所包含的线程的数量,建立若干个并行单元,根据所述亮度分量图像的大小, 计算每个并行单元需要创建的线程块的个数;通过所述并行单元对所述亮度分量图像进行 滤波处理,获得若干个与所述并行单元对应的边缘特征图像;通过所述线程块对所述边缘 特征图像进行特征提取,形成原始图像的边缘特征矩阵,本发明通过图形处理单元的并行 计算能力,提高了图像特征提取的速度。

【专利附图】

【附图说明】
[0022] 图1是本发明【具体实施方式】提供的一种基于图形处理单元的图像特征快速提取 方法流程图。

【具体实施方式】
[0023] 下面结合图1并通过【具体实施方式】来进一步说明本发明的技术方案。
[0024] 图1是本发明【具体实施方式】提供的一种基于图形处理单元的图像特征快速提取 方法流程图。
[0025] -种基于图形处理单元的图像特征快速提取方法,包括:
[0026] 读取原始图像,提取所述原始图像的亮度分量图像,并将所述亮度分量图像拷贝 到图形处理单兀(Graphic Processing Unit,简称GPU)的巾贞缓存中;
[0027] 将所述图形处理单元中的所有活动线程划分为若干个线程块,计算出每个线程块 中所包含的线程的数量,建立若干个并行单元,根据所述亮度分量图像的大小,计算每个并 行单元需要创建的线程块的个数;
[0028] 通过所述并行单元对所述亮度分量图像进行滤波处理,获得若干个与所述并行单 元对应的边缘特征图像;
[0029] 通过所述线程块对所述边缘特征图像进行特征提取,形成原始图像的边缘特征矩 阵。
[0030] 在本实施例中,通过图形处理单元的并行计算能力,提高了图像特征提取的速度。
[0031] 在本实施例中,在步骤形成原始图像的边缘特征矩阵之后,还包括:
[0032] 将所述边缘特征矩阵存储到图形处理单元的缓存中。
[0033] 进一步地,将所述边缘特征矩阵从GPU的缓存中拷贝到主机内存中。
[0034] 在本实施例中,所述线程块为二维线程块,所述二维线程块所包含的线程的数量 为[Tx,Ty]。
[0035] 在本实施例中,所述亮度分量图像的大小为MXN,所述并行单元的 大小也为MXN,每个并行单元需要创建的线程块的个数为K,K = mXn,其中, W =/ 7;],《 = iV/ ,「^表示上取整。
[0036] 在本实施例中,所述并行单元包括:第一并行单元、第二并行单元、第三并行单元 和第四并行单元;所述边缘特征图像包括:第一边缘特征图像、第二边缘特征图像、第三边 缘特征图像和第四边缘特征图像。
[0037] 在本实施例中,所述第一并行单元采用1X3滤波算子{-1. 0, 0, 1. 0}进行水平方 向滤波处理,以MXN个像素为中心,大小为I X 3的子区域为处理对象,通过所述第一并行 单元的并行计算,获得所述第一边缘特征图像。
[0038] 在本实施例中,所述第二并行单元采用3X 1滤波算子{-1. 0, 0, 1. 0}进行垂直方 向滤波处理,以MXN个像素为中心,大小为3X1的子区域为处理对象,通过所述第二并行 单元的并行计算,获得所述第二边缘特征图像。
[0039] 在本实施例中,所述第三并行单元采用1X5滤波算子{0. 5, 0, -1,0, 0. 5}进行水 平方向滤波处理,以MXN个像素为中心,大小为I X 5的子区域为处理对象,通过所述第三 并行单元的并行计算,获得所述第三边缘特征图像。
[0040] 在本实施例中,所述第四并行单元采用5X1滤波算子{0. 5, 0, _1,0, 0. 5}进行垂 直方向滤波处理,以MXN个像素为中心,大小为5X1的子区域为处理对象,通过所述第四 并行单元的并行计算,获得所述第四边缘特征图像。
[0041] 在本实施例中,所述步骤通过所述线程块对所述边缘特征图像进行特征提取,形 成原始图像的边缘特征矩阵具体为:通过所述线程块分别对第一边缘特征图像、第二边缘 特征图像、第三边缘特征图像和第四边缘特征图像中相同位置的6X6的的子区域进行处 理,提取特征数据,构成一个大小为6X6X4的一维特征向量,作为所述原始图像每个位置 的边缘特征向量,将所述原始图像中每个位置的边缘特征向量按照位置排列顺序由左到右 由上到下进行拼装,形成原始图像的边缘特征矩阵。
[0042] 选择一台配有一颗 Pentium(R)Dual-Core CPU E650002. 93GHz 的双核 CPU,一颗 NVIDIA GeForce GT 640 (1G显存)的PC来实现本发明的提取方法。采用Nvidia公司的 CUDA编程框架,其为GPU计算提供了一个通用的C编程接口,方便编程者使用一些新的硬件 特性。
[0043] 选择不同分辨率的原始图像,统计图像的特征提取的CPU实现、GPU实现的耗时, 如表1所示。
[0044] 表 ICPU 和 GPU 对比
[0045]

【权利要求】
1. 一种基于图形处理单元的图像特征快速提取方法,其特征在于,包括: 读取原始图像,提取所述原始图像的亮度分量图像,并将所述亮度分量图像拷贝到图 形处理单元的帧缓存中; 将所述图形处理单元中的所有活动线程划分为若干个线程块,计算出每个线程块中所 包含的线程的数量,建立若干个并行单元,根据所述亮度分量图像的大小,计算每个并行单 元需要创建的线程块的个数; 通过所述并行单元对所述亮度分量图像进行滤波处理,获得若干个与所述并行单元对 应的边缘特征图像; 通过所述线程块对所述边缘特征图像进行特征提取,形成原始图像的边缘特征矩阵。
2. 根据权利要求1所述的一种基于图形处理单元的图像特征快速提取方法,其特征在 于,在步骤形成原始图像的边缘特征矩阵之后,还包括: 将所述边缘特征矩阵存储到图形处理单元的缓存中。
3. 根据权利要求1所述的一种基于图形处理单元的图像特征快速提取方法,其特征在 于,所述线程块为二维线程块,所述二维线程块所包含的线程的数量为[Tx,Ty]。
4. 根据权利要求3所述的一种基于图形处理单元的图像特征快速提取方法,其特征在 于,所述亮度分量图像的大小为MXN,所述并行单元的大小也为MXN,每个并行单元需要 创建的线程块的个数为K,K = mXn,其中,W二「M/7"x,M= , 表示上 取整。
5. 根据权利要求4所述的一种基于图形处理单元的图像特征快速提取方法,其特征在 于,所述并行单元包括:第一并行单元、第二并行单元、第三并行单元和第四并行单元;所 述边缘特征图像包括:第一边缘特征图像、第二边缘特征图像、第三边缘特征图像和第四边 缘特征图像。
6. 根据权利要求5所述的一种基于图形处理单元的图像特征快速提取方法,其特征在 于,所述第一并行单元采用1X3滤波算子{-1.0, 0, 1.0}进行水平方向滤波处理,通过所述 第一并行单元的并行计算,获得所述第一边缘特征图像。
7. 根据权利要求5所述的一种基于图形处理单元的图像特征快速提取方法,其特征在 于,所述第二并行单元采用3X 1滤波算子{-1. 0, 0, 1. 0}进行垂直方向滤波处理,通过所述 第二并行单元的并行计算,获得所述第二边缘特征图像。
8. 根据权利要求5所述的一种基于图形处理单元的图像特征快速提取方法,其特征在 于,所述第三并行单元采用I X 5滤波算子{0. 5, 0, -1,0, 0. 5}进行水平方向滤波处理,通过 所述第三并行单元的并行计算,获得所述第三边缘特征图像。
9. 根据权利要求5所述的一种基于图形处理单元的图像特征快速提取方法,其特征在 于,所述第四并行单元采用5X 1滤波算子{0. 5, 0, -1,0, 0. 5}进行垂直方向滤波处理,通过 所述第四并行单元的并行计算,获得所述第四边缘特征图像。
10. 根据权利要求5所述的一种基于图形处理单元的图像特征快速提取方法,其特征 在于,所述步骤通过所述线程块对所述边缘特征图像进行特征提取,形成原始图像的边缘 特征矩阵具体为:通过所述线程块分别对第一边缘特征图像、第二边缘特征图像、第三边缘 特征图像和第四边缘特征图像中相同位置的6X6的的子区域进行处理,提取特征数据,构 成一个大小为6X6X4的一维特征向量,作为所述原始图像每个位置的边缘特征向量,将 所述原始图像中每个位置的边缘特征向量按照位置排列顺序由左到右由上到下进行拼装, 形成原始图像的边缘特征矩阵。
【文档编号】G06T7/00GK104331696SQ201410508531
【公开日】2015年2月4日 申请日期:2014年9月28日 优先权日:2014年9月28日
【发明者】田岩 申请人:苏州新视线文化科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1