基于改进光流特征的运动目标跟踪

2021-03-23 07:41:08刘宏飞杨耀权杨雨航
计算机与现代化 2021年3期
关键词:光流法光流角点

刘宏飞,杨耀权,杨雨航

(华北电力大学(保定)控制与计算机学院,河北 保定 071003)

0 引 言

随着科技的不断进步,城市管理也向智能化快速过渡,老旧的监控摄像头也逐渐被智能化摄像头所替代。相较于传统的摄像头,智能视频监控可以大量节省人力,提高检测效率。而目前智能视频监控主要有2大关键技术,一是对运动目标的识别跟踪;二是对目标行为的定义[1-2]。因此提高在户外条件下运动目标的检测跟踪效率成为目前智能化摄像头研究的热点[3]。

常见的目标跟踪算法有均值漂移算法、基于卡尔曼滤波的目标跟踪、基于粒子滤波的目标跟踪及基于对运动目标建模等方法。运动目标跟踪算法目前的主要发展方向为提高跟踪算法的精确度、提高处理速度以及降低跟踪误差。文献[4]通过卡尔曼滤波构造初始模型,然后对运动目标可能出现的位置进行预测确定搜索区域,使用光流金字塔方法在该区域内进行目标检测,找到与初始模型最匹配的目标位置进行跟踪。文献[5]通过LK光流法直接处理视频,然后经光流聚类和改进的中值滤波处理,实现运动目标获取。最后根据所获取的目标位置等信息,使用卡尔曼滤波对运动目标进行预测,从而实现运动目标的跟踪。文献[6]针对当前卡尔曼滤波算法在运动目标跟踪中的缺陷,设计了改进卡尔曼滤波和均值漂移的运动目标跟踪算法,引入均值漂移算法对运动目标进行粗跟踪,将运动目标的位置和速度作为卡尔曼滤波算法的初始状态,减小了目标跟踪误差。文献[7]在DAT(Distractor-Aware Tracking)算法框架上引入遮挡检测机制,提出了DDAT(Detection-DAT)算法。通过相似度的变化趋势及帧间差值阈值,判断是否出现目标遮挡;然后利用朴素贝叶斯分类器和最邻近分类器,得到后续帧中的目标框,最后通过相似度检测是否正确跟踪。

传统的运动目标检测算法存在的问题有[8-11]:

1)跟踪目标被遮挡,导致跟踪目标丢失。

2)跟踪目标重叠,导致跟踪失败。

3)目标快速移动或快速变换方向,导致跟踪效果差。

针对上述问题,本文提出一种基于改进光流特征的运动目标跟踪算法。该方法首先采取Vibe算法提取出场景中的运动目标,同时结合HSV颜色空间来对视频中的阴影进行消除。再将Shi-Tomasi角点检测与LK光流法进行结合,对检测到的角点进行运动光流特征提取,将角点检测结果信息作为LK光流法的约束条件,减少大量无效的信息量。然后采用金字塔LK光流算法来提高系统的检测效率,得到运动目标的光流信息。角点的加入提取有效的运动目标信息,降低LK光流算法的计算量。最后对运动目标采取卡尔曼滤波器(KF)对目标运动位置进行预测,再通过匈牙利算法对预测位置进行匹配,从而实现目标跟踪。本文提出的目标跟踪流程如图1所示。

图1 目标跟踪流程

1 运动目标检测

1.1 改进Vibe背景建模法

运动背景模型是指在固定摄像头下对当前背景进行建模,这样就可以对视频中出现的运动物体进行提取[12-14]。本文选取Vibe背景建模法,并通过对目前的Vibe算法进行改进,实现运动背景的快速建模。Vibe背景建模法由于是根据视频的第一帧来进行背景建模,因此当视频第一帧出现行人的时候容易出现鬼影现象[15-17]。而通过将Vibe背景建模法和平均背景法相融合,可以很好地消除运动开始时出现的鬼影现象。同时采用传统Vibe算法也会检测到行人运动的阴影,因此需要对阴影进行消除,由于阴影的亮度和纹理空间和运动行人都不相同,因此采用结合HSV颜色空间来对视频中的阴影进行消除:

(1)

其中,Ik表示当前区域,Bk表示背景区域,H(i,j)、S(i,j)、V(i,j)分别表示目标点的HSV值,α、β为V通道比值的阈值,T1、T2分别为S、H通道差值的阈值。

将前20帧的平均背景作为初始帧,同时将当前图像的V通道图像中属于前景目标区域像素点与背景区域目标像素点相比并与阈值进行比较,将当前图像的S和H通道图像中属于前景目标区域像素点与背景区域目标像素点进行差值并与阈值进行比较。若3个条件均比阈值小则改点为阴影。目标提取如图2所示。

(a)原始图像

1.2 改进LK光流法

LK光流法是能够表示图像像素点瞬时速度的方法。通过光流可以很好地表示出运动目标的运动信息。提取运动物体附近光流变化的方向,可以对运动目标的运动状态进行一个估计,但是对整幅图像计算光流特征,计算量偏大,当有微小物体运动时会对图像光流特征提取造成干扰,降低人体行为检测的实时性。因此可以将空域信息作为光流特征的约束条件,采用角点检测与光流法结合的方法,降低光流法计算量,可以极大地提高检测效率。

