CN109816692A - 一种基于Camshift算法的运动目标跟踪方法 - Google Patents
一种基于Camshift算法的运动目标跟踪方法 Download PDFInfo
- Publication number
- CN109816692A CN109816692A CN201910025155.3A CN201910025155A CN109816692A CN 109816692 A CN109816692 A CN 109816692A CN 201910025155 A CN201910025155 A CN 201910025155A CN 109816692 A CN109816692 A CN 109816692A
- Authority
- CN
- China
- Prior art keywords
- target
- frame
- image
- algorithm
- tracking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000001514 detection method Methods 0.000 claims abstract description 33
- 230000004927 fusion Effects 0.000 claims abstract description 14
- 238000001914 filtration Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 23
- 238000003708 edge detection Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000012804 iterative process Methods 0.000 claims description 4
- 230000002045 lasting effect Effects 0.000 claims description 4
- 238000011897 real-time detection Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 3
- 238000000151 deposition Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于Camshift算法的运动目标跟踪方法。该方法为:采集视频图像,对图像进行预处理;使用目标检测算法对运动目标进行检测;将视频图像转为HSV模型,对目标采用颜色概率直方图统计方法,并作反向投影,得到目标特征模板和初始搜索框的大小;采用Camshift算法,计算并调整下一帧的搜索框大小及质心坐标,更新特征模板;对下一帧的质心坐标进行预测,并将结果反馈给Camshift算法;判断运动目标是否遇到干扰,来确定融合系数,进而确定每一帧的搜索框大小及位置,实现对运动目标的准确跟踪;获取下一帧图像,更新目标特征模型,重复上述过程,直至完成运动目标的跟踪。本发明提高了运动目标跟踪的准确性和实时性。
Description
技术领域
本发明属于运动目标跟踪技术领域,特别是一种基于Camshift算法的运动目标跟踪方法。
背景技术
运动目标跟踪是计算机视觉领域的重要分支,它是一门跨学科的新技术,涉及了图像处理、人工智能、模式识别、自动控制等多个领域。运动目标跟踪实用性高,应用面广,在军事国防安全及民用领域等都得到了广泛应用。正是因为目标跟踪系统应用的广泛性,所以受到全球各国科学研究工作者的密切关注,并逐渐成为机器视觉领域的研究重点。当前,机器视觉领域的目标跟踪技术发展趋势主要表现为场景信息与目标状态的融合,多维度、多层级信息的融合,深度学习与在线学习的融合和多传感器的融合。
目标跟踪是指针对视频或图像序列中指定的目标进行检测与跟踪,从而获得目标的位置、速度和轨迹等信息。由于图像常常存在光照条件变化、障碍物遮挡、目标尺度多变等问题,导致目标跟踪的效果不佳。这些问题都对目标跟踪算法的研究提出了挑战。因此,如何能够研究出稳定性高、准确率高、实时性高的目标检测和跟踪算法成为当前最为迫切的问题。
运动目标跟踪算法的研究离不开目标检测,目标检测为目标跟踪提供重要的模板。常见的目标检测算法有光流法、帧间差分法、背景差法和特征提取法。光流场法利用随时间变化的光流矢量特性,对运动目标进行检测,该算法使用简单但计算量大、实时性低;帧间差分法通过对视频序列中图像相邻帧的差异判断来获取目标位置,方法简单易理解,但因检测结果中易出现空洞情况而难以准确检测速度快的目标;背景差法通过对当前视频图像和背景图像求差值,并通过图像二值化处理来获取目标,该算法的难点在于基于背景建模;特征提取法通过提取目标对象的描述特征,然后构建基于机器学习的分类器进行目标检测,该算法在使用上较为复杂,难点在于对目标的图像特征的正确建模,常用于复杂背景的目标检测中。为了提高检测算法的准确性,常常会将几种检测算法结合使用。
随着目标跟踪技术的不断发展,现已有多种跟踪算法。根据目标模型的差异,传统的目标跟踪算法可分为两大类:生成类模型方法和判别类模型方法。生成类模型方法是通过对目标对象所在的区域建立目标模型,并在每帧图像中寻找相近区域的目标跟踪方法。生成类目标跟踪算法因使用简单,易于实现而被广泛应用。生成类算法又可细分为三类:基于模板匹配的目标跟踪算法、基于子空间的目标跟踪算法和基于稀疏编码的目标跟踪算法。经典的生成类跟踪算法有:Meanshift算法、粒子滤波算法、卡尔曼滤波算法等。判别类模型方法则是通过在当前帧图像中,建立以目标区域为正样本、以背景区域为负样本,利用机器学习算法来训练分类器,并使用分类器来得到最优区域,从而实现目标跟踪的方法。判别类跟踪算法的准确率高,可应用于复杂背景的目标跟踪,但该类算法计算量大,实时性低,且对硬件装置要求较高。较为经典的判别类跟踪算法有:KCF算法及SVM算法等。
如今,目标跟踪技术已经得到了充分的发展,但由于跟踪场景多变,现实环境复杂,目标跟踪的研究仍然存在挑战。每种算法都存在自身独特的优点,但同时亦有局限性,单一的跟踪算法很难同时满足实时性、准确性和稳定性要求。
发明内容
本发明的目的在于提供一种能够更准确、实时地检测出运动目标的基于Camshift算法的运动目标跟踪方法。
实现本发明目的的技术解决方案为:一种基于Camshift算法的运动目标跟踪方法,包括以下步骤:
步骤1、图像预处理:使用相机采集视频图像,对图像进行灰度化处理,并进一步通过滤波操作去除图像噪声,得到视频图像序列;
步骤2、检测运动目标:手动标定跟踪目标,首先使用两帧差分法得到初步的检测结果;然后利用两帧差分图像得到三帧差分图像,同时对两帧差分图像使用Canny边缘检测算法得到目标边缘轮廓;最后将三帧差分图像与经Canny边缘检测算法处理的目标边缘轮廓进行或运算,得到与目标对象对应的目标检测结果;
步骤3、构建并更新目标特征模板:首先把步骤2目标检测结果所得视频图像转成Camshift算法所需的HSV模型;然后采用以H分量颜色直方图为主特征模板、S分量颜色直方图为次特征模板的方法得到目标特征模板;最后使用Camshift算法获取目标特征模板和质心坐标,并对目标特征模板进行实时更新;
步骤4、Camshift目标跟踪:以更新后的目标特征模板为依据,对目标进行跟踪,计算并调整下一帧搜索框的大小和质心坐标;
步骤5、卡尔曼目标跟踪:根据图像当前帧中目标的质心坐标、目标大小和运动速度信息,采用卡尔曼滤波算法对下一帧的质心坐标进行预测,并将结果反馈给Camshift算法;
步骤6、确定融合系数:判断跟踪过程中是否存在障碍物遮挡、同色背景干扰,若存在干扰,则以卡尔曼滤波算法为主,将卡尔曼滤波算法预测的目标位置作为当前帧的目标位置,更新Camshift算法的目标搜索框,返回步骤3对目标特征模板进行实时更新;若不存在干扰,则以Camshift算法为主,卡尔曼滤波算法为辅,进入下一步对目标进行持续跟踪;
步骤7、持续跟踪:获取下一帧图像并更新每一帧的目标特征模型,重复步骤4~步骤6,直至完成运动目标的跟踪。
进一步地,步骤1所述的图像预处理,包括对图像的灰度化处理和滤波去噪处理;首先通过平均加权法将采集的彩色图像转化成为灰度图像,然后进行图像滤波处理,去除图像中存在的噪声,得到视频图像序列。
进一步地,步骤2所述的检测运动目标,具体如下:
步骤2.1、对连续的三帧图像Ii-1(x,y)、Ii(x,y)、Ii+1(x,y)进行帧间差分运算,即分别对第Ii-1(x,y)帧与第Ii(x,y)帧、第Ii(x,y)帧与第Ii+1(x,y)帧图像做差分运算,接着对两个差分图像采用自适应阈值二值化方法进行运算,获得两个两帧差分图像;
步骤2.2、将步骤2.1中得到的两帧差分图像进行与运算,得到运动目标的三帧差分图像Di(x,y);
步骤2.3、分别对第i帧和第i+1帧差分图像采用Canny边缘检测算法进行运算,得到运动目标的边缘轮廓图像Pi(x,y);
步骤2.4、将三帧差分图像Di(x,y)与经Canny边缘检测算法处理的目标边缘轮廓图像Pi(x,y)进行或运算,得到与实际的运动目标对象相符的运动目标检测结果PTi(x,y),融合公式如下:
PTi(x,y)=Pi(x,y)∪Di(x,y)。
进一步地,步骤3所述的构建并更新目标特征模板,具体如下:
步骤3.1、将RGB模型转换为HSV模型:
将所有的颜色值归一化为[0,1],在RGB三个分量中,设定最大值为Max,最小值为Min,则转换公式如下:
V=Max
其中,R、G、B分别为RGB模型的分量,HSV分别为HSV模型的分量;
步骤3.2、针对背景与目标模型中H分量存在的颜色干扰问题,在H分量的基础上,引入S分量来达到分离目标的目的:
分别计算出HSV模型中的H分量直方图、S分量直方图,并进行反向投影得到图像的H分量概率分布图PH、S分量概率密度图Ps,根据式P(x,y)=βPH+(1-β)Ps,β∈[0.5,1],得到最终的颜色直方图的反向投影图P(x,y);
步骤3.3、根据第一帧图像提供的信息,计算质心坐标:
设图像点(x,y)处的像素值为I(x,y),则质心坐标(Xi,Yi)为:
其中,M00为零阶矩,M10为x的一阶矩,M01为y的一阶矩,计算方式如下:
步骤3.4、计算搜索窗口大小,二阶矩为:
令则搜索窗口位置可由下式确定:
其中,旋转角
进一步地,步骤4所述的Camshift目标跟踪,具体如下:
步骤4.1、根据步骤3计算的质心坐标、目标搜索框的大小及位置,将搜索框的中心移动到目标对象的质心坐标处;
步骤4.2、若搜索框与质心坐标之间距离大于阈值,则自适应调整搜索框的大小,直到搜索框的中心和目标质心相重合或者迭代次数满足要求;
步骤4.3、以当前得到的质心坐标作为下一帧运动目标搜索框的初始值,并对每一帧图像重复上述迭代过程。
进一步地,步骤6所述的确定融合系数,具体如下:
步骤6.1、设定第k帧中运动目标所占面积为Starget,运动目标模板所占面积为S,两者的比值为干扰算子,即干扰算子
对干扰情况进行分类:当无干扰时,η值为1;当存在遮挡干扰时,η值小于1;当存在同色干扰时,η值大于1;
步骤6.2、针对干扰情况,调节干扰算子:
其中,0.65为目标遮挡的阈值,1.55为同色背景干扰的阈值;正常情况下,干扰因子值为1;当目标遇到遮挡干扰或同色干扰时,将干扰因子设置为0;
步骤6.3、将调节后的η值代入下式来调整卡尔曼滤波算法中的观测值和预测值的权重:
卡尔曼增益系数方程:Kk=P'kHT(HP'kHT+(1-η)R)-1
状态修正方程:
其中,Kk为卡尔曼增益系数矩阵,H为观测矩阵,R为协方差,Pk为误差协方差P'k为误差协方差的预测,为第k帧的后验状态估计;为第k帧的先验状态估计;mk为第k帧的观测值,由Camshift算法提供;
当无干扰时,使用Camshift算法进行运动目标跟踪;当出现干扰时,则使用修正后的卡尔曼滤波算法进行运动目标跟踪,同时实时检测运动目标,将检测结果与未受干扰的目标相比较,若η值在正常范围内,则恢复以Camshift算法为主、卡尔曼算法为辅的跟踪方法。
本发明与现有技术相比,其显著优点在于:(1)将三帧差分法与Canny边缘检测算法相结合,得到改进后的目标检测算法,弥补了三帧差分法所带来的空洞等目标对象不完整的缺点,提高了目标检测的准确性与可靠性,使检测结果更接近现实中的目标对象;(2)在颜色直方图的处理上,建立了以H分量为主特征,以S分量为次特征的颜色概率直方图模型,使得颜色直方图的特征模型更全面,更易于Camshift算法的处理,提高了Camshift算法的效率;(3)将Camshift算法与卡尔曼滤波算法相融合,提高了跟踪算法的准确性,并克服了目标跟踪中障碍物遮挡和同色背景干扰的问题。
附图说明
图1是本发明基于Camshift算法的运动目标跟踪算法的流程示意图。
图2是本发明中三帧差分法的流程示意图。
图3是本发明中三帧差分法和Canny边缘算法结合的流程示意图。
图4是本发明中Camshift跟踪算法的流程示意图。
图5是本发明中卡尔曼滤波算法与Camshift算法融合的流程示意图。
图6是本发明实施例中的仿真效果图,其中(a)~(e)分别是视频的第1帧、第56帧、第130帧、第220帧、第278帧的跟踪效果图。
具体实施方式
本发明基于Camshift算法的运动目标跟踪方法,包括以下步骤:
步骤1、图像预处理:使用相机采集视频图像,对图像进行灰度化处理,并进一步通过滤波操作去除图像噪声,得到视频图像序列;
步骤2、检测运动目标:手动标定跟踪目标,首先使用两帧差分法得到初步的检测结果;然后利用两帧差分图像得到三帧差分图像,同时对两帧差分图像使用Canny边缘检测算法得到目标边缘轮廓;最后将三帧差分图像与经Canny边缘检测算法处理的目标边缘轮廓进行或运算,得到与目标对象对应的目标检测结果;
步骤3、构建并更新目标特征模板:首先把步骤2目标检测结果所得视频图像转成Camshift算法所需的HSV模型;然后采用以H分量颜色直方图为主特征模板、S分量颜色直方图为次特征模板的方法得到目标特征模板;最后使用Camshift算法获取目标特征模板和质心坐标,并对目标特征模板进行实时更新;
步骤4、Camshift目标跟踪:以更新后的目标特征模板为依据,对目标进行跟踪,计算并调整下一帧搜索框的大小和质心坐标;
步骤5、卡尔曼目标跟踪:根据图像当前帧中目标的质心坐标、目标大小和运动速度信息,采用卡尔曼滤波算法对下一帧的质心坐标进行预测,并将结果反馈给Camshift算法;
步骤6、确定融合系数:判断跟踪过程中是否存在障碍物遮挡、同色背景干扰,若存在干扰,则以卡尔曼滤波算法为主,将卡尔曼滤波算法预测的目标位置作为当前帧的目标位置,更新Camshift算法的目标搜索框,返回步骤3对目标特征模板进行实时更新;若不存在干扰,则以Camshift算法为主,卡尔曼滤波算法为辅,进入下一步对目标进行持续跟踪;
步骤7、持续跟踪:获取下一帧图像并更新每一帧的目标特征模型,重复步骤4~步骤6,直至完成运动目标的跟踪。
进一步地,步骤1所述的图像预处理,包括对图像的灰度化处理和滤波去噪处理;首先通过平均加权法将采集的彩色图像转化成为灰度图像,然后进行图像滤波处理,去除图像中存在的噪声,得到视频图像序列。
进一步地,步骤2所述的检测运动目标,具体如下:
步骤2.1、对连续的三帧图像Ii-1(x,y)、Ii(x,y)、Ii+1(x,y)进行帧间差分运算,即分别对第Ii-1(x,y)帧与第Ii(x,y)帧、第Ii(x,y)帧与第Ii+1(x,y)帧图像做差分运算,接着对两个差分图像采用自适应阈值二值化方法进行运算,获得两个两帧差分图像;
步骤2.2、将步骤2.1中得到的两帧差分图像进行与运算,得到运动目标的三帧差分图像Di(x,y);
步骤2.3、分别对第i帧和第i+1帧差分图像采用Canny边缘检测算法进行运算,得到运动目标的边缘轮廓图像Pi(x,y);
步骤2.4、将三帧差分图像Di(x,y)与经Canny边缘检测算法处理的目标边缘轮廓图像Pi(x,y)进行或运算,得到与实际的运动目标对象相符的运动目标检测结果PTi(x,y),融合公式如下:
PTi(x,y)=Pi(x,y)∪Di(x,y)。
进一步地,步骤3所述的构建并更新目标特征模板,具体如下:
步骤3.1、将RGB模型转换为HSV模型:
将所有的颜色值归一化为[0,1],在RGB三个分量中,设定最大值为Max,最小值为Min,则转换公式如下:
V=Max
其中,R、G、B分别为RGB模型的分量,HSV分别为HSV模型的分量;
步骤3.2、针对背景与目标模型中H分量存在的颜色干扰问题,在H分量的基础上,引入S分量来达到分离目标的目的:
分别计算出HSV模型中的H分量直方图、S分量直方图,并进行反向投影得到图像的H分量概率分布图PH、S分量概率密度图Ps,根据式P(x,y)=βPH+(1-β)Ps,β∈[0.5,1],得到最终的颜色直方图的反向投影图P(x,y);
步骤3.3、根据第一帧图像提供的信息,计算质心坐标:
设图像点(x,y)处的像素值为I(x,y),则质心坐标(Xi,Yi)为:
其中,M00为零阶矩,M10为x的一阶矩,M01为y的一阶矩,计算方式如下:
步骤3.4、计算搜索窗口大小,二阶矩为:
令则搜索窗口位置可由下式确定:
其中,旋转角
进一步地,步骤4所述的Camshift目标跟踪,具体如下:
步骤4.1、根据步骤3计算的质心坐标、目标搜索框的大小及位置,将搜索框的中心移动到目标对象的质心坐标处;
步骤4.2、若搜索框与质心坐标之间距离大于阈值,则自适应调整搜索框的大小,直到搜索框的中心和目标质心相重合或者迭代次数满足要求;
步骤4.3、以当前得到的质心坐标作为下一帧运动目标搜索框的初始值,并对每一帧图像重复上述迭代过程。
进一步地,步骤6所述的确定融合系数,具体如下:
步骤6.1、设定第k帧中运动目标所占面积为Starget,运动目标模板所占面积为S,两者的比值为干扰算子,即干扰算子
对干扰情况进行分类:当无干扰时,η值为1;当存在遮挡干扰时,η值小于1;当存在同色干扰时,η值大于1;
步骤6.2、针对干扰情况,调节干扰算子:
其中,0.65为目标遮挡的阈值,1.55为同色背景干扰的阈值;正常情况下,干扰因子值为1;当目标遇到遮挡干扰或同色干扰时,将干扰因子设置为0;
步骤6.3、将调节后的η值代入下式来调整卡尔曼滤波算法中的观测值和预测值的权重:
卡尔曼增益系数方程:Kk=P'kHT(HP'kHT+(1-η)R)-1
状态修正方程:
其中,Kk为卡尔曼增益系数矩阵,H为观测矩阵,R为协方差,Pk为误差协方差P'k为误差协方差的预测,为第k帧的后验状态估计;为第k帧的先验状态估计;mk为第k帧的观测值,由Camshift算法提供;
当无干扰时,使用Camshift算法进行运动目标跟踪;当出现干扰时,则使用修正后的卡尔曼滤波算法进行运动目标跟踪,同时实时检测运动目标,将检测结果与未受干扰的目标相比较,若η值在正常范围内,则恢复以Camshift算法为主、卡尔曼算法为辅的跟踪方法。
下面结合附图及具体实施例对本发明作进一步详细说明。
实施例
首先通过相机采集一段背景复杂且目标运动过程中遇到障碍物遮挡的视频图像序列,随后在Matlab2017a和Visual Studio 2013平台上对视频图像序列进行综合处理。
如图1所示,本发明一种基于Camshift算法的运动目标跟踪方法,包括以下步骤:
步骤1:图像预处理:使用相机采集视频图像,使用加权平均法对图像进行灰度化处理,并进一步通过滤波操作,去除图像噪声,得到效果较好的图像视频序列;
步骤2:检测运动目标:手动标定跟踪目标,首先使用两帧差分法得到初步的检测结果;然后利用两帧差分图像得到三帧差分图像,同时对两帧差分图像使用Canny边缘检测算法得到比较完整的目标边缘轮廓;最后将三帧差分图像与经Canny边缘检测算法处理的目标边缘轮廓进行或运算,得到与目标对象较为接近的目标检测结果,结合图2、图3,具体如下:
步骤2.1、对视频序列中的连续三帧图像Ii-1(x,y)、Ii(x,y)、Ii+1(x,y)进行帧间差分运算,即分别对第Ii-1(x,y)帧与第Ii(x,y)帧、第Ii(x,y)帧与第Ii+1(x,y)帧图像做差分运算,接着对两个差分图像采用自适应阈值二值化方法进行运算,获得两个两帧差分图像;
步骤2.2、将步骤2.1中得到的两帧差分图像作与运算,得到运动目标的三帧差分图像Di(x,y);
步骤2.3、分别对第i帧和第i+1帧差分图像采用Canny边缘检测算法进行运算,得到运动目标的边缘轮廓图像Pi(x,y);
步骤2.4、将得到的三帧差分图像Di(x,y)和边缘轮廓图像Pi(x,y)进行或运算,即利用公式PTi(x,y)=Pi(x,y)∪Di(x,y)得到较优的运动目标检测结果PTi(x,y)。
步骤3:得到并更新目标特征模板:首先把采集的视频图像由RGB模型转成HSV模型;然后采用以H分量颜色直方图为主特征模板、S分量颜色直方图为次特征模板的方法得到目标特征模板;最后使用Camshift算法获取目标特征模板和质心坐标,并对目标特征模板进行实时更新,结合图4,具体如下:
步骤3.1、将所有的颜色值归一化为[0,1],在RGB三个分量中,设定最大值为Max,最小值为Min,将图像从RGB模型转成HSV模型;转换公式如下:
V=Max
步骤3.2、得到HSV模型后,针对背景与目标模型中H分量存在的颜色干扰问题,在H分量基础之上,引入S分量来达到分离目标的目的:
分别计算出HSV模型中的H分量直方图、S分量直方图,并进行反向投影得到图像的H分量概率分布图PH、S分量概率密度图Ps,根据式P(x,y)=βPH+(1-β)Ps,(β∈[0.5,1])得到最终的颜色直方图的反向投影图;在本实施例中,取β值为0.6;
步骤3.3、根据第一帧中的图像信息,计算质心坐标:
设图像点(x,y)处的像素值为I(x,y),则质心坐标为:
其中,M00为零阶矩、M10为x的一阶矩、M01为y的一阶矩,计算方式如下:
步骤3.4、计算搜索窗口大小,二阶矩为:
令则搜索窗口位置可由下式确定:
得到当前帧中目标的质心、大小,搜索框的初始尺寸和位置,然后以每帧图像中的目标质心、大小为特征模板,并不断更新。
步骤4:Camshift目标跟踪:以更新后的目标特征模板为依据,对目标进行跟踪,计算并调整下一帧搜索框的大小和质心坐标,具体如下:
步骤4.1、以步骤3计算的当前帧的质心坐标、目标搜索框的尺寸及位置为依据,将搜索框的中心移动到目标对象的质心坐标处;
步骤4.2、若搜索框与质心坐标之间距离大于设置的阈值,则自适应调整搜索框的大小,直到搜索框的中心和目标质心相重合或者迭代次数满足要求;
步骤4.3、以当前得到的质心坐标作为下一帧运动目标搜索框的初始值,对每一帧图像重复上述迭代过程。
步骤5:卡尔曼目标跟踪:根据图像当前帧中目标的质心坐标、目标大小和运动速度信息,采用卡尔曼滤波算法对下一帧的质心坐标进行预测,并将结果反馈给Camshift算法,结合图5,具体如下:
先根据上一时刻的状态预测当前时刻的状态,再根据得到的观测值对预测值做修正,并且把修正后的状态值当作下一时刻的初始值。在应用时,卡尔曼滤波算法主要涉及预测方程和修正方程。
预测方程包括状态预测方程、误差协方差预测方程:
状态预测方程:
误差协方差预测方程:P'k=APk-1AT+Q
修正方程包括卡尔曼增益系数方程、状态修正方程和误差协方差修正方程:
卡尔曼增益系数方程:Kk=P'kHT(HP'kHT+R)-1
状态修正方程:
误差协方差修正方程:Pk=(I-KkH)P'k
其中,A为状态转移矩阵,B为系统作用矩阵,H为观测矩阵,Q为状态噪声协方差矩阵,R为观测噪声协方差矩阵。
步骤6:确定融合系数:判断跟踪过程中是否存在障碍物遮挡、同色背景干扰,若存在干扰,则以卡尔曼滤波算法为主,将卡尔曼滤波算法预测的目标位置作为当前帧的目标位置,更新Camshift算法的目标搜索框,返回步骤3对目标特征模板进行实时更新;若不存在干扰,则以Camshift算法为主,卡尔曼滤波算法为辅,对目标进行持续跟踪,具体如下:
步骤6.1、设定第k帧中运动目标所占面积为Starget,运动目标模板所占面积为S,令两者的比值为干扰算子,干扰算子对干扰情况进行分类:当无干扰时,η值为1;当存在遮挡干扰时,η值小于1;当存在同色干扰时,η值大于1;
步骤6.2、针对干扰情况,调节干扰算子:
其中,0.65为目标遮挡的阈值,1.55为同色背景干扰的阈值;正常情况下,干扰因子值为1;当目标遇到遮挡干扰或同色干扰时,将干扰因子设置为0;
步骤6.3、将调节后的η值代入下式来调整卡尔曼滤波算法中的观测值和预测值的权重:
卡尔曼增益系数方程:Kk=P'kHT(HP'kHT+(1-η)R)-1
状态修正方程:
其中,Kk为卡尔曼增益系数矩阵,H为观测矩阵,R为协方差,Pk为误差协方差P'k为误差协方差的预测,为第k帧的后验状态估计;为第k帧的先验状态估计;mk为第k帧的观测值,由Camshift算法提供;
当无干扰时,使用Camshift算法进行运动目标跟踪;当出现干扰时,则使用修正后的卡尔曼滤波算法进行运动目标跟踪,同时实时检测运动目标,将检测结果与未受干扰的目标相比较,若η值在正常范围内,则恢复以Camshift算法为主、卡尔曼算法为辅的跟踪方法。
步骤7:持续跟踪:获取下一帧图像并更新每一帧的目标特征模型,重复步骤4~步骤6,直至完成运动目标的跟踪。
结合图6的仿真效果图,其中(a)~(e)分别是视频的第1帧、第56帧、第130帧、第220帧、第278帧的跟踪效果图,可以看出,本发明基于Camshift算法的运动目标跟踪方法,提高了目标检测的准确性与可靠性,使检测结果更接近现实中的目标对象;提高了Camshift算法的效率和跟踪算法的准确性,并克服了目标跟踪中障碍物遮挡和同色背景干扰的问题。
Claims (6)
1.一种基于Camshift算法的运动目标跟踪方法,其特征在于,包括以下步骤:
步骤1、图像预处理:使用相机采集视频图像,对图像进行灰度化处理,并进一步通过滤波操作去除图像噪声,得到视频图像序列;
步骤2、检测运动目标:手动标定跟踪目标,首先使用两帧差分法得到初步的检测结果;然后利用两帧差分图像得到三帧差分图像,同时对两帧差分图像使用Canny边缘检测算法得到目标边缘轮廓;最后将三帧差分图像与经Canny边缘检测算法处理的目标边缘轮廓进行或运算,得到与目标对象对应的目标检测结果;
步骤3、构建并更新目标特征模板:首先把步骤2目标检测结果所得视频图像转成Camshift算法所需的HSV模型;然后采用以H分量颜色直方图为主特征模板、S分量颜色直方图为次特征模板的方法得到目标特征模板;最后使用Camshift算法获取目标特征模板和质心坐标,并对目标特征模板进行实时更新;
步骤4、Camshift目标跟踪:以更新后的目标特征模板为依据,对目标进行跟踪,计算并调整下一帧搜索框的大小和质心坐标;
步骤5、卡尔曼目标跟踪:根据图像当前帧中目标的质心坐标、目标大小和运动速度信息,采用卡尔曼滤波算法对下一帧的质心坐标进行预测,并将结果反馈给Camshift算法;
步骤6、确定融合系数:判断跟踪过程中是否存在障碍物遮挡、同色背景干扰,若存在干扰,则以卡尔曼滤波算法为主,将卡尔曼滤波算法预测的目标位置作为当前帧的目标位置,更新Camshift算法的目标搜索框,返回步骤3对目标特征模板进行实时更新;若不存在干扰,则以Camshift算法为主,卡尔曼滤波算法为辅,进入下一步对目标进行持续跟踪;
步骤7、持续跟踪:获取下一帧图像并更新每一帧的目标特征模型,重复步骤4~步骤6,直至完成运动目标的跟踪。
2.根据权利要求1所述的基于Camshift算法的运动目标跟踪方法,其特征在于,步骤1所述的图像预处理,包括对图像的灰度化处理和滤波去噪处理;首先通过平均加权法将采集的彩色图像转化成为灰度图像,然后进行图像滤波处理,去除图像中存在的噪声,得到视频图像序列。
3.根据权利要求1所述的基于Camshift算法的运动目标跟踪方法,其特征在于,步骤2所述的检测运动目标,具体如下:
步骤2.1、对连续的三帧图像Ii-1(x,y)、Ii(x,y)、Ii+1(x,y)进行帧间差分运算,即分别对第Ii-1(x,y)帧与第Ii(x,y)帧、第Ii(x,y)帧与第Ii+1(x,y)帧图像做差分运算,接着对两个差分图像采用自适应阈值二值化方法进行运算,获得两个两帧差分图像;
步骤2.2、将步骤2.1中得到的两帧差分图像进行与运算,得到运动目标的三帧差分图像Di(x,y);
步骤2.3、分别对第i帧和第i+1帧差分图像采用Canny边缘检测算法进行运算,得到运动目标的边缘轮廓图像Pi(x,y);
步骤2.4、将三帧差分图像Di(x,y)与经Canny边缘检测算法处理的目标边缘轮廓图像Pi(x,y)进行或运算,得到与实际的运动目标对象相符的运动目标检测结果PTi(x,y),融合公式如下:
PTi(x,y)=Pi(x,y)∪Di(x,y)。
4.根据权利要求1所述的基于Camshift算法的运动目标跟踪方法,其特征在于,步骤3所述的构建并更新目标特征模板,具体如下:
步骤3.1、将RGB模型转换为HSV模型:
将所有的颜色值归一化为[0,1],在RGB三个分量中,设定最大值为Max,最小值为Min,则转换公式如下:
V=Max
其中,R、G、B分别为RGB模型的分量,HSV分别为HSV模型的分量;
步骤3.2、针对背景与目标模型中H分量存在的颜色干扰问题,在H分量的基础上,引入S分量来达到分离目标的目的:
分别计算出HSV模型中的H分量直方图、S分量直方图,并进行反向投影得到图像的H分量概率分布图PH、S分量概率密度图Ps,根据式P(x,y)=βPH+(1-β)Ps,β∈[0.5,1],得到最终的颜色直方图的反向投影图P(x,y);
步骤3.3、根据第一帧图像提供的信息,计算质心坐标:
设图像点(x,y)处的像素值为I(x,y),则质心坐标(Xi,Yi)为:
其中,M00为零阶矩,M10为x的一阶矩,M01为y的一阶矩,计算方式如下:
步骤3.4、计算搜索窗口大小,二阶矩为:
令则搜索窗口位置可由下式确定:
其中,旋转角
5.根据权利要求1所述的基于Camshift算法的运动目标跟踪方法,其特征在于,步骤4所述的Camshift目标跟踪,具体如下:
步骤4.1、根据步骤3计算的质心坐标、目标搜索框的大小及位置,将搜索框的中心移动到目标对象的质心坐标处;
步骤4.2、若搜索框与质心坐标之间距离大于阈值,则自适应调整搜索框的大小,直到搜索框的中心和目标质心相重合或者迭代次数满足要求;
步骤4.3、以当前得到的质心坐标作为下一帧运动目标搜索框的初始值,并对每一帧图像重复上述迭代过程。
6.根据权利要求1所述的基于Camshift算法的运动目标跟踪方法,其特征在于,步骤6所述的确定融合系数,具体如下:
步骤6.1、设定第k帧中运动目标所占面积为Starget,运动目标模板所占面积为S,两者的比值为干扰算子,即干扰算子
对干扰情况进行分类:当无干扰时,η值为1;当存在遮挡干扰时,η值小于1;当存在同色干扰时,η值大于1;
步骤6.2、针对干扰情况,调节干扰算子:
其中,0.65为目标遮挡的阈值,1.55为同色背景干扰的阈值;正常情况下,干扰因子值为1;当目标遇到遮挡干扰或同色干扰时,将干扰因子设置为0;
步骤6.3、将调节后的η值代入下式来调整卡尔曼滤波算法中的观测值和预测值的权重:
卡尔曼增益系数方程:Kk=P′kHT(HP′kHT+(1-η)R)-1
状态修正方程:
其中,Kk为卡尔曼增益系数矩阵,H为观测矩阵,R为协方差,Pk为误差协方差P′k为误差协方差的预测,为第k帧的后验状态估计;为第k帧的先验状态估计;mk为第k帧的观测值,由Camshift算法提供;
当无干扰时,使用Camshift算法进行运动目标跟踪;当出现干扰时,则使用修正后的卡尔曼滤波算法进行运动目标跟踪,同时实时检测运动目标,将检测结果与未受干扰的目标相比较,若η值在正常范围内,则恢复以Camshift算法为主、卡尔曼算法为辅的跟踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910025155.3A CN109816692A (zh) | 2019-01-11 | 2019-01-11 | 一种基于Camshift算法的运动目标跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910025155.3A CN109816692A (zh) | 2019-01-11 | 2019-01-11 | 一种基于Camshift算法的运动目标跟踪方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109816692A true CN109816692A (zh) | 2019-05-28 |
Family
ID=66603362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910025155.3A Pending CN109816692A (zh) | 2019-01-11 | 2019-01-11 | 一种基于Camshift算法的运动目标跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816692A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110488320A (zh) * | 2019-08-23 | 2019-11-22 | 南京邮电大学 | 一种利用立体视觉检测车辆距离的方法 |
CN110675428A (zh) * | 2019-09-06 | 2020-01-10 | 鹏城实验室 | 面向人机交互的目标跟踪方法、装置、计算机设备 |
CN110751635A (zh) * | 2019-10-12 | 2020-02-04 | 湖南师范大学 | 一种基于帧间差分和hsv颜色空间的口腔检测方法 |
CN110766715A (zh) * | 2019-10-31 | 2020-02-07 | 智慧视通(杭州)科技发展有限公司 | 一种结合单目标轨迹的多目标跟踪方法 |
CN111709968A (zh) * | 2020-05-08 | 2020-09-25 | 中国人民解放军空军工程大学 | 一种基于图像处理的低空目标探测跟踪方法 |
CN112509004A (zh) * | 2020-12-07 | 2021-03-16 | 北京集光通达科技股份有限公司 | 红外热成像图像中目标的追寻方法和装置 |
CN113240712A (zh) * | 2021-05-11 | 2021-08-10 | 西北工业大学 | 一种基于视觉的水下集群邻居跟踪测量方法 |
CN113301189A (zh) * | 2021-04-07 | 2021-08-24 | 厦门市思芯微科技有限公司 | 基于CamShift的移动客户端跟随拍摄方法和装置 |
CN113298848A (zh) * | 2021-06-04 | 2021-08-24 | 东南大学 | 一种融合实例分割和CamShift的物体跟踪方法 |
WO2021208122A1 (zh) * | 2020-04-15 | 2021-10-21 | 清华大学深圳国际研究生院 | 基于深度学习的视频盲去噪方法及装置 |
CN114359265A (zh) * | 2022-03-04 | 2022-04-15 | 广东顺德富意德智能包装科技有限公司 | 一种基于目标跟踪的螺丝计数方法及系统 |
CN114419106A (zh) * | 2022-03-30 | 2022-04-29 | 深圳市海清视讯科技有限公司 | 车辆违章行为检测方法、设备及存储介质 |
CN115588154A (zh) * | 2022-10-11 | 2023-01-10 | 湖北中医药大学 | 一种针刺手法运动轨迹的识别转录系统及方法 |
CN115937263A (zh) * | 2023-02-27 | 2023-04-07 | 南昌理工学院 | 基于视觉的目标跟踪方法、系统、电子设备及存储介质 |
CN117670940A (zh) * | 2024-01-31 | 2024-03-08 | 中国科学院长春光学精密机械与物理研究所 | 基于相关性峰值距离分析的单流卫星视频目标跟踪方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108198206A (zh) * | 2017-12-22 | 2018-06-22 | 湖南源信光电科技股份有限公司 | 基于多特征联合和Camshift算法结合的多目标跟踪方法 |
-
2019
- 2019-01-11 CN CN201910025155.3A patent/CN109816692A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108198206A (zh) * | 2017-12-22 | 2018-06-22 | 湖南源信光电科技股份有限公司 | 基于多特征联合和Camshift算法结合的多目标跟踪方法 |
Non-Patent Citations (2)
Title |
---|
侯杰虎: "基于 kalman 滤波器的视频运动目标跟踪算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
张玉阳: "基于双目视觉的运动目标识别与跟踪算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110488320A (zh) * | 2019-08-23 | 2019-11-22 | 南京邮电大学 | 一种利用立体视觉检测车辆距离的方法 |
CN110488320B (zh) * | 2019-08-23 | 2023-02-03 | 南京邮电大学 | 一种利用立体视觉检测车辆距离的方法 |
CN110675428A (zh) * | 2019-09-06 | 2020-01-10 | 鹏城实验室 | 面向人机交互的目标跟踪方法、装置、计算机设备 |
CN110675428B (zh) * | 2019-09-06 | 2023-02-28 | 鹏城实验室 | 面向人机交互的目标跟踪方法、装置、计算机设备 |
CN110751635A (zh) * | 2019-10-12 | 2020-02-04 | 湖南师范大学 | 一种基于帧间差分和hsv颜色空间的口腔检测方法 |
CN110751635B (zh) * | 2019-10-12 | 2024-03-19 | 湖南师范大学 | 一种基于帧间差分和hsv颜色空间的口腔检测方法 |
CN110766715A (zh) * | 2019-10-31 | 2020-02-07 | 智慧视通(杭州)科技发展有限公司 | 一种结合单目标轨迹的多目标跟踪方法 |
WO2021208122A1 (zh) * | 2020-04-15 | 2021-10-21 | 清华大学深圳国际研究生院 | 基于深度学习的视频盲去噪方法及装置 |
CN111709968B (zh) * | 2020-05-08 | 2022-10-11 | 中国人民解放军空军工程大学 | 一种基于图像处理的低空目标探测跟踪方法 |
CN111709968A (zh) * | 2020-05-08 | 2020-09-25 | 中国人民解放军空军工程大学 | 一种基于图像处理的低空目标探测跟踪方法 |
CN112509004A (zh) * | 2020-12-07 | 2021-03-16 | 北京集光通达科技股份有限公司 | 红外热成像图像中目标的追寻方法和装置 |
CN113301189A (zh) * | 2021-04-07 | 2021-08-24 | 厦门市思芯微科技有限公司 | 基于CamShift的移动客户端跟随拍摄方法和装置 |
CN113240712A (zh) * | 2021-05-11 | 2021-08-10 | 西北工业大学 | 一种基于视觉的水下集群邻居跟踪测量方法 |
CN113298848A (zh) * | 2021-06-04 | 2021-08-24 | 东南大学 | 一种融合实例分割和CamShift的物体跟踪方法 |
CN114359265A (zh) * | 2022-03-04 | 2022-04-15 | 广东顺德富意德智能包装科技有限公司 | 一种基于目标跟踪的螺丝计数方法及系统 |
CN114419106A (zh) * | 2022-03-30 | 2022-04-29 | 深圳市海清视讯科技有限公司 | 车辆违章行为检测方法、设备及存储介质 |
CN114419106B (zh) * | 2022-03-30 | 2022-07-22 | 深圳市海清视讯科技有限公司 | 车辆违章行为检测方法、设备及存储介质 |
CN115588154A (zh) * | 2022-10-11 | 2023-01-10 | 湖北中医药大学 | 一种针刺手法运动轨迹的识别转录系统及方法 |
CN115588154B (zh) * | 2022-10-11 | 2024-06-07 | 湖北中医药大学 | 一种针刺手法运动轨迹的识别转录系统及方法 |
CN115937263A (zh) * | 2023-02-27 | 2023-04-07 | 南昌理工学院 | 基于视觉的目标跟踪方法、系统、电子设备及存储介质 |
CN117670940A (zh) * | 2024-01-31 | 2024-03-08 | 中国科学院长春光学精密机械与物理研究所 | 基于相关性峰值距离分析的单流卫星视频目标跟踪方法 |
CN117670940B (zh) * | 2024-01-31 | 2024-04-26 | 中国科学院长春光学精密机械与物理研究所 | 基于相关性峰值距离分析的单流卫星视频目标跟踪方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109816692A (zh) | 一种基于Camshift算法的运动目标跟踪方法 | |
CN101739551B (zh) | 运动目标识别方法及系统 | |
CN109299643B (zh) | 一种基于大姿态对准的人脸识别方法及系统 | |
CN110378997B (zh) | 一种基于orb-slam2的动态场景建图与定位方法 | |
CN103514441B (zh) | 基于移动平台的人脸特征点定位跟踪方法 | |
CN106600625A (zh) | 检测小型生物的图像处理方法及装置 | |
CN109949341A (zh) | 一种基于人体骨架结构化特征的行人目标跟踪方法 | |
CN102999920A (zh) | 基于最近邻分类器和均值漂移的目标跟踪方法 | |
Cvejic et al. | The effect of pixel-level fusion on object tracking in multi-sensor surveillance video | |
CN110070565A (zh) | 一种基于图像叠加的船舶轨迹预测方法 | |
CN108876820A (zh) | 一种基于均值漂移的遮挡条件下移动目标追踪方法 | |
CN102142085A (zh) | 一种林区监控视频中运动火焰目标的鲁棒跟踪方法 | |
CN111931654A (zh) | 一种人员跟踪智能监测方法、系统和装置 | |
CN112132862B (zh) | 一种基于无人机的自适应尺度估计目标跟踪算法 | |
CN110197121A (zh) | 基于DirectShow的运动目标检测方法、运动目标检测模块及监控系统 | |
CN110472608A (zh) | 图像识别跟踪处理方法及系统 | |
CN108053422A (zh) | 移动目标监测方法 | |
Guo et al. | Small aerial target detection using trajectory hypothesis and verification | |
CN112200831B (zh) | 一种基于动态模板的密集连接孪生神经网络目标跟踪方法 | |
CN109102520A (zh) | 基于模糊均值聚类与卡尔曼滤波跟踪相结合的运动目标检测方法 | |
CN110111368B (zh) | 一种基于人体姿态识别的相似移动目标的检测跟踪方法 | |
CN111627047A (zh) | 水下鱼类动态视觉序列运动目标检测方法 | |
CN101567088B (zh) | 一种运动物体检测的方法和装置 | |
Du | CAMShift-Based Moving Object Tracking System | |
Awal et al. | A Particle Filter Based Visual Object Tracking: A Systematic Review of Current Trends and Research Challenges. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |