基于嵌入式系统的运动目标检测与跟踪方法与流程

文档序号:13737132阅读:583来源:国知局
基于嵌入式系统的运动目标检测与跟踪方法与流程

本发明涉及目标跟踪技术领域,特别是一种基于嵌入式系统的运动目标检测与跟踪方法。



背景技术:

目标跟踪在智能监控、人机交互、智能交通、机器人视觉等领域有广泛应用。目标跟踪技术的研究已经历了30多年的发展,取得了巨大的进步,国内外研究者提出了很多成熟的算法。但是一方面,实际的目标跟踪系统需要面对千差万别的现实环境,例如噪声、阴影、背景干扰、变形、遮挡等。另一方面,嵌入式系统硬件和软件资源受限,如何实现准确又具有较高实时性的跟踪算法仍是一个矛盾。迄今为止,运动检测与跟踪算法的鲁棒性、准确性和实时性的统一仍是尚未解决好和正在努力追求的目标。

进行运动目标跟踪,一般先进行目标检测,常用的目标检测算法有帧差法、光流法和背景减法等等。帧差法是通过相邻两帧图像的差值计算,获得运动信息的方法,该算法简单有效,但是无法检测内部颜色一致及运动速度变化较大的运动目标;光流法是利用运动目标随时间变化的光流特性进行运动检测,但是其计算相当复杂,且抗噪性能差;背景减法将当前图像与事先存储或随时间更新的背景图像相减,若某一像素值大于阈值,则认为该像素属于运动目标。从实际应用角度来看,帧差和背景减相结合的运动检测是使用最广泛的一种方法,能获得较准确的运动信息,但是对于动态背景效果一般。

国内外也涌现了很多优秀的跟踪算法,例如meanshift、camshift、粒子滤波、kalman滤波,压缩感知(ct)、struck、tld、kcf等。虽然目标跟踪的算法很多,但是迄今为止,并没有权威的分类方法。目前主流的跟踪算法,大致可以分为以下三类:基于模板匹配的跟踪方法、基于状态估计的跟踪方法和基于分类器的跟踪方法。

基于模板匹配的跟踪方法,就是通过比较候选区域与目标区域的匹配程度,选择匹配最大的区域作为跟踪目标,上面所提到的meanshift、camshift算法就是此类方法的代表。meanshift一种基于非参数的核密度估计理论,是在概率空间中求解概率密度极值的优化算法。基于meanshift的跟踪方法由于计算量小、模型简单以及较好的跟踪性能引起关注。然而,ms跟踪不能保证全局最优,并容易陷入局部极值。可以通过融合运动、边缘和角点等提高算法性能。camshift算法是meanshift算法的改进,与meanshift相比具有自适应调整模板能力。

基于状态估计的跟踪方法:通过预测和更新来获得当前状态量的一种方法。其代表为kalman滤波、粒子滤波。kalman滤波一种利用线性系统状态方程,通过系统输入输出观测数据,利用实际的运动参数不断修正未来运动状态的估计值。粒子滤波利用一定数量的随机样本(粒子)来表示系统随机变量的后验概率分布,它是一种适用于非线性,非高斯系统的基于模拟的统计滤波器。为了提高精度,可以增加粒子数,但又会导致计算量增大。

基于分类器的跟踪方法:通过在线学习的方式采集正负样本特征集并更新分类器参数。代表有tld和kcf。因此此类跟踪方法能应付复杂的场景,算法的鲁棒性较强。但是此类算法为了提高精度需要训练大量的样本,算法复杂度较高,很难保证实时性。



技术实现要素:

本发明的目的在于提供一种准确性强、鲁棒性高的基于嵌入式系统的运动目标检测与跟踪方法,使得运动目标检测与跟踪方法能应用于嵌入式设备中实时进行目标跟踪。

实现本发明目的的技术解决方案为:一种基于嵌入式系统的运动目标检测与跟踪方法,包括以下步骤:

s1、运动检测:

s11首先进行像素级与帧级二级分析,根据分析结果更新背景模型;

s12使用背景减法,再采用形态学滤波,得到运动前景;

s2、获取目标区域:

s21判断是否有运动物体;

s22若有多个运动物体,手动选择跟踪目标;

s3、目标跟踪:

s31初始化粒子;

s32选择粒子:根据前一时刻粒子权重选择样本,选择的权重大粒子多于权重小粒子;

s33传播:粒子集通过动态模型进行传播;

s34优化:利用ms优化部分粒子,后判断相似性,若ms更接近目标模型,将优化的粒子与标准采样的粒子合并;

s35观测:采用颜色和运动两个特征,来观察每个粒子所代表的目标可能状态和目标真实状态之间的相似程度;

s36估计:计算粒子集的平均状态作为输出;

