基于帧差法和背景差分法的背景提取及检测模型

基于MATLAB的视频车辆检测系统


1、课题背景

改革开放以后,随着经济的高速发展,交通问题越来越开始影响着人们的生产和生活,由于汽车拥有量的急剧增加,城市交通问题日益严重,因此交通问题开始成为人们关心的社会热点。在我国,近年来,交通事故频繁发生,有效的交通监测和管理已迫在眉睫。

本文主要介绍了基于视频的车辆检测方法。对于问题一,首先分别应用像素 直方图分析法和分块直方图分析法对视频图像背景进行了提取,并发现两者提取 出的背景差别不大。然后我们应用基于统计分块的背景更新方法,针对本题背景 变化不大的特点,进行背景更新。然后我们介绍了前景提取的方法,针对帧差法 和背景差分法各自具有的优缺点,我们采取了综合考虑这两种方法的改进检测法。经过二值化得到较为清晰的前景轮廓。对于阴影干扰的消除,采用了基于HIS空 间的阴影检测算法来实现;然后,我们通过数学形态学去除了前景因为阴影干扰 而形成的孤立点、毛刺和小桥(连通两块区域的小点),而保证前景总的位置和形 状不变。最后通过在视频图像中设置多个虚拟线圈来完成交通参数检测。



二、模型建立


2.1、背景提取

2.1.1 背景模型的构建及更新

背景模型构建及更新是背景差分法的关键步骤。采用背景差分法进行运动检测,首先要构建背景模型,再用当前图像和背景图像进行差分运算,并对差分图像进行区域分割,提取出运动区域。在交通场景中背景环境变化较大,如环境光线会随时间渐变,建筑物、树木或云层投射到地面的阴影也会随光线的变化而变化,临时停靠在路边的车辆等等,这些都会使背景发生渐变或突变。为了保证背景模型的健壮性及检测结果的准确性,这就要求对背景进行实时更新。但是, 更新过于频繁,则容易将一些本不应属于背景的运动物体更新到背景中,从而造


成检测结果的不准确;如果背景更新速度过慢,则会导致当背景发生变化后,原背景模型不能很快地适应,从而导致误拍率的提高。我们的目标在于构建一个准确的背景模型,该模型能够迅速地适应外界条件的变化,并及时做出响应,从而提高检测结果的准确度。

2.1.1.1基于统计的背景模型

统计建模方法是基于概率统计理论的。理论上讲,所谓静止的“背景”即在图像序列中灰度不发生变化或变化很小的像素。从统计学的角度看,背景中像素的灰度值可以看作是一个统计的结果,即图像序列中各个像素在统计上最可能出现的值。这种方法建立的背景模型在静止区域和真实的背景相似度比较高,而在包含运动区域时就与真实背景产生偏差,因为运动区域的灰度变化影响了均值结果,适用于背景大部分时间可见、运动目标数量少的情况。而且,为了保证能有较小的估计偏差,需要对很长的视频序列进行计算求其均值,背景的更新速度较慢。

方法一

像素直方图分析法是基于统计的背景提取方法。其主要特点为,在一般情况下,提取出的背景较时域平均方法好,同时其具有良好的抗噪声干扰性。其缺点为运算速度慢,运算量大,在即时有效提取背景方面仍有不足。

其实现过程为:

某一时间段内,视频中图像序列特定像素位置处出现频率最高的像素值是背景像素值,通过存储视频中每一像素位置在序列的时间轴方向上的直方图信息

(即在某一时间段内统计该像素位置处每一种可能的像素值所出现的次数),取该像素位置的直方图峰值所对应的像素值作为背景像素值。这样,对某一位置处的像素进行直方图统计就变成对该像素灰度落在各区问段的次数进行统计。

涉及的参数有:

Nb为直方图灰度区间总数;Nd为进行直方图统计的总帧数;Ns为启动背景更新程序的帧间隔数目,即每隔Ns 帧,背景更新一次。

为了减少算法对内存的需求量,可以将直方图灰度参数划分成区间段,然而仍不能避免对每一个像素都进行直方图统计分析计算量的缺点;同时,区间段越多,图像可用的灰度级会反之减少,不利于在背景提取时得到具有连续整数灰度


值的图像。灰度值的不连续性过多,我们利用该算法提取的背景图像的失真率单从在视觉上来讲,就会大幅升高。反之,如果我们要从一定程度上提高算法的的执行速度,增大每个区间段内包含的灰度级数目,就要想办法减小灰度区间总数。但从另外一方面,灰度区间总数减小,背景提取的可用的灰度等级数目也会随之大幅减小,从而使得大块的斑块会相互粘连,背景变得更加失真和模糊。


