基于轮廓判断非刚性目标是否存在遮挡的跟踪方法与流程

文档序号:16136181发布日期:2018-12-01 01:00阅读:147来源:国知局

本发明属于计算机视觉领域,特别涉及基于轮廓判断非刚性目标是否存在遮挡的跟踪方法。

背景技术

随着信息技术的快速发展,目标跟踪是计算机视觉领域一个重要的研究方向。目标跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获得运动目标的运动参数,如位置、加速度、运动轨迹等,从而进行下一步的处理与分析,实现对运动目标的行为理解,以完成更高一级的检测任务。

由于现有技术的限制,目前的目标跟踪技术还存在一些缺陷,如不能判断被跟踪运动目标是否发生遮挡,导致当被跟踪运动目标再次出现时不能准确地判断是否是原来跟踪的运动目标,降低了跟踪运动目标的准确性。



技术实现要素:

为了解决现有技术中存在的缺点和不足,本发明提供了基于轮廓判断非刚性目标是否存在遮挡的跟踪方法,根据当前帧被跟踪运动目标的轮廓面积与已知未遮挡时被跟踪运动目标的轮廓面积的比值判断当前帧被跟踪运动目标是否发生遮挡,从而提高了跟踪运动目标的准确性。

为了达到上述技术目的,本发明提供了基于轮廓判断非刚性目标是否存在遮挡的跟踪方法,所述方法包括:

步骤一,通过背景减法从预设数量的样本视频帧内获取运动物体的前景图像;

步骤二,从前景图像中提取方向梯度直方图特征,用方向梯度直方图特征训练至少两个已知分类器,根据优化后的至少两个已知分类器得到一个级联分类器;

步骤三,通过滑动窗口扫描每帧目标视频帧,从每帧目标视频帧中得到每帧运动目标,通过级联分类器区分每帧运动目标与背景;

步骤四,通过边缘检测从每帧运动目标中提取每帧运动目标的轮廓,从每帧运动目标的轮廓中获取每帧特征点;

步骤五,通过光流法根据每帧特征点对运动目标进行跟踪;

步骤六,对当前帧被跟踪运动目标进行遮挡判断,获取当前帧被跟踪运动目标的轮廓面积ro,基于轮廓面积ro与已知未遮挡被跟踪运动目标的轮廓面积rc的比值判断当前帧被跟踪运动目标是否发生遮挡。

可选的,所述通过光流法根据每帧特征点对运动目标进行跟踪,包括:

将前一帧特征点与相邻的后一帧特征点作对比,根据对比结果判断是否为同一个运动目标的特征点;

如果对比结果表明为同一个运动目标的特征点,根据同一个运动目标的特征点对运动目标进行跟踪。

可选的,所述将前一帧特征点与相邻的后一帧特征点作对比,根据对比结果判断是否为同一个运动目标的特征点,包括:

根据前一帧特征点得到前一帧特征点的灰度值,根据当前帧特征点得到当前帧特征点的灰度值;

将前一帧特征点的灰度值和当前帧特征点的灰度值代入公式一进行匹配,得到匹配值u,

u=i1(a,b,t)-i2(a+δa,b+δb,t+δt)公式一

其中,i1表示前一帧特征点的灰度值,a表示前一帧特征点位于x轴坐标的位置,b表示前一帧特征点位于y轴坐标的位置,t表示前一帧的时刻,i2表示当前帧特征点的灰度值,a+△a表示当前帧特征点位于x轴坐标的位置,b+△b表示当前帧特征点位于y轴坐标的位置,t+△t表示当前帧的时刻;

将匹配值u与误差阈值进行对比,根据对比结果判定为同一个运动目标的特征点。

可选的,所述步骤六,包括:

对当前帧被跟踪运动目标进行遮挡判断,通过contourarea函数对当前帧被跟踪运动目标的轮廓计算得到当前帧被跟踪运动目标的轮廓面积ro;

根据轮廓面积ro与轮廓面积rc的比值得到当前帧被跟踪运动目标的轮廓遮挡值ra,将当前帧被跟踪运动目标的轮廓遮挡值ra与经验阈值进行比较,根据比较结果判断当前帧被跟踪运动目标是否发生遮挡。

可选的,所述将当前帧被跟踪运动目标的轮廓遮挡值ra与经验阈值进行比较,根据比较结果判断当前帧被跟踪运动目标是否发生遮挡,包括:

如果当前帧被跟踪运动目标的轮廓遮挡值ra不小于经验阈值,则判定当前帧被跟踪运动目标未发生遮挡;

如果当前帧被跟踪运动目标的轮廓遮挡值ra小于经验阈值,则判定当前帧被跟踪运动目标发生遮挡。

本发明提供的技术方案带来的有益效果是:

基于运动目标轮廓的特征点对运动目标进行跟踪,根据当前帧被跟踪运动目标的轮廓面积ro与已知未遮挡时被跟踪运动目标的轮廓面积rc的比值判断当前帧被跟踪运动目标是否发生遮挡。进而当被跟踪运动目标遮挡后再次出现时能准确地判断是原来跟踪的运动目标,提高了跟踪运动目标的准确性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的基于轮廓判断非刚性目标是否存在遮挡的跟踪方法的流程图。

