静态背景下运动目标检测

前言:运动对象常用在视频监控领域,目的是从序列图像中将变化区域从背景图像中提取出来,运动区域的有效检测对目标分类、跟踪、行为理解等后期处理非常重要。根据摄像机与运动目标之间的关系可分为静态背景下的运动目标检(摄像机静止)和动态背景下的运动目标检测(摄像机也同时运动)。项目中我用到的是静态背景下的运动目标检测,需通过固定摄像机检测运动物体,并完成抓取动作。

内容:

  运动目标检测常用的方法一般分为两大类,一种是基于特征的方法,另一种是基于灰度的方法。基于特征的方法是依据图像的特征来检测运动目标,多用于目标较大、特征容易提取的场合。基于灰度的方法一般是依据图像中灰度的变化来检测运动目标。目前基于视频的检测方法主要有基于帧间差分的方法、基于光流场的方法、基于背景差的方法等。

  帧间差分法是基于运动图像序列中相邻两帧图像具有较强的相关性而提出的检测方法,具有很强的自适应性。但是如果物体灰度分布均匀,这种方法会造成目标重叠部分形成较大空洞,严重时造成目标分割不连通,从而检测不到目标。

  光流场法是基于对光流的估算进行检测分割的方法,光流中既包括被观察物体的运动信息,也包括有关的结构信息。光流场的不连续性可以用来将图像分割成对应于不同运动物体的区域。但多数光流法的计算复杂、耗时,难以满足实时监测的需求。

  背景差法是运动检测中最常用的一种方法,它将输入图像与背景图像进行比较,直接根据灰度变化等统计信息的变化来分割运动目标。差分法一般计算量小实用价值大,但受光线、天气等外界条件影响较大。其基本思想是将当前图像与背景相减,若像素差值大于某一阈值,则判断此像素为运动目标上的点。其最重要的一步就是背景建模,需要估计出一个不带有运动目标的背景模型,通过计算当前帧与该背景模型的差来确定运动目标的位置。

  项目中,我准备使用帧间差分法来实现运动目标检测。

  帧间差分法通过对序列图像中相邻帧做差分或相减运算,利用序列图像中相邻帧的强相关性做变化检测,从而检测出运动目标。它通过直接比较相邻帧对应像素点灰度值的不同,然后通过选取阈值来提取序列图像中的运动区域。在序列图像中,第k帧图像fk(x,y)和第k+1帧图像fk+1(x,y)之间的变化可用二值差分图像D(x,y)表示,如下:

  

  式中,T为差分图像二值化的阈值。二值图像中为“1”的部分由前后两帧对应像素灰度值发生变化的部分组成,通常包括运动目标和噪声;为“0”的部分由前后两帧对应像素灰度值不发生变化的部分组成。

  算法流程:读取视频文件->图像预处理(包括将彩色图像转换为灰度图像、滤波降噪--中值滤波)->帧间差分->运动目标检测(形态学滤波--膨胀、腐蚀)。

  具体实现:采用C#+Emgu完成。-----------待续。

时间: 2024-11-08 20:21:37

静态背景下运动目标检测的相关文章

vs2015+opencv3.3.1+ c++实现 静态背景下多运动目标提取,检测

静止背景下运动物体的提取,跟踪出运动轨迹 下载地址 https://download.csdn.net/download/li_haoren/10761361 前景提取: https://github.com/andrewssobral/bgslibrary 引用 https://blog.csdn.net/icvpr/article/details/10259577 https://blog.csdn.net/hust_bochu_xuchao/article/details/51967846

运动目标检测ViBe算法

一.运动目标检测简介   视频中的运动目标检测这一块现在的方法实在是太多了.运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测.先简单从视频中的背景类型来讨论.        静态背景下的目标检测,就是从序列图像中将实际的变化区域和背景区分开了.在背景静止的大前提下进行运动目标检测的方法有很多,这些方法比较侧重于背景扰动小噪声的消除,如:1.背景差分法2.帧间差分法3.光流法4.混合高斯模型(GMM)5.码本(codebook)还有这些方法的变种,例如三帧

