各种运动检测算法的总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 个单模型是背景模型,则该点为背景,否则为运动目标。