s37模型更新:根据粒子平均状态输出与目标模型相似性系数是否大于阈值,来判断是否进行模型更新。

进一步地,步骤s11所述进行像素级与帧级二级分析,具体如下:

以ii,j(t)表示t时刻的一帧输入的像素值,下标i、j代表像素位置,帧间差分图像fi,j(t)和动态矩阵di,j(t)定义如下:

其中,γ代表帧间间隔时间,t为判断该像素帧间是否有运动的阈值;λ为设置的帧数,是一个常数;

如果di,j(t)等于0,那么像素(i,j)就使用如下线性模型更新到背景里:

bi,j(t)=αii,j(t)+(1-α)bi,j(t-γ)

其中,bi,j(t)是背景图像,α代表权重;

加入帧级分析来判断有无运动,w、h分别是图像宽、高,公式如下:

如果v小于阈值,则认为没有运动。

进一步地,步骤s21所述判断是否有运动物体,采用轮廓检测方法:使用基于sobel滤波的canny算子,在s12获得的前景图像上进行检测,若有运动物体就退出运动检测。

进一步地,步骤s32所述选择粒子,具体是通过计算粒子集权重归一化累计概率,找到最小的满足大于随机数的索引号进行选择,公式如下:

(a)计算归一化累计概率

其中n表示第n个样本,n为总样本数,t代表时刻t,代表上一帧第n个粒子的权重;

(b)产生[0,1]随机分布的随机数r;

(c)采用二分查找法找到满足的最小z值;

(d)使

进一步地,步骤s33所述粒子集通过动态模型进行传播,动态模型如下:

其中,s为粒子模型,a为状态转移矩阵,代表高斯噪声,系统的动态模型描述了目标状态随时间的转移过程,也就是粒子的传播过程,其中s、a定义如下:

其中x,y是粒子中心位置,vx,vy是粒子在x,y方向的运动速度,lx,ly是粒子所在区域的宽和高,a是尺度因子,r为随机数。

进一步地,步骤s34所述利用ms优化部分粒子,后判断相似性,若ms更接近目标模型,将优化的粒子与标准采样的粒子合并,其中ms优化是在反向投影图上进行,反向投影图根据grb颜色直方图概率密度生成,对传播过的粒子使用meanshift算法进行优化,迭代至局部最优,步骤如下:

(a)根据取得粒子的状态变量来设置反向投影图搜索窗口的质心位置和大小;

(b)计算搜索窗口的零阶距m00和一阶距m01、m10分别如下:

其中i(i,j)是反向投影图中(i,j)处的像素值;

(c)计算搜索窗口内的质心位置,新的搜索窗口的中心(ic,jc)移动到质心处:

(d)重复(b)和(c),直到窗口移动的距离小于设定的阈值或是达到最大迭代次数。

进一步地,步骤s35所述采用颜色和运动两个特征,来观察每个粒子所代表的目标可能状态和目标真实状态之间的相似程度,采用的观测模型选用颜色加权直方图结合运动信息实现,颜色直方图采用的是rgb模型,颜色直方图的相似性判断采用巴氏系数,具体如下:

计算颜色直方图时,像素根据与区域中心的距离赋予权重,核函数k(r)如下:

其中r代表当前像素距离区域中心的距离;

颜色直方图定义如下:

其中,其中u代表颜色直方图第u个条目;f为归一化因子,令来确保其中num代表区域内像素的个数;m为条目数;参数a用于更新模板尺寸,rb表示区域内第b个像素,h(rb)代表该像素在颜色直方图中所属条目值;δ是克罗内克函数;

运用巴氏系数来衡量候选模型与目标模型的相似性,相似性系数计算如下:

其中代表候选粒子模型第u个条目的概率,q(u)代表目标模型第u个条目的概率;

颜色信息概率密度函数pcr如下:

其中σ代表方差;

运动系数mt为搜索区域内运动点的计数与搜索区域面积比值,运动信息概率密度函数pmt如下:

结合颜色直方图和运动信息的权重计算如下:

进一步地,步骤s36所述计算粒子集的平均状态e(st)作为输出,公式如下:

其中,为结合颜色直方图和运动信息的权重,n表示第n个样本,n为总样本数,为动态模型。

进一步地,步骤s37所述模型更新,当平均状态输出权重大于阈值,按下面公式进行更新:

其中代表目标模型颜色直方图第u个条目的概率,代表了平均状态第u个条目的概率,代表上一帧的目标模型第u个条目的概率,α代表权重,γ代表帧间间隔时间。

本发明与现有技术相比,其显著优点在于:(1)应用粒子滤波提供了一个强大的跟踪框架,由于模型的不确定性,同时考虑多个状态的假设,可以有效处理遮挡;(2)粒子滤波,为保证其鲁棒性,采样必须足够多,使用ms对部分粒子进行优化,能够捕获状态空间中的变化;(3)既能保证准确度,又能满足嵌入式系统的实时性要求。

