OpenCV 2.4.5 版提供了几种不同的实现,可用于跟踪使用统计方法估计背景的移动对象。OpenCV 具有在 CPU 上实现的类BackgroundSubtractorMOG
。BackgroundSubtractorMOG2
此外,它还分别具有 和 的 GPU 实现BackgroundSubtractorMOG
,BackgroundSubtractorMOG2
即gpu::MOG_GPU
和gpu::MOG2_GPU
。还有另外两种算法gpu::GMG_GPU
和gpu::FGDStatModel
.
在我的应用程序中,我想在移动对象进入场景后立即对其进行分割。我想避免诸如阴影之类的误报。这 4 种算法似乎都专注于同一个目标——它们通过创建一个随时间变化的背景模型来将背景与前景分开。如果有这些实现经验的人可以帮助我决定使用哪个(GPU)实现,我正在徘徊。这些算法——MOG、MOG2、GMG 和 FGDStatModel——彼此之间有何不同?使用一种或另一种算法有什么优势?这些实现如何在速度、配置参数的能力、准确性、阴影检测(误报)等方面进行比较?