基于FHOG和颜色特征的目标跟踪方法及GPU加速与流程

文档序号:11655386阅读:1265来源:国知局

本发明属于计算机技术领域,更进一步涉及计算机视频目标跟踪技术领域中的一种基于fhog和颜色特征的目标跟踪方法及gpu加速,主要应用于视频目标的实时准确跟踪。



背景技术:

高性能的目标跟踪方法是计算机视觉领域的核心技术。目前的目标跟踪方法分为两类:一类是基于特征匹配的跟踪方法,该方法主要是构建能够代表目标的特征,然后通过特征间的匹配度来判断目标的位置;另一类是基于目标与背景分离的跟踪方法,该方法运用机器学习的方法学习一个能够分离目标与背景的分类器,学习过程一般为在线训练过程,通过学习到的分类器来判断目标位置。相比之下,前者具有计算简单,但对具有光照、遮挡、尺度等因素变化的情况不能很好地处理。后者在一定程度上能够解决前者遇到的问题,而具有较高的鲁棒性,但其计算复杂度较高。基于目标与背景分离的跟踪方法是目前的主流跟踪方法。

西安电子科技大学提出的专利申请“使用gpu加速的struck的目标跟踪方法”(申请日:2015年3月14日,申请号:201510112791.1,公开号:cn104680558a)中公开了一种gpu硬件加速的struck目标跟踪方法。该方法采用基于结构化支持向量机模型structuredsvm,学习一个能区别目标和背景的分类器,通过学习到的分类器来判断目标的位置,提高了跟踪速度,通过使用gpu并行计算提高了跟踪速度。但是该方法存在的不足是,采用了基于结构化支持向量机模型structuredsvm,跟踪准确率不高,跟踪速度比较慢。

上海宝宏软件有限公司提出的专利申请“一种实时的视频跟踪方法”(申请日:2016年5月13日,申请号:201610314297.8,公开日:cn106023248a)中公开的一种将跟踪目标分割成字块的方式压缩图像特征,利用kcf(核化相关滤波器)算法计算特征向量之间的相关性以达到视频跟踪的目的。该方法虽然具有性能高的优点,满足一般场景下实时性的需求。但是该方法仍然存在的不足是,该方法采用了灰度直方图和色度直方图特征的组合,跟踪准确率不高;采用了串行计算的方法进行特征提取,模型训练,目标检测,处理速度慢。

2014年,henriques,j.f.,caseiro,r.,martins,p.,和batista,j.发表的论文“high-speedtrackingwithkernelizedcorrelationfilters”(patternanalysisandmachineintelligence,ieeetransactionson)提出了一种基于二维傅立叶变换的跟踪方法,即kcf算法。该算法提取fhog特征,使用循环偏移构建分类器的训练样本,利用循环矩阵的特性把问题的求解变换到傅里叶域,降低了算法复杂度,一定程度上加快了跟踪速度。但是,该算法中仍存在的不足是,采用串行计算的方法进行训练和检测导致跟踪速度不够快,只使用fhog特征跟踪准确率不高,无法适应目标尺度变化等。



技术实现要素:

本发明的目的在于克服上述现有技术的不足,提供了一种gpu加速基于fhog和颜色特征的目标跟踪方法,可实现对视频中的目标的高速准确跟踪。

本发明通过提取fhog、color-naming基础颜色和色度饱和度三者的组合特征,提高了目标跟踪准确率;通过使用以0.006为等差值的7级自适应尺度变换,提高了对尺度变换场景下目标的跟踪准确率;通过使用计算机图形处理器gpu,并行加速改进后的kcf目标跟踪算法,极大的提高了跟踪速度。

为实现上述目的,本发明的步骤基本包括如下:

1、一种基于fhog和颜色特征的目标跟踪方法及gpu加速,包括如下步骤:

(1)获取图像,传入gpu:

(1a)将待跟踪图像序列中的一帧图像加载到计算机主机内存中;

(1b)将加载到计算机内存的图像复制到gpu内存中;

