各种运动检测算法的总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

各种运动检测算法的总结

赵晓梅 2013.11.5 1. 帧差法算法:),1,,(I ),,(I -t y x t y x ,前一帧图片为设当前帧图片为

,差值图像)1,,(I ),,(I ),,(d --=t y x t y x t y x

输出图像TH

t y x d otherwise

t y x output >=),,(,1,0{),,(。 2. 对称帧差法:。

、、设连续三帧图片分别为)1,,(I ),,(I )1,,(I +-t y x t y x t y x )1,,(I ),,(I 1--=t y x t y x d 相邻两帧图片做差: ),,(I )1,,(I 2t y x t y x d -+=

2121b b d d 和换为二值图像按照帧差法中的方法转和将差值图像 ),(&),(),(21y x b y x b y x output =。

3. 平均算法:

计算整段视频的平均帧),(y x u

然后将差值图像二值化差值图像),,(),,(I ),,(y x u t y x t y x d -=

4. 单高斯背景模型:

将图像中每一个像素点的颜色值看成是一个随机过程,并假设该点的某一像素值出现的

概率服从高斯分布。

、、,分别表示为增加一个变量故以上参数的变量中再参数有不同的值,的,所以不同时刻以上读入,参数是不断更新由于随着新的帧图片的,

,方差为,标准差为处像素的均值为设),,(),,(),,(),(),(),(),(22t y x t y x t y x u t y x y x y x u y x σσσσ

)

1,,()1,,(),,(I ,0,1{),,(-⨯<--=t y x t y x u t y x otherwise

t y x output t σλ中的像素值为时刻,该点在输出图像 下:各参数的初始化方法如

init std y x init std y x y x y x u _)0,,(,_)0,,(),

0,,(I )0,,(2===σσ

(关于std_init 的含义:通常设置为20,本人猜测是个经验值,后期将尽量 找到设置该值的理论依据。)

:各参数的更新方法如下

)

,,(),,(,)],,(),,(I [)1,,()1(),,(),

,,()1,,()1(),,(22

2

2

t y x t y x t y x u t y x t y x t y x t y x u t y x u t y x u σσασασαα=-⨯+-⨯-=⨯+-⨯-=

(关于α的含义:α是更新速率,该值可以自己随意设置。) 关于参数初始化和更新方法的自己的思考:

1. 初始图像即第一帧图像,所以每一点像素的均值为第一帧图像的像素值。

2. 初始标准差值猜测是个经验值,目前查阅一些资料没有找到设置该值的理论依 据。

3. α是更新速率,与均值和方差的计算方法本身无关。

4. 高斯模型的关键是采用高斯分布作为概率密度函数模型,而不是参数是如何得 来的,所以,我个人为,参数的计算方法只要合理并且效果好就可以,方法不局限于一 种,不过目前还没查找到其他方法。

5. 混合高斯模型算法步骤:

(1)像素模型的定义:

每个像素由多个单模型描述:}...,2,1],,{[)(2

,,,K i m w p P t i t i t i ==σ。K 的值一般在

3~5之间。其中,

11

,=∑=K

i t

i w

三个参数(权值、均值、方差)确定一个单模型。 (2)像素模型参数的修正 Step1:

如果新像素满足:1,1,--⋅≤-t i t i t m p σλ,则,新像素与该单模型匹配。如果,存在与新像素匹配的单模型,进入Step2;否则,进入Step3。(λ为常数,实验中取3)。 Step2:完成Step2直接转入Step4。

① 修正与新像素匹配的单模型的权值,权值增量为)1(w dw -⋅=α。 ② 修正与新像素匹配的单模型的均值和方差。

文献中,用极大似然估计的方法重新估计模型的参数,当单模型的概率密度分布为高

斯分布时,最大似然分布的解为:

∑∑=-=--+=

+=k

j t i j t t i k

j j t t i m p k p k m 0

2,2,0

,)(11

11σ。

该方法需要保存原先的观测值,系统实现困难,可以采用单高斯模型的方法更新参数:

2,,2

1,2

,,1,,)()1()1(t i t i t i t i t

i t i t i m p p m m -⋅+⋅-=+⋅-=--ασασα

Step3:如果新像素不与任何一个单模型匹配,则:

① 去除当前多模型集合中权重最小的单模型。

② 增加一个新的单模型,新模型的权重为一个较小的值(实验中用0.01),均值为新像素值,方差为给定的较大的值(实验中为20)。 Step4:权重归一化 ),...,2,1(,1

,,,K i w

w w K

j t

i t

i t i ==

∑=

(3)背景像素模型的选取

混合高斯模型对背景和前景都进行建模,因此要判别哪些单模型是背景模型。 背景模型具有以下特点:① 权重大:背景出现的频率高; ② 方差小:像素值变化不大。 求背景模型的方法:

。个高斯分布为背景模型

则这个高斯分布满足若前从大到小排序。

对各个高斯分布按值。

计算每个高斯分布的N ),1(min arg ).().().(1,,,,,⎪⎭

⎝⎛>=∑=N k t k N t

i t i t

i t i T w B N c w

b w

a σσ

Argmin()是使得某个泛函取得最小值的函数。上式的含义是:满足括号里面的条件

的最小的N 。

阈值T 是某像素为背景的先验概率。大多数文献T 取0.7。

(4)判决输出

如果某像素满足公式:)2(),()(11

,,,T p w

bg p P B

i t i t i i t

i i >⋅=

∑∑=μη,则,该点为运动

目标;否则为背景。

以上公式没有看懂,文献中也没有解释。编写程序时采用的是OpenCV 中混合高斯模型的判决逻辑:如果新像素与第k 个单模型匹配,且前k 个单模型是背景模型,则该点为背景,否则为运动目标。

相关文档
最新文档