具体实施方式

为使本发明的结构和优点更加清楚,下面将结合附图对本发明的结构作进一步地描述。

实施例一

本发明提供了发明提供了基于轮廓判断非刚性目标是否存在遮挡的跟踪方法,如图1所示,所述方法包括:

步骤一,通过背景减法从预设数量的样本视频帧内获取运动物体的前景图像;

步骤二,从前景图像中提取方向梯度直方图特征,用方向梯度直方图特征训练至少两个已知分类器,根据优化后的至少两个已知分类器得到一个级联分类器;

步骤三,通过滑动窗口扫描每帧目标视频帧,从每帧目标视频帧中得到每帧运动目标,通过级联分类器区分每帧运动目标与背景;

步骤四,通过边缘检测从每帧运动目标中提取每帧运动目标的轮廓,从每帧运动目标的轮廓中获取每帧特征点;

步骤五,通过光流法根据每帧特征点对运动目标进行跟踪;

步骤六,对当前帧被跟踪运动目标进行遮挡判断,获取当前帧被跟踪运动目标的轮廓面积ro,基于轮廓面积ro与已知未遮挡被跟踪运动目标的轮廓面积rc的比值判断当前帧被跟踪运动目标是否发生遮挡。

在实施中,为了解决因不能判断被跟踪运动目标是否发生遮挡导致降低了跟踪目标的准确性的问题,本实施例提供的基于轮廓判断非刚性目标是否存在遮挡的跟踪方法,具体处理步骤如下:

步骤一,为了减少背景对运动物体的干扰,通过背景减法从预设数量的样本视频帧内获取运动物体的前景图像;

步骤二,为了下一步能将背景与运动目标区分,从运动物体的前景图像中提取方向梯度直方图特征,简称hog特征,用hog特征训练至少两个已知分类器,根据优化后的至少两个已知分类器得到一个分类能力较强的级联分类器,级联分类器用于区分背景与运动目标。其中,每个已知分类器专注于某部分的hog特征,在所有已知分类器中,如果任意一个已知分类器判断为背景,则判断为背景,只有所有的已知分类器判断为运动物体,才判断为运动物体,其中,运动物体为非刚性运动物体。

步骤三,为了提高运动目标的准确率,先通过滑动窗口扫描每帧目标视频帧,从每帧目标视频帧中得到每帧运动目标,再通过级联分类器区分每帧运动目标与背景,其中,运动目标为非刚性运动目标。

步骤四,为了可以更好地描述运动目标的运动状态,同时减少背景对运动目标污染,从每帧运动目标中检测到每帧运动目标的轮廓,通过canny边缘检测算法从每帧运动目标中提取每帧运动目标的轮廓,从每帧运动目标的轮廓中获取每帧特征点;

步骤五,通过光流法根据每帧特征点对运动目标进行跟踪;

步骤六,对当前帧被跟踪运动目标进行遮挡判断,通过contourarea函数运动目标的轮廓计算得到当前帧被跟踪运动目标的轮廓面积ro,根据轮廓面积ro与已知未遮挡时被跟踪运动目标的轮廓面积rc的比值判断当前帧被跟踪运动目标是否发生遮挡。一般来说,目标视频帧中出现的遮挡运动目标的物体,要么是目标视频帧中的背景,如建筑物、山脉、树木等,要么是目标视频帧中的其他运动物体,它们造成的影响只是在跟踪运动目标过程中的某一段较短时间段内,在能判断出被跟踪目标是否发生遮挡前提下,当被跟踪运动目标再次出现时,就能准确、快速地判断是原来跟踪的运动目标,并完成对运动目标的继续跟踪,从而提高了跟踪运动目标的准确性。

可选的,所述通过光流法根据每帧特征点对运动目标进行跟踪,包括:

将前一帧特征点与相邻的后一帧特征点作对比,根据对比结果判断是否为同一个运动目标的特征点;

如果对比结果表明为同一个运动目标的特征点,根据同一个运动目标的特征点对运动目标进行跟踪。

在实施中,将前一帧特征点与当前帧特征点进行匹配,根据匹配结果判断是否为同一个运动目标的特征点,如果匹配结果表明为同一个运动目标的特征点;根据同样原理继续确定当前帧特征点与后一帧特征点是否为同一个运动目标的特征点。

依次类推,可以根据同样原理确定前一帧特征点与相邻的后一帧特征点是否为同一个运动目标的特征点,进而可以确定每帧中同一个运动目标的特征点,根据每帧中同一个运动目标的特征点对运动目标进行跟踪。

根据上述可知,未遮挡时运动目标的轮廓面积rc是已知,但不能确定未遮挡时运动目标与当前帧运动目标为同一个运动目标,在跟踪运动目标的前提下,可以确定当前帧运动目标与未遮挡时运动目标为同一个运动目标,基于确定为同一个运动目标更能准确地判断当前帧运动目标是否发生遮挡。

