一种基于GPU平台的Haar检测目标算法

文档序号:8943429阅读:606来源:国知局
一种基于GPU平台的Haar检测目标算法
【技术领域】
[0001]本发明涉及一种Haar检测目标算法,具体地说,是涉及一种基于GPU平台的Haar检测目标算法。
【背景技术】
[0002]Haar (哈尔)检测目标算法是一种利用Haar特征和级联分类器通过训练在图像上进行目标检测的方法。Haar检测目标算法由于性能优异,被广泛应用,但是,其数据结构复杂,计算量大,实现速度较慢,无法满足快速检测的要求。

【发明内容】

[0003]本发明的目的在于提供一种基于GPU平台的Haar检测目标算法,通过GPU平台的优化来提高Haar算法的实现效率,解决现有技术中Haar检测目标算法实现效率低的问题,使Haar算法能够适应更高实现效率的要求,提高其适用范围。
[0004]为了实现上述目的,本发明采用的技术方案如下:
一种基于GPU平台的Haar检测目标算法,包括以下步骤:
(1)初始化系统??为CPU和GPU申请所需的内存空间,读取分类器模型文件信息,固定检测框大小,计算所有尺度的缩放尺寸信息,并将数据传输到GPU设备上;
(2)计算积分图和平方积分图,并对其进行不同尺度的缩放,得到不同尺度对应的标准差值图;
(3)对所有的积分图和标准差值图进行前端的haar分类器模型的检测,并将检测结果回传给主机,由此确定剩余haar分类器模型所需要启动的线程;
(4)通过弱分类器并行处理方式对需要用haar分类器模型较后端的分类器进行处理的的检测框进行检测;
(5)对检测框进行合并处理,得到检测目标。
[0005]优选地,所述步骤(I)中,所申请的不同尺度的积分图和标准差图数据的内存空间地址为连续地址。
[0006]进一步地,所述步骤(2)中得到标准差值图的具体方法如下:
首先,将积分图和平方积分图按尺度比例进行缩放;
然后,由缩放后的积分图和平方积分图计算得到相应尺度下的标准差值图;
按照上述方式,以得到所有尺度对应的标准差值图。
[0007]再进一步地,所述步骤(3)中通过检测框并行处理对所有的检测框利用相应尺度下的积分图和标准差值图进行检测。
[0008]再进一步地,所述检测框并行处理具体为:在同一层分类器中,检测框在按照不同尺度进行缩放后的积分图上进行扫描,同一尺度下,相邻检测框扫描相邻的图像数据;且每一个检测框对应一个线程。
[0009]优选地,下一层分类器的检测框数目由上一层分类器处理得到的检测框数目决定,并将检测框数目回传给GPU平台,确定下次启动所需的线程数目。
[0010]优选地,在CPU上申请用于快速存储的页锁定内存。
[0011]准确地说,所述步骤(4)中弱分类器并行处理方式具体为:将所有尺度的检测框合并在一起,为每一个检测框分配一个线程格,并为线程格里的每个线程平均分配弱分类器。
[0012]与现有技术相比,本发明具有以下有益效果:
(I)本发明将不同尺度的积分图和标准差图等数据的内存空间申请为连续空间,方便了后续GPU访问时;而作为整体数据参数传入,既方便了访问,使得合并所有尺度的检测框进行并行检测成为了可能,又减少了寄存器数目,而寄存器的使用数目对优化效果具有很大的影响,因此能够有效提尚haar算法的实现速度,提尚检测效率。
[0013](2)本发明基于GPU读取数据的特性,将积分图根据不同尺度进行缩放,分别在缩放后的积分图上进行相同尺度框的遍历,如此将所有尺度下的检测框放于一个固定尺寸的检测框中,有利于合并访问,并提高访问全局内存数据的速度。
[0014](3)本发明将数据按分类器模型的层数进行检测,由于将所有尺度下的图像进行了并行处理,因此减少了设备与主机之间数据的传输,充分利用了 GPU的计算资源,使haar算法的实现速度得到了进一步提升。
[0015](4)本发明设置有页锁定内存中,可以将小数据直接存储其中,从而加快了 GPU与CPU之间的数据交互速度,进一步提高了目标检测的效率。
[0016](5)本发明利用GPU平台对现有的haar目标检测算法进行综合优化,能够有效提升haar算法的目标检测效率,提高其适应范围,具有很高的实用价值和推广价值。
【附图说明】
[0017]图1为本发明的流程示意图。
【具体实施方式】
[0018]下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
[0019]如图1所示,本发明公开的基于GPU平台的Haar检测目标算法,主要针对现有技术中存在的实现效率低的问题,利用GPU平台高度并行化、多线程、多核心的特性,以及杰出的计算效率和极高的存储器带宽的优势,来为haar算法的实现提供优化,最终达到提高haar算法检测目标效率的目的。
[0020]本发明的设计中,主要在以下三方面进行了创新与改进:
1.内存空间的申请和使用方式;
2.所有尺度下检测框并行计算的方式;
3.设置页锁定内存以加快CPU与GPU之间的数据交互。
[0021]下面通过详细描述本发明的工作过程来介绍上述技术创新。
[0022]第一步:初始化系统系统启动后,首先为CPU和GPU申请所需的内存空间,确保不同尺度的积分图和标准差图数据的内存空间地址连续,以方便后续访问,加快访问速度;然后读取分类器模型的文件信息;再固定检测框大小,计算所有尺度的缩放尺寸信息,并将数据传输到GPU设备上。
[0023]检测区域数据主要包括常量数据,如不同尺度的缩放尺寸信息、分类器模型数据等。这些数据均由CPU计算或读取出来,然后传输到GPU平台上。
[0024]第二步:计算积分图和平方积分图,并其进行不同尺度的缩放,得到不同尺度对应的标准差值图。
[0025]本发明基于GPU读取数据的特性,将积分图根据不同尺度进行缩放,由不同尺度的积分图和平方积分图计算得到相应尺度下的标准差
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1