基于统计的前后景分离:高斯混合模型
首先将高斯混合模型,我先提一嘴 KMeans,有一种最简单的用 KMeans 做聚类来进行图片分割的方法,原理也不讲了,懂聚类的应该马上知道怎么做,当然结果很不好:
而高斯混合模型也是一样的,假设图片这些点分别属于几个高斯分布,然后计算各个点究竟属于哪个分布。
我们需要知道高斯混合模型是什么,已经如何求解每个点在每个高斯分布的概率。这方面我建议看一些 EM 算法的视频,基本都会讲到的,总之就是对高斯混合模型和 EM 算法一定要一些认知。
这个视频讲 EM 算法求解高斯混合模型讲的很不错:https://www.bilibili.com/video/BV1No4y1o7ac ,要注意不要拘泥在公式的推导上,更要侧重去理解算法的思想。我推荐看那个视频系列的 EM 算法 5-8 和 12-14 这几集。
知道这些个概念后,其实就没了... 因为图片分割作为混合高斯模型的应用,实在太顺畅了,没有额外的细节了。
这篇文章也讲了用 OpenCV 进行混合高斯模型的训练和分割:https://cloud.tencent.com/developer/article/1470670
OpenCV 中 cv::BackgroundSubtractorMOG2
类就是用高斯混合模型进行前后景分离的。