运动检测(移动检测)技术介绍

1.运动检测定义

运动检测是指在指定区域能识别图像的变化,检测运动物体的存在并避免由光线变化带来的干扰。但是如何从实时的序列图像中将变化区域从背景图像中提取出来,还要考虑运动区域的有效分割对于目标分类、跟踪等后期处理是非常重要的,因为以后的处理过程仅仅考虑图像中对应于运动区域的像素。然而,由于背景图像的动态变化,如天气、光照、影子及混乱干扰等的影响,使得运动检测成为一项相当困难的工作。

2.运动检测原理

早期的运动检测如 MPEG1 是对编码后产生的 I 帧进行比较分析,通过视频帧的比较来检测图像变化是一种可行的途径。原理如下:MPEG1 视频流由三类编码帧组成,它们分别是:关键帧(I 帧) ,预测帧(P 帧)和内插双向帧(B 帧) 。I帧按 JPEG 标准编码,独立于其他编码帧,它是 MPEG1 视频流中唯一可存取的帧, 每 12 帧出现一次。截取连续的 I 帧,经过解码运算,以帧为单位连续存放在内存的缓冲区中,再利用函数在缓冲区中将连续的两帧转化为位图形式,存放在另外的内存空间以作比较之用,至于比较的方法有多种。此方法是对编码
后的数据进行处理,而目前的 MPEG1/MPEG4 编码都是有损压缩,对比原有的图象肯定存在误报和不准确。

3.下面介绍目前几种常用的算法

a.背景减除(Background Subtraction)

  背景减除方法是目前运动检测中最常用的一种方法,它是利用当前图像与背景图像的差分来检测出运动区域的一种技术。它一般能够提供最完全的特征数据,但对于动态场景的变化,如光照和外来无关事件的干扰等特别敏感。 最简单的背景模型是时间平均图像, 大部分的研究人员目前都致力于开发不同的背景模型,以期减少动态场景变化对于运动分割的影响。

b.时间差分(Temporal Difference)

时间差分(又称相邻帧差)方法是在连续的图像序列中两个或三个相邻帧间采用基于像素的时间差分并且阈值化来提取出图像中的运动区域。时间差分运动检测方法对于动态环境具有较强的自适应性,但一般不能完全提取出所有相关的特征像素点,在运动实体内部容易产生空洞现象。

c.光流(Optical Flow)

基于光流方法的运动检测采用了运动目标随时间变化的光流特性,如 Meyer[2]等通过计算位移向量光流场来初始化基于轮廓的跟踪算法,从而有效地提取和跟踪运动目标。该方法的优点是在摄像机运动存在的前提下也能检测出独立的运动目标。然而,大多数的光流计算方法相当复杂,且抗噪性能差,如果没有特别的硬件装置则不能被应用于全帧视频流的实时处理。当然,在运动检测中还有一些其它的方法,例如运动向量检测法,适合于多维变化的环境,能消除背景中的振动像素,使某一方向的运动对象更加突出的显示出来,但运动向量检测法也不能精确地分割出对象。

你可能感兴趣的:(运动检测(移动检测)技术介绍)