(2)判断获取的图像是否是待跟踪图像序列中的第1帧图像;若是,则执行步骤(12),否则,执行步骤(3);

(3)判断是否使用自适应尺度变换,若是,则执行步骤(4),否则执行步骤(8);

(4)多尺度提取图像:

(4a)使用7级尺度提取候选区域图像;

(4b)缩放图像到特定尺寸,得到搜索矩形框图像;

(5)并行提取fhog和颜色特征;

(5a)并行提取fhog特征;

(5b)并行提取color-naming基础颜色特征;

(5c)并行提取hs色度-饱和度特征;

(5d)三种特征串联得到44维新特征,加汉宁窗滤波;

(6)计算互相关矩阵和最大响应值;

(7)计算所有尺度中的最大响应:

(7a)从所有7个尺度对应的响应值fzmax中取最大值作为最终的最大响应值fzmax;

(7b)执行步骤(11);

(8)提取搜索矩形框处的图像;

扩展目标矩形框,得到搜索矩形框,从待检测图像中提取搜索矩形框处的目标图像;

(9)并行提取fhog和颜色特征;

(9a)并行提取fhog特征;

(9b)并行提取color-naming基础颜色特征;

(9c)并行提取hs色度-饱和度特征;

(5d)三种特征串联得到44维新特征,加汉宁窗滤波。

(10)计算互相关矩阵和最大响应值;

(11)更新目标矩形框;

(11a)使用最大响应值对应的坐标更新跟踪目标的目标矩形框。

(11b)执行步骤(13);

(12)初始化目标矩形框;

从输入图像中选取一个包含跟踪目标在内的矩形框,将所选矩形框作为跟踪目标的目标矩形框;

(13)提取搜索矩形框处的图像;

扩展目标矩形框得到搜索矩形框,从待检测图像中提取搜索矩形框处的目标图像;

(14)并行提取fhog和颜色特征;

(14a)并行提取fhog特征;

(14b)并行提取color-naming基础颜色特征;

(14c)并行提取hs色度-饱和度特征;

(14d)三种特征串联得到44维新特征,加汉宁窗滤波;

(15)计算自相关矩阵;

(16)更新跟踪模型参数;

(17)判断是否加载完所有帧的图像;

判断是否加载完所有的图像;若是,则执行步骤(18),否则,执行步骤(1);

(18)结束跟踪。

本发明与现有技术相比较,具有如下优点:

第一,本发明通过步骤(5)、步骤(9)、步骤(14),提取跟踪目标图像的fhog、color-naming基础颜色、色度饱和度组合特征,并使用gpu并行加速,克服了现有技术中跟踪准确率低,提取特征慢的问题,提高跟踪准确率的同时提高跟踪速度。

第二,本发明通过步骤(4)、步骤(5)、步骤(6)、步骤(7),使用以0.006为等差值的7级自适应尺度变换方法,并使用gpu并行加速,提高跟踪准确率的同时提高跟踪速度。

第三,本发明采用计算机图像处理器gpu,并行加速改进后的目标跟踪算法,与cpu处理相比大幅提高了跟踪目标的速度。

附图说明

图1是本发明的流程图;

具体实施方式

下面结合附图对本发明做详细的描述。

参照附图1,对本发明的实现步骤做详细的描述。

步骤1,获取图像,传入gpu:

将待跟踪图像序列中的一帧图像加载到计算机主机内存中,然后将加载到计算机内存的图像复制到gpu内存中;

步骤2,判断获取的图像是否是待跟踪图像序列中的第1帧图像;若是,则执行步骤(12),否则,执行步骤(3);

步骤3,判断是否使用自适应尺度变换,若是,则执行步骤(4),否则执行步骤(8)。

步骤4,多尺度提取图像:

首先,使用7级尺度提取候选区域图像,7级尺度对应的尺度系数是以0.006为等差指的等差数列,分别为0.982,0.988,0.994,1.00,1.006,1.012,1.018。