针对传统的Harris角点检测速度慢,且由于人体为柔性目标,而Harris角点对于旋转平移等检测效果较差等问题[18-19],引入Shi-Tomasi角点检测,将Shi-Tomasi角点检测融入到金字塔LK光流法中。

将提取出的目标通过角点检测得到图像的空域信息,将角点检测结果作为LK光流法的输入信息,降低无效信息对光流法计算的影响,可以提高系统的检测速度。

1.2.1 Shi-Tomasi角点检测

Shi-Tomasi角点是在Harris检测的基础上改进而来的。通过计算窗口在各个方向的变化情况来判定该点是否为角点。设窗口中心点为I(x,y),平移量为(u,v),则窗口产生的变化为:

F(u,v)=∑x,yw(x,y)[I(x+u,y+v)-I(x,y)]2

(2)

其中,w(x,y)为窗口函数,可根据不同需求赋予不同的权值,I(x,y)为图像灰度,I(x+u,y+v)为平移后的图像灰度。本文所有像素对应权重系数均为1。将I(x+u,y+v)进行泰勒展开可以得到:

I(x+u,y+v)=I(x,y)+Ixu+Iyv+O(u2,v2)

(3)

将I(x+u,y+v)代入式(2)可得到新的F(u,v)表达式,即:

(4)

通过引入响应函数R=min(λ1,λ2)来判定该点是否为图像的角点。其中(λ1,λ2)为矩阵中的2个特征值,通过根据场景选定合适的阈值,当R大于设定的阈值时,则判定该像素点为角点。

1.2.2 金字塔LK光流法

运用光流法对光流特征进行提取需要尽量保证相邻帧之间亮度恒定,且相邻视频帧在时间上是连续的且运动幅度较小,同时必须保证在空间上具有一致性[20-23]。要在连续的帧中不断地寻找特征点的新位置,也就是不断地寻找特征点的位移(u,v):

It(x,y)=It+1(x+u,y+v)

(5)

其中,It和It+1分别为2个相邻的2个帧。用泰勒公式将公式(5)展开得到近似公式:

(6)

根据公式(6)去掉2个表示强度值的项,即得到公式(7):

(7)

(8)

通过公式(8)便可以得出求解公式:

(9)

但是传统的LK算法3个限制条件在现实情况下很难满足,因此运用金字塔LK光流法来完成,将原图像逐层分解,首先将最低分辨率图像放在金字塔的顶层,原始图像放在最底层。金字塔图像如图3所示。

图3 LK光流金字塔

首先计算最顶层的光流量,将结果反馈到下一层,作为下一层光流量的估计量,这样沿着金字塔自上而下的修正运动量,直到达到金字塔的最底层为止。引入图像金字塔算法后可以极大地增加图像计算光流的效率,同时可以跟踪到快速运动的目标[24-26]。

1.3 运动目标跟踪

当监控中出现运动物体时需要对运动目标进行连续跟踪,直至运动目标脱离监控范围。由于在监控中容易出现物体遮挡现象,因此需要跟踪器能够在发生遮挡时仍然能够对运动目标位置进行预测。

因此本文选取卡尔曼滤波器作为运动目标的跟踪器,将光流法的检测结果信息作为卡尔曼滤波器的输入信息[27]。预测跟踪目标即将到达的位置。然后采用匈牙利算法对下一帧预测区域进行匹配,如果匹配成功则更新卡尔曼跟踪器[28]。

1.3.1 预测阶段

卡尔曼滤波器的获取方法是计算状态预估的线性最小均方误差的分类方法。根据前一时刻的位置来对下一时刻目标可能出现的位置进行预测,然后根据当前帧的真实值来对预估结果进行修正。卡尔曼滤波有效解决了目标由于相互遮挡导致目标跟踪丢失的情况。卡尔曼滤波器有预测和匹配2个部分。其预测公式如下:

(10)

(11)

(12)

(13)

(14)

卡尔曼滤波运用在目标跟踪中有2个重要假设:

1)系统模型是线性的。

2)预测模型和包含的噪声属于高斯白噪声。

第1个假设是,实际视频数据中,前后帧的时间间隔非常短,因此可以假设前后帧中运动目标做匀速运动,所以可将这个模型近似于线性模型。第2个假设是,模型中的噪声与时间信息无关,只与噪声的振幅大小及其协方差大小有关系。因此可以将光流法检测结果作为卡尔曼滤波的初始值,选取目标初始位置的外接矩形框,将初始目标位置边界框的中心作为目标初始位置,计算出图像中目标的轮廓并显示轮廓的矩形框,依据改进光流法检测得到矩形的边界框的位置、移动方向与移动速度等空域信息。然后利用初始帧中的信息预测下一帧,再通过跟踪框固定的宽度值和高度值就可以呈现出所跟踪目标的预测跟踪位置。

1.3.2 匹配阶段

