一种运动目标检测和跟踪方法技术

技术编号:19936139 阅读:33 留言:0更新日期:2018-12-29 05:14
本发明专利技术公开了一种运动目标检测和跟踪方法。该方法为:首先从视频序列中获取一帧图像,将图像转换为灰度图,进行滤波去噪;然后利用三帧差分法得到运动目标区域,采用形态学滤波闭运算,填补差值图像中存在的空洞,将形态学滤波闭运算后图像中灰度值不为零的像素点进行光流计算,提取出运动目标;接着使用Kalman滤波算法对当前帧图像中运动目标的质心位置进行预测,将得到的目标预测值与Camshift算法跟踪得到的质心位置进行对比,通过对比结果判定运动目标的质心坐标,并确定在搜索下一帧图像时搜索窗口的大小和位置;更新模型,获取下一帧图像,重复整个跟踪过程,最终实现目标跟踪。本发明专利技术减小了运动目标检测和跟踪的误差,提高了准确性。

【技术实现步骤摘要】
一种运动目标检测和跟踪方法
本专利技术属于运动目标跟踪
,特别是一种运动目标检测和跟踪方法。
技术介绍
运动目标检测和跟踪是机器视觉研究的主要问题之一,它交叉融合了图像处理、模式识别、人工智能、自动控制以及计算机技术等众多领域的先进技术,在军事制导、医学图像诊断、视频监控、智能交通等方面都有广泛应用。但是由于受到光照变化、噪声、遮挡等诸多因素的影响,现有算法在实际应用中面临着许多问题。因此,研究和设计出准确性高、鲁棒性好的运动目标检测和跟踪方法仍然具有极大的挑战性。进行运动目标跟踪,首先需要进行目标检测,目前常用的目标检测算法有光流法、帧间差分法和背景减法。光流法是通过计算图像中像素点的光流来进行运动目标检测的方法,该算法检测准确度高但是其计算量相当大,且抗噪性能差;帧间差分法是利用视频图像序列的连续帧,通过差分来检测像素变化的区域,判断出运动区域,该算法简单易实现,计算速度快,但是容易产生空洞的检测结果,无法检测出相似度高及运动速度较快的运动目标;背景减法是将当前图像与事先设定或随时间更新的背景图像相减,若差值大于设定的阈值,则认为该像素属于运动目标,该算法的背景模型的更新是一个难点,且对背景中的干扰特别敏感。从实际应用角度来看,将多种检测算法结合到一起能更为准确、快速的检测出运动目标。国内外也有很多优秀的跟踪算法,例如MeanShift、Camshift、粒子滤波、Kalman滤波、TLD、KCF等。目前主流的跟踪算法,大致可以分为以下三类:基于模板匹配的跟踪方法、基于状态估计的跟踪方法和基于分类器的跟踪方法。基于模板匹配的跟踪方法,就是通过比较候选区域与目标区域的匹配程度,选择匹配最大的区域作为跟踪目标,其中具有代表性的就是MeanShift、Camshift算法。MeanShif算法一种基于非参数的核密度估计理论,在概率空间中求解概率密度极值的优化算法,该算法不能保证全局最优,并容易陷入局部极值,且其核窗口由初始跟踪窗口的大小决定,并且在整个跟踪过程中不再发生变化,当目标存在明显尺度变化的时候,尤其是当目标尺寸逐渐增大以至超出核窗宽范围的时候,固定不变的核窗宽常常会导致目标的丢失。Camshift算法作为连续自适应的MeanShift,通过自动调节核窗口大小以及被跟踪目标在图像中的大小,从而可以有效地解决目标变形问题,但其算法也收敛于局部最大值,并没有对目标的相似度做判定,当Camshift的搜索窗口里面包含多个特征相似候选模型时,Camshift算法无法辨别是否出现同色干扰,经常出现跟踪精度不够的问题,而且当目标运动物体缓慢地通过障碍物或进行快速无规则运动时,Camshift算法将很容易失效,导致目标跟踪丢失。同时,当目标瞬间有个较大的加速度或被遮挡时,Camshift跟踪算法容易失效。基于状态估计的跟踪方法,是一种通过预测和更新来获得当前状态量的方法,其代表为Kalman滤波、粒子滤波。Kalman滤波一种利用线性系统状态方程,通过系统输入输出观测数据,利用实际的运动参数不断修正运动状态的估计值。粒子滤波利用一定数量的随机样本(粒子)来表示系统随机变量的后验概率分布,它是一种适用于非线性、非高斯系统的基于模拟的统计滤波器。为了提高精度,可以增加粒子数,但又会导致计算量增大。基于分类器的跟踪方法:通过在线学习的方式采集正负样本特征集并更新分类器参数,代表有TLD和KCF。此类跟踪方法能应付复杂的场景,算法的鲁棒性较强,但是此类算法为了提高精度需要训练大量的样本,算法复杂度较高,很难保证实时性。
技术实现思路
本专利技术的目的在于提供一种具有较高准确性和鲁棒性的运动目标检测和跟踪方法。实现本专利技术目的的技术解决方案为:一种运动目标检测和跟踪方法,包括以下步骤:步骤1、通过图像传感器从外界实时获取每帧图像,将获取的每一帧图像转化为灰度图,并对灰度图进行滤波去噪,得到去噪后的图像;步骤2、将去噪后的图像,先利用三帧差分法初步得出运动目标的区域;再采用形态学滤波闭运算,填补使用帧间差分法处理后得到的二值图像中存在的空洞;再将形态学滤波闭运算后图像中灰度值不为零的像素点,即运动区域的像素点进行光流计算,提取出运动目标;步骤3、在初始帧图像中对搜索窗口的位置和大小进行初始化,并从搜索窗中的目标区域内提取目标的HSV格式的颜色直方图,进而求得该帧图像的反向投影图;步骤4、使用Camshift算法对图像序列进行跟踪,调整搜索窗口大小,并得出第i+1帧图像中运动目标的质心坐标步骤5、使用Kalman滤波预测运动目标在第i+1帧图像中的质心坐标步骤6、将Camshift算法在跟踪过程中得到的运动目标质心坐标与Kalman滤波算法对目标质心坐标的预测值进行比较,两者坐标值作差,若差值大于设定的阈值,则使用Kalman滤波算法得到的预测值来计算当前图像中运动目标的质心坐标,反之则使用Camshift算法求得的运动目标质心坐标来计算当前图像中运动目标的质心坐标;步骤7、更新模型,获取下一帧图像,重复整个跟踪过程,直至跟踪结束。进一步地,步骤2所述将去噪后的图像,先利用三帧差分法初步得出运动目标的区域;再采用形态学滤波闭运算,填补使用帧间差分法处理后得到的二值图像中存在的空洞;再将形态学滤波闭运算后图像中灰度值不为零的像素点,即运动区域的像素点进行光流计算,提取出运动目标,具体如下:将当前帧和前一帧图像之间的前向帧差图像记为FDb(x,y),下一帧和当前帧之间的后向帧差图像记为FDf(x,y),设定阈值T,对三帧差分法差分后的图像进行阈值化处理,得到二值图像,再计算FDb(x,y)和FDf(x,y)的交集,得到运动区域E(x,y),计算公式如下:E(x,y)=FDb(x,y)∩FDf(x,y)其中,fi(x,y)为第i帧图像的像素值,fi-1(x,y)为第i-1帧图像的像素值,fi+1(x,y)为第i+1帧图像的像素值;得到二值图后,采用形态学滤波的闭运算,即先膨胀后腐蚀,消除二值图中存在的空洞;二值图中不为零的像素点对应于灰度梯度大于设定值的点,这些点处的光流场基本方程Ixu+Iyv+It=0成立,其中,Ix、Iy、It表示图像中像素点灰度沿x、y、t方向上的梯度,u、v是像素点在x、y方向上的速度,再联合迭代方程即求得u、v,得到运动目标;迭代方程为:其中,上标k表示迭代次数,u0、v0是光流初始值,取值为0;和是局部平均,λ为控制平滑约束的权重系数,根据导数求取的精确度确定。进一步地,步骤3所述在初始帧图像中对搜索窗口的位置和大小进行初始化,并从搜索窗中的目标区域内提取目标的HSV格式的颜色直方图,进而求得该帧图像的反向投影图,具体如下:(1)针对计算量及视频亮度变化不定的问题,采用HSV模型中的色度H分量作为Camshift跟踪算法的特征,其中H为色度分量、S为色彩饱和度分量、V为亮度分量;设定使用m级量化的直方图,{xi}1=1....n为目标区域图像的像素位置,定义c:R2→{1...m}来表示像素xi对应的像素值,那么目标颜色直方图分布为:其中,qu为直方图分量u的值,c(xi)为像素xi的量化值,δ为Kronecker函数;为使得到的概率分布在[0,255]范围内,需将直方图进行缩放:对当前帧视频本文档来自技高网
...