然后,缩放图像到特定尺寸,将缩放矩形框的宽、高分别扩展2.5倍作为缩放搜索矩形框,缩放搜索矩形框的宽为2.5*lp*wori,高为2.5*lp*hori,其中wori是目标矩形框的宽度,hori是目标矩形框的高度,从待检测图像帧中提取缩放搜索矩形框处的跟踪目标图像。

最后,使用线性差值方法将跟踪目标图像缩放为宽为2.5*wori,高为2.5*hori的搜索矩形框。

步骤5,并行提取fhog和颜色特征。

fhog和颜色特征是指31维的fhog特征、11维的color-naming基础颜色特征和2维的hs色度-饱和度特征,串联组成的44维新特征。

(5a)并行提取fhog特征;

第一步,将图像转换为灰度图像。

第二步,计算梯度,统计梯度直方图,得到18维的方向敏感特征。

(1)计算梯度利用水平梯度积分算子[-1,0,1]与垂直梯度积分算子[-1,0,1]-1,并行计算水平方向梯度gx和垂直方向梯度gy。根据公式计算得到梯度幅值gm,如果幅值等于0,则将幅值修正为1/e10f,如果是非0,则保持不变。利用查表法,以的结果作为索引值计算梯度方向go。

(2)并行离散化梯度方向。按梯度的方向,将0~2π平均划分为18个区间,即标记为区间1,区间2,……,区间18。将梯度方向go划入最邻近区间。

(3)并行计算梯度方向直方图。扩展梯度图像边缘,每个线程独自计算梯度直方图,并按梯度方向分成18层,得到(wb+2)*(hb+2)*18的梯度直方图数据后,裁剪直方图数据的边缘,最终得到位于18个区间的总大小为wb*hb*18的方向敏感特征向量r1,其中,符号表示下取整操作。

第三步,归一化特征。

(1)计算梯度能量。计算梯度能量的计算公式如下:

其中,nδ,γ(i,j)是梯度能量,δ,γ∈{-1,1},因此对于每个(i,j)对应四种梯度能量,分别是n-1,-1(i,j),n+1,-1(i,j),n+1,+1(i,j),n-1,+1(i,j),ε是个很小的数。d(i,j)是9维的方向不敏感特征向量,它由18维的方向敏感特征向量得到,计算公式如下:

dk(i,j)=ck(i,j)+ck+9(i,j)

其中dk(i,j)表示9维方向不敏感特征向量d(i,j)的第k维的数据,ck(i,j)表示18维方向敏感特征向量c(i,j)的第k维数据,k=0,1,2,……,8。

使用gpu核融合加速方法,将9维的方向不敏感特征向量dk(i,j)的计算和梯度能量nδ,γ(i,j)的计算放在gpu的同一个核中计算,即使用自己归纳的公式计算:

其中,ck(i,j)表示18维方向敏感特征向量c(i,j)的第k维数据,k=0,1,2,……,8

(2)根据如下公式

计算得到归一化的18维方向敏感特征向量r1。其中,c(i,j)是18维的方向敏感特征的特征矢量;tα是截断函数,表示对于大于0.2的值,将其赋值为0.2;nδ,γ(i,j)是梯度能量,δ,γ∈{-1,1},ε是个很小的数。

(3)使用gpu循环融合方法,在同一个循环中,计算r1的同时,使用一个经过自己归纳的表达式

r2k(i,j)=tα(r1k(i,j)+r1k+9(i,j))

计算归一化的9维方向不敏感特征向量r2,其中k表示r1k(i,j)的第k维的数据,k=0,1,2,……,8。

(4)在同一个循环中,计算r1的同时,累加18个维度的r1k(i,j),k=0,1,2,……,17,得到4维纹理特征向量r3。

第四步,串联归一化后的方向敏感特征r1、方向不敏感特征r2和纹理特征向量r3,得到31维fhog特征。

在以上处理步骤中,其并行方法为:对每个线程块利用16×16个线程来并行提取特征,假设数据块大小为w×h,则共计m×n个线程块,其中m和n按照如下公式计算:

(5b)并行提取color-naming基础颜色特征;

