高斯混合模型介绍

高斯混合模型(Gaussian Mixture Model)通常简称GMM,是一种业界广泛使用的聚类算法,该方法使用了高斯分布作为参数模型,并使用了**期望最大(Expectation Maximization,简称EM)**算法进行训练。

混合高斯背景建模是基于像素样本统计信息的背景表示方法。

对于视频图像中的每一个像素点,其值在序列图像中的变化可看作是不断产生像素值的随机过程,可以用高斯分布来模拟像素值的变化规律。由于混合高斯模型理论上可以拟合任何一种分布,所以用GMM建模效果较好。

图像的每一个像素点按不同权值的多个高斯分布的叠加来建模,各个高斯分布的权值和分布参数随时间更新。

GMM的参数包括:高斯混合系数、均值、方差

毕设项目演示地址: 链接

毕业项目设计代做项目方向涵盖:

目标检测、语义分割、深度估计、超分辨率、3D目标检测、CNN、GAN、目标跟踪、自动驾驶、人群密度估计、PyTorch、人脸、车道线检测、去雾 、全景分割、行人检测、文本检测、OCR、6D姿态估计、 边缘检测、场景文本检测、视频实例分割、3D点云、模型压缩、人脸对齐、超分辨、去噪、强化学习、行为识别、OpenCV、场景文本识别、去雨、机器学习

背景提取流程

与标准的GMM聚类过程有所区别:聚类参考《机器学习\29_k-means和GMM的区别与联系.md》

  1. 为图像中的每个像素点,初始化一个高斯混合模型的参数。K个高斯模型,各有三个参数:高斯混合系数 w w w、均值 μ \mu μ、方差 σ 2 \sigma^2 σ2。

  2. 计算新像素值 X t X_t Xt​是否属于第 k k k个高斯分布(属于即视为匹配成功,可存在多组匹配成功)。判断方法:其与高斯模型的均值偏差在 2.5 σ 2.5\sigma 2.5σ内。

  3. 如果存在匹配成功的高斯分布,那么该像素值就属于背景,否则为前景。

  4. 更新高斯混合系数 w w w,其中 α \alpha α为学习率。对于匹配的模式 M k , t = 1 , M_k,t=1, Mk​,t=1,否则 M k , t = 0 M_k,t=0 Mk​,t=0。

    上面公式的含义:对于匹配成功的高斯分布,加大其系数,因为该分布更能反映背景像素分布;对于匹配失败的高斯分布,减少其系数,说明该高斯分布已经不能准确表达背景信息了。

    更新以后需要重新对 w w w归一化,确保混合高斯分布的最大值为1

  5. 未匹配成功的高斯模型不做更新,匹配成功的高斯模型根据 X t X_t Xt​更新参数 μ \mu μ和 σ 2 \sigma^2 σ2。
    E 步: 固定 μ 和 σ ,计算属于每一类的概率 ρ = w k , t ∗ η ( X t ∣ μ k , σ k ) M 步: 固定 ρ ,更新 μ 和 σ μ t = ( 1 − ρ ) ∗ μ t − 1 + ρ ∗ X t σ t 2 = ( 1 − ρ ) ∗ σ t − 1 2 + ρ ∗ ( X t − μ t ) T ( X t − μ t ) \begin{aligned} E步:&固定\mu和\sigma,计算属于每一类的概率\\ \rho&=w_{k,t}*\eta\left(X_{t} \mid \mu_{k}, \sigma_{k}\right) \\ M步:&固定\rho,更新\mu和\sigma\\ \mu_{t}&=(1-\rho) * \mu_{t-1}+\rho^{*} X_{t} \\ \sigma_{t}^{2}&=(1-\rho)^{*} \sigma_{t-1}^{2}+\rho^{*}\left(X_{t}-\mu_{t}\right)^{T}\left(X_{t}-\mu_{t}\right) \end{aligned} E步:ρM步:μt​σt2​​固定μ和σ,计算属于每一类的概率=wk,t​∗η(Xt​∣μk​,σk​)固定ρ,更新μ和σ=(1−ρ)∗μt−1​+ρ∗Xt​=(1−ρ)∗σt−12​+ρ∗(Xt​−μt​)T(Xt​−μt​)​
    ρ \rho ρ为当前数据属于某个高斯分布的概率,利用该概率进行滑动平均更新均值和方差。

  6. 如果不存在匹配成功的高斯模型,即该点为前景,就直接去除 w w w最小的高斯模型,然后添加一个新的高斯模型,其均值为 X t X_t Xt​,标准差初始化为较大的值高斯混合系数 w w w初始化为较小的值

    此时高斯模型的总数是不变的。

  7. 各模式根据 w / σ 2 w/{\sigma ^2} w/σ2按降序排列,权重大、标准差小的模式排列在前。

  8. 选前B个模式作为背景,B满足下式,参数T表示背景所占的比例:

    7、8的主要目的是:防止刚加入的前景立刻作为背景模板,这样下一帧的该位置会立马变成背景,前景检测就不稳定了;该步骤保证了当新加入的高斯模型在更新了一次次数后才加入背景模板,保证了背景的稳定性,同时也具有背景适应环境变化的特点


