OPENCV之EM算法篇
来源:互联网 发布:网络司法拍卖 变卖 编辑:程序博客网 时间:2024/05/22 10:45
OPENCV之EM算法篇
EM算法是求解最大似然函数极值的一种解法,使用的是迭代求解的方法,并且保证收敛。EM算法的应用相当广泛,包括混合高斯模型的求解,隐马尔科夫模型的求解,最大后验概率模型的求解等。最常用的是混合高斯模型的求解,把混合概率密度分解为一系列的高斯分量之和。关于EM算法的具体流程可参考网上,个人推荐一个介绍的不错的,《pattern recognition and machine learning》有一章专门介绍这个,通俗易懂,介绍了KMEANS与EM算法的关系,还介绍了一搬(general)EM算法的流程。在我博客里还会有另一篇文章专门介绍Kmeans和EM算法和MEANSHIFT算法的关系。
Opencv里的CVEM函数是用于专门求解混合高斯模型的,输入和输出都与CVkmeans2函数的输入输出兼容,都是输入矩阵一行代表一个样本。可以选择两种模式,一种是普通的方差矩阵,一种是对角的方差矩阵。对角的方差矩阵计算相对简单,可以减少计算量,而且很多情况下效果和普通的方差矩阵差不多。由于EM算法的计算复杂度要高于Kmeans,所以在实际使用时一般先用Kmeans选定类别中心,再用EM算法调整,可以提高计算速度。在CVEM类里有KMEANS的成员函数,实现预处理功能。Opencv里的EM算法有个和Kmeans一样的缺点就是类别数无法确定,并且数据如果不服从高斯分布,用于图片分割的效果不好,耗时也很长。所以EM算法还是比较适合于大数据量的样本聚类或学习。
下面是一个图片分割的例子:
输入图像:
输出图像:
PS:在右图中发现,每个形状的周围都存在一些黑色的类别,这是由于左图中每个形状的边缘部分是模糊的即(颜色值递减的),所以出现错分割或者说过分割。
- OPENCV之EM算法篇
- opencv EM算法 源码解读
- EM算法及OpenCV源码分析
- OPENCV EM算法详解和JAVA实现
- 机器学习之 EM算法
- EM算法--ML之六
- opencv EM
- 机器学习优化算法之EM算法
- EM算法学习笔记_2(opencv自带EM sample学习)
- 机器学习之EM算法解析
- 机器视觉学习之--EM算法
- 机器学习读书笔记之3 - EM算法
- [机器学习](六)cs229之EM算法
- (5)数据挖掘算法之EM
- 机器学习系列之EM算法
- EM 算法
- EM 算法
- EM算法
- 终于破解成功 ucenter的 flash头像上传
- Silverlight资源概述
- IOC, AOP
- Silverlight资源文件
- FPGA驱动1602液晶
- OPENCV之EM算法篇
- Silverlight资源字典
- FPGA驱动12864液晶
- Serlvet处理表单数据
- 非常高兴加入
- Opencv之meanshift篇
- 由GZipStream的压缩,減少Web Service的传输量
- 堆与栈的区别【收藏】
- 为Microsoft Visual Studio文本编辑器增加导航线