背景建模中的KDE

Kernel Density Estimation(KDE):核密度估计

年份论文题目作者论文内容
2000Non-parametric model for background subtractionAM Elgammal,D. Harwood,L. S. Davis提出了一种非参数背景模型(使用了KDE算法),并使用颜色信息来抑制阴影,最后与典型的参数背景模型GMM算法进行了性能对比
2004Motion-based background subtraction using adaptive kernel density estimationA. Mittal,N. Paragios自适应KDE

给定一个样本集,估计该样本集的概率密度函数有两种方式:
1.参数估计方法
简单来讲,即假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯等,由于参数估计方法中需要加入主观的先验知识,往往很难拟合出与真实分布的模型;
2.非参数估计方法
和参数估计不同,非参数估计并不加入任何先验知识,而是根据数据本身的特点、性质来拟合分布,这样能比参数估计方法得出更好的模型。核密度估计就是非参数估计中的一种。

关于KDE算法的讲解:
b站KDE视频
https://www.cnblogs.com/bonelee/p/11050244.html

KDE2000:

  • 算法思路: 对每个像素点选择N个样本用KDE构建立两种背景模型,短期模型长期模型,运用两个模型分别进行运动检测,计算两者结果的交集(只保留两种模型都分类为前景的像素点),并额外保留短期模型中与交集的前景点相邻的前景点。两个模型的运动检测过程相同,分为两个阶段
    第一阶段:运用KDE算法(核函数选择高斯曲线 N ( 0 , Σ ) N(0,\Sigma ) N(0,Σ))对每个像素选择N个样本建立概率密度函数 Pr ⁡ ( x ) \Pr ({x}) Pr(x) Pr ⁡ ( x t ) = 1 N ∑ i = 1 N ∏ j = 1 d 1 2 π σ j 2 e − 1 2 ( x t j − x i j ) 2 σ j 2 \Pr ({x_t}) = \frac{1}{N}\sum\limits_{i = 1}^N {\prod\limits_{j = 1}^d {\frac{1}{{\sqrt {2\pi \sigma _j^2} }}} {e^{ - \frac{1}{2}\frac{{{{({x_{{t_j}}} - {x_{{i_j}}})}^2}}}{{\sigma _j^2}}}}} Pr(xt)=N1i=1Nj=1d2πσj2 1e21σj2(xtjxij)2若当前像素值概率 Pr ⁡ ( x t ) < t h \Pr ({x_t}) < th Pr(xt)<th,则认为是前景。
    第二阶段:
    对第一阶段检测出的前景点进一步处理以降低误检率。
    计算该点像素值属于邻域分布的最大概率 P N ( x t ) = max ⁡ y ∈ N ( x ) Pr ⁡ ( x t ∣ B y ) {P_N}({x_t}) = \mathop {\max }\limits_{y \in N(x)}^{} \Pr ({x_t}|{B_y}) PN(xt)=yN(x)maxPr(xtBy)计算连通域移动概率(即该像素所属连通域是由附近背景移动过来的概率,该像素所属连通域的所有像素的 P N ( x ) {P_N}({x}) PN(x)相乘) P c = Π x ∈ c P N ( x ) {P_c} = \mathop \Pi \limits_{x \in c}^{} {{\mathop{\rm P}\nolimits} _N}(x) Pc=xcΠPN(x) ( P N ( x ) > t h 1 ) ({P_N}(x) > th1) (PN(x)>th1) ( P c ( x ) > t h 2 ) ({P_c}(x) > th2) (Pc(x)>th2)同时满足,则认为是背景。
    (第一个条件表示该点像素值属于旁边的背景分布,第二个条件表示这整个物体都属于旁边的背景分布)
  • 核函数带宽 Σ \Sigma Σ 的选择: 计算N个样本绝对偏差 ∣ x i − x i + 1 ∣ |{x_i} - {x_{i + 1}}| xixi+1的中位数m,则 σ = m 0.68 2 \sigma = \frac{m}{{0.68\sqrt 2 }} σ=0.682 m Σ = σ 2 \Sigma = {\sigma ^2} Σ=σ2,原文还提到可以使用线性插值来获得更准确的中位数。
  • 模型初始化: 选择N个样本用KDE建立初始的短期模型和长期模型。
  • 前景/背景分类: 第一阶段根据 Pr ⁡ ( x t ) < t h \Pr ({x_t}) < th Pr(xt)<th分类为前景,第二阶段只处理第一阶段的所有被分类为前景的点,将符合 P N ( x ) > t h 1 {P_N}(x) > th1 PN(x)>th1 P c ( x ) > t h 2 {P_c}(x) > th2 Pc(x)>th2条件的修改为背景点。短期模型和长期模型均用上述步骤进行分类,计算两模型分类结果的交集,并额外保留短期模型中与交集前景点相邻的前景点,将此作为最终分类结果。
  • 模型更新: 使用先进先出策略来更新模型,删除旧样本,添加新样本,并重新计算KDE。模型包含短期模型长期模型
    短期模型包含N个样本,逐帧采样,分类为背景则替换掉模型中最旧的样本。(像素点的分类以最终分类结果为准)
    长期模型同样包含N个样本,每W/N帧采样一次,直接替换最旧的样本(无论分类是什么),W是自己定义的时间窗口。
  • 消除阴影: 给出RGB,则对应的色度坐标/归一化坐标(chromaticity coordinates) r = R R + G + B , g = G R + G + B , b = B R + G + B ( r + g + b = 1 ) r = \frac{R}{{R + G + B}},g = \frac{G}{{R + G + B}},b = \frac{B}{{R + G + B}}(r+g+b=1) r=R+G+BR,g=R+G+BG,b=R+G+BB(r+g+b=1)使用RGB空间建模无法消除阴影,rgb空间去除了亮度信息所以可以消除阴影,但这会导致如白色物体在灰背景下无法检测出来,所以加上亮度信息,s=R+G+B表示亮度,使用 rgb 建模并结合 s 可以消除阴影并保留亮度相差过大的物体。步骤如下:
    A是某点表示背景的N个样本的集合, x i = < r i , g i , s i > {x_i} = < {r_i},{g_i},{s_i} > xi=<ri,gi,si>表示A中的某个样本, x t = < r t , g t , s t > {x_t} = < {r_t},{g_t},{s_t} > xt=<rt,gt,st>表示 t 时刻观测值,定义集合 B ⊆ A B \subseteq A BA B = { x i ∣ x i ∈ A ∧ α ≤ s t s i ≤ β } B = \{ {x_i}|{x_i} \in A \wedge \alpha \le \frac{{{s_t}}}{{{s_i}}} \le \beta \} B={xixiAαsistβ}使用B集合中样本的 r g 进行KDE(同第一阶段),若概率 < th,则依然为前景,否则改为背景。(亮度与背景相差不大且 r g 分量与背景分布相似的判断为阴影)
  • 涉及参数: N,邻域的选取,th,th1,th2。原文中N=100,邻域选择为直径为5(像素)的圆,th=th1,th,th1,th2的值未告知。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值