前景提取算法调研
总结:
前景提取算法,主要是用于在摄像监控中,从视频流数据中剔除不需要分析的背景部分,从而提升算法对视频分析的效果。在前景提取中主要分为两大类,一个是静态的前景提取:即摄像头是固定不动的相对的背景基本是不变化的,另一个时动态前景提取:即摄像头是追踪某个运动的物体背景是随着追踪的物体进行变化的。在本文中,主要是分析静态前景提取的方法。
前景提取的主要有三大难点:1)视频流因光线等因素导致的背景缓慢的变化,例如天空飘过一朵云导致光线变暗2)视频流中的突发情况,例如在原本开灯的场景,突然把灯关掉3)ghost,例如:在视频初期就有个车子在摄像头中,会默认车子为背景,而把车子移动之后的地方视为前景。
前景提取方法主要分为三大类:背景建模,帧差法,光流法。
背景建模
高斯建模:分为单高斯模型,混合高斯模型,以及滑动高斯平均。三者的主要思想都是一样的,其中,最初的为单高斯模型,混合高斯模型是在建模的时候使用混合高斯,滑动高斯模型是在混合高斯模型的基础上增加了平均值的计算。
主要思想:对于每一个像素点,都假定如果是背景的话,会服从一个高斯分布的变化,即其变化的概率分布应该是满足高斯模型的,因此以上一帧为基础,构建对每一个像素构建其高斯模型,然后在计算下一帧这个像素的值在此情况下是背景的概率。
混合高斯模型,只是假设是服从混合高斯的分布。
滑动高斯平均,是表明在某一端时刻服从一个混合高斯分布,存在一个滑动平移的过程。
混合高斯模型具体建模过程
对场景中所有像素点进行高斯建模,第N个像素的模型如下:
p
(
x
N
)
=
∑
j
=
1
K
w
j
η
(
x
N
;
θ
j
)
p(\bm{x}_N)=\sum_{j=1}^Kw_j\eta(\bm{x}_N;\theta_j)
p(xN)=j=1∑Kwjη(xN;θj)
其中
w
k
w_k
wk是第k个高斯模型的权重。
η
(
x
;
θ
k
)
=
η
(
x
N
;
μ
k
,
Σ
k
)
\eta(\bm{x};\theta_k)=\eta(\bm{x}_N;\mu_k,\Sigma_k)
η(x;θk)=η(xN;μk,Σk)
因为假设,输入的红,绿,蓝三色之间关系是独立的,所以
Σ
k
=
σ
2
k
I
\Sigma_k=\sigma^k_2I
Σk=σ2kI
对K个高斯模型按照
w
/
σ
w/\sigma
w/σ进行排序,
w
w
w高代表着该模型的置信度越大,
σ
\sigma
σ低代表着模型的波动越小。
设置一个最小的衡量权重T,如果前b的
w
k
w_k
wk的权重之和大于T,则取前b个为背景模型,具体公式如下:
B
=
a
r
g
m
i
n
b
(
∑
k
=
1
b
w
k
>
T
)
B=argmin_b(\sum^b_{k=1} w_k > T)
B=argminb(k=1∑bwk>T)
模型各个参数的更新:
w
k
,
t
=
(
1
−
α
)
w
k
,
t
−
1
+
α
(
M
k
,
t
)
w_{k,t} =(1-\alpha)w_{k,t-1}+\alpha(M_{k,t})
wk,t=(1−α)wk,t−1+α(Mk,t)
如果第k个像素与模型匹配,M_{k,t}=1不然为0
匹配的定义为:若像素的值在2.5倍的标准差之内,则认定为匹配(原文中用的是match)
对于一个新的观测到的像素,模型的均值和方差变化情况如下:
μ
t
=
(
1
−
ρ
)
μ
t
−
1
+
ρ
X
t
\mu_t=(1-\rho)\mu_{t-1}+\rho X_t
μt=(1−ρ)μt−1+ρXt
σ
t
2
=
(
1
−
ρ
)
σ
t
−
1
2
+
ρ
\sigma^2_t=(1-\rho)\sigma^2_{t-1}+\rho
σt2=(1−ρ)σt−12+ρ
ρ
=
α
η
(
X
t
∣
μ
k
,
σ
k
)
\rho=\alpha\eta(X_t|\mu_k,\sigma_k)
ρ=αη(Xt∣μk,σk)