与GMM聚类的区别在于:

  1. 聚类需要利用所有的样本更新。背景提取需要一个样本更新。
  2. 聚类需要计算每个样本属于每个高斯分布的概率。背景提取只需要判断新的点属于哪个高斯分布即可。
  3. 聚类不需要学习率来更新高斯混合系数。背景提取需要学习率单独更新混合系数。
  4. 聚类利用所有的样本更新每一个高斯分布。背景提取只用新样本更新匹配成功的高斯模型。
  5. 聚类不会剔除高斯模型,只会不断更新每一个高斯模型。背景提取会逐步剔除混合系数最小的分布,然后生成新的高斯模型加入GMM,正因如此,GMM可以适应缓慢的光线变化。

混合高斯背景建模算法GMM相关推荐

  1. 运动目标检测_混合高斯背景建模

    1.混合高斯背景建模理论 混合高斯背景建模是基于像素样本统计信息的背景表示方法,利用像素在较长时间内大量样本值的概率密度等统计信息(如模式数量.每个模式的均值和标准差)表示背景,然后使用统计差分(如3 ...

  2. 运动目标检测混合高斯背景建模

    1.混合高斯背景建模理论 混合高斯背景建模是基于像素样本统计信息的背景表示方法,利用像素在较长时间内大量样本值的概率密度等统计信息(如模式数量.每个模式的均值和标准差)表示背景,然后使用统计差分(如3 ...

  3. 运动目标的背景建模-混合高斯背景建模和KNN模型建模的OpenCV代码实现

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 运动检测通常用于分析视频序列中的移动目标,如车辆 ...

  4. 【图像处理基础知识】-混合高斯背景建模

    0.高斯模糊原理 转载地址:https://www.cnblogs.com/herenzhiming/articles/5276106.html --------------------------- ...

  5. matlab 混合高斯背景建模的实现

    %根据opencv源代码改编 输入视频 输出一连串的黑白图像帧 clc; clear; %-------混合高斯背景建模 参数 ----------------- gauss_n = 3; %每个像素 ...

  6. 混合高斯背景建模原理

    混合高斯背景建模 混合高斯模: 背景图像的每一个像素分别用由K个高斯分布构成的混合高斯模型来建模 P ( I ) = ∑ q = 1 Q w q N q ( I ; μ q , σ q 2 ) N q ...

  7. 0056-在OpenCV环境下使用混合高斯背景建模提取前景目标

    博主注: 已于2022-06-01重写这篇博文,有两个链接,分别如下 https://blog.csdn.net/wenhao_ir/article/details/125010301 https:/ ...

  8. 高斯背景建模 matlab,高斯背景建模整理 – 要饭的

    OpenCV 中高斯背景建模相关论文 BackgroundSubtractorMOG: Paper : An Improved Adaptive Background Mixture Model fo ...

  9. OpenCV中高斯混合背景建模算法汇总

    2019独角兽企业重金招聘Python工程师标准>>> 引用地址:http://blog.csdn.net/chuhang_zhqr/article/details/51060745 ...

最新文章

  1. elasticsearch使用jetty进行简单的权限控制
  2. SAP在物流工作中的应用之学习笔记
  3. mfc 隐藏主窗口 visible_第80讲:工作表数据与UserForm窗口的交互,记录的编辑和保存...
  4. 金铲铲之战高峰期1万人排队,LOL手游如果公测会怎样?
  5. Android笔记——Matrix
  6. 学习笔记之-java8的新特性-函数式接口,lambda表达式,方法引用,Stream API,Optional类
  7. 自定义工具类:工具类介绍
  8. 三元表达式,列表解析和生成器表达式
  9. 【编程练习】正整数分解为几个连续自然数之和
  10. 手机单选按钮 html5,@html剃刀单选按钮mvc5(@html razor radio buttons mvc5)
  11. Windows 系统中 Python下 Pygame 的安装
  12. bootstrap-table 行合并和列合并,以及固定列宽度等问题
  13. shutil模块 python_python之模块之shutil模块
  14. Kotlin学习笔记26 协程part6 协程与线程的关系 Dispatchers.Unconfined 协程调试 协程上下文切换 Job详解 父子协程的关系
  15. 阿里云云计算6 ECS的概念
  16. 《Effective Python 2nd》 读书笔记——培养Pythonic思维
  17. 2022年了,如何制定今年的战略目标?人人必知
  18. UE4中实现Cesium 3dtileset的压平
  19. “红蓝眼人”问题中旅行者说的话的作用
  20. 探店「无聊猿」BAYC 主题餐厅:食物都很棒,口味超预期,有点小贵

热门文章

  1. 插件用法--视频播放video.js
  2. Android 拍照 图片 颠倒90度
  3. Conflux 联合创始人、CTO伍鸣博士出席杭州钱江世纪城重点发展企业座谈会
  4. eBay、亚马逊、Lazada、Shopee、速卖通、美客多等跨境电商平台,测评自养号需要满足什么条件?listing如何优化?
  5. 两年工作经验,离职了...
  6. 《树莓派开发笔记 - 第1部分 基础篇》第7章 树莓派变身路由器
  7. 网易云音乐——Web学习day6
  8. XCO-JS 1.0.1使用教程
  9. mac卸载了xcode后,运行软件提示:xcode-select: error: invalid developer directory
  10. linux触摸板设置密码程序6,Linux下Synaptics笔记本触摸板的配置