可选的,所述将前一帧特征点与相邻的后一帧特征点作对比,根据对比结果判断是否为同一个运动目标的特征点,包括:

根据前一帧特征点得到前一帧特征点的灰度值,根据当前帧特征点得到当前帧特征点的灰度值;

将前一帧特征点的灰度值和当前帧特征点的灰度值代入公式一进行匹配,得到匹配值u,

u=i1(a,b,t)-i2(a+δa,b+δb,t+δt)公式一

其中,i1表示前一帧特征点的灰度值,a表示前一帧特征点位于x轴坐标的位置,b表示前一帧特征点位于y轴坐标的位置,t表示前一帧的时刻,i2表示当前帧特征点的灰度值,a+△a表示当前帧特征点位于x轴坐标的位置,b+△b表示当前帧特征点位于y轴坐标的位置,t+△t表示当前帧的时刻;

将匹配值u与误差阈值进行对比,根据对比结果判定为同一个运动目标的特征点。

在实施中,根据前一帧特征点与当前帧特征点分别得到前一帧特征点的灰度值和当前帧特征点的灰度值,将前一帧特征点的灰度值和当前帧特征点代入如上公式一进行匹配得到匹配值u,将匹配值u与误差阈值进行对比,如果匹配值u小于误差阈值,说明在允许误差范围内前一帧特征点的灰度值与当前帧特征点的灰度值可以看成相等,则判定为同一个运动目标的特征点;反之,如果匹配值u不小于误差阈值,说明在允许误差范围内前一帧特征点的灰度值与当前帧特征点的灰度值依然不可以看成相等,则判定不为同一个运动目标的特征点。

可选的,所述步骤六,包括:

对当前帧被跟踪运动目标进行遮挡判断,通过contourarea函数对当前帧被跟踪运动目标的轮廓计算得到当前帧被跟踪运动目标的轮廓面积ro;

根据轮廓面积ro与轮廓面积rc的比值得到当前帧被跟踪运动目标的轮廓遮挡值ra,将当前帧被跟踪运动目标的轮廓遮挡值ra与经验阈值进行比较,根据比较结果判断当前帧被跟踪运动目标是否发生遮挡。

在实施中,对当前帧被跟踪运动目标进行遮挡判断,通过opencv库中的contourarea函数对当前帧被跟踪运动目标的轮廓计算得到当前帧被跟踪运动目标的轮廓面积ro,在理想情况下,当前帧被跟踪运动目标处于未遮挡的状态时,当前帧被跟踪运动目标的轮廓遮挡值ra为1,但在实际情况下,当前帧被跟踪运动目标处于未遮挡的状态时,当前帧被跟踪运动目标的轮廓遮挡值ra接近1,因此,将当前帧被跟踪运动目标的轮廓遮挡值ra与经验阈值进行比较,根据比较结果判断当前帧被跟踪运动目标是否发生遮挡。

可选的,所述将当前帧被跟踪运动目标的轮廓遮挡值ra与经验阈值进行比较,根据比较结果判断当前帧被跟踪运动目标是否发生遮挡,包括:

如果当前帧被跟踪运动目标的轮廓遮挡值ra不小于经验阈值,则判定当前帧被跟踪运动目标未发生遮挡;

如果当前帧被跟踪运动目标的轮廓遮挡值ra小于经验阈值,则判定当前帧被跟踪运动目标发生遮挡。

在实施中,如果当前帧被跟踪运动目标的轮廓遮挡值ra不小于经验阈值,说明在允许误差范围内当前帧被跟踪运动目标的轮廓遮挡值ra等于1,则判定当前帧被跟踪运动目标未发生遮挡,如果当前帧被跟踪运动目标的轮廓遮挡值ra小于经验阈值,说明在允许误差范围内当前帧被跟踪运动目标的轮廓遮挡值ra也不等于1,则判定当前帧被跟踪运动目标发生遮挡。

本发明提供了基于轮廓判断非刚性目标是否存在遮挡的跟踪方法,包括:通过目标检测算法获取运动目标;通过光流法对运动目标进行跟踪;对当前帧被跟踪运动目标进行遮挡判断,获取当前帧被跟踪运动目标的轮廓面积ro,基于ro与已知未遮挡是被跟踪运动目标的轮廓面积rc的比值判断当前帧被跟踪运动目标是否发生遮挡。基于运动目标轮廓的特征点对运动目标进行跟踪,根据当前帧被跟踪运动目标的轮廓面积ro与已知未遮挡时被跟踪运动目标的轮廓面积rc的比值判断当前帧被跟踪运动目标是否发生遮挡。进而当被跟踪运动目标遮挡后再次出现时能准确地判断是原来跟踪的运动目标,提高了跟踪运动目标的准确性。

上述实施例中的各个序号仅仅为了描述,不代表各部件的组装或使用过程中的先后顺序。

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

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