【技术保护点】
1.一种运动目标检测和跟踪方法,其特征在于,包括以下步骤:步骤1、通过图像传感器从外界实时获取每帧图像,将获取的每一帧图像转化为灰度图,并对灰度图进行滤波去噪,得到去噪后的图像;步骤2、将去噪后的图像,先利用三帧差分法初步得出运动目标的区域;再采用形态学滤波闭运算,填补使用帧间差分法处理后得到的二值图像中存在的空洞;再将形态学滤波闭运算后图像中灰度值不为零的像素点,即运动区域的像素点进行光流计算,提取出运动目标;步骤3、在初始帧图像中对搜索窗口的位置和大小进行初始化,并从搜索窗中的目标区域内提取目标的HSV格式的颜色直方图,进而求得该帧图像的反向投影图;步骤4、使用Camshift算法对图像序列进行跟踪,调整搜索窗口大小,并得出第i+1帧图像中运动目标的质心坐标

【技术特征摘要】
1.一种运动目标检测和跟踪方法,其特征在于,包括以下步骤:步骤1、通过图像传感器从外界实时获取每帧图像,将获取的每一帧图像转化为灰度图,并对灰度图进行滤波去噪,得到去噪后的图像;步骤2、将去噪后的图像,先利用三帧差分法初步得出运动目标的区域;再采用形态学滤波闭运算,填补使用帧间差分法处理后得到的二值图像中存在的空洞;再将形态学滤波闭运算后图像中灰度值不为零的像素点,即运动区域的像素点进行光流计算,提取出运动目标;步骤3、在初始帧图像中对搜索窗口的位置和大小进行初始化,并从搜索窗中的目标区域内提取目标的HSV格式的颜色直方图,进而求得该帧图像的反向投影图;步骤4、使用Camshift算法对图像序列进行跟踪,调整搜索窗口大小,并得出第i+1帧图像中运动目标的质心坐标步骤5、使用Kalman滤波预测运动目标在第i+1帧图像中的质心坐标步骤6、将Camshift算法在跟踪过程中得到的运动目标质心坐标与Kalman滤波算法对目标质心坐标的预测值进行比较,两者坐标值作差,若差值大于设定的阈值,则使用Kalman滤波算法得到的预测值来计算当前图像中运动目标的质心坐标,反之则使用Camshift算法求得的运动目标质心坐标来计算当前图像中运动目标的质心坐标;步骤7、更新模型,获取下一帧图像,重复整个跟踪过程,直至跟踪结束。2.根据权利要求1所述的运动目标检测和跟踪方法,其特征在于,步骤2所述将去噪后的图像,先利用三帧差分法初步得出运动目标的区域;再采用形态学滤波闭运算,填补使用帧间差分法处理后得到的二值图像中存在的空洞;再将形态学滤波闭运算后图像中灰度值不为零的像素点,即运动区域的像素点进行光流计算,提取出运动目标,具体如下:将当前帧和前一帧图像之间的前向帧差图像记为FDb(x,y),下一帧和当前帧之间的后向帧差图像记为FDf(x,y),设定阈值T,对三帧差分法差分后的图像进行阈值化处理,得到二值图像,再计算FDb(x,y)和FDf(x,y)的交集,得到运动区域E(x,y),计算公式如下:E(x,y)=FDb(x,y)∩FDf(x,y)其中,fi(x,y)为第i帧图像的像素值,fi-1(x,y)为第i-1帧图像的像素值,fi+1(x,y)为第i+1帧图像的像素值;得到二值图后,采用形态学滤波的闭运算,即先膨胀后腐蚀,消除二值图中存在的空洞;二值图中不为零的像素点对应于灰度梯度大于设定值的点,这些点处的光流场基本方程Ixu+Iyv+It=0成立,其中,Ix、Iy、It表示图像中像素点灰度沿x、y、t方向上的梯度,u、v是像素点在x、y方向上的速度,再联合迭代方程即求得u、v,得到运动目标;迭代方程为:其中,上标k表示迭代...

【专利技术属性】
技术研发人员:黄成蒋璐方杰彭二宝王力立张永徐志良
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1