发明内容
有鉴于此,本发明一方面提供一种图像跟踪方法;另一方面提供一种图像跟踪系统,能够提高跟踪准确度。
本发明所提供的图像跟踪方法,将目标图像进行分块,并计算得到目标图像各分块的分块直方图,该方法包括:
将每个搜索窗口分别按照与目标图像对应的分块方式进行分块,得到每个搜索窗口的子窗口;
计算每个子窗口的直方图,将得到的每个子窗口的直方图与目标图像对应块的分块直方图进行匹配,得到每个子窗口的分块匹配度;
根据每个搜索窗口中每个子窗口的分块匹配度,得到每个搜索窗口的匹配结果,根据所述匹配结果确定目标的跟踪位置。
较佳地,所述将每个搜索窗口分别按照与目标图像对应的分块方式进行分块之前,进一步包括:计算每个搜索窗口的全局直方图,将所计算的每个搜索窗口的全局直方图与预先计算的目标图像的全局直方图进行匹配,得到每个搜索窗口的全局匹配度,根据所述每个搜索窗口的全局匹配度,得到多个全局匹配度满足预设条件的搜索窗口;
对所述多个搜索窗口中的每个搜索窗口执行所述分别按照与目标图像对应的分块方式进行分块的操作;
所述根据每个搜索窗口中每个子窗口的分块匹配度,得到每个搜索窗口的匹配结果为:根据每个搜索窗口的全局匹配度和该搜索窗口中每个子窗口的分块匹配度,得到每个搜索窗口的匹配结果。
较佳地,该方法进一步包括:通过积分运算,计算整个跟踪区域内以整个跟踪区域预先设定的一角为起始点的所有区域的直方图,得到区域积分直方图;
所述计算每个搜索窗口的全局直方图具体为:利用区域积分直方图,计算每个搜索窗口的全局直方图;
所述计算每个子窗口的直方图具体为:利用区域积分直方图,计算每个子窗口的直方图。
其中,所述利用区域积分直方图,计算每个搜索窗口的全局直方图为:对每个搜索窗口,用该搜索窗口四个角对应的区域积分直方图进行加减运算,得到该搜索窗口的直方图;
所述利用区域积分直方图,计算每个子窗口的直方图为:对每个子窗口,用该子窗口四个角对应的区域积分直方图进行加减运算,得到该子窗口的直方图。
其中,所述通过积分运算,计算整个跟踪区域内以整个跟踪区域预先设定的一角为起始点的所有区域的直方图,得到区域积分直方图包括:
确定直方图组数;
计算整个跟踪区域中每个像素点所属的直方图组别;
统计整个跟踪区域中以预先设定的一角O作为起始点的所有区域Ci,j中属于每个直方图组别的区域积分像素个数;
根据直方图组数和每个Ci,j中每个直方图组别的区域积分像素个数,得到每个区域积分直方图。
其中,所述统计整个跟踪区域中所有Ci,j中属于每个直方图组别的区域积分像素个数具体为:
根据每个像素点所属的直方图组别信息,在整个跟踪区域O所属的一条边的方向上,对每个组别中的像素点个数进行加法递推计算,得到每个组别在该方向上的方向积分像素个数;
对得到的每个组别的所述方向积分像素个数,在整个跟踪区域O所属的另一条边的方向上进行加法递推计算,得到每个Ci,j中每个组别的区域积分像素个数。
较佳地,计算每个搜索窗口的全局直方图之前,进一步包括:
利用分类器对整个跟踪区域中目标可能出现的每个搜索窗口进行置信度描述,若不存在置信度满足跟踪要求的搜索窗口,则执行所述计算每个搜索窗口的全局直方图的操作。
较佳地,该方法进一步包括:若存在置信度满足跟踪要求的搜索窗口,则对置信度满足跟踪要求的搜索窗口进行直方图匹配,若直方图匹配失败,则执行所述计算每个搜索窗口的全局直方图的操作;若直方图匹配成功,则将匹配成功的搜索窗口作为目标的跟踪位置。
较佳地,该方法进一步包括:将匹配成功的搜索窗口进行存储,根据存储的预定个数的搜索窗口的全局直方图,计算每个特征通道中直方图各组别的权重;
则所述将搜索窗口的全局直方图与目标图像的全局直方图进行匹配为:根据每个特征通道中各组别的权重,对搜索窗口的全局直方图与目标图像的全局直方图进行匹配。
较佳地,该方法进一步包括:将匹配成功的搜索窗口进行存储,根据存储的预定个数的搜索窗口的子窗口直方图,计算全局匹配度的权重和每个子窗口的分块匹配度的权重;
则所述根据每个搜索窗口的全局匹配度和该搜索窗口中每个子窗口的分块匹配度,得到每个搜索窗口的匹配结果为:根据每个搜索窗口的全局匹配度及所述全局匹配度的权重和该搜索窗口中每个子窗口的分块匹配度及所述分块匹配度的权重,得到每个搜索窗口的匹配结果。
其中,所述直方图包括:颜色直方图,和/或,梯度方向直方图。
其中,当直方图包括梯度方向直方图时,所述计算每个像素点所属的直方图组别包括:
按照直方图组数确定梯度方向的角度区间;
计算每个像素点的梯度方向所属的角度区间,得到该像素点所属的直方图组别。
其中,所述计算每个像素点的梯度方向所属的角度区间包括:
计算角度区间的边界点的正切值,得到正切值区间;
计算每个像素点在坐标轴的y方向的梯度值与x方向的梯度值的比值,根据该比值所处的正切值区间,得到每个像素点的梯度方向所属的角度区间。
本发明所提供的图像跟踪系统,包括:
搜索窗口分块直方图匹配模块,用于对确定的当前搜索窗口按照与目标图像对应的分块方式进行分块,得到子窗口,对每个子窗口,计算子窗口直方图,将所计算的子窗口直方图与目标图像对应块的分块直方图进行匹配,得到每个子窗口的分块匹配度,将所得到的当前搜索窗口的分块匹配度提供给搜索窗口综合匹配计算模块;
搜索窗口综合匹配计算模块,用于根据所述当前搜索窗口的所有子窗口的分块匹配度,计算当前搜索窗口的综合匹配度,并将计算得到的当前搜索窗口的综合匹配度提供给跟踪位置确定模块;
跟踪位置确定模块,用于根据搜索窗口综合匹配计算模块提供的所有搜索窗口的综合匹配度,将匹配最好的搜索窗口区域作为目标的跟踪位置。
较佳地,该系统进一步包括:
搜索窗口全局直方图匹配模块,用于从跟踪区域中确定当前的搜索窗口,并计算当前搜索窗口的全局直方图,将计算得到的当前搜索窗口的全局直方图与预先计算的目标图像的全局直方图进行匹配,将匹配结果提供给搜索窗口选取模块;
搜索窗口选取模块,用于根据搜索窗口全局直方图匹配模块提供的所有搜索窗口的匹配结果,从中选取满足预设条件的多个搜索窗口,提供给所述搜索窗口分块直方图匹配模块;
所述搜索窗口分块直方图匹配模块,进一步地从搜索窗口选取模块提供的搜索窗口中确定当前的搜索窗口,对所述确定的当前搜索窗口执行所述按照与目标图像对应的分块方式进行分块的操作;将所得到的当前搜索窗口的分块匹配度提供给搜索窗口综合匹配计算模块时,进一步将当前搜索窗口的全局匹配度提供给搜索窗口综合匹配计算模块;
所述搜索窗口综合匹配计算模块,进一步还根据所述当前搜索窗口的全局匹配度,执行所述计算当前搜索窗口的综合匹配度的操作。
较佳地,该系统进一步包括:区域积分计算模块,用于通过积分运算,计算整个跟踪区域内以整个跟踪区域预先设定的一角为起始点的所有区域的直方图,得到区域积分直方图,并将得到的区域积分直方图提供给所述搜索窗口全局直方图匹配模块和所述搜索窗口分块直方图匹配模块;
所述搜索窗口全局直方图匹配模块,利用所述区域积分直方图,执行所述计算当前搜索窗口的全局直方图的操作;
所述搜索窗口分块直方图匹配模块,利用所述区域积分直方图,执行所述计算子窗口直方图的操作。
较佳地,该系统进一步包括:目标分类器跟踪模块,用于利用分类器对整个跟踪区域中目标可能出现的每个搜索窗口进行置信度描述,若不存在置信度满足跟踪要求的搜索窗口,则向所述搜索窗口全局直方图匹配模块发送跟踪失败的通知;
所述搜索窗口全局直方图匹配模块,进一步地根据所述跟踪失败的通知,执行所述从跟踪区域中确定当前搜索窗口的操作。
较佳地,该系统进一步包括:直方图匹配模块;
则目标分类器跟踪模块进一步用于:若存在置信度满足跟踪要求的搜索窗口,则将所述置信度满足跟踪要求的搜索窗口提供给直方图匹配模块;
直方图匹配模块,用于计算目标分类器跟踪模块提供的置信度满足跟踪要求的搜索窗口的直方图,将计算的搜索窗口直方图与目标图像的标准直方图进行匹配,根据匹配结果,确定目标的跟踪位置。
较佳地,该系统进一步包括:直方图权重更新模块;
则所述直方图匹配模块,进一步地将直方图匹配成功的搜索窗口提供给直方图权重更新模块;
直方图权重更新模块,用于根据存储的预定个数的搜索窗口的子窗口直方图,计算每个子窗口的分块匹配度的权重,将所述计算的每个子窗口的分块匹配度的权重提供给所述搜索窗口综合匹配计算模块;
所述搜索窗口综合匹配计算模块,进一步地根据直方图权重更新模块提供的每个子窗口的分块匹配度的权重,执行所述根据所述当前搜索窗口的所有子窗口的分块匹配度,计算当前搜索窗口的综合匹配度的操作。
从上述方案可以看出,本发明中在进行直方图匹配时,通过采用分块直方图匹配,从而避免了由于在统计过程中丢失各像素的空间位置信息而造成跟踪失败的情况,进一步保证了跟踪效果。
此外,本发明中在进行直方图匹配时,除了包括颜色直方图,还包括梯度方向直方图,从而在跟踪区域内存在与目标颜色相似的物体时,不会受到该物体的干扰,进一步保证了跟踪效果。
另外,本发明中首先计算整个跟踪区域的区域积分直方图,然后利用区域积分直方图,通过加减运算,逐次计算每个搜索窗口的直方图。即本发明中对每个像素点所属的直方图组别只在计算积分直方图时计算一次,之后对每个搜索窗口的直方图的计算只需根据区域积分直方图的结果,进行三次加减运算,得到搜索窗口的直方图,在对大量窗口进行匹配的情况下,该算法大大降低了运算量,提高了运算速度,保证了跟踪的实时性;又因为利用这种区域积分直方图的算法,可对本发明中目标可能出现的每个搜索窗口都进行直方图匹配,根据所有匹配结果得到目标的预测位置,从而进一步保证了跟踪效果。
最后,本发明中在进行直方图匹配时,进一步采用与目标分类器相结合的方法,从而由目标分类器实现粗略跟踪,进一步提高了跟踪实时性,之后由直方图匹配实现精细跟踪,保证了跟踪效果。
具体实施方式
本发明的基本思想是:为了体现目标的边缘特征和空间位置特征,预先将目标图像按照预设的块数进行分块,并计算目标图像的分块直方图,即目标图像的标准直方图中包括分块直方图;将每个搜索窗口分别按照与目标图像对应的分块方式进行分块,得到每个搜索窗口的子窗口;计算每个子窗口的直方图,将得到的每个子窗口的直方图与目标图像对应块的分块直方图进行匹配,得到每个子窗口的分块匹配度;根据每个搜索窗口中每个子窗口的分块匹配度,得到每个搜索窗口的匹配结果,根据所述匹配结果确定目标的跟踪位置。
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
实施例一:
图1为本发明实施例一中图像跟踪方法的流程图。如图1所示,该流程包括如下步骤:
步骤101,确定当前搜索窗口。
本步骤中,可按现有技术中的选取方法确定当前搜索窗口,也可按其它方法确定当前搜索窗口。
例如:可预先在当前帧图像中设置跟踪区域,在整个跟踪区域中确定当前搜索窗口。或者,也可以在预先设定的几个搜索窗口中,确定当前搜索窗口。
本实施例中,若在当前帧图像中设置跟踪区域,则设置跟踪区域的方法可以有多种。其中一种可以为:先通过位置预测得到目标的预测位置,然后在目标的预测位置基础上,根据目标的最大运动速度来设置目标的整个跟踪区域。
例如:可采用如下的位置预测方法,得到目标的预测位置:
若跟踪到目标在时刻t的位置为(xt,yt),在时刻t-Δt的位置为(xt-1,yt-1),则可以简单的估计当前目标的速度为vx=(xt-xt-1)/Δt,vy=(yt-yt-1)/Δt。
考虑到目标的不规则运动或者跟踪过程中的偏差,为了避免上述估计不够稳定,可采用滤波器通过多帧图像来平滑速度向量,并得到如下的速度向量:
其中,k为进行平滑所需的总图像帧数。
根据目标的速度向量估计,可以预测目标在下一时刻的位置为:t+1=xt+vx(t),
其中,在对不只一个像素点的目标的位置进行预测时,(x
t,y
t)和
都为目标的位置中心点,因此,得到目标在下一时刻的预测位置中心点
之后,根据该中心点确定目标在下一时刻的预测位置(x
p,y
p,w
p,h
p),其中,(x
p,y
p)为目标在下一时刻位置的左上角点的坐标,(w
p,h
p)为目标在下一时刻位置的宽度和高度。
得到上述预测位置之后,可按照如下方法,根据目标的最大运动速度来设置目标的整个跟踪区域:
设最大预测误差Δmax=(Δxmax,Δymax),则目标可能出现的矩形区域为(xs,ys,ws,hs),其中,xs=xp-Δxmax,ys=yp-Δymax,ws=wp+2Δxmax,hs=hp+2Δymax。
将矩形区域(xs,ys,ws,hs)设置为整个跟踪区域。
在整个跟踪区域内确定当前搜索窗口时,可采用现有技术中的多种确定方法,以采用穷尽搜索法为例,在整个跟踪区域中逐次搜索目标可能出现的区域,即搜索窗口。其中,目标可能出现的搜索窗口还包括可能尺度下的区域窗口,假设目标区域为w×h,可能的尺度c为0.9倍、1.0倍、1.1倍等,则目标可能出现的搜索窗口包括0.9w×0.9h、w×h、1.1w×1.1h等大小的区域窗口。
在确定当前搜索窗口时,可在每个尺度下,按照一定的方向,如由左向右,由上向下的方向,或由上向下,由左向右的方向等依次确定当前搜索窗口。例如,具体实现过程可以为:在每个可能的尺度c下,计算尺度c所对应目标区域的宽度wc=c×w和高度hc=c×h,之后按照一定的方向确定每个可能的搜索窗口左上角位置(x,y),得到当前搜索窗口(x,y,wc,hc)。其中c∈C,C为所有可能尺度的集合,如C={0.8,0.9,1.0,1.1,1.2}等。
此外,还可以采用多种其它的方法,具体采用何种方法根据实际需要而定。
若在预先设定的几个搜索窗口中,确定当前搜索窗口,则本实施例中,可预先对预设的几个搜索窗口进行编号,假设共有N个搜索窗口,则可将N个搜索窗口依次编号为1,2,......,N。可确定N个中的一个作为当前搜索窗口,如可按照编号次序,确定当前搜索窗口。
步骤102,将所确定的当前搜索窗口按照与目标图像相同的分块方法进行分块,得到多个子窗口。
本步骤中,假设目标图像分为M×N块,则也将当前搜索窗口分为大小对应的M×N块。
步骤103,计算每个子窗口的直方图,并将所计算的子窗口直方图与目标图像对应块的分块直方图进行匹配,得到每个子窗口匹配结果。
本步骤中,子窗口匹配结果的具体计算过程可以为:
for m=1→M
{for n=1→N
{计算第(m,n)块的子窗口直方图;
将所计算的第(m,n)块子窗口直方图与目标图像的第(m,n)块分
块直方图进行匹配,记录匹配结果;
}
}
上述计算过程表示,按照从上到下,从左到右的方向逐次选取当前块,并计算当前块的子窗口直方图,将所计算的当前块的子窗口直方图与目标图像对应块的分块直方图进行匹配,并记录匹配结果(匹配度),之后选取当前块的下一块作为当前块,继续上述过程,直到匹配完所有子窗口。
其中,计算第(m,n)块的子窗口直方图时,计算方法与计算未分块的搜索窗口直方图的方法相同,可应用现有技术中的多种直方图计算方法进行计算,也可采用其它直方图计算方法进行计算。
例如:计算直方图的一般过程包括:确定直方图的组数K,即位数,或称长度;然后计算搜索区域(子窗口区域或未分块的搜索窗口区域)中每个像素点所属直方图组别k的组别信息fk(i,j),k∈(0,1,...,K-1),即计算每个像素点属于直方图的第几位。然后根据直方图组数和搜索区域中每个组别k的像素个数,得到每个搜索区域的直方图。
一般情况下,直方图都为颜色直方图,而颜色标准一般包括红绿蓝(RGB)图像标准,或YUV图像标准等。计算颜色直方图时,可以将整个颜色作为一个特征通道,计算该特征通道的直方图,或者,为了描述目标图像的颜色特征,也可以将其中每一个颜色通道作为一个特征通道,计算每个特征通道的直方图。如:若采用RGB图像标准,则特征通道可以为红(R)、绿(G)、蓝(B)三个颜色通道;若采用YUV图像标准,则特征通道可以为Y、U、V三个颜色通道。
因为像素的亮度色阶分布为0~255,总数为256,若以其中的一个特征通道为例,用I(i,j)表示(i,j)处像素点在该特征通道中的色阶值,并用fk(i,j),k∈(0,1,...,K-1)表示(i,j)处像素点所属的组别信息,则(i,j)处像素点在该特征通道中所属的直方图组别计算可以为:
其中,为1表示属于第k组,为0表示不属于第k组。当然,也可以采用区间计算法,即分别计算各组别的边界值,根据组别的边界值,判断I(i,j)所属的组别区间,从而得到I(i,j)所属的组别。计算出所有fk(i,j)后,得到每个特征通道的每个组别中的像素点个数,根据直方图组数和每个特征通道中的各组别的像素点个数,得到各特征通道的直方图。则搜索区域的直方图hwin包括每个颜色通道的直方图,即hwin=[hr,hg,hb],或hwin=[hy,hu,hv],相应地,预先计算的目标图像的标准直方图hstd为:hstd=[hr,hg,hb],或hstd=[hy,hu,hv]。其中,hr,hg,hb分别为R、G、B特征通道的直方图;同理,hy,hu,hv分别为Y、U、V特征通道的直方图。
由于颜色直方图只是对颜色的一种描述,因此容易受到与目标颜色相似的物体的干扰,使跟踪不准确,为此,可在采用颜色直方图的基础上,结合另外一种直方图,即梯度方向直方图。
梯度方向直方图是指:按照直方图组数确定梯度方向的角度区间;计算每个像素点的梯度方向所属的角度区间,得到该像素点所属的直方图组别。具体计算过程如下:
假设用I(i,j)表示(i,j)处像素点的灰度值,用Gx(i,j)表示x方向上的梯度值,Gy(i,j)表示y方向上的梯度值,Gdir(i,j)表示梯度方向,则有:
G
x(i,j)=I(i+1,j)-I(i-1,j),G
y(i,j)=I(i,j+1)-I(i,j-1),
因为
因此可将梯度方向在
范围内对直方图分组,若直方图组数为K,则将
分为K个角度区间。如可进行如下区间划分:
计算出每个像素点的Gdir(i,j),根据Gdir(i,j)所处区间的范围,得到该像素点所属直方图的组别。
实际应用中,为了避免进行反正切运算,可以首先计算区间边界上点的正切值bi,然后计算(i,j)处像素点的梯度比Gy(i,j)/Gx(i,j)所处的区间(bi-1,bi),然后得到该像素点所属的直方图组别。若仍用fk(i,j),k∈(0,1,...,K-1)表示(i,j)处像素点所属的组别信息,则具体计算过程可以为:
之后,对每个梯度方向直方图组别中的像素个数进行统计,最后根据梯度方向直方图组数和每个组别中的像素个数,得到搜索区域的梯度方向直方图hdir。若计算颜色直方图时采用的是对颜色的每个颜色通道都计算直方图,则结合颜色直方图和梯度方向直方图后每个搜索区域的总直方图hwin为:hwin=[hr,hg,hb,hdir],(或hwin=[hy,hu,hv,hdir]),相应地,预先计算的目标图像的标准直方图hstd为:hstd=[hr,hg,hb,hdir],(或hstd=[hy,hu,hv,hdir]),即此时特征通道还包括梯度方向通道。
其中,梯度方向直方图也可单独使用,此时搜索区域的直方图hwin为:hwin=hdir相应地,预先计算的目标图像的标准直方图hstd为:hstd=hdir。
将所计算的第(m,n)块子窗口直方图与目标图像的第(m,n)块分块直方图进行匹配时,可采用多种匹配方法,如可采用欧式距离作为直方图匹配的标准,若用hmn表示第(m,n)块的子窗口直方图,用hstmn表示目标图像第(m,n)块的分块直方图,用M(hmn,hstmn)表示hmn与hstmn的匹配度,则
其中,若只采用颜色直方图,则d∈D,D={r,g,b}(或D={y,u,v});若采用颜色直方图结合梯度方向直方图,则d∈D,D={r,g,b,Gdir}(或D={y,u,v,Gdir}),或d∈D,D=Gdir;若只采用梯度方向直方图,则d∈D,D=Gdir。
其中,K为直方图的组数,k为直方图的组别,D(hmn.d,hstmn.d)为d特征通道中第(m,n)块子窗口直方图与目标图像的第(m,n)块分块直方图之间的偏差大小,M(hmn,hstmn)为第(m,n)块子窗口直方图与目标图像的第(m,n)块分块直方图的综合偏差。
较佳地,上述计算过程中,为了使计算更加准确,也可以在计算公式中添加权重,如D(hmn.d,hstmn.d)可以为:
其中,w(d,k)为d特征通道中直方图第k组的权重;而M(hmn,hstmn)也可以为: 其中,wd为d特征通道的权重。
最后,将得到的分块匹配度M(hmn,hstmn)进行记录。
步骤104,根据当前搜索窗口的子窗口匹配结果,计算当前搜索窗口与目标的综合匹配结果。
其中,若用Mz表示当前搜索窗口与目标图像的综合匹配结果,则综合匹配结果Mz可以为:
其中,wmn为搜索窗口分块匹配结果M(hmn,hstmn)的权重。权重wmn可以根据经验值设置,也可以根据实际需要设置。
步骤105,判断是否所有搜索窗口都已分块匹配完毕,如果是,则执行步骤106;否则,返回执行步骤101。
步骤106,根据综合匹配结果,得到目标的跟踪位置。
本实施例中,步骤104中计算的匹配结果Mz为当前搜索窗口与目标图像的综合匹配度,而Mz实际上得到的是二者之间的偏差大小,因此,Mz的值越小,表示当前搜索窗口与目标图像越匹配。根据步骤104中记录下来的所有搜索窗口的Mz,从中选取Mz值最小的搜索窗口区域作为目标的跟踪位置。
上述对本发明实施例一中的图像跟踪方法进行了详细描述,下面再对本发明实施例一中图像跟踪系统进行详细描述。
图2为本发明实施例一中图像跟踪系统的结构示意图。如图2所示,该系统包括:搜索窗口分块直方图匹配模块、搜索窗口综合匹配计算模块和跟踪位置确定模块。
其中,搜索窗口分块直方图匹配模块,用于对确定的当前搜索窗口按照与目标图像对应的分块方式进行分块,得到子窗口,对每个子窗口,计算子窗口直方图,将所计算的子窗口直方图与目标图像对应块的分块直方图进行匹配,得到每个子窗口的分块匹配度,将所得到的当前搜索窗口的分块匹配度提供给搜索窗口综合匹配计算模块。
搜索窗口综合匹配计算模块,用于根据搜索窗口分块直方图匹配模块提供的当前搜索窗口的所有子窗口的分块匹配度,计算当前搜索窗口与目标的综合匹配度,并将计算得到的当前搜索窗口的综合匹配度提供给跟踪位置确定模块。
跟踪位置确定模块,用于根据搜索窗口综合匹配计算模块提供的所有搜索窗口的综合匹配度,将匹配最好的搜索窗口区域作为目标的跟踪位置。
其中,图2所示系统中每个功能模块的详细实现过程可以与图1所示方法流程中的描述一致。
实施例二:
图3为本发明实施例二中图像跟踪方法的流程图。如图3所示,该流程包括如下步骤:
步骤301,在当前帧图像整个跟踪区域中确定当前搜索窗口。
本实施例中,可在当前帧图像中设置跟踪区域,则本步骤中在整个跟踪区域中确定当前搜索窗口的方法可与图1所示步骤101中的描述一致。
步骤302,计算当前搜索窗口的全局直方图。
本步骤中,计算全局直方图的方法与图1所示步骤103中描述的直方图计算方法一致。并且该处的全局直方图可以是颜色直方图,也可以是颜色直方图结合梯度方向直方图,还可以是梯度方向直方图等。
步骤303,将所计算的当前搜索窗口的全局直方图与预先计算的目标图像的全局直方图进行匹配,得到当前搜索窗口的全局匹配度。
本步骤中,全局匹配度的计算方法也有多种,如也可采用欧式距离作为直方图匹配的标准,若用hwin表示当前搜索窗口的全局直方图,用hstd表示目标图像的全局直方图,用M(hwin,hstd)表示hwin与hstd的匹配度,则M(hwin,hstd)的计算过程可以为:
其中,K为直方图的组数,k为直方图的组别,D(hwin.d,hstd.d)为d特征通道中搜索窗口直方图与目标图像的标准直方图之间的偏差大小,M(hwin,hstd)为hwin与hstd的综合偏差。其中,若只采用颜色直方图,则d∈D,D={r,g,b}(或D={y,u,v});若采用颜色直方图结合梯度方向直方图,则d∈D,D={r,g,b,Gdir}(或D={y,u,v,Gdir}),或d∈D,D=Gdir;若只采用梯度方向直方图,则d∈D,D=Gdir。
较佳地,上述计算过程中,为了使计算更加准确,可以在计算公式中添加权重,如D(hwin.d,hstd.d)可以为:
其中,w(d,k)为d特征通道中直方图第k组的权重;M(hwin,hstd)也可以为: 其中,wd为d特征通道的权重。
其中,权重w(d,k)和wd可以由经验值或实际需要得到。
最后,将得到的搜索窗口匹配度M(hwin,hstd)进行记录。
步骤304,判断是否所有搜索窗口都已匹配完毕,如果是,则执行步骤305;否则,返回执行步骤301。
步骤305,根据每个搜索窗口的全局匹配度,得到多个全局匹配度满足预设条件的搜索窗口。
本步骤中,根据步骤303中记录的匹配结果M(hwin,hstd),按照预设的条件,选取符合条件的M(hwin,hstd)值较小的多个搜索窗口。其中预设条件可以为选择的搜索窗口个数N,则根据该预设条件选取N个M(hwin,hstd)值较小的搜索窗口;或者预设条件可以为M(hwin,hstd)值门限,则根据该预设条件选取M(hwin,hstd)值小于该门限的搜索窗口。
本步骤中可对选取的多个搜索窗口进行编号,假设选取了N个搜索窗口,则可将N个搜索窗口依次编号为1,2,......,N。
步骤306,从得到的多个搜索窗口中确定当前搜索窗口。
本步骤中,可按照图1所示步骤101中描述的方式进行确定,若步骤305中对所选取的多个窗口进行了编号,则本步骤中,可按照编号次序,确定当前搜索窗口。
步骤307,将所确定的当前搜索窗口按照与目标图像相同的分块方法进行分块,得到多个子窗口。
本步骤的具体实现过程可与图1所示步骤102中的描述一致。
步骤308,计算每个子窗口的直方图,并将所计算的子窗口直方图与目标图像对应块的分块直方图进行匹配,得到每个子窗口匹配结果。
本步骤的具体实现过程可与图1所示步骤103中的描述一致。
步骤309,根据当前搜索窗口的子窗口匹配结果,计算当前搜索窗口与目标的综合匹配结果。
本步骤的具体实现过程可与图1所示步骤104中的描述一致。也可以是按照如下方法进行计算:
若仍用Mz表示当前搜索窗口与目标图像的综合匹配结果,则综合匹配结果Mz可以为:
其中,w1为搜索窗口全局匹配结果M(hwin,hstd)的权重,wmn为搜索窗口分块匹配结果M(hmn,hstmn)的权重。权重w1和wmn可以根据经验值设置,也可以根据实际需要设置。
步骤310,判断是否所选取的搜索窗口都已分块匹配完毕,如果是,则执行步骤311;否则,返回执行步骤306。
步骤311,根据综合匹配结果,得到目标的跟踪位置。
本步骤中,根据综合匹配结果Mz,从中选取Mz值最小的搜索窗口区域作为目标的跟踪位置。
若需继续跟踪目标,则提取下一帧图像,返回执行步骤301。
上述对本发明实施例二中的图像跟踪方法进行了详细描述,下面再对本发明实施例二中图像跟踪系统进行详细描述。
图4为本发明实施例二中图像跟踪系统的结构示意图。如图4所示,该系统在图2所示系统的基础上,进一步包括:搜索窗口全局直方图匹配模块和搜索窗口选取模块。
其中,搜索窗口全局直方图匹配模块,用于从跟踪区域中确定当前的搜索窗口,并计算当前搜索窗口的全局直方图,将计算得到的当前搜索窗口的全局直方图与预先计算的目标图像的全局直方图进行匹配,将匹配结果提供给搜索窗口选取模块。
搜索窗口选取模块,用于根据搜索窗口全局直方图匹配模块提供的所有搜索窗口的匹配结果,从中选取满足预设条件的多个搜索窗口,提供给所述搜索窗口分块直方图匹配模块。
则搜索窗口分块直方图匹配模块,进一步地从搜索窗口选取模块提供的搜索窗口中确定当前的搜索窗口,对所述确定的当前搜索窗口执行所述按照与目标图像对应的分块方式进行分块的操作。
此外,搜索窗口分块直方图匹配模块将所得到的当前搜索窗口的分块匹配度提供给搜索窗口综合匹配计算模块时,还可进一步将当前搜索窗口的全局匹配度提供给搜索窗口综合匹配计算模块。则搜索窗口综合匹配计算模块,进一步地,还可根据所述当前搜索窗口的全局匹配度,执行所述计算当前搜索窗口的综合匹配度的操作,即搜索窗口综合匹配计算模块,用于根据搜索窗口分块直方图匹配模块提供的当前搜索窗口的全局匹配度及当前搜索窗口中所有子窗口的分块匹配度,计算当前搜索窗口的综合匹配度,并将计算得到的当前搜索窗口的综合匹配度提供给跟踪位置确定模块。
实施例三:
本实施例中的图像跟踪方法可与实施例一中的图像跟踪方法一致,也可与实施例二中的图像跟踪方法一致。其区别在于:
为了缩减直方图的计算次数,提高运算速度,以保证跟踪的实时性,本实施例中,对实施例一和实施例二中所述的直方图(包括分块直方图和全局直方图)采用图5所示的方法进行计算,图5为本发明实施例三中直方图计算方法的流程图,该流程包括如下步骤:
步骤501,预先计算整个跟踪区域的区域积分直方图。
其中,计算整个跟踪区域的区域积分直方图时,可通过积分运算,计算整个跟踪区域内以整个跟踪区域预先设定的一角为起始点的所有区域的直方图,得到区域积分直方图。
具体可以为:确定积分直方图的组数K,即位数,或称长度;然后计算整个跟踪区域中每个像素点所属直方图组别k的组别信息fk(i,j),k∈(0,1,...,K-1),即计算每个像素点属于直方图的第几位。为统一起见,本文中凡涉及起始点的地方,都按起始点为0点进行处理;预先设定整个跟踪区域的一角O作为起始点,统计整个跟踪区域中以O作为起始点的所有区域Ci,j中属于每个组别k的像素个数,将每个Ci,j中属于每个组别k的像素个数统称为每个Ci,j中属于每个组别k的区域积分像素个数IIk(i,j);根据直方图组数和每个以O作为起始点的区域Ci,j中每个组别k的区域积分像素个数IIk(i,j),得到每个区域Ci,j的直方图,并将每个Ci,j的直方图统称为区域积分直方图。其中,对于步骤101中所设置的跟踪区域,Ci,j中i,j的取值为0≤i<ws,0≤j<hs,且
具体实现时,为了快速统计每个Ci,j中每个直方图组别中的像素个数,可以采用加法递推运算,根据每个像素点所属的直方图组别信息,在整个跟踪区域起始点O所属的一条边的方向上,对每个组别中的像素点个数进行加法递推计算,得到每个组别在该方向上的方向积分像素个数,对得到的每个组别的方向积分像素个数,在整个跟踪区域O所属的另一条边的方向上进行加法递推计算,得到每个Ci,j中每个组别的区域积分像素个数。
其中,O可以为左上角,或右上角,或左下角,或右下角,O所属的一条边的方向可以是行方向,也可以是列方向,若是行方向,则O所属的另一条边的方向为列方向;若是列方向,则O所属的另一条边的方向为行方向。
为方面描述,下文中均以O为左上角,O所属的一条边的方向为行方向的情况为例。
以颜色直方图的情况为例,若以颜色通道中的一个特征通道为例,用I(i,j)表示(i,j)处像素点在该特征通道中的色阶值,并用fk(i,j),k∈(0,1,...,K-1)表示(i,j)处像素点所属的组别信息,则(i,j)处像素点在该特征通道中所属的直方图组别计算可以为:
其中,为1表示属于第k组,为0表示不属于第k组。当然,也可以采用区间计算法,即分别计算各组别的边界值,根据组别的边界值,判断I(i,j)所属的组别区间,从而得到I(i,j)所属的组别。计算出所有fk(i,j)后,得到K个组别矩阵Fk,k∈(0,1,...,K-1)。
图6给出了一组计算得到的每个像素点所属直方图组别的示意图。如图6(a)所示,图6(a)为大小为7×7的跟踪区域像素矩阵示意图。为方便描述,图6中以整个跟踪区域大小为7×7的情况为例,并假设直方图组数K=8,起始点O的坐标(xs,ys)为(0,0),则在7×7的像素矩阵跟踪区域中,每个像素点所属直方图组别的情况分别如图6(b)中所示的8个组别矩阵Fk,k∈(0,1,...,7),图6(b)为图6(a)所示像素矩阵中每个像素点所属直方图组别信息的矩阵图。如图6(b)所示,F0示出了像素点在直方图中第0组的分布,......,F7示出了像素点在直方图中第7组的分布,Fk中的1表示属于直方图中的k组,0表示不属于直方图中的k组。如:F0中(1,2)位置处的值为1,即f0(1,2)的值为1,而其它Fk,k∈(1,...,7)中相应位置处的值都为0,即fk(i,j),k∈(1,...,7)为0,表示图6(a)中(1,2)位置处的像素点属于直方图的第0组,依次类推,图6(b)中的组别矩阵Fk示出了每个像素点所属直方图的组别信息。
在得出了每个像素点所属的直方图组别信息后,下面对每个直方图组别中的像素个数的统计进行详细描述。
若用RIk表示第k组的行积分像素个数矩阵,用RIk(i,j)表示第k组的行积分像素个数矩阵中从像素矩阵第x行起始点(i,0)到点(i,j)处的行积分像素个数,则RIk(i,j)的计算公式可以为:
其中,RIk(0,j)=fk(0,j)。
具体实现时,计算过程可以为:
for j=0→hs-1
{RIk(0,j)=fk(0,j)
for i=1→ws-1
RIk(i,j)=RIk(i-1,j)+fk(i,j)
}
上述计算过程表示:从组别矩阵Fk的第0行到第hs-1行,即j=0→hs-1,对每一行都进行加法递推计算,其中加法递推计算为:将该行的第一个值作为该行积分像素个数的初始值,即RIk(0,j)=fk(0,j),将初始值与该行的第二个值相加得到第二个行积分像素个数值,将第二个行积分像素个数值与第三个值相加得到第三个行积分像素个数值,依次递推,直到得到该行最后一个行积分像素个数值,即i=1→ws-1,RIk(i,j)=RIk(i-1,j)+fk(i,j)。
对于图6(a)中所示的7×7的像素矩阵来说,hs=7,ws=7,则可得到如图7所示的8个7×7的行积分像素个数矩阵RIk。
以计算第0组的行积分像素个数矩阵RI0为例,从第一行开始计算,赋初值,即RI0(0,0)=f0(0,0)=0,之后递推计算,RI0(1,0)=RI0(0,0)+f0(1,0)=0+1=1,RI0(2,0)=RI0(1,0)+f0(2,0)=1+0=1,......,RI0(6,0)=RI0(5,0)+f0(6,0)=3+0=3,然后开始计算第二行,过程与第一行相同,直到计算完第6行,第0组的行积分像素个数计算完毕。
对于其它组别的行积分像素个数按照与第0组的行积分像素个数相同的计算过程进行计算,最后得到每个组别的行积分像素个数,即得到每个组别在行方向上的方向积分像素个数。
对得到的每个组别的行积分像素个数RIk(i,j),在整个跟踪区域起始点O所属的另一条边的方向上即列方向上进行加法递推计算,若用IIk表示第k组的区域积分像素个数矩阵,用IIk(i,j)表示第k组的区域积分像素个数矩阵中从像素矩阵起始点(0,0)到点(i,j)的区域Ci,j的像素个数,将IIk(i,j)称为点(i,j)对应的区域积分像素个数,则IIk(i,j)的计算公式可以为: 其中,IIk(i,0)=RIk(i,0)。
具体实现时,计算过程可以为:
for i=0→ws-1
{IIk(i,0)=RIk(i,0)
for j=1→hs-1
IIk(i,j)=IIk(i,j-1)+RIk(i,j)
}
上述计算过程表示:从行积分像素个数RIk第0列到第ws-1列,即i=0→ws-1,对每一列都进行加法递推计算,其中加法递推计算为:将该列的第一个值作为该列元素对应的区域积分像素个数的初始值,即IIk(i,0)=RIk(i,0),将初始值与该列的第二个值相加得到第二个区域积分像素个数值,将第二个区域积分像素个数值与第三个值相加得到第三个区域积分像素个数值,依次递推,直到得到该列元素对应的最后一个区域积分像素个数值,即j=1→hs-1,IIk(i,j)=IIk(i,j-1)+RIk(i,j)。
其中,元素对应的区域积分像素个数值为:以起始点O与该元素作为对角线的矩形区域的区域积分像素个数值。其中,极端情况下,起始点与该元素位于同一行或同一列,则以起始点O与该元素为对角线的矩形区域为i×1或1×j的区域。
对于图6(a)中所示的7×7的像素矩阵来说,hs=7,ws=7,则可得到如图8所示的8个7×7的区域积分像素个数矩阵IIk。
以计算第0组的区域积分像素个数矩阵II0为例,从第一列开始计算,首先赋初值,即II0(0,0)=RI0(0,0)=0,之后进行递推计算,II0(0,1)=II0(0,0)+RI0(0,1)=0+0=0,II0(0,2)=II0(0,1)+RI0(0,2)=0+0=0,......,II0(0,6)=II0(0,5)+RI0(0,6)=0+0=0,然后开始计算第二列,过程同第一列相同,直到计算完第6列,第0组的区域积分像素个数计算完毕。
对于其它组别的区域积分像素个数按照与第0组的区域积分像素个数相同的计算过程进行计算,最后得到每个组别的区域积分像素个数,即得到每个Ci,j中每个组别的区域积分像素个数。
图9(a)为图6(a)所示像素矩阵的一种区域划分示意图。其中,H点对应的区域积分像素个数IIk(1,1)为图中OAHG表示的区域I中的像素个数,C点对应的区域积分像素个数IIk(5,1)为图中OBCG表示的区域II中的像素个数,D点对应的区域积分像素个数IIk(5,4)为图中OBDF表示的区域IV中的像素个数,E点对应的区域积分像素个数IIk(1,4)为图中OAEF表示的区域III中的像素个数。其中,区域I可表示为C1,1,区域II可表示为C5,1,区域IV可表示为C5,4,区域III可表示为C1,4。
根据直方图组数和每个区域Ci,j中各组别的像素个数,可得到每个区域Ci,j的直方图,即区域积分直方图hi,j。其中,若采用将颜色的每个颜色通道都作为特征通道计算直方图,则每个区域Ci,j的直方图hi,j包括每个颜色通道的直方图,即hi,j=[hr,hg,hb]i,j,或hi,j=[hy,hu,hv]i,j。其中,hr,hg,hb分别为R、G、B特征通道的直方图;同理,hy,hu,hv分别为Y、U、V特征通道的直方图。
对于梯度方向直方图,可以采用图1所示步骤103中描述的方法,得到每个像素点的Gdir(i,j),进而得到该像素点所属直方图的组别,然后对每个梯度方向直方图组别中的像素个数进行统计,其中统计方法与颜色直方图的统计方法相同,此处不再赘述。
最后根据梯度方向直方图组数和每个区域Ci,j中每个组别中的像素个数,得到每个区域Ci,j的梯度方向直方图hdir。
若计算颜色直方图时采用的是对颜色的每个颜色通道都计算直方图,则结合颜色直方图和梯度方向直方图后每个区域Ci,j的总直方图hi,j为:hi,j=[hr,hg,hb,hdir]i,j,或hi,j=[hy,hu,hv,hdir]i,j,即此时特征通道还包括梯度方向通道。若只采用梯度方向直方图,则有hi,j=hdir。
步骤502,利用区域积分直方图,计算所确定的当前搜索区域的直方图。
本步骤中,对于搜索窗口的全局直方图,计算所确定的当前搜索窗口的全局直方图时,将该搜索窗口右下角对应的区域积分直方图与该搜索窗口左上角对应的区域积分直方图相加之后,减去该搜索窗口右上角对应的区域积分直方图和左下角对应的区域积分直方图,得到该搜索窗口的直方图。如:对于当前搜索窗口为(x,y,wc,hc)时,则该搜索窗口为Cx+wc,y+hc+Cx,y-Cx+wc,y-Cx,y+hc,该搜索窗口的直方图为hx+wc,y+hc+hx,y-hx+wc,y-hx,y+hc。
假设当前搜索窗口为图9(a)所示的HCDE表示的区域窗口,则计算区域窗口HCDE的直方图时,需要计算该区域窗口中属于直方图各组别的像素个数,即可利用步骤501中计算得到的区域积分像素个数进行加减运算,具体为:IIk(5,4)+IIk(1,1)-IIk(5,1)-IIk(1,4)。
如图9(b)所示,HCDE表示的区域窗口中属于直方图第0组的像素个数为:II0(5,4)+II0(1,1)-II0(5,1)-II0(1,4)=9+1-5-2=3;属于直方图第1组的像素个数为II1(5,4)+II1(1,1)-II1(5,1)-II1(1,4)=8+2-4-4=2;......;属于直方图第7组的像素个数为II7(5,4)+II7(1,1)-II7(5,1)-II7(1,4)=4+0-0-0=4。
根据直方图组数和该搜索窗口中每个直方图组别中的像素个数,得到该搜索窗口的直方图hwin。其中,若采用将颜色的每个颜色通道都作为特征通道计算直方图,则搜索窗口的直方图hwin包括每个颜色通道的直方图,即hwin=[hr,hg,hb],或hwin=[hy,hu,hv]。其中,hr,hg,hb分别为R、G、B特征通道的直方图;同理,hy,hu,hv分别为Y、U、V特征通道的直方图。
对于搜索窗口的子窗口直方图,计算所确定的当前子窗口的直方图时,计算方法与计算搜索窗口全局直方图的方法相同,如:假设第(m,n)块的窗口区域为(mx,ny,wMN,hMN)时,则该子窗口为Cmx+wMN,ny+hMN+Cmx,ny-Cmx+wMN,ny-Cmx,ny+hMN,该子窗口的直方图为hmx+wMN,ny+hMN+hmx,ny-hmx+wMN,ny-hmx,ny+hMN。
相应地,本实施例中的系统可在实施例一中的系统或实施例二中的系统的基础上,进一步包括:区域积分计算模块。
参见图10,图10为本发明实施例三中一种图像跟踪系统的结构示意图。该系统在图2所示系统的基础上,添加了区域积分计算模块,用于通过积分运算,计算整个跟踪区域内以整个跟踪区域预先设定的一角为起始点的所有区域的直方图,得到区域积分直方图,并将得到的区域积分直方图提供给搜索窗口分块直方图匹配模块。
则搜索窗口分块直方图匹配模块,利用区域积分计算模块提供的区域积分直方图,执行所述计算子窗口直方图的操作。
参见图11,图11为本发明实施例三中又一种图像跟踪系统的结构示意图。该系统在图4所示系统的基础上,添加了区域积分计算模块,用于通过积分运算,计算整个跟踪区域内以整个跟踪区域预先设定的一角为起始点的所有区域的直方图,得到区域积分直方图,并将得到的区域积分直方图提供给搜索窗口全局直方图匹配模块和搜索窗口分块直方图匹配模块。
则搜索窗口全局直方图匹配模块,利用区域积分计算模块提供的区域积分直方图,执行所述计算当前搜索窗口的全局直方图的操作;搜索窗口分块直方图匹配模块,利用区域积分计算模块提供的区域积分直方图,执行所述计算子窗口直方图的操作。
实施例四:
本实施例中,在实施例一或实施例二或实施例三的基础上,结合目标分类器进行目标的位置跟踪。由目标分类器对目标进行粗略跟踪,以进一步提高跟踪实时性,降低运算量,之后由直方图匹配对目标进行精细跟踪,以保证跟踪效果。
图12为本发明实施例四中图像跟踪方法的流程图。如图12所示,该流程包括如下步骤:
步骤1201,利用分类器在当前图像整个跟踪区域中目标可能出现的每个搜索窗口进行置信度描述,若存在置信度满足跟踪要求的搜索窗口,则执行步骤1202;若不存在置信度满足跟踪要求的搜索窗口,则执行步骤1204。
本实施例中,设置跟踪区域的方法可以和实施例一中步骤101中的描述一致。
若假设目标图像的大小为wp×hp,则每个可能的尺度c下,尺度c所对应搜索窗口的宽度为:wc=c×wp,高度为hc=c×hp,其中c∈C,C为所有可能尺度的集合,如C={0.8,0.9,1.0,1.1,1.2}等。
又假设目标分类器的标准窗口大小为wstd×hstd,则进行目标分类器跟踪时,首先需要将跟踪区域中目标可能出现的每个搜索窗口放缩到目标分类器的标准窗口大小,判断该搜索窗口是否可能为目标,对可能为目标的搜索窗口进行存储,然后对所存储的搜索窗口利用目标分类器进行置信度描述,若置信度大于预先设置的阈值,则存在置信度满足要求的搜索窗口,并可选出置信度最大的窗口,此时跟踪成功;若置信度小于预设的阈值,则不存在置信度满足要求的搜索窗口,此时跟踪失败。
步骤1202,对置信度满足跟踪要求的搜索窗口进行直方图匹配,若直方图匹配成功,则执行步骤1203;否则,进一步地,可执行步骤1204。
本步骤中,可以是对所有置信度满足跟踪要求的搜索窗口进行直方图匹配,也可以是对部分置信度满足跟踪要求的搜索窗口进行直方图匹配,如选取置信度较大的若干个置信度满足跟踪要求的搜索窗口进行直方图匹配,或选取置信度最大的一个置信度满足跟踪要求的搜索窗口进行直方图匹配。
对置信度满足跟踪要求的搜索窗口进行直方图匹配时,可采用分块直方图匹配,也可采用全局直方图匹配,还可采用全局直方图与分块直方图结合的方法进行匹配。例如,采用全局直方图匹配时,确定直方图组数后,对置信度满足跟踪要求的搜索窗口,计算该搜索窗口中像素点所属的直方图组别,统计每个组别中的像素个数,根据直方图组数和每个组别中的像素个数,得到该搜索窗口的直方图,将计算得到的搜索窗口直方图与目标图像的标准直方图进行匹配,若存在直方图匹配结果满足要求的搜索窗口,则直方图匹配成功,将其中匹配最好的搜索窗口称为匹配成功的搜索窗口,否则,匹配失败。
其中,搜索窗口直方图和目标图像的标准直方图可以是颜色直方图,也可以是颜色直方图加梯度方向直方图,还可以是梯度方向直方图。具体采用哪种直方图,根据实际情况而定。
步骤1203,将直方图匹配成功的搜索窗口作为目标的跟踪位置,之后执行步骤1205。
步骤1204,进行直方图计算和直方图匹配跟踪计算,得到目标的跟踪位置。
本步骤中的具体实现过程可以与实施例一中的步骤101至步骤106所示流程相同,也可以与实施例二中的步骤301至步骤311所示流程相同,或者也可以与实施例三中的流程相同。
步骤1205,判断是否需要继续跟踪目标,如果是,则提取下一帧图像,并返回执行步骤1201,否则,结束本流程。
至此,实施例三中的图像跟踪方法流程结束。
上述流程中,步骤1202和步骤1203也可以省略,则步骤1201中若分类器跟踪成功,则直接将置信度满足跟踪要求的搜索窗口中置信度最高的搜索窗口作为目标的跟踪位置,然后执行步骤1205。
上述对本发明实施例四中的图像跟踪方法进行了详细描述,下面再对本发明实施例四中图像跟踪系统进行详细描述。
图13为本发明实施例四中一种图像跟踪系统的结构示意图。如图13所示,该系统在图2或图10所示系统的基础上,添加了目标分类器跟踪模块和直方图匹配模块。
此时,目标分类器跟踪模块,用于利用分类器对整个跟踪区域中目标可能出现的每个搜索窗口进行置信度描述,若存在置信度满足跟踪要求的搜索窗口,则跟踪成功,将置信度满足跟踪要求的搜索窗口提供给直方图匹配模块;若不存在置信度满足跟踪要求的搜索窗口,则跟踪失败,向搜索窗口分块直方图匹配模块发送跟踪失败的通知。
其中,目标分类器跟踪模块将置信度满足跟踪要求的搜索窗口提供给直方图匹配模块时,可将所有置信度满足跟踪要求的搜索窗口提供给直方图匹配模块,也可以将部分置信度满足跟踪要求的搜索窗口提供给直方图匹配模块,如选取置信度较大的若干个置信度满足跟踪要求的搜索窗口,或选取置信度最大的一个置信度满足跟踪要求的搜索窗口提供给直方图匹配模块。
直方图匹配模块,用于计算目标分类器跟踪模块提供的置信度满足跟踪要求的搜索窗口的直方图,将计算的搜索窗口的直方图与目标图像的标准直方图进行匹配,根据匹配结果,确定目标的跟踪位置。
若存在直方图匹配结果满足要求的搜索窗口,则直方图匹配成功,将其中匹配最好的搜索窗口称为匹配成功的搜索窗口,并将该匹配成功的搜索窗口作为目标的跟踪位置,若直方图匹配失败,则可结束,或进一步地向直方图匹配跟踪单元发送跟踪失败的通知,直方图匹配跟踪单元根据该跟踪失败的通知,执行所述计算每个搜索窗口的直方图的操作。
搜索窗口分块直方图匹配模块进一步用于:根据来自目标分类器跟踪模块的跟踪失败的通知,执行所述对确定的当前搜索窗口按照与目标图像对应的分块方式进行分块的操作。
图14为本发明实施例四中又一种图像跟踪系统的结构示意图。如图14所示,该系统在图4或图11所示系统的基础上,添加了目标分类器跟踪模块和直方图匹配模块。
此时,目标分类器跟踪模块,用于利用分类器对整个跟踪区域中目标可能出现的每个搜索窗口进行置信度描述,若存在置信度满足跟踪要求的搜索窗口,则跟踪成功,将置信度满足跟踪要求的搜索窗口提供给直方图匹配模块;若不存在置信度满足跟踪要求的搜索窗口,则跟踪失败,向搜索窗口全局直方图匹配模块发送跟踪失败的通知。
其中,目标分类器跟踪模块将置信度满足跟踪要求的搜索窗口提供给直方图匹配模块时,可将所有置信度满足跟踪要求的搜索窗口提供给直方图匹配模块,也可以将部分置信度满足跟踪要求的搜索窗口提供给直方图匹配模块,如选取置信度较大的若干个置信度满足跟踪要求的搜索窗口,或选取置信度最大的一个置信度满足跟踪要求的搜索窗口提供给直方图匹配模块。
直方图匹配模块,用于计算目标分类器跟踪模块提供的置信度满足跟踪要求的搜索窗口的直方图,将计算的搜索窗口的直方图与目标图像的标准直方图进行匹配,根据匹配结果,确定目标的跟踪位置。
若存在直方图匹配结果满足要求的搜索窗口,则直方图匹配成功,将其中匹配最好的搜索窗口称为匹配成功的搜索窗口,并将该匹配成功的搜索窗口作为目标的跟踪位置,若直方图匹配失败,则可结束,或进一步地向直方图匹配跟踪单元发送跟踪失败的通知,直方图匹配跟踪单元根据该跟踪失败的通知,执行所述计算每个搜索窗口的直方图的操作。
搜索窗口全局直方图匹配模块进一步用于:根据来自目标分类器跟踪模块的跟踪失败的通知,执行所述从跟踪区域中确定当前搜索窗口的操作。
其中,本实施例中的系统中也可以无需直方图匹配模块,则目标分类器跟踪模块在跟踪成功时,直接将置信度满足跟踪要求的搜索窗口中置信度最大的搜索窗口作为目标的跟踪位置。
上述实施例三中,图12所示方法流程的步骤1203中,可进一步包括:将匹配成功的搜索窗口进行存储。
则本实施例中的方法可进一步包括:当存储的搜索窗口的个数达到预设条件时,利用这些搜索窗口的全局直方图,计算每个特征通道中直方图各组别的权重w(d,k),d∈D,其中,若采用颜色直方图,则特征通道D={r,g,b}(或D={y,u,v});若采用颜色直方图加梯度方向直方图,则特征通道D={r,g,b,Gdir}(或D={y,u,v,Gdir});若只采用梯度方向直方图,则特征通道D=Gdir。
假设所存储的搜索窗口的个数为N0,所确定的直方图的组数为K,则具体计算权重的过程如下:
1、计算所存储的N个搜索窗口在每个特征通道中每个组别的全局直方图hdkn,n∈(0,1,...,N0-1),k∈(0,1,...,K-1)。
2、计算每个特征通道中的每个组别的全局直方图的均差Mhdk、方差Varhdk。
若N个搜索窗口包括不同尺度的搜索窗口,则计算均差和方差之前,首先将各自每个组别的直方图转换为标准尺度每个组别的直方图。然后再进行均差及方差计算。
具体计算过程如下:
3、利用上述均差和方差,计算w(d,k)。
其中,σ2为方差调整参数,用于避免Varhdk为0的情况,σ2的取值很小,如可以为10-5等。
为了使各组别的权重相加为1,需要对各组别的权重进行归一化,即:
k∈(0,1,...,K-1)。
进一步地,还可以利用所存储的搜索窗口的分块直方图,计算图3所示流程步骤309中的全局匹配结果的权重w1和分块匹配结果的权重wmn。
同样,假设所存储的搜索窗口的个数为N0,所确定的直方图的组数为K,又假设每个搜索窗口被分为M×N块,则具体计算权重的过程如下:
1、计算所存储的N个搜索窗口在每个特征通道中每个组别的分块直方图hdkn(m,n),1≤m≤M,1≤n≤N。
2、计算每个特征通道中的每个组别的分块直方图的均差Mhdk(m,n)、方差Varhdk(m,n)。
若N个搜索窗口包括不同尺度的搜索窗口,则计算均差和方差之前,首先将各自每个组别的直方图转换为标准尺度每个组别的直方图。然后再进行均差及方差计算。
具体计算过程如下:
3、利用上述均差和方差,计算w1和wmn。
3.1计算w1:
计算全局直方图各个特征通道方差的加权和:
计算
其中,σ2为方差调整参数,用于避免Var为0的情况,同样,σ2的取值很小,如可以为10-5等。
3.2计算wmn:
计算分块直方图各个特征通道方差的加权和:
计算
同样,σ2为方差调整参数。
为了使各分块的权重相加为1,需要对各分块的权重进行归一化,即:
k∈(0,1,...,K-1),1≤m≤M,1≤n≤N。
相应地,图13和图14所示系统中,还可进一步包括:直方图权重更新模块。
此时,图13所示系统中,直方图匹配模块进一步用于将匹配成功的搜索窗口提供给直方图权重更新模块,直方图权重更新模块用于根据存储的预定个数的搜索窗口的全局直方图,计算每个特征通道中直方图各组别的权重,将计算的每个特征通道中各组别的权重提供给搜索窗口分块直方图匹配模块,搜索窗口分块直方图匹配模块进一步用于根据直方图权重更新模块提供的每个特征通道中各组别的权重,执行所述将所计算的子窗口直方图与目标图像对应块的分块直方图进行匹配的操作。
此外,进一步地,直方图权重更新模块还用于根据存储的预定个数的搜索窗口的子窗口直方图,计算搜索窗口分块匹配结果的权重,将计算的搜索窗口分块匹配结果的权重提供给搜索窗口综合匹配计算模块,由搜索窗口综合匹配计算模块根据直方图权重更新模块提供的搜索窗口分块匹配结果的权重,执行所述计算搜索窗口与目标的综合匹配结果的操作。
图14所示系统中,直方图匹配模块进一步用于将匹配成功的搜索窗口提供给直方图权重更新模块,直方图权重更新模块用于根据存储的预定个数的搜索窗口的全局直方图,计算每个特征通道中直方图各组别的权重,将计算的每个特征通道中各组别的权重提供给搜索窗口全局直方图匹配模块,搜索窗口全局直方图匹配模块进一步用于根据直方图权重更新模块提供的每个特征通道中各组别的权重,执行所述将所计算的当前搜索窗口的全局直方图与预先计算的目标图像的全局直方图进行匹配的操作。
此外,进一步地,直方图权重更新模块还用于根据存储的预定个数的搜索窗口的子窗口的直方图,计算搜索窗口全局匹配结果的权重和分块匹配结果的权重,将计算的搜索窗口全局匹配结果的权重和分块匹配结果的权重提供给搜索窗口综合匹配计算模块,由搜索窗口综合匹配计算模块根据直方图权重更新模块提供的搜索窗口全局匹配结果的权重和分块匹配结果的权重,执行所述计算搜索窗口与目标的综合匹配结果的操作。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。