附图说明

图1为本发明基于嵌入式系统的运动目标检测与跟踪方法的原理框图。

图2为本发明基于嵌入式系统的运动目标检测与跟踪方法的流程图。

图3为本发明实施例中的仿真效果图,其中(a)~(i)依次为第31帧、153帧、225帧、293帧、302帧、463帧、547帧、734帧、856帧的跟踪结果图。

具体实施方式

本发明针对嵌入式系统本身的特点及应用的局限性,如内存资源有限和处理速度有限等,提出了一种基于嵌入式系统的运动检测与跟踪方法,实现了在嵌入式设备在各种复杂环境下进行实时跟踪。

实现本发明的具体思路是:首先进行背景建模,获得运动目标,接下来使用跟踪算法进行跟踪。粒子滤波和meanshift(ms)是视觉跟踪的两种成功的方法。两者都有各自的长处和短处。本发明中整合两种方法的优点,以提高跟踪性能。使用ms将粒子迭代至局部最优,提出的ms嵌入粒子滤波,使采样效率大大提高,适用于嵌入式系统上的实时跟踪。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明

结合图1、2,本发明基于嵌入式系统的运动目标检测与跟踪方法,具体步骤如下:

s0、通过图像传感器从外界实时获取每帧图像

s1、运动检测

s11首先进行像素级与帧级二级分析,根据分析结果更新背景模型;

我们可以使用一个简单的帧间的差分方法,它可以检测到像素的快速变化,准确地区分前景和背景。我们定义一个动态矩阵di,j(t)来分析帧间差分法的变化,只有那些像素值连续数帧变化都不太大的像素可以被更新到背景中。

以ii,j(t)表示t时刻的一帧输入的像素值,下标i、j代表像素位置,帧间差分图像fi,j(t)和动态矩阵di,j(t)定义如下:

其中,γ代表帧间间隔时间,t是判断该像素帧间是否有运动的阈值,λ为设置帧次数,是一个常数。

一旦di,j(t)等于0,那么该像素(i,j)就使用如下线性模型更新到背景里:

bi,j(t)=αii,j(t)+(1-α)bi,j(t-γ)(3)

其中,bi,j(t)是背景图像,α代表权重;

像素级的分析只考虑到每个像素单独的运动,我们加入帧级分析来判断有无运动,w、h分别是图像宽、高,公式如下:

如果v小于阈值,则认为没有运动。

s12使用背景减法,再采用形态学滤波,得到运动前景;

当前帧减去背景即可得到前景图,然后采用形态学滤波,进行腐蚀和膨胀,开滤波器即先腐蚀后膨胀,可以移除场景中小像素块;而闭滤波器将误分割成碎片的物体重新连接。

s2、获取目标区域

s21判断是否有运动物体;

根据获得的前景图是否有运动,采用的方法是检测轮廓。采用canny算子检测轮廓基于sobel算子实现。检测是在s12获得的前景图像上进行的。若是有运动就退出运动检测。canny算子步骤如下:

首先,使用高斯平滑函数。目的是为了平滑以消除噪声;

其中σ代表方差。

其次,按照sobel滤波器的步骤计算梯度幅值和方向。运用一对卷积阵列(分别作用于x和y方向),使用下列公式计算梯度幅值和方向:

接着,非极大值抑制(nms)。这一步排除非边缘像素,仅仅保留了一些细线条(候选边缘)。

最后,双线性阈值最后一步,canny使用了滞后阈值,滞后阈值需要两个阈值(高阈值和低阈值):

如果某一像素位置的幅值超过高阈值,该像素被保留为边缘像素。

如果某一像素位置的幅值小于低阈值,该像素被排除。

如果某一像素位置的幅值在两个阈值之间,该像素仅仅在连接到一个高于高阈值的像素时被保留。

s22若有多个运动物体,手动选择跟踪目标;

若检测出有多个目标,需目标点击轮廓选定,目标选定,根据轮廓自动生成包围目标的矩形框,进入跟踪环节。

s3、目标跟踪

s31初始化粒子;

在s22中确定了运动目标,接着初始化粒子状态,在目标区域周围随机洒下一定数量粒子。

s32选择粒子:根据前一时刻粒子权重选择样本,选择的权重大粒子多于权重小粒子;

根据粒子权重对粒子进行筛选,筛选过程中,既要大量保留权重大的粒子,又要有一小部分权重小的粒子。同时采用在已有分布中寻找,减小计算量。

具体是通过计算粒子集权重归一化累计概率,找到最小的满足大于随机数的索引号进行选择,公式如下:

