CN104680558B - 使用GPU硬件加速的Struck目标跟踪方法 - Google Patents

使用GPU硬件加速的Struck目标跟踪方法 Download PDF

Info

Publication number
CN104680558B
CN104680558B CN201510112791.1A CN201510112791A CN104680558B CN 104680558 B CN104680558 B CN 104680558B CN 201510112791 A CN201510112791 A CN 201510112791A CN 104680558 B CN104680558 B CN 104680558B
Authority
CN
China
Prior art keywords
sample
gray level
level image
support
rectangle frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510112791.1A
Other languages
English (en)
Other versions
CN104680558A (zh
Inventor
李云松
尹万春
宋长贺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201510112791.1A priority Critical patent/CN104680558B/zh
Publication of CN104680558A publication Critical patent/CN104680558A/zh
Application granted granted Critical
Publication of CN104680558B publication Critical patent/CN104680558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种使用GPU硬件加速的Struck目标跟踪方法,解决了现有技术跟踪性能不高和不具有实时处理能力的问题。本发明实现的步骤:(1)获取灰度图像;(2)判断加载的图像是否为第1帧图像;(3)初始化跟踪目标的位置矩形框;(4)提取灰度图像的所有测试样本的特征;(5)确定跟踪目标的位置矩形框;(6)提取灰度图像的所有训练样本的特征;(7)初始化训练样本的权值和梯度;(8)获得和更新支持样本的权值、梯度;(9)判断是否加载完所有图像;(10)结束目标跟踪。本发明可用在通用计算机上实现对视频中的目标进行实时跟踪。

Description

使用GPU硬件加速的Struck目标跟踪方法
技术领域
本发明属于计算机技术领域,更进一步涉及计算机视频目标跟踪技术领域中的一种使用计算机图形处理器GPU硬件加速的基于核方法的结构输出Struck目标跟踪方法。本发明可以实现对基于核方法的结构输出Struck目标跟踪方法加速,可用在通用计算机上实现对视频中的目标进行实时跟踪。
背景技术
具有高速、高性能的目标跟踪方法是计算机视觉领域的核心技术。目前的目标跟踪方法分为两类:一类是基于特征匹配的跟踪方法,该方法主要是构建能够代表目标的特征,然后通过特征间的匹配度来判断目标的位置;另一类是基于目标与背景分离的跟踪方法,该方法运用机器学习的方法学习一个能够分离目标与背景的分类器,学习过程一般为在线训练过程,通过学习到的分类器来判断目标位置。相比之下,前者具有计算简单,但对具有光照、遮挡、尺度等因素变化的情况不能很好地处理。后者在一定程度上能够解决前者遇到的问题,而具有较高的鲁棒性,但其计算复杂度较高。
西北农林科技大学提出的专利申请“一种基于全局搜索的实时分布场目标跟踪方法”(申请日:2014年6月26日,申请号:201410298728.7,公开号:CN 104036528A)中公开了一种基于特征匹配的跟踪方法。该方法将目标的分布场作为目标模型,在计算候选区域分布场与目标模型相关系数矩阵时,借助二维傅里叶变换的良好性质,将局部范围的搜索扩大到全局范围的搜索,并且保证了很高的处理速度,具有实时处理的能力。但是,该方法仍然存在的不足是,采用了一种简单的线性更新方法来更新目标图像分布场模型,对于目标被暂时遮挡的情况,这种更新方法会丢掉目标信息,从而出现模板漂移的问题。
武汉大学提出的专利申请“一种多特征提取逐步求精的高速目标跟踪算法”(申请日:2014年9月2日,申请号:201410442527.X,公开号:CN104200216A)中公开了一种基于特征匹配的跟踪方法。该方法将目标的多种特征进行融合作为目标模型,采用Mean Shift方法计算出多特征融合后的目标位置。该方法虽然具有较高的跟踪精度,一定程度上避免了模板漂移的问题。但是,该方法仍然存在的不足是,只通过初始目标模型和当前候选目标模型来更新目标模型,因此,该方法对目标的初始化很敏感,该方法具有鲁棒性低的缺点。
Sam Hare、Amir Saffari和Philip H.S.Torr发表的论文“Struck:StructuredOutput Tracking with Kernels”(IEEE International Conference on ComputerVision,ICCV 2011,Barcelona,Spain,November 6-13,2011,pages 263–270)中公开提出了一种基于目标与背景分离的跟踪方法,该方法简称为Struck目标跟踪方法。该方法采用基于结构化支持向量机模型Structured SVM,学***均处理速度大约为5fps,显然该方法不具有实时性,从而限制了它的实际应用。
发明内容
本发明的目的在于克服上述现有技术的不足,提供了一种使用GPU硬件加速的Struck目标跟踪方法,可实现对视频中的目标进行实时跟踪。
本发明的步骤如下:
(1)获取灰度图像:
(1a)将待跟踪图像序列中的一帧图像加载到计算机主机内存中;
(1b)将加载到计算机主机内存的图像转化为灰度图像;
(1c)调用开源计算机视觉库OpenCV中的积分图计算函数cvIntegral,计算灰度图像的积分图;
(1d)将灰度图像复制到灰度图像集合中;
(2)判断加载的图像是否为待跟踪图像序列中的第1帧图像,若是,则执行步骤(3),否则,执行步骤(4);
(3)初始化跟踪目标的位置矩形框:
在灰度图像中选取一个将跟踪目标包含在内的矩形框,将所选的矩形框作为跟踪目标的位置矩形框,执行步骤(6);
(4)提取灰度图像的所有测试样本的特征:
(4a)对灰度图像的所有测试样本,分别采用全采样法,采集测试样本的位置矩形框;
(4b)根据灰度图像的积分图和所有测试样本的位置矩形框,利用计算机图形处理器GPU,并行提取灰度图像的所有测试样本的哈尔特征;
(5)确定跟踪目标的位置矩形框:
利用计算机图形处理器GPU,并行计算灰度图像的所有测试样本的判别值,找出最大判别值所对应的测试样本,将该测试样本的位置矩形框作为跟踪目标的位置矩形框;
(6)提取灰度图像的所有训练样本的特征:
(6a)将灰度图像的第一个训练样本的位置矩形框设定为跟踪目标的位置矩形框;
(6b)对灰度图像的其余所有训练样本,分别采用等步长采样法,采集训练样本的位置矩形框;
(6c)将灰度图像的所有训练样本的位置矩形框,复制到训练样本位置矩形框集合中;
(6d)根据灰度图像的积分图和所有训练样本的位置矩形框,利用计算机图形处理器GPU,并行提取灰度图像的所有训练样本的哈尔特征;
(6e)将灰度图像的所有训练样本的特征,复制到训练样本特征集合中;
(7)初始化训练样本的权值和梯度:
将灰度图像的训练样本的权值和梯度初始化为0;将灰度图像的训练样本的权值、梯度分别加入到训练样本权值集合、训练样本梯度集合;
(8)获得和更新支持样本的权值、梯度:
(8a)采用最小化梯度方法,从灰度图像的训练样本中选择两个训练样本,将选择的两个训练样本作为支持样本A、B;采用最大化梯度差方法,更新支持样本A、B的权值和梯度;当支持样本的总数超过100时,采用最小化影响度方法,更新所有支持样本的权值和梯度;
(8b)采用最大最小化梯度方法,从灰度图像集合中选择一个灰度图像,从选择的灰度图像的训练样本中选择两个训练样本,将选择的两个训练样本作为支持样本A、B;采用最大化梯度差方法,更新支持样本A、B的权值和梯度;若支持样本的总数超过100,则采用最小化影响度方法,更新所有支持样本的权值和梯度;
(8c)采用最大最小化梯度方法,从灰度图像集合中选择一个灰度图像,从选择的灰度图像的训练样本中选择两个训练样本,将选择的两个训练样本作为支持样本A、B;采用最大化梯度差方法,更新支持样本A、B的权值和梯度;将本步骤连续操作9次;
(8d)循环执行步骤(8b)、步骤(8c)9次;
(9)判断是否加载完待跟踪图像序列的所有帧图像,若是,则执行步骤(10),否则,执行步骤(1);
(10)结束目标跟踪。
本发明与现有技术相比,具有以下优点:
第一,本发明采用计算机图像处理器GPU,实现了Struck目标跟踪方法,克服了现有技术中由遮挡和光照变化造成的鲁棒性降低的问题,使得本发明具有很高的鲁棒性。
第二,本发明采用计算机图形处理器GPU,并行提取训练样本和测试样本的特征,克服了现有技术中提取样本特征慢的问题,使得本发明在提高样本特征的提取速度的同时,大大提高了跟踪目标的速度。
第三,本发明采用计算机图形处理器GPU,并行计算测试样本的判别值,克服了现有技术中判别跟踪目标慢的问题,使得本发明大大提高了判别跟踪目标的速度,由此提高了跟踪目标的速度。
第四,本发明采用计算机图形处理器GPU,并行更新支持样本的权值和梯度,克服了现有技术中更新跟踪目标模型慢的问题,使得本发明大大提高了更新跟踪目标模型的速度,由此提高了跟踪目标的速度,使得本发明具有实时性。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合附图对本发明作进一步的描述。
本发明采用CUDA语言,可以在NVIDIA的任何一款支持CUDA架构的GPU设备上实现。在实施本发明所述的方法前,应先调用cudaMalloc函数在GPU设备上分配八个内存区域。在使用本发明所述的方法后,也应调用cudaFree函数释放这八段内存区域。
参照图1,本发明可通过以下步骤实现:
步骤1,获取灰度图像。
调用开源计算机视觉库OpenCV中的图像加载函数cvLoadImage,将待跟踪图像序列中的第1帧图像加载到计算机主机内存中。
调用开源计算机视觉库OpenCV中的颜色通道转换函数cvCvtColor,将加载到计算机主机内存的图像转化为灰度图像。
调用开源计算机视觉库OpenCV中的积分图计算函数cvIntegral,计算灰度图像的积分图。调用计算机图形处理器GPU的内存拷贝函数cudaMemcpy,将所得的积分图从计算机主机内存拷贝到计算机图形处理器GPU设备内存区域1中。
将灰度图像复制到灰度图像集合中。
步骤2,判断加载的图像是否为待跟踪图像序列中的第1帧图像,若是,则执行步骤3,否则,执行步骤4。
步骤3,初始化跟踪目标的位置矩形框。
在灰度图像中选取一个将跟踪目标包含在内的矩形框,将所选的矩形框作为跟踪目标的位置矩形框,执行步骤6。
步骤4,提取灰度图像的所有测试样本的特征。
对灰度图像的所有测试样本,按照以下的第1步和第2步采集测试样本的位置矩形框。
第1步,以跟踪目标的位置矩形框中心为圆心、30个像素宽度为半径构造一个圆。
第2步,以圆内任意一点为中心、跟踪目标的位置矩形框的宽为宽、跟踪目标的位置矩形框的高为高构造一个矩形框,将该矩形框作为一个测试样本的位置矩形框。
将所得的测试样本的位置矩形框数据保存到,计算进图形处理器GPU设备内存区域7中。根据计算机图形处理器GPU设备内存区域7中测试样本的位置矩形框数据和内存区域1中的积分图数据,利用计算机图形处理器GPU,并行计算灰度图像的所有测试样本的哈尔特征,将所得的特征保存到计算机图形处理器GPU设备内存区域8中。
步骤5,确定跟踪目标的位置矩形框。
根据计算图形处理器GPU设备内存区域3、4、8中的数据,按照下式,利用计算机图形处理器GPU,并行计算灰度图像的每个测试样本的判别值:
其中,f表示灰度图像的每个测试样本的判别值;n表示支持样本的总数;βi表示第i个支持样本的权值;exp(·)表示以自然常数e为底的指数操作;xi表示第i个支持样本的特征;z表示灰度图像的每个测试样本的特征;||·||2表示求向量的模的平方操作。
从灰度图像的所有测试样本中找出具有最大判别值的测试样本,将所得的测试样本的位置矩形框作为跟踪目标的位置矩形框。
步骤6,提取灰度图像的所有训练样本的特征。
将灰度图像的第一个训练样本的位置矩形框设定为跟踪目标的位置矩形框。
对灰度图像的其余所有训练样本,分别采用等步长采样法,采集训练样本的位置矩形框。
对灰度图像的其余所有训练样本,按照以下第1步和第2步采集训练样本的位置矩形框。
第1步,以跟踪目标的位置矩形框的中心为起点,向该中心点的周围均匀地发散8条线段,每条线段的长度为60个像素宽度。
第2步,在任意一条线段上选取一点,该点到跟踪目标的位置矩形框中心之间的距离为m个像素宽度,m∈{12,24,36,48,60};以所选取的点为中心、跟踪目标的位置矩形框的宽为宽、跟踪目标的位置矩形框的高为高构造一个矩形框,将该矩形框作为一个训练样本的位置矩形框。
将灰度图像的所有训练样本的位置矩形框数据保存到,计算机图形处理器GPU设备内存区域2中。
根据计算机图形处理器GPU设备内存区域2中训练样本的位置矩形框数据和内存区域1中的积分图数据,利用计算机图形处理器GPU,并行计算灰度图像的所有训练样本的哈尔特征。
将灰度图像的所有训练样本的特征数据保存到,计算机图形处理器GPU设备内存区域3中。
步骤7,初始化训练样本的权值和梯度。
将灰度图像的所有训练样本的权值和梯度初始化为0,将初始化后的权值、梯度分别保存到计算机图形处理器GPU设备内存区域4、5中。
步骤8,获得和更新支持样本的权值、梯度。
(8a)按照下式,利用计算机图形处理器GPU,并行计算灰度图像的每个训练样本的梯度:
其中,g表示灰度图像的每个训练样本的梯度;a表示灰度图像的每个训练样本的位置矩形框区域,与灰度图像的第一个训练样本的位置矩形框区域相交区域的面积;b表示灰度图像的每个训练样本的位置矩形框区域,与灰度图像的第一个训练样本的位置矩形框区域相并区域的面积;n表示支持样本的总数;βi表示第i个支持样本的权值;exp(·)表示以自然常数e为底的指数操作;xi表示第i个支持样本的特征;x表示灰度图像的每个训练样本的特征;||·||2表示求向量的模的平方操作。
将所得的所有训练样本的梯度数据保存到,计算机图形处理器GPU设备内存区域5中。
将灰度图像的第一个训练样本复制到正支持样本集合中,将该样本作为支持样本A。
从灰度图像的训练样本中找出具有最小梯度的训练样本,将具有最小梯度的训练样本复制到负支持样本集合中,将具有最小梯度的训练样本作为支持样本B。
按照下式,利用计算机图形处理器GPU,分别并行计算支持样本A、B与每个支持样本之间的核函数值:
K(x1,x2)=exp(-0.02||x1-x2||2)
其中,K(x1,x2)表示支持样本A、B与每个支持样本之间的核函数值;exp(·)表示以自然常数e为底的指数操作;x1表示支持样本A、B的特征;x2表示每个支持样本的特征;||·||2表示求向量的模的平方操作。
将所得的核函数值数据保存到,计算机图形处理器GPU设备内存区域6中。
按照下式,计算支持样本的权值更新量:
其中,λ表示支持样本的权值更新量;max(·)表示取最大值操作;min(·)表示取最小值操作;gA表示支持样本A的梯度;gB表示支持样本B的梯度;K(xA,xB)表示支持样本A与支持样本B之间的核函数值;βA表示支持样本A的权值;yA表示支持样本A的位置矩形框;y表示支持样本A所属的灰度图像的第一个训练样本的位置矩形框。
将支持样本A的权值加上权值更新量λ,将支持样本B的权值减去权值更新量λ。
将更新后的支持样本A、B的权值保存到,计算机图形处理器GPU设备内存区域4中。
按照下式,利用计算机图形处理器GPU,并行更新每个支持样本的梯度:
g=g′-λ(K(x,xA)-K(x,xB))
其中,g表示更新后每个支持样本的梯度;g′表示更新前每个支持样本的梯度;λ表示权值更新量;K(x,xA)表示每个支持样本与支持样本A之间的核函数值;K(x,xB)表示每个支持样本与支持样本B之间的核函数值。
将更新后的所有支持样本的梯度数据保存到,计算机图形处理器GPU设备内存区域5中。
判断支持样本的总数是否超过100,若是,则执行下面的第1步、第2步、第3步、第4步和第5步,否则,执行步骤(8b)。
第1步,按照下式,利用计算机图形处理器GPU,并行计算每个负支持样本的影响度:
其中,e表示每个负支持样本的影响度;β2表示每个负支持样本的权值;K(x1,x2)表示每个负支持样本所属的灰度图像的正支持样本,与每个负支持样本之间的核函数值。
第2步,从负支持样本中找出具有最小影响度的负支持样本,将具有最小影响度的负支持样本作为待删除样本,将具有最小影响度的负支持样本从负支持样本集合中删除。
第3步,按照下式,利用计算机图形处理器GPU,并行更新每个支持样本的梯度:
g=g′-β2(K(x,x1)-K(x,x2))
其中,g表示更新后每个支持样本的梯度;β2表示待删除样本的权值;K(x,x1)表示每个支持样本与待删除样本所属的灰度图像的正支持样本之间的核函数值;K(x,x2)表示每个支持样本与待删除样本之间的核函数值。
将更新后的所有支持样本的梯度数据保存到,计算机图形处理器GPU设备内存区域5中。
第4步,按照下式,更新待删除样本所属的灰度图像的正支持样本的权值:
β1=β1′+β2
其中,β1表示更新后待删除样本所属的灰度图像的正支持样本的权值;β1′表示更新前待删除样本所属的灰度图像的正支持样本的权值;β2′表示更新前待删除样本的权值。
第5步,若更新后待删除样本所属的灰度图像的正支持样本的权值是否等于0,若是,将该正支持样本从正支持样本集合中删除,将待删除样本所属的灰度图像从灰度图像集合中删除,否则,将该正支持样本的权值保存到计算机图形处理器GPU设备内存区域4中。
(8b)从灰度图像集合中随机选择一个灰度图像,将选择的灰度图像作为待处理灰度图像。
按照下式,利用计算机图形处理器GPU,并行计算待处理灰度图像的每个训练样本的梯度:
其中,g表示待处理灰度图像的每个训练样本的梯度;a表示待处理灰度图像的每个训练样本的位置矩形框区域与待处理灰度图像的第一个训练样本的位置矩形框区域相交区域的面积;b表示待处理灰度图像的每个训练样本的位置矩形框区域与待处理灰度图像的第一个训练样本的位置矩形框区域相并区域的面积;n表示支持样本的总数;βi表示第i个支持样本的权值;exp(·)表示以自然常数e为底的指数操作;xi表示第i个支持样本的特征;x表示待处理灰度图像的每个训练样本的特征;||·||2表示求向量的模的平方操作。
将所得的所有训练样本的梯度数据保存到,计算机图形处理器GPU设备内存区域5中。
从属于待处理灰度图像的支持样本中找出具有最大梯度的支持样本,将得到的支持样本作为支持样本A。
从属于待处理灰度图像的训练样本中找出具有最小梯度的训练样本,将得到的训练样本作为支持样本B。
若支持样本B未被标记,则将支持样本B复制到负支持样本集合中,按照下式,利用计算机图形处理器GPU,并行计算支持样本B与每个支持样本之间的核函数值:
K(x1,xB)=exp(-0.02||x1-xB||2)
其中,K(x1,xB)表示每个支持样本与支持样本B之间的核函数值;exp(·)表示以自然常数e为底的指数操作;x1表示每个支持样本的特征;xB表示支持样本B的特征;||·||2表示求向量的模的平方操作。
将所得的核函数值数据保存到,计算机图形处理器GPU设备内存区域7中。
按照下式,计算支持样本的权值更新量:
其中,λ表示支持样本的权值更新量;max(·)表示取最大值操作;min(·)表示取最小值操作;gA表示支持样本A的梯度;gB表示支持样本B的梯度;K(xA,xB)表示支持样本A与支持样本B之间的核函数值;βA表示支持样本A的权值;yA表示支持样本A的位置矩形框;y表示支持样本A所属的灰度图像的第一个训练样本的位置矩形框。
将支持样本A的权值加上权值更新量λ,将支持样本B的权值减去权值更新量λ。
将更新后的支持样本A、B的权值保存到,计算机图形处理器GPU设备内存区域4中。
按照下式,利用计算机图形处理器GPU,并行更新每个支持样本的梯度:
g=g′-λ(K(x,xA)-K(x,xB))
其中,g表示更新后每个支持样本的梯度;g′表示更新前每个支持样本的梯度;λ表示权值更新量;K(x,xA)表示每个支持样本与支持样本A之间的核函数值;K(x,xB)表示每个支持样本与支持样本B之间的核函数值。
将更新后的所有支持样本的梯度数据保存到,计算机图形处理器GPU设备内存区域5中。
判断支持样本的总数是否超过100,若是,则执行下面的第1步、第2步、第3步、第4步和第5步,否则,执行步骤(8c)。
第1步,按照下式,利用计算机图形处理器GPU,并行计算每个负支持样本的影响度:
其中,e表示每个负支持样本的影响度;β2表示每个负支持样本的权值;K(x1,x2)表示每个负支持样本所属的灰度图像的正支持样本,与每个负支持样本之间的核函数值。
第2步,从负支持样本中找出具有最小影响度的负支持样本,将具有最小影响度的负支持样本作为待删除样本,将具有最小影响度的负支持样本从负支持样本集合中删除。
第3步,按照下式,利用计算机图形处理器GPU,并行更新每个支持样本的梯度:
g=g′-β2(K(x,x1)-K(x,x2))
其中,g表示更新后每个支持样本的梯度;β2表示待删除样本的权值;K(x,x1)表示每个支持样本与待删除样本所属的灰度图像的正支持样本之间的核函数值;K(x,x2)表示每个支持样本与待删除样本之间的核函数值。
将更新后的所有支持样本的梯度数据保存到,计算机图形处理器GPU设备内存区域5中。
第4步,按照下式,更新待删除样本所属的灰度图像的正支持样本的权值:
β1=β1′+β2
其中,β1表示更新后待删除样本所属的灰度图像的正支持样本的权值;β1′表示更新前待删除样本所属的灰度图像的正支持样本的权值;β2′表示更新前待删除样本的权值。
第5步,若更新后待删除样本所属的灰度图像的正支持样本的权值是否等于0,若是,将该正支持样本从正支持样本集合中删除,将待删除样本所属的灰度图像从灰度图像集合中删除,否则,将该正支持样本的权值保存到计算机图形处理器GPU设备内存区域4中。
(8c)从灰度图像集合中随机选择一个灰度图像,将选择的灰度图像作为待处理灰度图像。
从属于待处理灰度图像的支持样本中找出具有最大梯度的支持样本,将得到的支持样本作为支持样本A。
从属于待处理灰度图像的支持样本中找出具有最小梯度的支持样本,将得到的支持样本作为支持样本B。
按照下式,计算支持样本的权值更新量:
其中,λ表示支持样本的权值更新量;max(·)表示取最大值操作;min(·)表示取最小值操作;gA表示支持样本A的梯度;gB表示支持样本B的梯度;K(xA,xB)表示支持样本A与支持样本B之间的核函数值;βA表示支持样本A的权值;yA表示支持样本A的位置矩形框;y表示支持样本A所属的灰度图像的第一个训练样本的位置矩形框。
将支持样本A的权值加上权值更新量λ,将支持样本B的权值减去权值更新量λ。
将更新后的支持样本A、B的权值保存到,计算机图形处理器GPU设备内存区域4中。
按照下式,利用计算机图形处理器GPU,并行更新每个支持样本的梯度:
g=g′-λ(K(x,xA)-K(x,xB))
其中,g表示更新后每个支持样本的梯度;g′表示更新前每个支持样本的梯度;λ表示权值更新量;K(x,xA)表示每个支持样本与支持样本A之间的核函数值;K(x,xB)表示每个支持样本与支持样本B之间的核函数值。
将更新后的所有支持样本的梯度数据保存到,计算机图形处理器GPU设备内存区域5中。将步骤(8c)连续操作9次。
(8d)循环执行步骤(8b)、步骤(8c)9次。
步骤9,判断是否加载完待跟踪图像序列的所有帧图像,若是,则执行步骤10,否则,执行步骤1。
步骤10,结束目标跟踪。

Claims (8)

1.使用GPU硬件加速的Struck目标跟踪方法,包括如下步骤:
(1)获取灰度图像:
(1a)将待跟踪图像序列中的一帧图像加载到计算机主机内存中;
(1b)将加载到计算机主机内存的图像转化为灰度图像;
(1c)调用开源计算机视觉库OpenCV中的积分图计算函数cvIntegral,计算灰度图像的积分图;
(1d)将灰度图像复制到灰度图像集合中;
(2)判断加载的图像是否为待跟踪图像序列中的第1帧图像,若是,则执行步骤(3),否则,执行步骤(4);
(3)初始化跟踪目标的位置矩形框:
在灰度图像中选取一个将跟踪目标包含在内的矩形框,将所选的矩形框作为跟踪目标的位置矩形框,执行步骤(6);
(4)提取灰度图像的所有测试样本的特征:
(4a)对灰度图像的所有测试样本,分别采用全采样法,采集测试样本的位置矩形框;
(4b)根据灰度图像的积分图和所有测试样本的位置矩形框,利用计算机图形处理器GPU,并行提取灰度图像的所有测试样本的哈尔特征;
(5)确定跟踪目标的位置矩形框:
利用计算机图形处理器GPU,并行计算灰度图像的所有测试样本的判别值,找出最大判别值所对应的测试样本,将该测试样本的位置矩形框作为跟踪目标的位置矩形框;
(6)提取灰度图像的所有训练样本的特征:
(6a)将灰度图像的第一个训练样本的位置矩形框设定为跟踪目标的位置矩形框;
(6b)对灰度图像的其余所有训练样本,分别采用等步长采样法,采集训练样本的位置矩形框;
(6c)将灰度图像的所有训练样本的位置矩形框,复制到训练样本位置矩形框集 合中;
(6d)根据灰度图像的积分图和所有训练样本的位置矩形框,利用计算机图形处理器GPU,并行提取灰度图像的所有训练样本的哈尔特征;
(6e)将灰度图像的所有训练样本的特征,复制到训练样本特征集合中;
(7)初始化训练样本的权值和梯度:
将灰度图像的训练样本的权值和梯度初始化为0;将灰度图像的训练样本的权值、梯度分别加入到训练样本权值集合、训练样本梯度集合;
(8)获得和更新支持样本的权值、梯度:
(8a)采用最小化梯度方法,从灰度图像的训练样本中选择两个训练样本,将选择的两个训练样本作为支持样本A、B;采用最大化梯度差方法,更新支持样本A、B的权值和梯度;当支持样本的总数超过100时,采用最小化影响度方法,更新所有支持样本的权值和梯度;
(8b)采用最大最小化梯度方法,从灰度图像集合中选择一个灰度图像,从选择的灰度图像的训练样本中选择两个训练样本,将选择的两个训练样本作为支持样本A、B;采用最大化梯度差方法,更新支持样本A、B的权值和梯度;若支持样本的总数超过100,则采用最小化影响度方法,更新所有支持样本的权值和梯度;
(8c)采用最大最小化梯度方法,从灰度图像集合中选择一个灰度图像,从选择的灰度图像的训练样本中选择两个训练样本,将选择的两个训练样本作为支持样本A、B;采用最大化梯度差方法,更新支持样本A、B的权值和梯度;将本步骤连续操作9次;
(8d)循环执行步骤(8b)、步骤(8c)9次;
(9)判断是否加载完待跟踪图像序列的所有帧图像,若是,则执行步骤(10),否则,执行步骤(1);
(10)结束目标跟踪。
2.根据权利要求1所述的使用GPU硬件加速的Struck目标跟踪方法,其特征在于,步骤(4a)所述全采样法的具体步骤如下:
第1步,以跟踪目标的位置矩形框中心为圆心、30个像素宽度为半径构造一个圆;
第2步,以圆内任意一点为中心、跟踪目标的位置矩形框的宽为宽、跟踪目标的位置矩形框的高为高构造一个矩形框,将该矩形框作为一个测试样本的位置矩形框。
3.根据权利要求1所述的使用GPU硬件加速的Struck目标跟踪方法,其特征在于,步骤(5)所述的灰度图像的每个测试样本的判别值,按照下式计算:
其中,f表示灰度图像的每个测试样本的判别值;n表示支持样本的总数;βi表示第i个支持样本的权值;exp(·)表示以自然常数e为底的指数函数操作;xi表示第i个支持样本的特征;z表示灰度图像的每个测试样本的特征;||·||2表示求向量的模的平方操作。
4.根据权利要求1所述的使用GPU硬件加速的Struck目标跟踪方法,其特征在于,步骤(6b)所述等步长采样法的具体步骤如下:
第1步,以跟踪目标的位置矩形框的中心为起点,向该中心点的周围均匀地发散8条线段,每条线段的长度为60个像素宽度;
第2步,在任意一条线段上选取一点,该点到跟踪目标的位置矩形框中心之间的距离为m个像素宽度,m∈{12,24,36,48,60};以所选取的点为中心、跟踪目标的位置矩形框的宽为宽、跟踪目标的位置矩形框的高为高构造一个矩形框,将该矩形框作为一个训练样本的位置矩形框。
5.根据权利要求1所述的使用GPU硬件加速的Struck目标跟踪方法,其特征在于,步骤(8a)所述最小化梯度方法的具体步骤如下:
第1步,按照下式,利用计算机图形处理器GPU,并行计算灰度图像的每个训练样本的梯度:
其中,g表示灰度图像的每个训练样本的梯度;a表示灰度图像的每个训练样本的位置矩形框区域与灰度图像的第一个训练样本的位置矩形框区域相交区域的面积;b表示灰度图像的每个训练样本的位置矩形框区域与灰度图像的第一个训练样本的位置矩形框区域相并区域的面积;n表示支持样本的总数;βi表示第i个支持样本的权值;exp(·)表示以自然常数e为底的指数操作;xi表示第i个支持样本的特征;x表 示灰度图像的每个训练样本的特征;||·||2表示求向量的模的平方操作;
第2步,将灰度图像的第一个训练样本复制到正支持样本集合中,将该样本作为支持样本A;
第3步,从灰度图像的训练样本中找出具有最小梯度的训练样本,将具有最小梯度的训练样本标复制到负支持样本集合中,将该样本作为支持样本B;
第4步,按照下式,利用计算机图形处理器GPU,分别并行计算支持样本A、B与每个支持样本之间的核函数值:
K(x1,x2)=exp(-0.02||x1-x2||2)
其中,K(x1,x2)表示支持样本A、B与每个支持样本之间的核函数值;exp(·)表示以自然常数e为底的指数操作;x1表示支持样本A、B的特征;x2表示每个支持样本的特征;||·||2表示求向量的模的平方操作。
6.根据权利要求1所述的使用GPU硬件加速的Struck目标跟踪方法,其特征在于,步骤(8a)、步骤(8b)和步骤(8c)中所述最大化梯度差方法的具体步骤如下:
第1步,按照下式,计算支持样本的权值更新量:
其中,λ表示支持样本的权值更新量;max(·)表示取最大值操作;min(·)表示取最小值操作;gA表示支持样本A的梯度;gB表示支持样本B的梯度;K(xA,xB)表示支持样本A与支持样本B之间的核函数值;βA表示支持样本A的权值;yA表示支持样本A的位置矩形框;y表示支持样本A所属的灰度图像的第一个训练样本的位置矩形框;
第2步,将支持样本A的权值加上权值更新量λ,将支持样本B的权值减去权值更新量λ;
第3步,按照下式,利用计算机图形处理器GPU,并行更新每个支持样本的梯度:
g=g′-λ(K(x,xA)-K(x,xB))
其中,g表示更新后每个支持样本的梯度;g′表示更新前每个支持样本的梯度;λ表示权值更新量;K(x,xA)表示每个支持样本与支持样本A之间的核函数值;K(x,xB)表示每个支持样本与支持样本B之间的核函数值。
7.根据权利要求1所述的使用GPU硬件加速的Struck目标跟踪方法,其特征在于,步骤(8a)和步骤(8b)中所述最小化影响度方法的具体步骤如下:
第1步,按照下式,利用计算机图形处理器GPU,并行计算每个负支持样本的影响度:
其中,e表示每个负支持样本的影响度;β2表示每个负支持样本的权值;K(x1,x2)表示每个负支持样本所属的灰度图像的正支持样本与每个负支持样本之间的核函数值;
第2步,从负支持样本中找出具有最小影响度的负支持样本,将具有最小影响度的负支持样本作为待删除样本,将具有最小影响度的负支持样本从负支持样本集合中删除;
第3步,按照下式,利用计算机图形处理器GPU,并行更新每个支持样本的梯度:
g=g′-β2(K(x,x1)-K(x,x2))
其中,g表示更新后每个支持样本的梯度;β2表示待删除样本的权值;K(x,x1)表示每个支持样本与待删除样本所属的灰度图像的正支持样本之间的核函数值;K(x,x2)表示每个支持样本与待删除样本之间的核函数值;
第4步,按照下式,更新待删除样本所属的灰度图像的正支持样本的权值:
β1=β′1+β′2
其中,β1表示更新后待删除样本所属的灰度图像的正支持样本的权值;β′1表示更新前待删除样本所属的灰度图像的正支持样本的权值;β′2表示更新前待删除样本的权值;
第5步,若更新后待删除样本所属的灰度图像的正支持样本的权值等于0,则将该正支持样本从正支持样本集合中删除,将待删除样本所属的灰度图像从灰度图像集合中删除。
8.根据权利要求1所述的使用GPU硬件加速的Struck目标跟踪方法,其特征在于,步骤(8b)所述最大最小化梯度方法的具体步骤如下:
第1步,从灰度图像集合中随机选择一个灰度图像,将该灰度图像作为待处理灰度图像;
第2步,按照下式,利用计算机图形处理器GPU,并行计算待处理灰度图像的每个训练样本的梯度:
其中,g表示待处理灰度图像的每个训练样本的梯度;a表示待处理灰度图像的每个训练样本的位置矩形框区域与待处理灰度图像的第一个训练样本的位置矩形框区域相交区域的面积;b表示待处理灰度图像的每个训练样本的位置矩形框区域与待处理灰度图像的第一个训练样本的位置矩形框区域相并区域的面积;n表示支持样本的总数;βi表示第i个支持样本的权值;exp(·)表示以自然常数e为底的指数操作;xi表示第i个支持样本的特征;x表示待处理灰度图像的每个训练样本的特征;||·||2表示求向量的模的平方操作;
第3步,从属于待处理灰度图像的支持样本中,找出具有最大梯度的支持样本,将得到的支持样本作为支持样本A;
第4步,从属于待处理灰度图像的训练样本中,找出具有最小梯度的训练样本,将得到的训练样本作为支持样本B;
第5步,若支持样本B未被标记,则将支持样本B复制到负支持样本集合中,按照下式,利用计算机图形处理器GPU,并行计算支持样本B与每个支持样本之间的核函数值:
K(x1,xB)=exp(-0.02||x1-xB||2)
其中,K(x1,xB)表示每个支持样本与支持样本B之间的核函数值;exp(·)表示以自然常数e为底的指数操作;x1表示每个支持样本的特征;xB表示支持样本B的特征;||·||2表示求向量的模的平方操作。
CN201510112791.1A 2015-03-14 2015-03-14 使用GPU硬件加速的Struck目标跟踪方法 Active CN104680558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510112791.1A CN104680558B (zh) 2015-03-14 2015-03-14 使用GPU硬件加速的Struck目标跟踪方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510112791.1A CN104680558B (zh) 2015-03-14 2015-03-14 使用GPU硬件加速的Struck目标跟踪方法

Publications (2)

Publication Number Publication Date
CN104680558A CN104680558A (zh) 2015-06-03
CN104680558B true CN104680558B (zh) 2017-07-28

Family

ID=53315551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510112791.1A Active CN104680558B (zh) 2015-03-14 2015-03-14 使用GPU硬件加速的Struck目标跟踪方法

Country Status (1)

Country Link
CN (1) CN104680558B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105160350B (zh) * 2015-08-03 2018-08-28 深圳市哈工大交通电子技术有限公司 一种基于GPU加速的Haar检测方法
CN109477607A (zh) 2016-06-06 2019-03-15 深圳市大疆灵眸科技有限公司 用于跟踪的图像处理
EP3465085B1 (en) 2016-06-06 2021-12-29 SZ DJI Osmo Technology Co., Ltd. Carrier-assisted tracking
CN106250878B (zh) * 2016-08-19 2019-12-31 中山大学 一种结合可见光和红外图像的多模态目标跟踪方法
CN106991689B (zh) * 2017-04-05 2019-12-31 西安电子科技大学 基于fhog和颜色特征的目标跟踪方法及gpu加速
CN107563392A (zh) * 2017-09-07 2018-01-09 西安电子科技大学 使用OpenCL加速的YOLO目标检测方法
CN107944381B (zh) * 2017-11-20 2020-06-16 深圳云天励飞技术有限公司 人脸跟踪方法、装置、终端及存储介质
CN107977980B (zh) * 2017-12-06 2021-01-05 北京飞搜科技有限公司 一种目标跟踪方法、设备以及可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927745A (zh) * 2014-03-28 2014-07-16 北京中海新图科技有限公司 面向可穿戴设备的跟踪与匹配并行计算方法
CN104021519A (zh) * 2014-06-17 2014-09-03 电子科技大学 基于gpu架构的密集杂波条件下机动多目标跟踪算法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401242B2 (en) * 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
KR20140095333A (ko) * 2013-01-24 2014-08-01 한남대학교 산학협력단 영상에서 객체 추적 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927745A (zh) * 2014-03-28 2014-07-16 北京中海新图科技有限公司 面向可穿戴设备的跟踪与匹配并行计算方法
CN104021519A (zh) * 2014-06-17 2014-09-03 电子科技大学 基于gpu架构的密集杂波条件下机动多目标跟踪算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《快速鲁棒特征算法的CUDA加速优化》;刘金硕等;《计算机科学》;20140430;第41卷(第4期);参见第24-27页 *
Struck: Structured Output Tracking with Kernels;Sam Hare等;《IEEE International Conference on Computer Vision》;20111113;参见第263-270页 *

Also Published As

Publication number Publication date
CN104680558A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
CN104680558B (zh) 使用GPU硬件加速的Struck目标跟踪方法
Zhu et al. Method of plant leaf recognition based on improved deep convolutional neural network
Sebai et al. MaskMitosis: a deep learning framework for fully supervised, weakly supervised, and unsupervised mitosis detection in histopathology images
Ding et al. Multi-scale fully convolutional network for gland segmentation using three-class classification
CN104573731B (zh) 基于卷积神经网络的快速目标检测方法
Zamberletti et al. Text localization based on fast feature pyramids and multi-resolution maximally stable extremal regions
CN110276745B (zh) 一种基于生成对抗网络的病理图像检测算法
CN106991689A (zh) 基于fhog和颜色特征的目标跟踪方法及gpu加速
JP2020187736A (ja) 地域的特徴を有する分類器学習のための学習データ生成方法およびそのシステム
US11954857B2 (en) Method for detection and pathological classification of polyps via colonoscopy based on anchor-free technique
Chen et al. Fast HOG feature computation based on CUDA
CN108664986A (zh) 基于lp范数正则化的多任务学习图像分类方法及***
CN107862680A (zh) 一种基于相关滤波器的目标跟踪优化方法
Zhu et al. ACE-Net: biomedical image segmentation with augmented contracting and expansive paths
CN111177811A (zh) 一种应用于云平台的消防点位自动布图的方法
Li et al. Instance aware document image segmentation using label pyramid networks and deep watershed transformation
Szemenyei et al. Fully neural object detection solutions for robot soccer
CN112489088A (zh) 一种基于记忆单元的孪生网络视觉跟踪方法
Kuai et al. Learning adaptively windowed correlation filters for robust tracking
Tong et al. Improving classification of breast cancer by utilizing the image pyramids of whole-slide imaging and multi-scale convolutional neural networks
CN108648213A (zh) 一种kcf跟踪算法在tms320c6657上的实现方法
Zhang et al. Identification of stored grain pests by modified residual network
Dong et al. LSI: latent semantic inference for natural image segmentation
CN108876776B (zh) 一种分类模型生成方法、眼底图像分类方法及装置
Du et al. Instance Segmentation and Berry Counting of Table Grape before Thinning Based on AS-SwinT

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant