视频监控中的运动目标检测Word文档下载推荐.docx
《视频监控中的运动目标检测Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《视频监控中的运动目标检测Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
![视频监控中的运动目标检测Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/28/63599f5d-a5f6-4a10-b304-eee5b030ea45/63599f5d-a5f6-4a10-b304-eee5b030ea451.gif)
2010年08月23日至2010年09月20日
汕头大学工学院电子工程系
摘要
本项目通过visualC++和openCV函数库的连接来实现视频监控中的动目标检测。
OpenCV是一种用于数字图像处理和计算机视觉的函数库,其提供了针对多种形式的图像和视频源文件(实时摄像头)的帧提取函数和许多标准的图像处理算法。
本项目主要围绕视频采集、运动目标检测两个方面进行编程,视频采集方面采用cvcreatevideowriter函数来存储视频流文件,运动目标检测方面采用静态背景下常用的运动目标检测算法-------背景差分法,该方法可以稳定的提取背景图像,抑制运动目标背景的干扰,有效的提高运动目标的检测概率。
同时,还采用另外一种方法——帧间差分法进行运动目标的检测,并比较两种方法的不同点。
关键词:
视频背景差分目标检测openCV帧间差分法
Abstract
Inthisitem,weachievethegoalofmovingobjectdetectioninmilitaryvideomonitoringthroughtheconnectionofVC++developmentsoftwareandOpenCV.OpenCVisalibraryfordigitalimageandcomputer,whichprovidesvariousfunctionstoextractframefromimagesequenceandvideosource(real-timecamera.et)andmanyofthestandardimageprocessingalgorithms.
Thisitemisfocusonvideocapture,motiondetectionandtrackingtwoaspects.Invideocapture,westorethevideostreamfilesbyusingthecvCreatVideoWriter,Inmotiontargetdetection,themostfrequencyusedmethod,movingobjectsdetectionalgorithmsisused,whichisbasedonstationaryscene,.Theresultshowsthatthealgorithmcanextractthebackgroundimagesteadily,andinhitinferencefrombackgroundtomovingobjects,thusincreasedtheprobabilityofdetectionofmovingobjecteffectively.Also,weusedanothermethod,coterminousframedifferencetodetectthemovingobject.Andfoundoutthedifferencebetweenthem.
KeyWords:
videobackgrounddifferenceobjectdetectionopenCVcoterminousframedifference
目录
摘要2
Abstract3
第一章引言5
第二章总体方案设计6
2.1运动目标检测有两种总体思路6
2.2常规的运动检测方法6
第三章系统调试8
3.1帧差法8
3.2背景累积差分法10
第四章系统功能与指标参数12
4.1系统功能12
4.2关于阈值的确定12
4.3系统的实际应用13
第五章项目总结14
5.1设计小结14
5.2收获体会14
5.3问题与改善15
第六章参考文献16
附件17
1、帧差法程序代码17
2、背景累积差分法程序代码21
3、项目会议记录216
第一章引言
运动监测是运动图像分析,可视监控,可视人机交互中的重要处理步骤,其目的是从图像序列中将运动的区域从背景图像中提取出来。
通过运动监测可以得到图像中的运动信息,提取图像中的运动人物和目标,对于简化图像目标分类,运动跟踪和图像理解分析等后期处理的难度具有十分重要的意义,然而,由于背景图像的动态变化,如天气、光照、影子及混乱干扰等的影响,使得对图像中运动物体的检测成为一项相当困难的工作。
目前,对运动物体的检测和运动参数测量的研究方向主要有两种,即:
运用人工神经网络和运动图像处理的方法,大多数专家学者都把研究重点放在运动图像处理的方法进行运动目标检测和跟踪,现有的比较有效地图像运动目标检测的方法主要是光流法和养分图像法,。
一般来说,光流法德时间开销很大,其实时性和实用性较差,相反,图像养分法比较简单,易于实时,因而成为日前应用最广泛,最成功的运动目标检测方法,图像差分法可分为两类:
背景图像差分法和帧间差分法。
本文将采用背景差分法来实现视频中的动目标检测。
第二章总体方案设计
运动目标检测检测就是当前图像和背景图像中对应像素点的差异,如果差值大于一定阈值,则判定该像素为前景运动目标。
2.1运动目标检测有两种总体思路
1、直接利用前景所特有的信息检测前景;
2、先得到背景图像,然后将输入图像减去背景图像从而得到前景图像。
2.2常规的运动检测方法
1、背景差法(backgroundsubtraction):
通过输入图像与背景图像进行比较从而分割出运动目标。
较从而分割出运动目标。
背景差分的基本操作是:
首先需要有一张背景图像,然后对视频图像和此背景图像进行差分运算,用一张新的图像保存差分结果的绝对值。
在此差分图像中,若像素的值大于一个特定的闭值,则认为视频图像中在相同位置的像素属于运动目标区域,若像素的值小于或者等于一个特定的闭值,则认为视频图像中在相同位置的像素属于背景区域。
很明显,在运用背景差分法时需要有一定的限制:
要求前景(运动物体)像素的灰度值和背景像素的灰度值存在一定的差别,同时要求摄像机是静止的。
但由于背景差分法具有实现简单,运算速度快,在大多数情况下检测结果完整的突出优点,背景差分法成了运用最厂泛的运动检测方法。
2、帧间差分(temporaldifferencing):
是一种基于像素的运动检测方法,它过对视频图像序列中相邻的两个或三个图像进行差分运算来获得运动物体轮廓。
从理上看,相邻两帧或者相邻三帧的差分运算实际上是一种动态的边缘提取运算,从实际果上看,帧间差分法能够检测出运动对象的部分轮廓信息。
帧间差分法对动态环境有强的自适应能力,但是在检测结果中,却不能完全提取出所有的属于运动对象的特征素点,在运动物体内部容易产生空洞,这样的检测结果对随后的操作很不利。
3、光流(opticalflow):
法是当人的眼睛观察运动物体时,物体的景象在人眼的视网膜上形成一系列连续变化的图像,这一系列连续变化的信息不断“流过”视网膜(即图像平面),好像一种光的“流”,故称之为光流(opticalflow)。
光流是空间运动物体在观测成像面上的像素运动的瞬时速度。
光流的研究是利用图像序列中的像素强度数据的时域变化和相关性来确定各自像素位置的“运动”。
事实上,仅仅通过图像序列很难计算出物体的空间位置进而得到真实的运动场。
而光流表达了图像的变化,包含了目标一定的运动信息,通过计算光流场可以从图像中近似计算不能直接得到的运动场。
4、前景建模法(ProspectsModeling):
直接针对前景所特有的特征进行建模。
前景建模法的一种流行的学习方法—AdaBoost,就是根据已有的样本,融合多个弱分类器形成一个整体的强分类器,并提高分类准确率。
综上比较,我们选择背景差法(backgroundsubtraction)作为检测目标的实际应用方案,背景差法(backgroundsubtraction)具有实现简单,运算速度快,在大多数情况下检测结果完整等突出优点。
图1:
整体设计框图
第三章系统调试
利用OPENCV来检测运动目标方法有很多种,这里我们选取了两种比较基本的方法:
3.1帧差法
运行程序(程序代码见于附件1)之后得到的结果如下:
当argc等于1时,即当我们从摄像头获取视频的时候,得到的结果如下:
上面的图像是当手有微小移动时候截下来的图,从图中可以看出来,它把人手的整个轮廓检测出来,这恰好是因为手的微小移动使得连续两帧图片之间不同的地方被差分检测出来的结果,可以想象当我们的手快速从摄像头前面晃过的时候,得到的结果会是有个手掌大小的白斑,检验我们的猜想,结果截图如下:
由上图我们验证了猜想的正确性。
当argc等于2时,即当我们从存储在电脑上的视频文件里面获取视频的时候,得到的结果如下:
(这里的视频是有个路况检测摄像头检测的一段时间比较短的视频,不过可以恰好拿来作为我们的项目研究材料用)
上图中我们看到运动的目标被较好的检测了出来,基本上实现了运动目标检测这一项目目的,不过我们也可以看到这种方法检测的不足之处,那就是拖影比较严重,运动物体被拉长,还有如果物体物体运动较快,就会出现同一个目标检测出两个目标的问题,原因是:
由于我们直接用相邻的两帧相减后,保留下来的部分是两帧中相对变化的部分,因此两帧间目标的重叠部分不容易被检测出来;
二是只检测图像在两帧中变化的信息,这样容易出现伪目标,
即前一帧相对于当前帧差分出来的目标。
不过帧差分法是一种动态的边缘提取的算法,从实际效果来看,帧间差分法能够检测出运动对象的部分轮廓信息,对环境的变化有很强的适应能力但是在检测结果中,却不能完全提取出所有的属于运动对象的特征象素点。
3.2背景累积差分法
运行程序(程序代码见附件2)之后的结果如下:
从上图的结果中我们可以看出来程序较好的实现了动态目标检测,其中左边第一副图片为我们当前从摄像头里面获取的帧,中间那幅图片是一个背景灰度图,而最右边的那副二值图则是我们的运动目标检测结果图。
我们这一种方法不是纯粹的背景差分法,而是一种背景会累积更新的差分法,比如说如果我们把手放在摄像头之前停留一段时间之后,我们会发现背景图中会出现手的影象,这就是如果物体停留在摄像头的监控范围之内一段时间不运动的话,那么程序就会把它当作背景的一部分来对待,具体看下面的效果图:
上图中间那副背景图里面已经出现了手的影象,已经把不再运动的手当作了背景的一部分,这说明背景得到了更新。
2、当argc等于2的时候,即当我们从存储在电脑上的视频文件里面获取视频的时候,得到的结果如下:
(这里的视频和上面那种方法用的是同一段路况检测保存下来的视频)
上图也较好的检测出了视频文件中的运动目标,基本上实现了我们的项目要求。
背景累积差分法的总结:
背景差分法具有实现简单,运算速度快,在大多数情况下检测结果完整的突出优点,背景差分法成了运用最广泛的运动检测方法。
传统的背景差分所采集到的背景图像随着时间的推移,会对光照和外部条件造成的场景变化比较敏感,会出现许多伪运动目标点,影响到目标检测的效果。
但是我们这里用到的背景累积差分法是一种自适应的背景差分法,背景会得到更新,这比传统的背景差分法对环境的适应能力加