将原始图像分成16*16大小的图像块,每个图像块使用gpu中一个线程块来计算,每个线程计算一个像素的color-naming特征。使用查表法将rgb图像转换成11维的color-naming特征f2。

(5c)并行提取hs色度-饱和度特征;

第一步,图像归一化。

第二步,根据下面的公式,将图像从rgb空间转换到hsi空间,并将色度h、饱和度s特征串联得到2维的色度-饱和度特征。

计算反余弦函数的时候使用查表法;计算的时候,如果结果为0,需要将其修正为一个1/e10f。

在以上处理步骤中,其并行方法为:对每个线程块利用16×16个线程来并行提取特征,假设数据块大小为w×h,则共计m×n个线程块,其中m和n按照如下公式计算:

(5d)三种特征串联得到44维新特征,加汉宁窗滤波。

步骤6,计算互相关矩阵和最大响应值。

第一步,调用gpu的库函数傅里叶变换函数cufftexecc2c将提取的图像特征zf转换到傅里叶域。

第二步,使用高斯核计算互相关矩阵kxz′,计算公式如下:

计算x和z的l2-范数平方和||x||2和||z||2时,利用共享内存,使用gpu基于交替策略的规约算法加速求和运算。

第三步,利用互相关矩阵kxz′和模型参数α′计算响应值。调用gpu的库函数傅里叶变换函数cufftexecc2c将响应值转换到空域,计算最大响应值fzmax。计算最大值时,利用共享内存,使用gpu基于交替策略的规约算法,加速求最大值的运算。

步骤7,计算所有尺度中的最大响应:

(7a)从所有7个尺度对应的响应值fzmax中取最大值作为最终的最大响应值fmax。

(7b)执行步骤11。

步骤8,提取搜索矩形框处的图像。

将目标矩形框的长、宽分别扩展2.5倍作为搜索矩形框。从待检测图像中提取搜索矩形框处的跟踪目标图像,2.5*wori,高为2.5*hori。

步骤9,并行提取fhog和颜色特征。

(9a)并行提取fhog特征;

(9b)并行提取color-naming基础颜色特征;

(9c)并行提取hs色度-饱和度特征;

(5d)三种特征串联得到44维新特征,加汉宁窗滤波。

步骤10,计算互相关矩阵和最大响应值。

步骤11,更新目标矩形框。

(11a)使用最大响应点的坐标更新跟踪目标的目标矩形框,将目标矩形框的长、宽分别扩展2.5倍作为搜索矩形框,

(11b)执行步骤13。

步骤12,初始化目标矩形框。

从输入图像中选取一个包含跟踪目标在内的矩形框,将所选矩形框作为跟踪目标的目标矩形框。

步骤13,提取搜索矩形框处的图像。

扩展目标矩形框得到搜索矩形框,从待检测图像中提取搜索矩形框处的目标图像。

步骤14,并行提取fhog和颜色特征。

(14a)并行提取fhog特征;

(14b)并行提取color-naming基础颜色特征;

(14c)并行提取hs色度-饱和度特征;

(14d)三种特征串联得到44维新特征,加汉宁窗滤波。

步骤15,计算自相关矩阵。

调用gpu的库函数傅里叶变换函数cufftexecc2c将提取的图像特征xf转换到傅里叶域,计算自相关矩阵kxx′。

步骤16,更新跟踪模型参数。

第一步,根据以下公式计算当前帧训练得到的跟踪模型参数α′

y′表示回归值的dft,kxx′表示自相关矩阵的dft,λ表示正则化参数。

第二步,根据以下公式,更新跟踪模型参数αmodel′和

αmodel′=(1-β1)*αmodel′+β1*α′

其中β1是加权系数,不使用自适应尺度变换的时候,β1=0.02;在使用自适应尺度变换功能的时候,β1=0.01。

步骤17,判断是否加载完所有帧的图像;

判断是否加载完所有的图像;若是,则执行步骤18,否则,执行步骤1;

步骤18,结束跟踪。

对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1