2 理论背景
2.1 目标跟踪的方法综述
目前使用的视频检测方法大致可分为以下类别:光流法,时域差分法,边缘检测法,运动矢量检测法,背景差分法。[2]
本文在目标跟踪上选择使用背景差分法。
图2.1 理论架构
2.1.1 光流法
光流法对运动目标的检测基础是假设亮度恒定或者灰度梯度基本不变,光流是灰度图像的速度矢量,它是场景中三维速度矢量在成像平面上形成的投影,在图像表面点反映出该场景的时间变化。
优点:光流所携带的运动信息,不仅承载着运动的目标,同时也承载着场景中三维结构的运动信息,它不需要预先知道的任何场景信息,就能检测独立运动,并可应用于静止和运动两种背景环境。
缺点:在图像存在噪音的情况下,或者目标与背景的对比度太小时,单纯地从图像灰度强度来检测目标会导致误报率较高,并且计算很复杂很耗时。
2.1.2 时域差分法
时域差分法分为相邻帧差法和改进后的三帧双差分法。
帧差法通过计算图像序列中的相邻帧的帧差,在每个像素点时间差的基础上,提取出的运动区域的阈值。
优点:相邻帧差算法简单易实现,对背景或慢光的变化不敏感,有较强的适应能力,能快速有效地在背景中对运动目标进行检测。
缺点:它并不能提取所有运动对象的像素,且在运动的方向将被拉伸,从而使所提取的目标信息不准确。
三帧双差分法在基本思想上与相邻帧差法类似,但在运动目标检测的判断条件上与相邻帧差法不同。三帧双差分在提取运动目标上比两帧差分更为准确。
2.1.3 边缘检测法
边缘检测法是在不同光照条件下,利用目标的不同部分、颜色信息等提取目标边缘有效部分,从而对目标进行静止和运动的检测。
空间上的边缘提取可通过基于方向导数求卷积的边缘检测算子来计算,时间上的边缘提取可通过计算连续帧之间对应像素点的差值来获得。
使用小尺度滤波器可以准确地定位边缘并提取出边缘。
2.1.4 运动矢量检测法
运动矢量检测法是对前后连续两帧图像进行模块跟踪匹配,用当前图像的某一模块在下一帧范围内搜索最优匹配,计算出两个图像帧之间各个模块的平均运动矢量,根据该运动矢量的大小,判别目标的有无。这种算法的计算量非常大。
2.1.5 背景差分法
背景差分法利用背景图像与前景图像进行差分来检测运动区域。它将当前帧与背景帧相减,用阈值T判断得到当前时刻图像中背景模型的最大偏离点的差值,若差值小于T则认为是背景点;反之,认为是前景点(目标),从而完整地分割出目标物体。[3]
背景差分法能比较准确地、完整地提取出目标信息,但对场景的动态变化(温度,光线)比较敏感,目标物体的阴影也会影响跟踪检测的准确性和精确性。
因此,背景差分法需要解决两个问题:背景模型的获取以及更新。前者我们使用Surendra背景更新算法,后者我们用Kalman滤波器模型。
2.2 背景差分法的背景选取综述
通常有三种方法可以得到背景图像:手动获得、统计获得、Surendra背景更新算法。
本文在背景选取上使用Surendra背景更新算法。
2.2.1 手动获得背景法
这种方法需要在场景中没有目标物体时手动获得背景图像,耗时耗力不说,并且很难单纯地只获得背景图像而不带有目标物体。
2.2.2 统计获得背景法
统计方法是在某个时间段内对特定像素点的灰度值取平均用作背景图像对应像素点的灰度值。