How to Use Background Subtraction Methods

Feature DetectionHow to Use Background Subtraction Methods

一.背景减除(Background Segment)

参考博客:

https://blog.csdn.net/Anderson_Y/article/details/82082095

此博客给出了多种背景减除的方法,包括了下面opencv中提到的几种方法

#include <opencv2/video/background_segm.hpp>//需要包含的头文件

Inheritance diagram for cv::BackgroundSubtractor:

img

下面转载部分对 BackgroundSubtractorMOG的解释

参考
论文:An Improved Adaptive Background Mixture Model for Realtime Tracking with Shadow Detection 2001

MOG算法简介

MOG算法是一种基于混合高斯背景建模的背景减除算法。算法对每个像素点使用固定数量的高斯函数(Gaussian component)来对其像素值的分布进行建模。通过训练得到每个高斯函数的 (ωi,μi,Σi)(ωi,μi,Σi) 参数。当新的一帧来到时,对场景中的每一个像素计算在 NN 时刻像素值为 \boldxN\boldxN 的概率:

p(xN)=∑j=1Kωjη(xN;θj)>(11)
(11)>p(xN)=∑j=1Kωjη(xN;θj)>

其中 η(xN;θj)η(xN;θj) 为标准正态分布函数:

η(xN;θj)=η(xN;μj,Σj)>=>e−12(x−μj)TΣ−1j(x−μj)>(2π)D2|Σk|12>(12)
(12)>η(xN;θj)=η(xN;μj,Σj)>=>e−12(x−μj)TΣj−1(x−μj)>(2π)D2|Σk|12>

其中 μjμj 和 Σj=σ2jIΣj=σj2I 分别为该高斯函数的均值和方差。对所有 KK 个高斯函数按照 ωj/σjωj/σj 从小到大排序,前B个高斯函数用来对背景进行建模。B按照如下方程选择:

B=argminb(∑j=1bωj>T)>(13)
(13)>B=arg⁡minb⁡(∑j=1bωj>T)>

其中 TT 为一个常数,用于表示场景中背景的最小先验概率(it is the minimum prior probability that the background is in the scene)。对背景建模完成后,对场景中的每一个像素点,如果它与B个高斯函数中的任意一个的距离在 2.5 个标准差以上,则该像素点被认为是前景点(Background subtraction is performed by marking a foreground pixel any pixel that is more than 2.5 standard deviations away from any of the B distributions)。即:

p={>foreground >background if {∃ (|η(xN;θj)−μj|>2.5σj)|j∈[1,B]}others>>(14)
(14)>p={>foreground if {∃ (|η(xN;θj)−μj|>2.5σj)|j∈[1,B]}>background others>>

对于第一个匹配上的高斯函数(即与中心的距离在2.5个标准差以内),采用如下公式对其进行更新:

wN+1k>μN+1k>ΣN+1k>ρ>p(wk|xN+1)=(1−α)wNk+αp(wk|xN+1)=(1−α)μNk+ρxN+1=(1−α)ΣNk+ρ(xN+1−μN+1k)(xN+1−μN+1k)T=αη(xN+1;μNk,ΣNk)=>{> 1 if wk is the first match Gaussian component> 0 others>>>(15)
(15)>>wkN+1=(1−α)wkN+αp(wk|xN+1)>μkN+1=(1−α)μkN+ρxN+1>ΣkN+1=(1−α)ΣkN+ρ(xN+1−μkN+1)(xN+1−μkN+1)T>ρ=αη(xN+1;μkN,ΣkN)>p(wk|xN+1)=>{> 1 if wk is the first match Gaussian component> 0 others>>>
如果K个高斯函数都没有匹配上,那么用一个新的高斯函数去替代值最小的那个高斯函数。新高斯函数的均值为当前像素点的均值,方差为一个事先指定的较大值,权重为一个较小的值。


MOG2算法与 MOG 算法基本相同,不同之处在 MOG2 采用可变数量的高斯函数(Gaussian component),添加了阴影识别,效率更高,下面给出一篇相关博客:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值