(a)计算归一化累计概率

其中n表示第n个样本,n为总样本数,t代表时刻t,代表上一帧第n个粒子的权重;

(b)产生[0,1]随机分布的随机数r;

(c)采用二分查找法找到满足的最小z值;

(d)使得:

上述方法能够满足我们的需求,既能保留较多权重大的粒子,又要保有一小部分权重小的粒子。

s33传播:粒子集通过动态模型进行传播,动态模型定义如下:

其中,s为粒子模型,a为状态转移矩阵,代表高斯噪声,系统的动态模型描述了目标状态随时间的转移过程,也就是粒子的传播过程,其中s、a定义如下:

其中x,y是粒子中心位置,vx,vy是粒子在x,y方向的运动速度,lx,ly是粒子所在区域的宽和高,a是尺度因子,r为随机数。

s34优化:利用ms优化部分粒子,后判断相似性,若ms更接近目标模型,将优化的粒子与标准采样的粒子合并;其中ms优化是在反向投影图上进行,反向投影图根据grb颜色直方图概率密度生成,对传播过的粒子使用meanshift算法进行优化,迭代至局部最优,步骤如下:

(a)根据取得粒子的状态变量来设置反向投影图搜索窗口的质心位置和大小;反向投影图即为当前帧根据目标模型颜色直方图概率密度生成的图。

(b)计算搜索窗口的零阶距m00和一阶距m01、m10分别如下:

其中i(i,j)是反向投影图中(i,j)处的像素值。

(c)计算搜索窗口内的质心位置,新的搜索窗口的中心(ic,jc)移动到质心处:

(d)重复(b)和(c),直到窗口移动的距离小于设定的阈值或是达到最大迭代次数。此处阈值设为1,最大迭代次数设为10。

s35观测:采用颜色和运动两个特征,来观察每个粒子所代表的目标可能状态和目标真实状态之间的相似程度,采用的观测模型选用颜色加权直方图结合运动信息实现,颜色直方图采用的是rgb模型,颜色直方图的相似性判断采用巴氏系数,具体如下:

本发明使用颜色直方图作为目标模型,它对于非刚体、旋转和部分遮挡有一定的鲁棒性,但是单一的特征使算法鲁棒性较差,本发明采用rgb颜色直方图,结合运动信息建立观测模型,一定程度上提高了算法鲁棒性。颜色直方图每个颜色直方图条数为8,总共有8*8*8即256个条目。计算颜色直方图时,像素根据与区域中心的距离赋予权重。核函数如下:

其中r代表当前像素距离区域中心的距离。

颜色直方图定义如下:

其中,其中u代表颜色直方图第u个条目;f为归一化因子,令来确保其中num代表区域内像素的个数;m为条目数;参数a用于更新模板尺寸,rb表示区域内第b个像素,h(rb)代表该像素在颜色直方图中所属条目值;δ是克罗内克函数;

运用巴氏系数来衡量候选模型与目标模型的相似性,相似性系数计算如下:

其中代表候选粒子模型第u个条目的概率,q(u)代表目标模型第u个条目的概率;

颜色信息概率密度函数pcr如下:

其中σ代表方差;

运动系数mt为搜索区域内运动点的计数与搜索区域面积比值,运动信息概率密度函数pmt如下:

结合颜色直方图和运动信息的权重计算如下:

s36估计:计算粒子集的平均状态作为输出;公式如下:

其中,为结合颜色直方图和运动信息的权重,n表示第n个样本,n为总样本数,为动态模型。

s37模型更新:根据粒子平均状态输出与目标模型相似性系数是否大于阈值,来判断是否进行模型更新。

当平均状态输出权重大于阈值,按下面公式进行跟新:

其中代表目标模型颜色直方图第u个条目的概率,代表了平均状态第u个条目的概率,代表上一帧的目标模型第u个条目的概率,α代表权重,γ代表帧间间隔时间。

实施例1

下面结合附图3对本发明的效果做进一步描述。

本发明的具体仿真内容如图3所示,将运动的足球运动员作为测试图像,图像大小为480×360。其中图3(a)~(i)依次为第31帧、153帧、225帧、293帧、302帧、463帧、547帧、734帧、856帧的跟踪结果图,图中方框标记出了跟踪结果,由实验结果可见,采用本发明提出的方法可以检测出运动目标并实时跟踪。

本发明在嵌入式平台下实现了运动目标检测与跟踪,采用嵌入meanshift的粒子滤波的目标跟踪算法,使用颜色直方图作为目标模型,可以快速实现目标跟踪。实验中,在主频率为1.5ghz,cortex-a15的嵌入式mini5728上实现了算法,实验表明本发明提出的方法可以快速实现运动目标检测与跟踪。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。

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