Motion Detection or Moving Object Detection 称之为运动侦测,移动侦测,移动检测
MOD全称为Moving Object Detection,中文“移动物体检测”。主要的作用是泊车时,周围有人或物体经过探测区域被检测到给驾驶员声音和视觉提醒,移动物体会被黄框标示,提醒驾驶员注意。被检测到的物体必须是移动物的,它检测不到静止的物体
方法有哪些?
-
帧差分法(frame differencing)
Frame differencing is a technique where the computer checks the difference between two video frames. If the pixels have changed there apparently was something changing in the image (moving for example). Most techniques work with some blur and threshold, to distict real movement from noise. Because frame could differ too when light conditions in a room change ( and camera auto focus, brightness correction etc. ).
对于背景灰度不变的条件下,当前景像素发生变化时,一定是有移动物体了,大多涉及到一些模糊算法(比如形态学运算)和设置灰度值的阈值方法实现。
背景差分法(Background difference) : 视频帧图像与背景模型图像进行差分和阈值分割
帧差分法: 视频中的一帧图像与另一帧图像进行差分运算
帧差可说是最简单的一种背景模型,指定视频中的一幅图像为背景,用当前帧与背景进行比较,根据需要过滤较小的差异 (阈值),得到的结果就是前景了
-
背景减除法
背景减除法算法是将运动对象(称为前景)与静态或慢速移动的场景部分(称为背景)区分开来。
Background subtraction, also known as foreground detection(前景检测), is a technique in the fields of image processing and computer vision wherein an image’s foreground is extracted for further processing (object recognition etc.). Generally an image’s regions of interest are objects (humans, cars, text etc.) in its foreground. After the stage of image preprocessing (which may include image denoising, post processing like morphology etc.) object localisation is required which may make use of this technique.
这种方法的缺陷或是有待解决的问题:
* light changes(光照):背景模型应适应逐渐或快速的光照变化
* 移动背景或高频背景对象(树叶等):背景模型应包括改变视觉不感兴趣的背景,例如挥动树木或树枝;
*阴影:背景模型应包括通过移动物体投射的阴影,这些物体显然表现为自己移动,以便更准确地检测移动物体的形状;
* 背景相似:即使前景的色彩特征与背景模型相似,也应该检测到移动物体。
* 运动变化:相机振荡或是较小的位移;
* 背景发生变化
帧差法适用于更多场景,如:摄像头移动以及多目标运动场景,缺点就是检测的人物之间容易出现空洞。
背景减除法,适用场景局限,只适用于第一帧是背景图的视频,但检测人物没有空洞。
以上这两种方法均不能很好的处理光照过强以及阴影的运动物体视频。
这种方法有哪些?
-
高斯模型 (Gaussian Model) Wren, Pfinder: Real-time tracking of the human body, 1997
发展到混合高斯模型 Mixture of Gaussian Model
KaewTraKulPong, An improved adaptive background mixture model for real-time tracking with shadow detection, 2001, cited by 1400+
混合高斯在现有的背景建模算法中应该算是比较好的,很多新的算法或改进的算法都是基于它的一些原理的不同变体,但混合高斯算法的缺点是计算量相对比较大,速度偏慢,对光照敏感
-
基于颜色信息的背景建模 (color) * Horprasert, A statistical approach for real-time robust background subtraction and shadow detection, 1999, cited by 1200+
解决关于全局或局部的光照变化问题,例如阴影和高亮 ,基于颜色信息的背景建模方法,简称Color算法,该算法将像素点的差异分解成Chromaticity差异和Brightness差异,对光照具有很强的鲁棒性,并有比较好的效果,计算速度也比较快,基本可以满足实时性的要求,做了许多视频序列的检测,效果比较理想;
-
基于贝叶斯框架的本征背景法 * Nuria M. Oliver, A Bayesian computer vision system for modeling human interactions, 2000, cited by 1500+
(不了解)
-
核密度估计方法 * Ahmed Elgammal, Non-parametric model for background subtraction, 2000, cited by 2500+
-
背景统计模型
对一段时间的背景进行统计,然后计算其统计数据(例如平均值、平均差分、标准差、均值漂移值等等),将统计数据作为背景的方法。
参考:
统计平均法 * BPL Lo, Automatic congestion detection system for underground platform, 2001, cited by 300+
中值滤波法 (Temporal Median filter) * R Cucchiara, Detecting Moving Objects, Ghosts, and Shadows in Video Streams, 2003, cited by 1600+
-
复杂背景下的前景物体检测 (FGD) * Liyuan Li, Foreground Object Detection from Videos Containing Complex Background, 2003, cited by 500+
-
ViBe (A Universal Background Subtraction) * Olivier Barnich, ViBe: A universal background subtraction algorithm for video sequences, 2011, cited by 800+
* M Van Droogenbroeck, Background subtraction: Experiments and improvements for ViBe, 2012, cited by 140+
VIBE算法是Barnich的一个大作,已申请了专利。ViBe是一种像素级视频背景建模或前景检测的算法。利用视频第一帧图像就能完成背景建模初始化工作,根据邻近像素点之间具有相似性完成初始化和更新,依据当前图像的像素和背景模型中对应像素之间的相似性程度来检测前景目标。
-
Optical flow
所谓光流就是指图像表现运动的速度。物体在运动的时候之所以能被人眼发现,就是因为当物体运动时,会在人的视网膜上形成一系列的连续变化的图像,这些变化信息在不同时间,不断的流过眼睛视网膜,就好像一种光流过一样,故称之为光流。
光流法检测运动物体的原理:首先给图像中每个像素点赋予一个速度矢量(光流),这样就形成了光流场。如果图像中没有运动物体,光流场连续均匀,如果有运动物体,运动物体的光流和图像的光流不同,光流场不再连续均匀。从而可以检测出运动物体及位置。
应用背景:
根据图像前景和背景的运动,检测视频的变化,空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。可以用来检测运动抖动物体
首先是假设条件:
(1)亮度恒定,就是同一点随着时间的变化,其亮度不会发生改变。这是基本光流法的假定(所有光流法变种都必须满足),用于得到光流法基本方程;
(2)小运动,这个也必须满足,就是时间的变化不会引起位置的剧烈变化,这样灰度才能对位置求偏导(换句话说,小运动情况下我们才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数),这也是光流法不可或缺的假定;
(3)空间一致,一个场景上邻近的点投影到图像上也是邻近点,且邻近点速度一致。这是Lucas-Kanade光流法特有的假定,因为光流法基本方程约束只有一个,而要求x,y方向的速度,有两个未知变量。我们假定特征点邻域内做相似运动,就可以连立n多个方程求取x,y方向的速度(n为特征点邻域总点数,包括该特征点)。
所以可以概括一下传统的移动物体检测的方法有帧差法,背景提取(包括统计的方法),光流法。
有兴趣的小伙伴可以关注微信公众号,加入QQ或者微信群,和大家一起交流分享吧