我无法理解所有参数背景减法器mog2 http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#backgroundsubtractormog2.
我查看了代码(位于bfgf_gaussmix2.cpp
),但看不到与上述论文的联系。比如The = vat Threshold,但是论文中Tb的名字是什么?
我对 fat 标记的参数特别感兴趣。
让我们从简单的参数开始[我的评论]:
-
混合体
混合物成分的最大允许数量。实际数量是根据像素动态确定的。
[为 GMG 设置 0]
-
uchar nShadowDetection
用于在输出前景蒙版中标记阴影像素的值。默认值为 127。
-
浮动 fTau
阴影阈值。如果像素是背景的较暗版本,则检测到阴影。 Tau 是一个阈值,定义阴影的暗度。 Tau= 0.5 意味着如果一个像素暗两倍以上,那么它就不是阴影。
现在来说说我不明白的:
-
float 背景比例
定义组件是否足够重要以包含在背景模型中的阈值(对应于论文中的 TB=1-cf?哪篇论文?)。默认为 cf=0.1 => TB=0.9。对于 alpha=0.001,这意味着该模式在被视为前景之前应存在大约 105 帧。
-
float varThresholdGen
马哈拉诺比斯距离平方的阈值,有助于确定样本何时接近现有成分(对应于 Tg)。如果它不靠近任何组件,则会生成一个新组件。默认为 3 sigma => Tg=3*3=9。 Tg 值越小,生成的成分越多。较高的 Tg 值可能会导致组分数量较少,但它们可能会变得太大。 [我一个字都听不懂]
-
在构造函数中变量变量阈值用来。它与 varThresholdGen 相同吗?
马哈拉诺比斯距离平方的阈值,决定背景模型是否很好地描述了它(参见 Cthr??)。该参数不影响后台更新。典型值可以是 4 sigma,即 varThreshold=4*4=16; (参见TB??)。
-
浮动 fVarInit
新生成的组件的初始方差。它影响适应速度。参数值基于您对图像的典型标准偏差的估计。 OpenCV 使用 15 作为合理值。
-
浮动 fVarMin
用于进一步控制方差的参数。
-
浮动 fVarMax
用于进一步控制方差的参数。
-
浮动CT
复杂性降低参数。该参数定义了证明组件存在所需接受的样本数量。 CT=0.05 是所有样本的默认值。通过设置 CT=0,您将获得与标准 Stauffer&Grimson 算法非常相似的算法。
有人在 OpenCV 网站上问了几乎同样的问题,但是没有答案。 http://answers.opencv.org/question/25645/explanation-of-backgroundsubtractormog2-parameters/
好吧,如果您不知道所使用的算法的详细信息,我认为没有人可以告诉您哪个参数是什么。此外,如果您了解算法的详细信息,您不需要任何人告诉您哪个参数是什么。我所说的是详细参数(fCT、fVarMax 等),而不是简单参数(nmixtures、nShadowDetection 等)。
因此,我认为您应该阅读文档中引用的论文。这是论文的链接1 http://www.zoranz.net/Publications/zivkovic2004ICPR.pdf, , 3 https://research.utwente.nl/en/publications/recursive-unsupervised-learning-of-finite-mixture-models.
而且你还应该阅读this http://www.ai.mit.edu/projects/vsam/Publications/stauffer_cvpr98_track.pdfpaper也是如此,这是背景估计的开始。
阅读这些论文并检查代码后,我相信您会明白这些参数是什么。
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)