v2-8bb492d2912055338434d8f60bc62a44_b.jpg

参考文献,我们综合考虑以上两点,设置灰度区间和帧数为256(即最大的区间数)和200帧,得到如下视频图片背景:












区间直方图法获得的背景

方法二

分块直方图分析法与像素直方图分析法比较,做了如下改进。由于相邻像素之间具有相关性,从一个像素点至另一个相邻像素点其灰度值变化较小,故可将图片分割成大小相同的块状区域用于快速提取背景。具体操作如下:首先,将视频图像分割成同等大小的像素块,注意为使快内像素点具有非常接近的灰度值, 所取像素块不宜过大,然后我们对像素块而不是之前的每一个像素点进行直方图统计,从而显著地减小算法的计算时间。同时我们为了使得每个区间段内只包含一个连续灰度,将直方图灰度区间总数定为最大灰度级加1,这样同时保持了图像灰度在空间上的连续性。由于选择分块进行统计,可将操作次数减至原来像素

直方图分析法次数的1/ m2 ,从而很大程度上减小了算法的计算量,提高了直方

图分析方法的背景估计速度,其中m为每个分块的长度。然而,图像边界处的像素之一般情况下具有很大偏差,使得我们再利用分块直方图分析法进行统计时, 对非边界的灰度值相近的像素点能得到较好的统计图像,而对于灰度值相差加大的边界区域会在图像边界处产生锯齿,且若统计图像偏小而分块较大时,锯齿现象更为显著,因此选取适当的图片和分块大小也很重要。这里我们对原有图像分


为2X2的四块,所得背景如下:


v2-4e537796f6f0d69426303d4ce5cb7d68_b.jpg


2×2分块直方图获得背景



2.1.1.2基于统计分块处理的背景更新方法:

本文背景重构算法是基于统计的结果,没有确定性模型,因此不能通过模型参数的调整来实现背景的自适应更新。这种情况下常用的背景更新方法主要有两种:一种是定时更新方法,即确定在一定时间间隔内更新背景,这种更新方法能适应背景的缓慢变化。另一种是实时背景更新,即在更新背景时,若当前帧和背景图像差分后所得差分图像中,发生变化的像素数和全部像素数比大于某一阈值

(通常取80%),且在随后几帧中连续出现这种情况,则重新抽取图像序列更新背景,这种方法可以及时对场景中环境的变化做出反应。对于某些特殊情况,如差分图像的某一固定区域中的像素,在较长的时间内一直显示为变化状态,

本文的背景更新算法是在以上两种方法的基础上,采用全局更新和部分更新相结合的方法。在背景差分运算过程中加入一个帧大小的像素变化统计表,记录每个像素点的变化频率,再根据统计的结果及像素间的相邻关系对背景作分块处理, 对不同分块采用不同的频率进行更新,从而使得运动区域很清楚的凸现出来,并对局部的变化做出及时的反应,使我们更容易将目标集中在我们感兴趣的区域; 同时当全部像素变化大于设定的阈值时,进行全局背景更新。通过实验可知,中值灰度归类算法较均值灰度归类算法接近于实际背景,检测出的运动车辆噪声影响也较少。基于统计分块处理后的背景更新算法,在运动区域对目标的检测结果, 也要强于原算法的背景更新方法。在检测过程中,背景更新需要抽取多帧图像进行重构,存在一定的时延问题,但对于长时间的监控检测来说影响不大。对于一些移动速度非常慢或者停止时间超过一定时间阈值的运动目标将会在背景更新



v2-8bb492d2912055338434d8f60bc62a44_b.jpg

v2-a571aacef73f113c43affc1b6cd2c316_b.jpg