运动目标检测--改进的背景减法

一.概述 本文提出了一种改进的基于背景减法的运动目标检测算法,该算法能自适应地对背景进行初始化和实时更新,并能有效克服光照等外界条件变化对运动目标检测的影响. 二.算法介绍 基于背景减法的视频运动目标检测主要包括预处理.背景建模.目标检测和后处理四个步骤.本文的算法流程如图 1 所示,算法中的预处理是对每一帧图像都进行去噪和亮度归一化处理,以抑制光照突变和噪声的影响:背景建模则采用改进的均值滤波法自动初始化背景,并不断实时更新背景,以克服环境光照变化所产生的影响:目标检测是在背景减法的基础上采用

【转】 运动目标检测跟踪主流算法

不全,需要慢慢补充 一.运动目标检测 (一)背景差 1.帧差 2.GMM 等 背景减算法可以对背景的光照变化.噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标.因此对于固定摄像头的情形,目前大多数的跟踪算法中都采用背景减算法来进行目标检测.背景减算法的局限性在于它需要一个静态的固定摄像头. (二)运动场 光流法 光流估计的方法都是基于以下假设:图像灰度分布的变化完全是目标或者场景的运动引起的,也就是说,目标与场景的灰度不随时间变化.这使得光流方法抗噪声能力较差,其应

基于局部二值相似性模式(LBSP)的运动目标检测算法

基于局部二值相似性模式(LBSP)的运动目标检测算法 [email protected] http://blog.csdn.net/kezunhai 本文根据论文:Improving background subtraction using local binary similarity patternsWACV2014的内容及自己的理解而成,如果想了解更多细节,请参考原文.该文章思想借鉴了VIBE,其实可以理解成是VIBE+LBP算子变种(LBSP)运动目标检测算法的组合.在VIBE中,算法主

OpenCV运动目标检测——帧间差,混合高斯模型方法

一.简单的帧间差方法 帧差法是在连续的图像序列中两个或三个相邻帧间采用基于像素的时间差分并且闽值化来提取图像中的运动区域. 代码: int _tmain(int argc, _TCHAR* argv[]) { VideoCapture capture("bike.avi"); if(!capture.isOpened()) return -1; double rate = capture.get(CV_CAP_PROP_FPS); int delay = 1000/rate; Mat

运动目标检测跟踪各过程算法综述

运动目标检测跟踪各过程算法综述 图像预处理数字图像中的几种典型噪声有:高斯噪声来源于电子电路噪声和低照明度或高温带来的传感器噪声:椒盐噪声类似于随机分布在图像上的胡椒和盐粉微粒,主要由图像切割引起或变换域引起的误差:加性噪声是图像在传输中引进的信道噪声.一般来说,引入的都是加性随机噪声,可以采用均值滤波.中值滤波.高斯滤波等方法去除噪声,提高信噪比.均值滤波在噪声分布较平均,且峰值不是很高的情况下能够得到较好的应用:中值滤波对尖脉冲噪声的滤除有较好的效果,并且能突出图像的边缘和细节:高斯滤波对滤

caffe框架下目标检测——faster-rcnn实战篇操作

原有模型 1.下载fasrer-rcnn源代码并安装 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 1)  经常断的话,可以采取两步: git clone https://github.com/rbgirshick/py-faster-rcnn.git 2)  到py-faster-rcnn中,继续下载caffe-faster-rcnn,采取后台跑: git submodule update --in

对这个运动目标检测方法实现的结果A Hybrid Algorithm for Moving Object Detection

最近在做烟火检测,需要用到运动检测,看到论文A System for Video Surveillance and Monitoring中的A Hybrid Algorithm for Moving Object Detection这个方法,我用opencv将其实现,代码下面会贴出,但是其的到的结果很差,不知道代码哪里出了问题,请高手给予指点,谢谢! 左图为原图,有图为用上面论文中的方法得到前景图像,[自己的代码可能写错了,请大神们给予指点谢谢] 代码如下: #include <stdio.h>