运动目标检测--帧间差分与背景差分相融合

一、概述

       本文提出了一种简单有效的运动物体检测方法。这种方法是将帧间差分和背景差分相结合起来。预先选取一帧作为背景帧, 建立各像素点的高斯模型。再运用帧间差分法对相邻两帧图像进行差分处理, 区分出背景点和变化的区域(在当前帧中变化的区域包括显露区和运动物体) 。然后将变化区域与背景帧的对应区域进行模型拟合区分出显露区和运动物体, 最后在运动物体中去除阴影, 这样将不带阴影的运动物体分割出来。背景更新时将帧间差分确定为是背景的点, 则以一定的规则进行更新; 背景差分时确定为是显露区的点, 则以较大的更新率收入到背景帧中, 运动物体对应的区域不进行更新, 其流程如图1所示。

                                   

二、视频运动目标检测过程

 1、背景模型建立

      比较相邻帧图像会发现背景像素点是随时间缓慢变化的, 在一定的时间里差别不大。而物体运动变化区域对应的像素点变化很大。因此可以对选取的背景帧的每一个像素点利用高斯模型建模。假设在一定的时间段 t 里, 由同一位置的像素点组成的集合服从各自的高斯分布, 均值为μ(ij) 和标准方差为σ(i, j) (i, j 是像素点在图像中的横坐标和纵坐标) , 即:

                       

      X (i, j, t) 是图像序列中所有横坐标为 i,纵坐标为 j 的像素点组成的集合。实际上这种假设是完全满足的。

      因灰度值V是判断背景、前景点的一个重要参数, 同时考虑到后面处理的方便, 在整个运动物体的检测过程中采用了HSV彩色模型。与RGB模式间的转化公式如下:

                           

       其中 0°≤H≤360°, 0≤S≤1, 0≤V≤1, 0≤R, G, B≤1 刚开始建模时, 每一个像素点的分布是未知的, 初始化时, 用第一帧中该像素点的V值作为μ(i, j) , 而将标准方差σ(i, j) 设为0。事实上, 因为实际的背景模型是通过不断学习新帧而得到的, 兼顾了过去的背景信息, 所以该方法对实际图像中的偶然变化有一定的抑制作用。

 2、变化区域的检测

      帧间差分能够检测出相邻两帧间发生了变化的区域。这个区域实际上包括运动物在前一帧所覆盖的区域即显露区P, 运动物体现在所覆盖的区域即在当前帧中就是运动物体本身Q。如图 2 所示。

                                                             

设f k(i, j) 和f k+1(i, j) 为视频序列中连续的两帧图像,将这两帧图像进行差分处理, 作差分的量可以是灰度、亮度、
色度值或其它的参数, 本文采用灰度值进行差分, 检测规则如下:

                     

       TV为灰度阈值, 添加项 1/N∑| f k(i, j) - f k+1(i, j)| 表示整体光线的变化, 如果图像光照变化较小, 添加项的值趋近于零。如果图像光照变化明显, 则添加项有明显增大, 这样能使阈值T适应环境光照的突变情况。N为图像中象素点的个数, 由于变化区域需与背景帧进行进一步的处理来分割出运动物体, 因而这里对T值的选取不必精确, 适应范围很宽。
B1(i, j)为差分后确定为是背景的区域, M1(i, j)为差分后确定为是运动变化的区域。对B1(i, j)中的像素点用式(5) , (6)的
规则去更新。而对M1(i, j)中的像素点继续进行后面运动物体检测处理。帧间差分法处理后的图像如图(3) 所示。a ,b为作差分的两帧,c为差分处理后的M1(i, j) 。

                                                     

          若运动物体在场景中静止下来, 在相邻两帧中这个物体位置没变, 所以在差分处理中被检测为是B1(i, j) 中的点, 不会进入到后续处理步骤之中, 也就不会被误检为运动物体。

3、运动目标检测

       将分割出来的运动变化区域 M1(i, j) 中的像素点与各自的高斯模型去拟合。本文用像素点的灰度值 X(i, j, t) 来度量这点的特性,若 P( X(i, j,t)) ≤TP (这里TP 是概率阈值) , 则判断为是显露区, 否则为运动物体。在实际的应用中用等价的阈值代替概率阈值, 记 d(i, j,t) =| x(i, j,t) - μ(i, j) | , 则可设置相应的前景检测阈值为σ(i, j) , 检测规则如下;

                              if  d (i, j, t) ≤σ(i, j) 为显露区, 记为B2(i, j)
                            else   为运动物体, 记为M(i, j)                             (4)

       考虑到 B2(i, j) 在前一帧中被运动物体所覆盖, 用(7) (8) 式的更新规则将它收入到背景中。运动物体对应的点不给予更新。图4为与背景差分后剩下的运动物体。

                                                  

      这个处理过程是对前一步检测为运动变化的区域 M1(i,j) 进一步进行的处理, 处理区域不大, 有效地排除其它区域的干扰, 并且减少了计算量有利于提高整个系统的实时性。

4、背景更新

      将区域B1(i, j) 中的点用下述的规则来进行背景更新。

                              

      将区域B2(i, j) 中的点用以下的规则进行更新。

                 

      其中α1 , α2 为更新率, x表示新帧中的像素点灰度值。这里α1 , α2 的取值是不同的, 考虑到B2(i, j) 中的点是前帧中被运动物体覆盖的区域, 在当前帧中被重新显露出来, 所以α2 的值取得较大, 在0.18以上, 实验表明, 这种处理策略使得在建模时即使有运动的物体存在, 也会随着运动物体的移动而迅速得到干净的背景帧模型。对最终检测为运动物体的区域M(i, j) 不予更新。

5、阴影检测

      在光照较强的情况下, 检测出的运动物体会包含有它的阴影, 对运动物体分割精确度要求高的场合还需要将阴影去掉。在HSV模式下, 当一个像素点被阴影覆盖时, 它的亮度变化较大, 而色度信号变化不大, 可以使用如下方法进行判别:

               

       其中TS , TH 分别表示色彩、色度的阈值。阴影点的V值总是小于非阴影相应点的V值, 所以γ取值小于1, 而β取值则考虑了当前光照的强弱, 光照越强阴影越明显, β值越小。目前TS , TH 的选取是通过试验来确定的。

三、总结

本文提出了将帧间差法与背景帧差法相结合的运动物体检测方法, 两种方法的结合使优势形成互补, 与其它方法相比优出点在于: (1) 静止下来的物体会在相邻帧差处理时减掉, 不会出现误检为运动物体, 且能够很快地更新到背景中去; (2)
与背景帧差分时仅对帧差处理后的运动变化区域进行处理, 大大地减少了其它区域对检测结果带来的影响, 也缩短了处理时间; (3) 允许在有运动物体存在的情况下进行背景建模。实验结果表明该方法快速, 准确, 有着广泛的适用性。

 

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值