时被作为背景的一部分,而这种情况并不会对车辆检测产生过多影响,本文暂时不对它作任何处理。









  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于混合高斯模型背景差分法(Gaussian Mixture Models-based Background Subtraction, GMMBS)是一种常用的目标跟踪算法,通过将目标从背景中分离出来,实现目标的跟踪。 该算法的基本思想是利用混合高斯模型背景进行建模,将每个像素点的颜色值表示为多个高斯分布所组成的混合模型。对于每个像素点,如果其颜色值与背景模型的分布有显著偏差,就将其标记为前景(目标),否则标记为背景。 具体步骤如下: 1. 初始化背景模型:使用一定数量的图像作为初始背景模型,通过统计每个像素点的颜色值分布来建立混合高斯模型。 2. 背景更新:随着时间的推移,新的图像被用于更新背景模型。每次更新都会计算像素点颜色值的概率,并更新混合高斯分布的参数。 3. 背景差分:将当前图像的每个像素点的颜色值与模型进行比较,通过计算像素点颜色值与背景模型的概率之间的差异,来判断其是否为前景。 4. 前景提取:根据背景差分的结果,将差异较大的像素点标记为前景。 5. 目标跟踪:对于标记为前景的像素点,可以根据相邻区域的连通性进行目标的提取和跟踪。 Matlab提供了丰富的图像处理和数学函数,可以方便地实现基于混合高斯模型背景差分法。通过读取视频,逐对图像进行处理,可获得目标的运动轨迹和实时跟踪结果。此外,Matlab还可用于可视化和评估目标跟踪的性能。 基于混合高斯模型背景差分法在实际应用中具有较好的效果,可以应用于视频监控、行人检测和交通识别等领域。该算法能够适应背景的变化和光照变化,但对于复杂的场景和大规模目标跟踪仍有一定挑战。因此,在实际应用中,我们需要根据具体情况选择合适的参数设置和优化算法,以提高目标跟踪的精度和效率。 ### 回答2: 基于混合高斯模型背景差分法一种常用的目标跟踪算法。在目标跟踪中,背景差分法用于检测目标物体与背景的差异,并将其作为目标位置的估计。 MATLAB是一种强大的科学计算和数据可视化工具,可用于实现基于混合高斯模型背景差分法目标跟踪算法。下面将介绍整个算法的步骤。 首先,需要初始化背景模型。这可以通过获取视频的一作为初始背景图像,并将其转换为灰度图像实现。然后,需要对该背景图像进行高斯建模,以得到背景模型。 其次,对于输入视频的每一,都需要计算当前背景之间的差异。这可以通过将当前背景模型进行像素级的差值计算得到。差值图像将突出显示目标物体的位置。 然后,需要对差值图像进行阈值分割,以将目标物体与背景进一步分开。这可以通过将差值图像中小于阈值的值置为0,大于阈值的值置为255来实现。阈值的选择将直接影响目标检测的准确性。 最后,可以对阈值分割后的图像进行目标跟踪和轮廓识别。这可以通过检测轮廓并找到最大的连通区域来实现。该区域被认为是目标物体的轮廓,其位置可以用于目标跟踪。 在MATLAB中,可以使用图像处理工具箱中的各种函数和工具来实现这些步骤。例如,可以使用“imread”函数读取视频,使用“rgb2gray”函数将转换为灰度图像,使用“imabsdiff”函数计算差值图像,使用“im2bw”函数进行阈值分割,使用“bwlabel”函数进行轮廓识别等。 综上所述,基于混合高斯模型背景差分法目标跟踪是一种有效的算法,在MATLAB中可以实现并得到良好的效果。 ### 回答3: 基于混合高斯模型背景差分法一种常用的目标跟踪方法,它利用高斯混合模型背景和前景进行建模,通过对图像序列进行背景建模和背景差分处理,以实现目标的提取和跟踪。 在Matlab中,可以使用Image Processing Toolbox来实现基于混合高斯模型背景差分法目标跟踪。 首先,需要读取图像序列,并进行预处理。可以使用imread函数读取图像序列,使用im2double函数将图像转换为双精度图像,以便后续处理。然后,可以使用imresize函数调整图像尺寸,以提高算法的效率。 接下来,对图像序列进行背景建模。可以使用vision.ForegroundDetector函数创建一个混合高斯模型,并使用step函数对每一图像进行背景差分处理,得到前景图像。 然后,可以对前景图像进行后处理,以剔除部分不需要的噪声和干扰。可以使用imopen函数对前景图像进行开操作,以去除小的前景区域。可以使用bwareaopen函数去除小于一定面积的前景区域,以排除局部噪声。 最后,可以使用连通区域标记函数bwlabel或者regionprops函数,对前景图像中的目标进行检测和跟踪。可以根据需要,对目标的位置、大小、形状等属性进行分析和记录。 总之,基于混合高斯模型背景差分法目标跟踪是一种常用的目标跟踪方法,可以通过使用Matlab中的图像处理工具箱,结合合适的函数和算法,实现目标的提取和跟踪。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值