技术背景
随着经济技术的不断发展,科技水平的不断提高,人们的生活质量也相应发生翻天覆地的变化。近年来随着机器视觉技术的发展,机器视觉在智能交通***中得到了广泛的应用,如交通事件及流量的监测、路面病害检测以及智能车辆的自动导航等。作为智能交通***的一个重要组成部分,智能安全车辆是目前的研究热点,智能车辆利用智能算法理解车辆的即时环境,为安全行驶提供保障。
车辆跟踪技术是继车辆检测技术之后,又一大新的技术领域,两者紧密相连,缺一不可。根据摄像头与目标之间的位置关系,可将跟踪方法分为静态背景下的目标跟踪和动态背景跟踪。
㈠静态背景下的目标跟踪方法:
静态背景下的目标跟踪指的是摄像头是固定在某一方位,其所观察的视野也是静止的。通常采用背景差分法和高斯背景建模。背景差法先将前景图像与背景图像做差,就可以得到进入视野的目标物体。对于目标的描述,通常用目标连通区域的像素数目的多少来表达目标的大小,或者用目标区域的高宽比等。目标的位置信息可采用投影的方式来定位。高斯背景建模,即先对背景进行建模,通常使用K(基本为3到5个)个高斯模型来表征图像中各个像素点的特征,在新一帧图像获得后更新混合高斯模型,然后从视频流中读取图像(我们称之为前景图像),用当前图像中的每个像素点与混合高斯模型匹配,如果成功则判定该点为背景点,否则为前景点。
㈡动态背景下的目标跟踪方法:
动态背景下的目标跟踪指的是摄像头并不固定在某一位置上,摄像头所观察的视野并不是静止的,也即背景相对于摄像头也是运动的。对于这种情况,通常采用基于检测的跟踪方法对单帧图像进行检测,以达到连续检测的效果。
常见的跟踪算法有:卡尔曼滤波,粒子滤波,TLD,CT。
㈠卡尔曼滤波:卡尔曼滤波(Kalmanfiltering)一种利用线性***状态方程,通过***输入输出观测数据,对***状态进行最优估计的算法。由于观测数据中包括***中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。基于卡尔曼滤波器的车辆跟踪方法在进行跟踪时,是利用过去的状态信息和当前的测量结果预测当前的最优状态信息,以达到跟踪的目的。
㈡粒子滤波:粒子滤波(PF:ParticleFilter)的思想基于蒙特卡洛方法(MonteCarlomethods),它是利用粒子集来表示概率,可以用在任何形式的状态空间模型上。其核心思想是通过从后验概率中抽取的随机状态粒子来表达其分布,是一种顺序重要性采样法(SequentialImportanceSampling)。简单来说,粒子滤波法是指通过寻找一组在状态空间传播的随机样本对概率密度函数进行近似,以样本均值代替积分运算,从而获得状态最小方差分布的过程。这里的样本即指粒子,当样本数量N→∝时可以逼近任何形式的概率密度分布。
㈢TLD:TLD(Tracking-Learning-Detection)的立足点是解决长时间跟踪中被跟踪目标发生形状变化、光照条件变化、尺度变化、遮挡等情况。检测器是将已经检测到的特征(表征目标物体)进行局部化处理,并且根据需要不断修正***。学习器估计出检测器的错误,并及时更新检测器,以避免后续再出现这些错误。传统的跟踪算法,前端需要跟检测模块相互配合,当检测到被跟踪目标之后,就开始进入跟踪模块,而此后,检测模块就不会介入到跟踪过程中。而该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题。
㈣CT:CT(CompressiveTracking)是根据稀疏感知理论,用一个满足RIP条件的非常稀疏的测量矩阵对原图像特征空间进行投影,就可以得到一个低维压缩子空间。低维压缩子空间可以很好的保留高维图像特征空间的信息。所以我们通过稀疏测量矩阵去提取前景目标和背景的特征,作为在线学习更新分类器的正样本和负样本,然后使用该朴素贝叶斯分类器去分类下一帧图像的目标待测图像片。
㈤MOSSE:MOSSE(MinimumOutputSumofSquaredErrorfilter)滤波器是一种实时性好,利用相关卷积矩阵求取最小输出均方误差的跟踪方法。并且对于光照、大小、姿势、非刚性形变具有一定的鲁棒性。该算法首先假设跟踪目标区域的输出响应呈高斯分布,利用卷积性质,可以求得卷积滤波器,然后在后一帧图像的当前位置,用此滤波器进行滤波来求得新的输出响应,根据新的输出相信确定目标在当前帧的位置。
发明内容
本发明所要解决的技术问题是,提供一种快速、准确的车辆跟踪方法。
本发明为解决上述技术问题所采用的技术方案是,一种基于快速特征金字塔的车辆多尺度跟踪方法,当上一帧检测到目标时,(x0,y0)为上一帧检测到的目标区域的中心点,则对当前帧进行目标跟踪,具体方法如下:
步骤1、计算当前帧图像在原始尺度下的聚合通道特征得到原始尺度下的特征图:
1-1将当前帧图像转化到LUV色彩空间,得到L、U、V三通道特征;
2-2求LUV图像的梯度图得到梯度直方图HOG特征;
2-3将L、U、V三通道特征与HOG各方向通道特征进行级联得到当前帧在原始尺度下的聚合通道特征;
步骤2、计算特征金字塔
根据特征金字塔下各种尺度根据聚合通道特征各通道特征的能量统计关系对原始尺度下的特征图进行特征金字塔采样得到对应尺度下的特征图;经过各特征金字塔采样后特征图的尺度与原始尺度下的特征图的尺度比值为s1,s2,...sn,n为不同尺度总数;各特征金字塔采样包括上采样、下采样;
步骤3、在不同尺度上计算跟踪结果:
3-1原始尺寸下特征图的特征通道的宽高分别为W0和H0,设原始尺寸下特征图的目标区域的中心点为(x0,y0);各特征金字塔采样后对应的目标区域的中心位置为(x0s1,y0s1),(x0s2,y0s2),...,(x0sn,y0sn);
3-2计算卷积滤波器:
对于上一帧是首次检测出目标的情况:
各特征金字塔采样下,在以目标区域的中心位置为高斯分布的极值产生一个随机高斯分布,所述随机高斯分布对应目标区域的输出响应G1,G2,...,Gn,初始化卷积滤波器的滤波系数i=1,2,…,n,Fi为目标区域的傅里叶变换,Gi为以目标区域为中心位置的随机高斯分布;
对于上一帧不是首次检测出目标的情况:
卷积滤波器的更新采用如下策略:
η为权重系数,为上一帧卷积滤波器的滤波系数;
3-3将特征金字塔采样后各尺寸的特征图输入卷积滤波器,卷积滤波器的输出响应分别为g1,g2,...,gn,分别求得各尺寸下的跟踪值PSR1,PSR2,...,PSRn,gmax为当前尺寸下输出响应的极值,μs和σs分别为当前尺寸下的输出响应的均值和方差;
3-4取跟踪值PSR1,PSR2,...,PSRn中最大的作为跟踪结果PSR,当PSR大于设定的阈值时,认为跟踪成功,则继续下一帧的跟踪,将跟踪结果按对应尺度映射至原尺度上确定目标区域;当PSR小于设定的阈值时,认为跟踪失败,则取消当前跟踪目标。
本发明一是使用一种新的,更具辨识能力的聚合通道特征ACF特征代替MOSSE算法中的灰度特征,二是使用快速特征金字塔来逼近相邻尺度上的特征,从而快速计算不同尺度上的跟踪结果。ACF特征首先将采集到RGB车辆图像转化到Luv空间,分别得到L、U、V通道;在此基础上求取梯度图像,得到梯度通道;级联这些通道特征形成ACF特征。快速金字塔是通过统计的思想将原特征图进行缩放逼近,与传统图像缩放方法不同的是,传统方法需要使用最近邻或线性插值等手段来计算缩放结果,其所带来的计算复杂度要远高于快速金字塔方法。快速金字塔根据各个通道缩放之间的能量统计关系,可以有原尺度上的图像直接计算得到缩放之后尺度上的图像。
本发明的有益效果是,基于聚合通道特征的车辆跟踪算法不仅利用了多个通道的全局信息,而且在每个通道上也充分利用了车辆的局部信息,提高了车辆跟踪的鲁棒性;并且利用快速特征金字塔实现了跟踪的多尺度,并保证了跟踪的实时性。
具体实施方案
为了方便地描述本发明内容,首先对一些术语进行说明。
Luv通道特征。LUV色彩空间全称CIE1976(L,u,v)(也作CIELUV)色彩空间,L表示物体亮度,u和v是色度。于1976年由国际照明委员会CIE提出,由CIEXYZ空间经简单变换得到,具视觉统一性。类似的色彩空间有CIELAB。对于一般的图像,u和v的取值范围为-100到+100,亮度为0到100。
梯度通道特征。梯度通道特征即为一副图像的梯度图,反映的是目标的边缘信息。梯度可以有多种求法,例如Prewitt算子,Sobel算子。然而[-101]这种最简单的算子却有更好的表现。梯度用来对车辆图像的边缘进行描述。由于Luv通道与RGB通道之间只是线性变化,因此为了方便,可在求得Luv通道之后在Luv通道上求取图像的梯度图。
梯度直方图。梯度直方图即HOG(Histogramoforientedgradient),首先将图像分成小的连通区域,我们把它叫细胞单元。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。为了提高性能,我们还可以把这些局部直方图在图像的更大的范围内(我们把它叫区间或block)进行对比度归一化(contrast-normalized),所采用的方法是:先计算各直方图在这个区间(block)中的密度,然后根据这个密度对区间中的各个细胞单元做归一化。通过这个归一化后,能对光照变化和阴影获得更好的效果。
采用本发明方法,在C++平台上实现算法,具体步骤如下:
步骤1、计算当前帧图像在原始尺度下的聚合通道特征得到原始尺度下的特征图:
1-1将当前帧图像转化到LUV色彩空间,得到L、U、V三通道特征;
摄像头采集的图像一般为RGB图像,RGB图像不利于颜色的聚类。为了能很好的描述车辆的灰度、色度信息,需要将RGB图像转化为LUV图像。具体做法为:
首先将RGB图像转化为CIEXYZ
然后将CIEXYZ转化为Luv
u=13L(u'-un')(3)
v=13L(v'-vn')(4)
其中,
Yn为其亮度,(un',vn')为色度坐标。
2-2求LUV图像的梯度图得到梯度直方图HOG特征;
梯度计算有很多种方法,比如Prewitt算子 和 Sobel算子 和 然而在这里采用最简单的算子[-101]和 进行滤波获得的效果更好。
步骤3、采样及归一化
由于在计算梯度直方图时要将4*4的细胞分配到6个方向上,也即梯度直方图的长宽比为原样本图像的1/4,为了使得所有通道的长宽比保持一致,需将Luv通道图像和梯度图像进行下采样,此处采样并不影响检测结果。在采样过程中使用双线性插值法,以获得较好的效
为了抑制梯度计算中噪声的影响,需要对梯度图进行归一化操作。归一化操作有L1-norm,L2-norm和L1-sqrt。
L1-norm:v→v/(||v||1+ε)(5)
其中,ε为是一个很小的数,比如0.01,v为梯度,||·||1表示一范数,||·||2表示二范数。在本实施例中采用L2-norm。
得到梯度图,对4*4的单元中的每一个像素点为梯度元素的方向在梯度方向直方图上进行投票,从而形成方向梯度直方图。直方图的方向在0-180度或0-360度之间均分,为了减少混叠现象,梯度投票在相邻两个方向上的中心之间需要进行方向和位置上的双线性插值。投票的权重根据梯度幅值进行计算,可以取幅值本身、幅值的平方或者幅值的平方根。实践表明,使用梯度本身作为投票权重效果最好。
由于局部光照的变化,以及前景背景对比度的变化,使得梯度强度的变化范围非常大,这就需要对梯度做局部对比度归一化。具体的做法是将细胞单元组成更大的空间块,然后针对每个块进行对比度归一化,归一化过程和步骤3一样,最终的描述子是检测窗口内所有块内的细胞单元的直方图构成的向量。事实上,块之间是有重叠的,也就是说,每个细胞单元的直方图都会被多次用于最终的描述子的计算。此方法看起来有冗余,但可以显著的提升性能。
2-3将L、U、V三通道特征与HOG各方向通道特征进行级联得到当前帧在原始尺度下的聚合通道ACF特征;如梯度直方图有六个方向,则总共得到10个通道。此10个通道即为聚合通道特征。
步骤2、计算特征金字塔
根据特征金字塔下各种尺度根据聚合通道特征各通道特征的能量统计关系对原始尺度下的特征图进行特征金字塔采样得到对应尺度下的特征图;经过各特征金字塔采样后特征图的尺度与原始尺度下的特征图的尺度比值为s1,s2,...sn,n为不同尺度总数;各特征金字塔采样包括上采样、下采样;
上采样
设原图像为I(x,y),被一个上采样因子k采样后得到的图像为Ik(x,y)=I(x/k,y/k),由梯度定义得 也即在上采样图像上变化的比例是原尺度图像的1/k倍。设为上采样图像的梯度大小,那么
因此,在原图和上采样的图像中,它们的梯度和是与上采样因此k相关的。同理,梯度方向
因此,从上面的定义可以看出,在上采样图像中,其梯度关系为h'q≈khq。
下采样
由于在先采样图像中存在高频损失和能量损失,因此不能由上采样推导出下采样。设Ik为原图像I被下采样因子k下采样后的图像,它们之间的关系应该为h'q≤hq/k。由于图像的能量通道图像和该能量通道的下采样图像只跟能量通道的相对尺度有关,而跟原始图像是独立的。若用f(I,si)表示在si尺度下采样后通道的能量,则
E[f(I,s1)/f(I,s2)]=E[f(I,s1)]/E[f(I,s2)]=r(s1-s2)(11)
成立。因此E[f(I,s1)/f(I,s2)]必然有如下形式:
E[f(I,s+s0)/f(I,s0)]=ae-λs(12)
通过对大量目标图像和自然图像做数据统计可以得到a和λ。因此下采样图像和原图像之间的关系为f(I,s)=ae-λsf(I,0)。
步骤3、多尺度跟踪:
将原MOSSE跟踪算法中的灰度特征替换为ACF特征,并将其每一个通道特征向量化,于是就得到多个特征向量,将其组合成矩阵,并进行傅里叶变换作为Fi,使跟踪更具鲁棒性,并且在不同尺度上计算跟踪结果:
3-1原始尺寸下特征图的特征通道的宽高分别为W0和H0,设原始尺寸下特征图的目标区域的中心点为(x0,y0);各特征金字塔采样后对应的目标区域的中心位置为(x0s1,y0s1),(x0s2,y0s2),...,(x0sn,y0sn);
3-2计算卷积滤波器:
对于上一帧是首次检测出目标的情况:
各特征金字塔采样下,在以目标区域的中心位置为高斯分布的极值产生一个随机高斯分布,所述随机高斯分布对应目标区域的输出响应G1,G2,...,Gn,初始化卷积滤波器的滤波系数:
Fi为目标区域的傅里叶变换,Gi为以目标区域为中心位置的随机高斯分布;
对于上一帧不是首次检测出目标的情况:
卷积滤波器的更新采用如下策略:
η为权重系数,为上一帧卷积滤波器的滤波系数;
3-3将特征金字塔采样后各尺寸的特征图输入卷积滤波器,卷积滤波器的输出响应分别为g1,g2,...,gn,分别求得各尺寸下的跟踪值PSR1,PSR2,...,PSRn;
gmax为当前尺寸下输出响应的极值,μs和σs分别为当前尺寸下的输出响应的均值和方差;
3-4取跟踪值PSR1,PSR2,...,PSRn中最大的作为跟踪结果PSR,当PSR大于设定的阈值时,认为跟踪成功,则继续下一帧的跟踪,将跟踪结果按对应尺度映射至原尺度上确定目标区域;当PSR小于设定的阈值时,认为跟踪失败,则取消当前跟踪目标。