CN108198205A - 一种基于Vibe和Camshift算法的目标跟踪方法 - Google Patents
一种基于Vibe和Camshift算法的目标跟踪方法 Download PDFInfo
- Publication number
- CN108198205A CN108198205A CN201711401274.1A CN201711401274A CN108198205A CN 108198205 A CN108198205 A CN 108198205A CN 201711401274 A CN201711401274 A CN 201711401274A CN 108198205 A CN108198205 A CN 108198205A
- Authority
- CN
- China
- Prior art keywords
- target
- pixel
- tracking
- size
- frame
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000001514 detection method Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000000605 extraction Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000000452 restraining effect Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 238000004064 recycling Methods 0.000 claims 1
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20224—Image subtraction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于Vibe和Camshift算法的目标跟踪方法,其涉及计算机视觉领域。该方法首先利用改进Vibe算法检测出运动目标;再Kalman滤波跟踪获得目标的外接矩形来初始化Camshift跟踪的搜索窗口;再进行Camshift目标跟踪,再根据其跟踪计算得到的目标面积和Bhattacharyya系数判断目标是否存在遮挡以及遮挡的程度,从跟踪遮挡情况进行相应的目标跟踪。该方法是一种全自动的跟踪方法,提取了更加精确的运动目标,消除了检测过程中出现的鬼影,同时为目标跟踪去除了背景颜色的干扰;目标跟踪过程中可适应目标发生形变的情况,并且可在目标出现遮挡现象时也能够进行正确的跟踪。
Description
技术领域
本发明涉及计算机视觉领域,特指一种基于Vibe和Camshift算法的目标跟踪方法。
背景技术
运动目标跟踪在军事、工业生产、日常生活中都有着广泛的应用,如军事目标跟踪。全自动的运动目标跟踪包括运动目标检测和目标跟踪两个步骤。
其中,运动目标检测算法有光流法、帧间差分法和背景减差法三种。光流法需要专门的硬件支持,计算复杂且计算量大,一般较少使用。帧间差分法原理简单,对噪声和光线变化不敏感,但是目标检测结果容易出现空洞现象。当运动目标有缓慢变化转为快速运动的时候,背景减差法容易将背景显露区域(即当前背景还留有上一帧的运动目标信息,但运动目标此时已不在该区域)检测为前景,出现“影子“现象,且在有树枝摆动等复杂场景中对噪声的处理效果不佳,对环境的适应性较差,这样的误检会对后续的目标跟踪造成困难。
目前,卡尔曼滤波器算法、Meanshift算法和Camshift算法是运动目标跟踪算法中集中比较成熟的算法。Bradski把Meanshift算法应用到连续序列图像的跟踪中,并称之为Camshift算法,此算法对不规则目标运动、图像噪声、虚假目标、光线变化都有较好的适应性,而且算法的实用性很好。但是当目标颜色和背景颜色相近或光照条件变化时,跟踪目标的准确性将受到很大的影响,在遇到运动目标出现遮挡的情况时容易陷入局部最大值,同时对快速运动目标往往会跟踪失败。
发明内容
本发明的目的在于克服上述现有技术的不足,提出基于Vibe和Camshift算法的目标跟踪方法。该方法是一种全自动的跟踪方法,提取了更加精确的运动目标,消除了检测过程中出现的鬼影,同时为目标跟踪去除了背景颜色的干扰;目标跟踪过程中可适应目标发生形变的情况,并且可在目标出现遮挡现象时也能够进行正确的跟踪。
为实现上述目的,本发明技术方案具体包括以下步骤:
S1输入视频图像,利用改进的Vibe算法提取运动前景目标;
S1.1建立Vibe背景模型,得到初始化后的背景模型;
S1.2检测运动前景目标和消除鬼影;
S2利用改进的Camshift算法进行运动目标跟踪;
S2.1利用Kalman滤波预测由步骤S1获得的运动目标在下一帧中的位置和大小;
S2.2采用基于Camshift算法进行目标跟踪;
S2.3根据步骤S2.2的跟踪算法计算得到的目标面积和Bhattacharyya系数判断目标是否存在遮挡以及遮挡的程度,再根据目标是否存在遮挡以及遮挡的程度进行相应的目标跟踪。
进一步,作为本发明的优选技术方案,所述步骤S1.2包括:
S1.2.1基于自适应阈值的Vibe算法的背景和前景的分类;
S1.2.2结合前景检测结果和Otsu阈值方法进行二次判断来消除鬼影;
S1.2.3采用Vibe算法的背景更新方法对背景模型进行更新,并循环进行后续的运动前景检测。
进一步,作为本发明的优选技术方案,所述检测运动前景目标包括:
从第二帧开始对运动目标进行检测,以像素点x在像素值v(x)为圆心,R为半径,创建一个二维欧几里得色度空间的区域SR(v(x)),该区域SR(v(x))中包含像素x的背景样本值的个数为#{SR(v(x))∩{v1,v2,...,vN}};
其中,
上式中,k为背景模型中与像素p比较的像素值的个数,v(p)为当前帧中像素p位置处的像素值,vi为像素p背景模型的像素值;
设定一阈值#min,如果#{SR(v(x))∩{v1,v2,...,vN}}大于或是等于阈值#min,则在当前帧中,该像素为背景像素;如果#{SR(v(x))∩{v1,v2,...,vN}}小于阈值#min,则该像素为前景像素。
进一步,作为本发明的优选技术方案,所述消除鬼影包括:
(1)计算当前帧的最佳分割阈值;
假设当前图像帧的灰度级为L,灰度范围为[0,L-1],分割阈值为t,可以将图像分为灰度级为[0,t]的区域A以及灰度级为[t+1,L-1]的区域B,其中A、B分别代表前景以及背景;
类间方差为:
σ2=ω0(μ0-μ)2+ω1(μ0-μ1)2=ω0ω1(μ0-μ1)2
其中,ω0表示前景像素点数目占整幅图像的比例,前景像素平均灰度值为μ0,ω1表示背景像素点数目占整幅图像的比例,背景像素平均灰度值为μ1,整幅图像的平均灰度值为μ;
当σ2取得最大值时的灰度值即为最佳阈值:
(2)对运动目标像素点进行二次判别;
在检测得到的背景像素点中随机选取M个,计算该M个像素点灰度的平均值为假设f(x)为检测出的前景像素,判断规则为:
如果当f(x)>t*时,f(x)再次判断为前景;当f(x)≤t*时,f(x)再次判断为背景;
如果当f(x)<t*时,f(x)再次判断为前景;当f(x)≥t*时,f(x)再次判断为背景。
进一步,作为本发明的优选技术方案,所述步骤S2.1包括:
S2.1.1利用基于积木的特征提取方法提取步骤S1获得的二值图像中目标的外接矩形、重心坐标、周长的特征信息;
S2.1.2根据所述外接矩形、重心坐标、周长的特征信息,使用卡尔曼滤波跟踪预测由步骤S1获得的运动前景目标在下一帧中的位置和大小,根据该位置和大小获得目标的外接矩形。
进一步,作为本发明的优选技术方案,所述步骤S2.2包括:
S2.2.1根据步骤S2.1中Kalman滤波预测获得的外接矩形来初始化搜索窗口;
S2.2.2将比搜索窗口内的RGB图像转换成HSV图像,提取H分量;
S2.2.3计算搜索窗口内的目标颜色直方图,归一化得到概率分布图I(x,y),并将其作为查找表,将H通道图像上每一个像素点用它的像素值所对应的概率代替,得到概率投影图;
S2.2.4根据搜索窗口的大小和位置,计算搜索窗口的质心位置(xc,yc):
其中,
S2.2.5根据M00重新调整搜索窗的大小,如下式所示,移动窗口的中心位置到质心位置处;
其中,s表示窗口大小;
S2.2.6利用Meanshift算法判断中心位置是否收敛,若是不收敛,则返回到步骤S2.2.3,根据新的搜索窗口继续计算质心位置;直到收敛;若是收敛,则计算椭圆区域大小(w,l),此时窗口中心位置和大小为目标在当前帧中的质心位置和大小;
其中,搜索窗口的二阶矩为:
令:
可得目标椭圆区域的长轴和短轴的长度分别为:
和
进一步,作为本发明的优选技术方案,所述步骤S2.3包括:
S2.3.1若是目标没有被遮挡,输出利用步骤S2.2中基于Camshift的跟踪算法获得目标的位置,并作为Kalman滤波跟踪的输入,预测下一帧的目标位置和大小,并返回到步骤S2.2,继续目标跟踪;
本发明中采用Bhattacharyya系数ρ(g)来判断目标是否存在遮挡;
其中,qn为目标模型的颜色直方图,pn(g)为由步骤S2.2.1的跟踪过程获得的当前图像帧中目标的颜色直方图,n表示直方图分量,g为由步骤S2.2的跟踪过程获得的当前图像帧的目标搜索窗口的中心位置;
设定一个阈值T,如果ρ(g)≥T,则说明目标没有被遮挡;如果ρ(g)<T,则说明目标被遮挡;
S2.3.2若是ρ(g)<T,则目标被遮挡,根据步骤S2.2中跟踪算法计算得到的目标面积判断目标遮挡的程度,再进行相应的目标跟踪。
进一步,作为本发明的优选技术方案,所述步骤S2.3.2包括:
设定一个最小的目标面积amin,如果area>amin,则说明遮挡不严重,此时记录当前跟踪图像帧中目标位置和大小,将Kalman滤波跟踪方法根据上一帧图像预测得到当前图像帧的目标位置和大小作为Kalman预测器的输入,预测下一帧目标的位置和大小,获取下一帧图像,根据预测目标的位置和大小设置搜索窗口的位置和大小,返回到步骤S2.2,继续目标跟踪;
如果area≤amin,则说明遮挡严重,同时判断目标连续被遮挡的帧数累加值e是否极限值E0,如果e<E0,此时目标的质心位置为上一帧中Kalman滤波预测目标的位置,将Kalman滤波跟踪方法根据上一帧图像预测得到当前图像帧的目标位置和大小作为Kalman预测器的输入,预测下一帧目标的位置和大小,获取下一帧图像,根据预测目标的位置和大小设置搜索窗口的位置和大小,并作为基于Camshift目标跟踪的输入,返回到步骤S2.2,继续目标跟踪;如果e≥E0,则说明目标被遮挡的时间过长,则终止目标跟踪。
与现有技术相比,本发明具有以下有益效果:
1)本发明利用改进的Vibe算法提取了更加精确的运动区域,其利用了Vibe算法的像素级判断特性和Otsu算法针对图像整体特性来消除运动检测过程中出现的鬼影,同时为后续的目标跟踪去除了背景颜色的干扰。
2)本发明利用改进的基于Camshift的目标跟踪方法进行运动目标跟踪,跟踪过程中可自适应的改变搜索窗口大小以适用于目标在运动过程中发生形变的情况,并根据Camshift跟踪算法计算得到的目标面积和Bhattacharyya系数判断目标是否存在遮挡以及遮挡的程度,再根据目标是否存在遮挡以及遮挡的程度进行相应的目标跟踪,从而有效地解决了目标被遮挡过程中Camshift跟踪失败的情况。
附图说明
图1是本实施例中整体算法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种基于Vibe和Camshift算法的目标跟踪方法,其具体操作流程如图1所示,主要包括以下两大步骤S1-S2,下面对步骤S1-S2进行详细介绍:
S1输入视频图像,利用改进的Vibe算法提取运动前景目标;
火焰在燃烧过程中,由于气流、气压以及温度等影响,火焰会呈现出运动特性。而Vibe算法具有运动速度较快、目标提取准确率高的优点,因此,本发明对Vibe算法进行一定程度的改进,并将其应用于运动前景目标的提取,运动前景目标的提取主要包括以下步骤:
S1.1建立Vibe背景模型;
Vibe算法利用第一帧进行初始化,为了给第一帧的每一个像素点建立相应的背景集合,引入邻域的方法。定义像素点x处的背景像素值为v(x),在每个像素点x的8邻域内随机选取N个像素值v1,v2,...,vN作为像素点x的背景模型样本值,设背景模型为M(x),则:
M(x)={v1,v2,...,vN} (1)
Vibe算法使用首帧图像初始化背景模型,对于像素背景样本空间中的每一个样本值,从该样本值像素和其邻域像素中,随机选择一个像素值对其进行初始化。在首帧图像中,y值在像素点x的8邻域NG(x)内的样本点中随机选择,令v0(y)为首帧图像在y处的像素值,那么可以得到初始化后的背景模型,用公式表示为:
M0(x)={v0(y)|y∈NG(x)} (2)
其中,M0(x)为初始化后的背景模型。
S1.2检测运动前景目标和消除鬼影;
S1.2.1基于自适应阈值的Vibe算法的背景和前景的分类;
从第二帧开始对运动目标进行检测,以像素点x在像素值v(x)为圆心,R为半径,创建一个二维欧几里得色度空间的球体SR(v(x)),用来将像素点x处在新一帧图像中的像素值与该点处的背景样本值做对比,将像素点分类。Vibe算法进行前景检测时,判断背景模型中样本值是否与当前像素值匹配,采用固定半径阈值R。当R设定较大时,与背景像素值比较接近的前景像素就会被检测背景,导致检测到的运动目标不能完整检测出来。当R设定较小时,背景中不希望被检测出来的动态变化部分(如树叶、树枝等)就会被检测出来,导致检测结果中出现较多的噪声。
针对上述情况,为了提高检测的准确度,本发明方法根据像素的具体情况,为每个像素设定一个阈值,阈值R的设定方法如下:
式中,k为背景模型中与像素p比较的像素值的个数;v(p)为当前帧中像素p为位置处的像素值;vi为像素p背景模型的像素值。
为了防止阈值R出现过大和过小而导致检测结果不准确的情况,本发明方法设定了阈值R的上限和下限,具体设定阈值R∈[20,40],即当由公式(3)求得的阈值R小于20时,设定阈值R为20,当由公式(3)求得的阈值R大于40时,设定阈值R为40。
进一步地,定义一个区域SR(v(x)),该区域SR(v(x))中包含像素x的背景样本值的个数为#{SR(v(x))∩{v1,v2,...,vN}},以#{SR(v(x))∩{v1,v2,...,vN}}的大小判定像素是前景像素还是背景像素。初始化#{SR(v(x))∩{v1,v2,...,vN}}为0,设定判定像素为前景像素还是背景像素的阈值为#min,设定其值为2。如果#{SR(v(x))∩{v1,v2,...,vN}}大于或是等于阈值#min,则在当前帧中,该像素为背景像素;如果#{SR(v(x))∩{v1,v2,...,vN}}小于阈值#min,则该像素为前景像素。
S1.2.2结合前景检测结果和Otsu阈值方法进行二次判断来消除鬼影;
鬼影是指不对应实际运动目标的前景区域,它是由背景中原来静止的物体突然运动从而导致背景模型与实际背景不一致引起的。当背景中的物体突然运动时,物体原来的位置会被物体原来覆盖的区域取代,这种变化会在接下来的图像序列中立即反映出来,而背景模型并不会立即反映这种变化。因而会造成一段时间的背景模型失效的问题,这就会在物体原来的位置产生误检,检测到不存在的运动目标,从而出现鬼影现象。
针对鬼影问题,本发明采用结合前景检测结果和Otsu阈值方法进行二次判断的来抑制鬼影,其主要步骤为:
(1)计算当前帧的最佳分割阈值;
假设当前图像帧的灰度级为L,灰度范围为[0,L-1],分割阈值为t,可以将图像分为灰度级为[0,t]的区域A以及灰度级为[t+1,L-1]的区域B,其中A、B分别代表前景区域以及背景区域。类间方差为:
σ2=ω0(μ0-μ)2+ω1(μ0-μ1)2=ω0ω1(μ0-μ1)2 (4)
其中,ω0表示前景像素点数目占整幅图像的比例;前景像素点平均灰度值为μ0;ω1表示背景像素点数目占整幅图像的比例;背景像素点平均灰度值为μ1;整幅图像的平均灰度值为μ。
所述类间方差越大,则前景区域与背景区域的差别越大,从而能更好地进行图像的分割。当σ2取得最大值时的灰度值即为最佳阈值,最佳阈值可表示为下式:
(2)对运动目标像素点进行二次判别。
在步骤S1.2.1中检测得到的背景像素点中随机选取M个,计算这些像素点灰度的平均值为假设f(x)为步骤S1.2.1检测出的前景像素,判断规则为:
如果当f(x)>t*时,f(x)再次判断为前景;当f(x)≤t*时,f(x)再次判断为背景。
如果当f(x)<t*时,f(x)再次判断为前景;当f(x)≥t*时,f(x)再次判断为背景。
利用该步骤(2)对该步骤(1)检测出的前景进行二次判别,能够过滤掉误判的部分,将鬼影部分重新判别为背景。
S1.2.3背景更新;
针对由步骤S1.2.1检测出的背景像素,采用Vibe算法的背景更新方法对背景模型进行更新,并循环进行后续的运动前景检测。
S2利用改进的Camshift算法进行运动前景目标跟踪。
S2.1利用Kalman滤波预测由步骤S1获得的运动前景目标在下一帧中的位置和大小;
S2.1.1利用基于积木的特征提取方法提取步骤S1获得的二值图像中目标的外接矩形、重心坐标、周长的特征信息;
S2.1.2根据所述外接矩形、重心坐标、周长的特征信息,使用卡尔曼滤波跟踪预测由步骤S1获得的运动前景目标在下一帧中的位置和大小,根据该位置和大小获得目标的外接矩形。
S2.2采用基于Camshift算法进行目标跟踪;
S2.2.1根据步骤S2.1中Kalman滤波预测获得的外接矩形来初始化搜索窗口,
S2.2.2将比搜索窗口内的RGB图像转换成HSV图像,提取H分量;
S2.2.3计算搜索窗口内的目标颜色直方图,归一化得到概率分布图I(x,y),并将其作为查找表,将H通道图像上每一个像素点用它的像素值所对应的概率代替,得到概率投影图。
S2.2.4根据搜索窗口的大小和位置,计算搜索窗口的质心位置(xc,yc):
其中,
S2.2.5根据M00重新调整搜索窗的大小,如公式(7)所示,移动窗口的中心位置到质心位置处。
其中,s表示窗口大小。
S2.2.6利用Meanshift算法判断中心位置是否收敛,若是不收敛,则返回到步骤S2.2.3,根据新的搜索窗口继续计算质心位置;直到收敛;若是收敛,则计算椭圆区域大小(w,l),此时窗口中心位置和大小为目标在当前帧中的质心位置和大小。
其中,搜索窗口的二阶矩为:
令:
因此可得目标椭圆区域的长轴和短轴的长度分别如公式(10)和(11)所示:
S2.3根据步骤S2.2的跟踪算法计算得到的目标面积和Bhattacharyya系数判断目标是否存在遮挡以及遮挡的程度,再根据目标是否存在遮挡以及遮挡的程度进行相应的目标跟踪。
S2.3.1若是目标没有被遮挡,输出利用步骤S2.2中基于Camshift的跟踪算法获得目标的位置,并作为Kalman滤波跟踪的输入,预测下一帧的目标位置和大小,并返回到步骤S2.2,继续目标跟踪。
本发明中采用Bhattacharyya系数ρ(g)来判断目标是否存在遮挡。
其中,qn为目标模型的颜色直方图;pn(g)为由步骤S2.2.1的跟踪过程获得的当前图像帧中目标的颜色直方图;n表示直方图分量;g为由步骤S2.2的跟踪过程获得的当前图像帧的目标搜索窗口的中心位置;ρ(g)的值在0-1之间。
设定一个阈值T,如果ρ(g)≥T,则说明目标没有被遮挡;如果ρ(g)<T,则说明目标被遮挡,本实施例中T取0.6。
S2.3.2若是ρ(g)<T,则目标被遮挡,根据步骤S2.2中跟踪算法计算得到的目标面积判断目标遮挡的程度,再进行相应的目标跟踪。
为了判定目标遮挡程度,需要设定一个最小的目标面积amin,amin的确定方法为:在判定目标被遮挡时,之前m帧图像内目标没有被遮挡,如果m≥15,取15帧图像,如果m<15,取m帧图像,利用步骤S2.2.6计算得到这些所取图像帧的目标椭圆区域的大小(w,l)可获得目标面积,记为areai(i为所取图像帧的个数),从中选取一个最小值,这个最小值的40%为amin。
如果area>amin,则说明遮挡不严重,此时记录当前跟踪图像帧中目标位置和大小,不利用Camshift目标跟踪算法得到的目标位置跟新Kalman滤波器,而是将Kalman滤波跟踪方法根据上一帧图像预测得到当前图像帧的目标位置和大小作为Kalman预测器的输入,预测下一帧目标的位置和大小,获取下一帧图像,根据预测目标的位置和大小设置搜索窗口的位置和大小,返回到步骤S2.2,继续目标跟踪。
如果area≤amin,则说明遮挡严重,同时判断目标连续被遮挡的帧数累加值e是否极限值E0,如果e<E0,此时目标的质心位置为上一帧中Kalman滤波预测目标的位置,此时不利用Camshift目标跟踪算法得到的目标位置跟新Kalman滤波器,而是将Kalman滤波跟踪方法根据上一帧图像预测得到当前图像帧的目标位置和大小作为Kalman预测器的输入,预测下一帧目标的位置和大小,获取下一帧图像,根据预测目标的位置和大小设置搜索窗口的位置和大小,并作为基于Camshift目标跟踪的输入,返回到步骤S2.2,继续目标跟踪;如果e≥E0,则说明目标被遮挡的时间过长,则终止目标跟踪。
本发明方法实现了一种全自动的运动目标跟踪方法,利用改进的Vibe算法提取了更加精确的运动目标,同时消除了运动检测过程中的鬼影现象;目标跟踪过程中可适应目标发生形变的情况,并且可在目标出现遮挡现象时也能够进行正确的跟踪。该目标跟踪方法实际上可嵌入FPGA实现,运用于具有运动跟踪的摄像机中。
本领域技术人员将清楚本发明的范围不限制于以上讨论的示例,有可能对其进行若干改变和修改,而不脱离所附权利要求书限定的本发明的范围。尽管己经在附图和说明书中详细图示和描述了本发明,但这样的说明和描述仅是说明或示意性的,而非限制性的。本发明并不限于所公开的实施例。
Claims (8)
1.一种基于Vibe和Camshift算法的目标跟踪方法,其特征在于,包括以下步骤:
S1输入视频图像,利用改进的Vibe算法提取运动前景目标;
S1.1建立Vibe背景模型,得到初始化后的背景模型;
S1.2检测运动前景目标和消除鬼影;
S2利用改进的Camshift算法进行运动目标跟踪;
S2.1利用Kalman滤波预测由步骤S1获得的运动目标在下一帧中的位置和大小;
S2.2采用基于Camshift算法进行目标跟踪;
S2.3根据步骤S2.2的跟踪算法计算得到的目标面积和Bhattacharyya系数判断目标是否存在遮挡以及遮挡的程度,再根据目标是否存在遮挡以及遮挡的程度进行相应的目标跟踪。
2.根据权利要求1所述的一种基于Vibe和Camshift算法的目标跟踪方法,其特征在于,所述步骤S1.2包括:
S1.2.1基于自适应阈值的Vibe算法的背景和前景的分类;
S1.2.2结合前景检测结果和Otsu阈值方法进行二次判断来消除鬼影;
S1.2.3采用Vibe算法的背景更新方法对背景模型进行更新,并循环进行后续的运动前景检测。
3.根据权利要求2所述的一种基于Vibe和Camshift算法的目标跟踪方法,其特征在于,所述检测运动前景目标包括:
从第二帧开始对运动目标进行检测,以像素点x在像素值v(x)为圆心,R为半径,创建一个二维欧几里得色度空间的区域SR(v(x)),该区域SR(v(x))中包含像素x的背景样本值的个数为#{SR(v(x))∩{v1,v2,...,vN}};
其中,
上式中,k为背景模型中与像素p比较的像素值的个数,v(p)为当前帧中像素p位置处的像素值,vi为像素p背景模型的像素值;
设定一阈值#min,如果#{SR(v(x))∩{v1,v2,...,vN}}大于或是等于阈值#min,则在当前帧中,该像素为背景像素;如果#{SR(v(x))∩{v1,v2,...,vN}}小于阈值#min,则该像素为前景像素。
4.根据权利要求2所述的一种基于Vibe和Camshift算法的目标跟踪方法,其特征在于,所述消除鬼影包括:
1)计算当前帧的最佳分割阈值;
假设当前图像帧的灰度级为L,灰度范围为[0,L-1],分割阈值为t,可以将图像分为灰度级为[0,t]的区域A以及灰度级为[t+1,L-1]的区域B,其中A、B分别代表前景以及背景;
类间方差为:
σ2=ω0(μ0-μ)2+ω1(μ0-μ1)2=ω0ω1(μ0-μ1)2
其中,ω0表示前景像素点数目占整幅图像的比例,前景像素平均灰度值为μ0,ω1表示背景像素点数目占整幅图像的比例,背景像素平均灰度值为μ1,整幅图像的平均灰度值为μ;
当σ2取得最大值时的灰度值即为最佳阈值:
2)对运动目标像素点进行二次判别;
在检测得到的背景像素点中随机选取M个,计算该M个像素点灰度的平均值为假设f(x)为检测出的前景像素,判断规则为:
如果当f(x)>t*时,f(x)再次判断为前景;当f(x)≤t*时,f(x)再次判断为背景;
如果当f(x)<t*时,f(x)再次判断为前景;当f(x)≥t*时,f(x)再次判断为背景。
5.根据权利要求1所述的一种基于Vibe和Camshift算法的目标跟踪方法,其特征在于,所述步骤S2.1包括:
S2.1.1利用基于积木的特征提取方法提取步骤S1获得的二值图像中目标的外接矩形、重心坐标、周长的特征信息;
S2.1.2根据所述外接矩形、重心坐标、周长的特征信息,使用卡尔曼滤波跟踪预测由步骤S1获得的运动前景目标在下一帧中的位置和大小,根据该位置和大小获得目标的外接矩形。
6.根据权利要求5所述的一种基于Vibe和Camshift算法的目标跟踪方法,其特征在于,所述步骤S2.2包括:
S2.2.1根据步骤S2.1中Kalman滤波预测获得的外接矩形来初始化搜索窗口;
S2.2.2将比搜索窗口内的RGB图像转换成HSV图像,提取H分量;
S2.2.3计算搜索窗口内的目标颜色直方图,归一化得到概率分布图I(x,y),并将其作为查找表,将H通道图像上每一个像素点用它的像素值所对应的概率代替,得到概率投影图;
S2.2.4根据搜索窗口的大小和位置,计算搜索窗口的质心位置(xc,yc):
其中,
S2.2.5根据M00重新调整搜索窗的大小,如下式所示,移动窗口的中心位置到质心位置处;
其中,s表示窗口大小;
S2.2.6利用Meanshift算法判断中心位置是否收敛,若是不收敛,则返回到步骤S2.2.3,根据新的搜索窗口继续计算质心位置;直到收敛;若是收敛,则计算椭圆区域大小(w,l),此时窗口中心位置和大小为目标在当前帧中的质心位置和大小;
其中,搜索窗口的二阶矩为:
令:
可得目标椭圆区域的长轴和短轴的长度分别为:
和
7.根据权利要求6所述的一种基于Vibe和Camshift算法的目标跟踪方法,其特征在于,所述步骤S2.3包括:
S2.3.1若是目标没有被遮挡,输出利用步骤S2.2中基于Camshift的跟踪算法获得目标的位置,并作为Kalman滤波跟踪的输入,预测下一帧的目标位置和大小,并返回到步骤S2.2,继续目标跟踪;
本发明中采用Bhattacharyya系数ρ(g)来判断目标是否存在遮挡;
其中,qn为目标模型的颜色直方图,pn(g)为由步骤S2.2.1的跟踪过程获得的当前图像帧中目标的颜色直方图,n表示直方图分量,g为由步骤S2.2的跟踪过程获得的当前图像帧的目标搜索窗口的中心位置;
设定一个阈值T,如果ρ(g)≥T,则说明目标没有被遮挡;如果ρ(g)<T,则说明目标被遮挡;
S2.3.2若是ρ(g)<T,则目标被遮挡,根据步骤S2.2中跟踪算法计算得到的目标面积判断目标遮挡的程度,再进行相应的目标跟踪。
8.根据权利要求7所述的一种基于Vibe和Camshift算法的目标跟踪方法,其特征在于,所述步骤S2.3.2包括:
设定一个最小的目标面积amin,如果area>amin,则说明遮挡不严重,此时记录当前跟踪图像帧中目标位置和大小,将Kalman滤波跟踪方法根据上一帧图像预测得到当前图像帧的目标位置和大小作为Kalman预测器的输入,预测下一帧目标的位置和大小,获取下一帧图像,根据预测目标的位置和大小设置搜索窗口的位置和大小,返回到步骤S2.2,继续目标跟踪;
如果area≤amin,则说明遮挡严重,同时判断目标连续被遮挡的帧数累加值e是否极限值E0,如果e<E0,此时目标的质心位置为上一帧中Kalman滤波预测目标的位置,将Kalman滤波跟踪方法根据上一帧图像预测得到当前图像帧的目标位置和大小作为Kalman预测器的输入,预测下一帧目标的位置和大小,获取下一帧图像,根据预测目标的位置和大小设置搜索窗口的位置和大小,并作为基于Camshift目标跟踪的输入,返回到步骤S2.2,继续目标跟踪;如果e≥E0,则说明目标被遮挡的时间过长,则终止目标跟踪。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711401274.1A CN108198205A (zh) | 2017-12-22 | 2017-12-22 | 一种基于Vibe和Camshift算法的目标跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711401274.1A CN108198205A (zh) | 2017-12-22 | 2017-12-22 | 一种基于Vibe和Camshift算法的目标跟踪方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108198205A true CN108198205A (zh) | 2018-06-22 |
Family
ID=62583690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711401274.1A Pending CN108198205A (zh) | 2017-12-22 | 2017-12-22 | 一种基于Vibe和Camshift算法的目标跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108198205A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035296A (zh) * | 2018-06-28 | 2018-12-18 | 西安理工大学 | 一种改进的视频中运动物体检测方法 |
CN109389617A (zh) * | 2018-08-27 | 2019-02-26 | 深圳大学 | 一种基于片上异构***的运动目标识别与追踪方法及*** |
CN110536114A (zh) * | 2019-08-05 | 2019-12-03 | 特斯联(北京)科技有限公司 | 一种目标智能追踪的停车场cctv监视***及方法 |
CN110751669A (zh) * | 2019-09-24 | 2020-02-04 | 武汉科技大学 | 一种新型cbocp在线红外转炉出钢钢流自动检测与跟踪方法及*** |
CN111243230A (zh) * | 2020-01-20 | 2020-06-05 | 南京邮电大学 | 基于两台深度相机的人体跌倒检测装置和方法 |
CN111553214A (zh) * | 2020-04-20 | 2020-08-18 | 哈尔滨工程大学 | 一种驾驶员吸烟行为检测方法及*** |
CN111896540A (zh) * | 2020-07-14 | 2020-11-06 | 江苏云聚汇科技有限公司 | 一种基于区块链的水质在线监测*** |
CN112017254A (zh) * | 2020-06-29 | 2020-12-01 | 浙江大学 | 一种混合式光线跟踪绘制方法及*** |
CN114627061A (zh) * | 2022-02-28 | 2022-06-14 | 中国矿业大学 | 基于ViBe和Camshift算法的摄像头动静状态下的钻孔检测方法 |
CN117218161A (zh) * | 2023-11-09 | 2023-12-12 | 聊城市敏锐信息科技有限公司 | 一种鱼缸内鱼类轨迹跟踪方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737385A (zh) * | 2012-04-24 | 2012-10-17 | 中山大学 | 一种基于camshift和卡尔曼滤波的视频目标跟踪方法 |
CN104063885A (zh) * | 2014-07-23 | 2014-09-24 | 山东建筑大学 | 一种改进的运动目标检测与跟踪方法 |
CN106204643A (zh) * | 2016-07-01 | 2016-12-07 | 湖南源信光电科技有限公司 | 基于多特征联合与Mean Shift算法的多目标跟踪方法 |
CN107273822A (zh) * | 2017-05-26 | 2017-10-20 | 西安电子科技大学 | 一种基于监控视频多目标跟踪和人脸识别的隐私保护方法 |
CN107403439A (zh) * | 2017-06-06 | 2017-11-28 | 沈阳工业大学 | 基于Cam‑shift的预测跟踪方法 |
-
2017
- 2017-12-22 CN CN201711401274.1A patent/CN108198205A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737385A (zh) * | 2012-04-24 | 2012-10-17 | 中山大学 | 一种基于camshift和卡尔曼滤波的视频目标跟踪方法 |
CN104063885A (zh) * | 2014-07-23 | 2014-09-24 | 山东建筑大学 | 一种改进的运动目标检测与跟踪方法 |
CN106204643A (zh) * | 2016-07-01 | 2016-12-07 | 湖南源信光电科技有限公司 | 基于多特征联合与Mean Shift算法的多目标跟踪方法 |
CN107273822A (zh) * | 2017-05-26 | 2017-10-20 | 西安电子科技大学 | 一种基于监控视频多目标跟踪和人脸识别的隐私保护方法 |
CN107403439A (zh) * | 2017-06-06 | 2017-11-28 | 沈阳工业大学 | 基于Cam‑shift的预测跟踪方法 |
Non-Patent Citations (3)
Title |
---|
杨海林等: ""基于改进的VIBE算法在铁路智能视频监控入侵检测的研究"", 《科学技术与工程》 * |
王辉: ""基于道路监控视频的交通拥堵判别方法研究"", 《中国优秀硕士学位论文全文数据库》 * |
闫钧华等: ""基于Kalman预测器的改进的Camshift目标跟踪"", 《中国惯性技术学报》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035296A (zh) * | 2018-06-28 | 2018-12-18 | 西安理工大学 | 一种改进的视频中运动物体检测方法 |
CN109389617A (zh) * | 2018-08-27 | 2019-02-26 | 深圳大学 | 一种基于片上异构***的运动目标识别与追踪方法及*** |
CN110536114A (zh) * | 2019-08-05 | 2019-12-03 | 特斯联(北京)科技有限公司 | 一种目标智能追踪的停车场cctv监视***及方法 |
CN110751669A (zh) * | 2019-09-24 | 2020-02-04 | 武汉科技大学 | 一种新型cbocp在线红外转炉出钢钢流自动检测与跟踪方法及*** |
CN111243230A (zh) * | 2020-01-20 | 2020-06-05 | 南京邮电大学 | 基于两台深度相机的人体跌倒检测装置和方法 |
CN111243230B (zh) * | 2020-01-20 | 2022-05-06 | 南京邮电大学 | 基于两台深度相机的人体跌倒检测装置和方法 |
CN111553214A (zh) * | 2020-04-20 | 2020-08-18 | 哈尔滨工程大学 | 一种驾驶员吸烟行为检测方法及*** |
CN112017254B (zh) * | 2020-06-29 | 2023-12-15 | 浙江大学 | 一种混合式光线跟踪绘制方法及*** |
CN112017254A (zh) * | 2020-06-29 | 2020-12-01 | 浙江大学 | 一种混合式光线跟踪绘制方法及*** |
CN111896540A (zh) * | 2020-07-14 | 2020-11-06 | 江苏云聚汇科技有限公司 | 一种基于区块链的水质在线监测*** |
CN114627061A (zh) * | 2022-02-28 | 2022-06-14 | 中国矿业大学 | 基于ViBe和Camshift算法的摄像头动静状态下的钻孔检测方法 |
CN117218161A (zh) * | 2023-11-09 | 2023-12-12 | 聊城市敏锐信息科技有限公司 | 一种鱼缸内鱼类轨迹跟踪方法及*** |
CN117218161B (zh) * | 2023-11-09 | 2024-01-16 | 聊城市敏锐信息科技有限公司 | 一种鱼缸内鱼类轨迹跟踪方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108198205A (zh) | 一种基于Vibe和Camshift算法的目标跟踪方法 | |
CN112052797B (zh) | 基于MaskRCNN的视频火灾识别方法及*** | |
WO2021012757A1 (zh) | 基于全景多路4k视频图像的实时目标检测跟踪方法 | |
US10127448B2 (en) | Method and system for dismount detection in low-resolution UAV imagery | |
US9213896B2 (en) | Method for detecting and tracking objects in image sequences of scenes acquired by a stationary camera | |
CN105046719B (zh) | 一种视频监控方法及*** | |
CN108198206A (zh) | 基于多特征联合和Camshift算法结合的多目标跟踪方法 | |
CN106600625A (zh) | 检测小型生物的图像处理方法及装置 | |
CN104298968B (zh) | 一种基于超像素的复杂场景下的目标跟踪方法 | |
CN103093198B (zh) | 一种人群密度监测方法及装置 | |
CN108038869B (zh) | 一种电梯轿厢内乘客倒地行为检测方法 | |
CN108346160A (zh) | 基于视差图背景差法和Meanshift结合的多运动目标跟踪方法 | |
CN108038866A (zh) | 一种基于Vibe和视差图背景差法的运动目标检测方法 | |
CN105893963B (zh) | 一种筛选视频中单个行人目标的最佳易识别帧的方法 | |
WO2006050448A2 (en) | Adaptive tracking for gesture interfaces | |
CN106296744A (zh) | 一种结合自适应模型和多阴影属性的运动目标检测方法 | |
CN112561946B (zh) | 一种动态目标检测方法 | |
CN111860120A (zh) | 车载相机自动遮挡检测方法和装置 | |
CN112150512B (zh) | 融合背景差分法和聚类法的弹着点定位方法 | |
CN110544271A (zh) | 抛物动作检测方法及相关装置 | |
CN105678773A (zh) | 一种低对比度图像分割方法 | |
CN112132870B (zh) | 森林火灾早期烟雾检测方法 | |
Almomani et al. | Segtrack: A novel tracking system with improved object segmentation | |
JP2020119250A (ja) | オブジェクト抽出方法および装置 | |
CN103366368A (zh) | 消除阴影和高亮噪声的双梯柱体码本前景检测方法 |
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: 20180622 |
|
RJ01 | Rejection of invention patent application after publication |