当前位置: 首页 > 专利查询>复旦大学专利>正文

一种基于多核体系结构的图像/视频特征提取并行算法制造技术

技术编号:7439255 阅读:677 留言:0更新日期:2012-06-16 04:54
本发明专利技术属于并行处理器技术领域,具体是一种基于多核体系结构的图像/视频特征提取并行算法。本发明专利技术结合任务级并行技术和流水级并行技术实现并行特征提取。所谓任务级并行技术是指将处理的图像或视频帧数据划分成若干个子区域,并将这些子区域的数据分布到多核硬件的不同处理单元,同时进行处理;所谓流水级并行技术是指将特征提取算法的执行分成多个处理阶段,数据以流的形式在各个阶段之间传递,完成对图像或视频帧的特征提取。本发明专利技术结合这两种技术的特点,以提高性能。利用本发明专利技术使针对图像/视频检索的特征提取算法在通用多核处理器上达到每秒42帧的实时处理速度。

【技术实现步骤摘要】

本专利技术属于并行处理器
,具体涉及一种图像/视频检索的特征提取算法。
技术介绍
随着人类进入数字时代,每天都有大量来自不同领域的数据产生。其中,多媒体数据类型,如图像、视频等,已经成为互联网处理的主要数据类型之一。如何对日益增长的图像/视频数据进行有效的筛选、理解和处理已经受到了越来越多的关注。相比于传统的文本类应用,以多媒体数据为中心的,如检索引擎、过滤系统、拷贝检测等应用,有着越来越广泛的实用需求。其中,图像检索的特征提取算法作为图像/视频信息检索类应用的一个核心基础算法,能有效地提取出图像或视频关键帧的信息以供图像或视频间的检索,在这类系统应用中作为主要算法被广泛地使用。从计算过程上讲,图像/视频检索算法可以分成特征提取阶段和特征匹配阶段。 特征提取阶段根据特征提取算法将图像的特征提取出来,包括图像的颜色特征,纹理特征, 或是图像中的特征点(如特别亮的点)等。特征匹配阶段以比较两幅图像的特征来判断两幅图像是否匹配。从分类上讲,图像/视频检索算法又可以分成基于全局特征和基于局部特征的两类。基于全局特征的图像特征提取算法用图像中某一方面的一个特征作为整个图像的代表,如颜色特征、纹理特征等。该类算法虽然能获得较快的处理速度,但计算精度问题对其使用范围造成了较大的限制。相反地,基于局部特征的算法使用成百上千个特征代表一个图像,由于精确性高,已被越来越多的应用系统所使用,现今主流的局部特征算法有 SIFT、SURF算法等。但是,由于这种算法不但需要处理的数据量十分巨大,而且算法本身也很复杂,因而在处理速度上受到了很大的限制,在实际应用中很难满足用户的实时需求。因此,如何有效提升局部特征检索算法的处理速度成为当前多媒体检索领域关注的主要热点之一。与此同时,当前硬件的发展已步入了多核处理器的时代,如四核通用处理器已非常普遍,而几百个核组成的GPGPU也变得越来越流行。这些并行硬件的普及为加速针对图像/视频检索的特征提取算法提供了契机,利用多核体系结构(如多核通用处理器和 GPGPU)来为针对图像/视频检索的特征提取算法设计一个实时的并行算法,能有效提高针对图像/视频检索的特征提取算法的性能,使得更多基于该算法的应用可以满足实际的需求。然而,当前已有的设计主要通过发掘针对图像/视频检索的特征提取算法中某种特定的并行技术(任务级并行),并映射到具体的并行硬件上。这些研究中并没有对算法中的各种并行特性进行深入分析,也没有试图结合各种并行方式以提高性能。从而使得这些并行技术在当前并行硬件上的加速不够理想。因此,分析并结合多种并行方式,以此加速当前主流的针对图像/视频检索的特征提取算法变得十分迫切
技术实现思路
本专利技术的目的在于提供一种实时、高效的基于多核体系结构的图像/视频检索的特征提取并行算法。本专利技术提供的基于多核体系结构的图像/视频检索的特征提取并行算法,是将任务级并行技术和流水级并行技术相结合,以提高性能,使得针对图像/视频检索的特征提取算法的处理速度满足实时处理的要求。其中所谓针对图像/视频检索的特征提取算法,是为了进行图像或视频检索,对图像或视频关键帧提取特征信息以待匹配的算法。算法通常包括图像特征检测和图像特征描述两个步骤。所谓任务级并行技术,是指将处理的图像或视频帧数据划分成若干子区域,并将这些子区域的数据同时进行并行处理。本专利技术采用的任务级并行主要是分块的并行方式。 该方法将输入图像划分成多个数据块,并行地对这些数据块同时进行特征检测和特征描述。所谓流水级并行技术,是指将针对图像/视频检索的特征提取算法的处理过程分成多个子阶段,数据以流的形式在每个阶段传递,不同的阶段对不同的数据进行并行处理。 针对图像/视频检索的特征提取算法可以被分成特征检测和特征描述两个阶段,检测阶段的输入是图像,输出是检测到的图像特征的位置信息,而描述阶段是对每个特征位置信息的特征点数据进行描述。本专利技术采用的流水级并行技术是指,对一部分部件(线程)只做检测工作而另一部分部件(线程)则只做描述工作。检测部件(线程)将检测到的特征点位置信息存放到指定缓存区中,而描述部件(线程)则从缓存区中读取特征并加以描述。数据分别经过两个阶段的计算,从而形成流水线。本专利技术结合任务级并行技术和流水级并行技术,从而实现真正高效的并行技术。 从粗粒度上看,本专利技术采用任务级并行技术,把图像分成几个数据块,并把有限的资源(线程)分成几个组,每组独立处理一个数据块的检测和描述工作。这也就是说,一个线程组所检测出的特征信息直接由该线程组进行特征描述,各组并行地计算各图像块的数据,从而达到粗粒度上的任务级并行。但从细粒度上看,本专利技术每一个任务级并行的线程组中都是利用流水级并行的方式来处理数据。每个线程组中的线程都被分为检测线程和描述线程两种,分别只做指定图像块的特征检测和特征描述工作。当多个图像需进行特征提取计算时, 首先每个图像都被分成多个数据块分别由不同的线程组同时计算,而在每个线程组中,检测线程在完成前一个图像块的特征检测计算后,将该图像块交给描述线程进行接下来的描述计算,并直接获取下一个图像块继续做检测工作。所以,在每一个线程组中,检测线程和描述线程形成了一条流水线,并行地对图像块进行计算。本专利技术利用多核体系结构对目前主流的针对图像/视频检索的特征提取算法,实现了一种结合了任务级并行和流水级并行的并行技术。本专利技术结合这两种技术的特点,不但减轻了任务级并行技术中各线程间负载不均衡的问题,又解除了流水级并行技术中可扩展性的危机,同时还能尽可能地减少硬件资源的负载。利用本专利技术的并行技术能使针对图像/视频检索的特征提取算法在通用多核处理器上达到每秒处理42帧的速度。附图说明图1为一种基于多核体系结构的针对图像/视频检索的特征提取并行算法示意图。具体实施例方式下面将结合附图,对本专利技术中的并行算法进行详细描述。本专利技术主要结合了任务级并行技术和流水级并行技术的特点。所有并行技术都基于目前主流的针对图像/视频检索的特征提取算法SURF(Speeded-Up Robust !Matures),并利用pthread来实现。本专利技术在通用多核处理器上做出实现。下面我们将详细描述该技术的实现,并测试该技术的性能。 如图1所示,从粗粒度上看,本专利技术的并行技术采用了任务级并行技术。从细粒度上看,每一个分块并行的线程组中都进一步引入流水级并行的方式来处理数据。我们还详细地分析了本专利技术的技术相比于只用任务级并行技术和只用流水并行技术的优势,并给出了具体的性能测试结果。A)本专利技术结合任务级并行技术和流水级并行技术的特点粗粒度的任务级并行技术是指将输入图像或视频帧划分成多个数据块,并把有限的资源(线程)分成几个组,每组独立处理一个数据块的检测和描述工作,并行地计算各数据块。 在任务级并行中,一个线程组所检测出的特征信息直接由该线程组进行特征描述,这样可以减少同步过程的通信开销。在特征检测和描述过程中,一个图像块边缘的特征计算可能要用到另一个图像块中的数据,因此每个图像块在计算时还需额外读入一些相邻块中的数据。细粒度的流水级并行技术是指在每个任务级并行的线程组中利用流水级并行的方式来处理图像数据块。每个线程组中的线程都被分为检测线程和描述线程两种,分别来进行特征检测和描述阶段的本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张为华房振满杨冬蕾臧斌宇
申请(专利权)人:复旦大学上海红神信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术