通过卡尔曼滤波器可以对目标位置进行预测,但是是否预测成功则需要用匈牙利算法进行匹配,通过匈牙利算法在下一帧到来时在预测位置进行匹配,如果匹配成功,则更新目标的位置。将目标跟踪框的下边界中点作为目标轨迹点,连起来即为目标轨迹线。

采用欧氏距离来判定匹配程度,对于多个目标点可以得到一个矩阵ci,j,用来表达跟踪点匹配程度。匈牙利最大匹配算法就是将检测出运动目标和不同的轨迹进行匹配。每帧进行分配时所有关联代价的和就是该帧进行关联的总代价值[29],在所有的方案中,使检测到的运动目标和运行轨迹之间的总代价的和最小,效果如图4所示。从图4中可以看出当运动目标发生遮挡后,跟踪器仍然有良好的跟踪效果。

图4 运动目标跟踪

2 实验结果与分析

仿真视频选取CASIR数据库中人体交互行为视频集。仿真实验是在Windows7操作系统和VS2015开发环境下进行的。其中计算机性能参数为2.60 GHz的4核CPU,8 GB内存。仿真实验内容是检测出视频中所出现的运动行人,并对行人进行持续跟踪,并且当行人相遇时仍然能够持续跟踪。

视频源共有视频帧数为4089帧视频,包含正常行走、行人相遇与行人交互等行为,将本文模型与文献[4]模型、文献[5]模型采用相同视频分别进行实验,针对单人行走、单人奔跑、2人相遇和2人超越4种情形进行对比,然后分别从处理速度、检测率等方面进行比较分析。实验结果对比图如图5~图7所示。

(a)单人行走

(a)单人行走

(a)单人行走

从图5(c)、图5(d)中可以看出,当跟踪目标重叠后,发生了跟踪目标丢失的情况,这是由于文献[4]模型直接通过卡尔曼滤波构造初始模型,然后预测确定搜索区域再进行光流法检测。当目标重叠时,预测搜索区域发生重叠,且重叠过程中产生的光流,影响到了不同运动目标的检测,导致跟踪失败。

从图6(b)、图6(d)中可以看出,当跟踪目标奔跑时,文献[5]模型发生了跟踪偏移,产生了跟踪误差。这是由于文献[5]模型直接对原视频进行了光流法处理,检测跟踪受到较多的无效光流影响,目标奔跑时,运动目标移动加快,无效光流的影响也同时增加,降低了跟踪效率。且由于算法计算量较大,导致算法的实时性变差,从而产生了跟踪误差,跟踪效果变差。

本文模型是一种将背景建模与光流法相结合的方法。从图7中可以看出,本文模型很好地跟踪到目标,且跟踪效果好,实时性强。这是因为,本文模型先进行背景建模,并结合HSV颜色空间很好地消除了运动开始时出现的鬼影现象,降低了角点检测的范围,也避免了错误光流的产生。然后将Shi-Tomasi角点检测融入到金字塔LK光流法,大大减少了光流特征提取的计算量,降低了视频的帧率,提高了模型检测时的实时性。最后通过卡尔曼滤波和匈牙利匹配算法的融合,实现运动目标的连续跟踪,提高了目标重叠与被遮挡时的跟踪检测率,取得了较好的跟踪效果。

本文针对目标跟踪结果人为对跟踪结果进行判断,将行人检测外接矩形框进行适度扩大,设定为跟踪检测框,当发生行人肢体超出跟踪检测框时,判定跟踪失败,如图6(b)所示。当能够完成全程行人跟踪时,判定为跟踪成功。

检测率对比分析表如表1所示。

表1 检测率对比分析表

通过实验对比可知:本文提出的模型,针对行人检测的多种情况,跟踪效果都优于文献[4]模型和文献[5]模型,并且在处理速度上优于文献[4]模型和文献[5]模型,达到了63 ms/帧,提高了跟踪的实时性。

3 结束语

本文通过对视频源背景进行建模,实现对运动目标的提取,同时结合HSV颜色空间来对视频中的阴影进行消除;通过角点检测减少无用的空域信息,决定进行光流特征计算的区域。提取运动区域附近的光流方向特征,通过卡尔曼滤波和匈牙利匹配算法的融合,实现运动目标的连续跟踪。在采集的视频中进行仿真验证,能够对小区环境中行人进行持续监测跟踪,并提高了跟踪的实时性与跟踪效率。在未来的工作中,要提高模型在恶劣天气以及低光照条件下的检测效果,进一步提高模型的实用性,同时还需要增加对其他运动目标如车辆、动物等的跟踪实现。

猜你喜欢
光流法光流角点
利用掩膜和单应矩阵提高LK光流追踪效果
基于物理学的改善粒子图像测速稳健光流方法研究
基于FAST角点检测算法上对Y型与X型角点的检测
基于背景分类的监控视频中的运动目标检测算法综述
Matlab下视频处理系统设计与实现
软件导刊(2016年12期)2017-01-21 15:17:04
基于边缘的角点分类和描述算法
电子科技(2016年12期)2016-12-26 02:25:49
权重系数自适应光流法运动目标检测
基于圆环模板的改进Harris角点检测算法
初始段安控图像目标识别方法研究
融合光流速度场与背景差分的自适应背景更新方法