近几年来,鲁棒主成分分析(robust principal component analysis , RPCA)[5,6]的提出弥补了PCA的缺点,因为它不像PCA是假设数据是高斯的,而是直接假设噪声是稀疏。另外,基于稀疏表示的压缩感知(compressed sensing/compressed sampling , CS)[7,8]在理论上取得了重要的进步。这些重大进展使得低秩表示这个数据表达方式更加的有效,并且被更为广泛的使用。基于低秩表示的运动目标检测算法就是将数据矩阵作为低秩矩阵和噪声矩阵的和,然后通过求解核范数优化和L1范数优化问题来恢复出低秩矩阵并检测出噪声矩阵。目前,低秩矩阵恢复主要由鲁棒主成分分析(RPCA)、矩阵补全(MC)、低秩表示(low-rank representation , LRR)[9,10]等三类模型组成。
1.2 常见的运动目标检测算法
至今为止,国内外已经有很多人做了有关运动目标检测的研究,也提出了很多运动目标检测算法。在运动目标的特性,场景的复杂性以及摄像机是否移动等多方面的因素影响下,各种运动目标检测算法也有很大的区别。接下来的几节主要讲解下目前最常见的几种算法——背景减法,帧差法和光流法,并且简要地分析下它们各自的优点与缺点。
1.2.1 背景减法[11]
背景减法是目前运动目标检测算法中的一种主流算法,它的基本思路是事先训练一个背景图像或者从视频中实时地获取背景图像Bk,然后将当前图像帧Fk与背景图像进行差分运算,若像素差值Ak大于自己事先制定的阈值Y时,那么就可以判定这个像素点是运动目标上的像素点,否则它就是背景图像上的点。公式如下:
Ak(x,y)=|Fk(x,y)-Bk(x,y)|, (1)
(2)
从公式(1)(2)可以看出,背景减法的一个重要步骤就是背景图像的训练和阈值的选择。阈值的选择有最小误差法、灰度直方图法等。背景图像有直接选取视频第一帧作为背景的,也有将很多图像帧的矩阵取均值来作为背景图像的。在这里就不做详细介绍。
1.2.2 帧差法[12]
帧差法的基本思路是:当视频中没有运动目标时,视频的图像序列中连续两帧或几帧的变化很小,但当有运动目标出现时,相邻几帧差值会明显增大。设定一个阈值来消除光照、噪声等环境带来的影响。公式与背景减法的公式类似,只是背景减法是将当前像素帧与事先训练好的背景帧做差分,而帧差法是与相邻帧做差分。
1.2.3 光流法[13]
光流法检测运动目标的基本思路是:给视频图像中每个像素点都赋予一个速度矢量,那么整个图像中各个像素点就会形成一个光流场。当没有运动目标出现时,这个光流场中各个像素点的光流会存在高度的相关性。当场景中出现运动目标时,因为它与原来的背景存在相对运动,那么这个物体所形成的速度矢量必然会与背景的速度矢量不同。根据图像中光流矢量出现的变化,就可以检测出视频图像中的运动目标。
1.2.4 背景减法、帧差法和光流法各自的优缺点
帧差法因为不需要事先训练背景模型,所以运行速度比较快,而且但光照等环境因素变化比较缓慢时,帧差法对它们不是很敏感。但由于帧差法是相邻帧做差分,经常会出现两个影子的情况,而且由于有些物体内部颜色相近,会出现只有物体轮廓的情形。
背景减法检测出的运动目标相对比较完整,而且运行速度也不错,在静态背景的运动目标检测中被广泛应用,它的缺点是要事先训练背景模型,而如何训练得到一个好的背景模型是一个需要考虑的问题。 RPCA模型基于低秩表示的运动目标检测算法(2):http://www.youerw.com/jisuanji/lunwen_21741.html