Opencv3之动态目标检测:BackgroundSubtractorMOG2参数配置

来源:互联网 发布:微信可以打开淘宝 编辑:程序博客网 时间:2024/06/05 19:44

        Opencv集成了BackgroundSubtractorMOG2用于动态目标检测,用到的是基于自适应混合高斯背景建模的背景减除法,相对于BackgroundSubtractorMOG,其具有更好的抗干扰能力,特别是光照变化。

------------------------------------------------------------------------------------------------------------

ps:BackgroundSubtractorMOG2等一些背景减除法、帧差法仅仅做运动检测,网上经常有人做个运动检测,再找个轮廓,拟合个椭圆就说跟踪了,混淆了概念,凡是没有建立帧与帧之间目标联系的,没有判断目标产生和目标消失的都不能算是跟踪吧。

-----------------------------------------------------------------------------------------------------------

BackgroundSubtractorMOG2具有大量的参数,参数的设置会对运动检测的结果产生极大影响。opencv2版本的BackgroundSubtractorMOG2参数是不可调的,因此MOG2的检测效果往往令人失望,甚至有人认为不如MOG。

    在opencv3版本中,BackgroundSubtractorMOG2通过大量的成员函数使得参数可调,相信这一状况可以极大改变。然而对于不想钻研算法的opencv玩家来说,或者像我这种初学opencv又想做出点好玩的效果的人来说,,理解这些参数头都大了,这里结合我的浅见和别人的一些成果,总结了一些参数的意义,仅供参考,误人子弟勿喷!

部分参考自:http://blog.csdn.net/abc20002929/article/details/43247425

1-- BackgroundSubtractorMOG2创建及初始化

eg:Ptr<BackgroundSubtractorMOG2> mog = createBackgroundSubtractorMOG2(100,25,false);

  • history:用于训练背景的帧数,默认为500帧,如果不手动设置learningRate,history就被用于计算当前的learningRate,此时history越大,learningRate越小,背景更新越慢;
  • varThreshold:方差阈值,用于判断当前像素是前景还是背景。一般默认16,如果光照变化明显,如阳光下的水面,建议设为25,36,具体去试一下也不是很麻烦,值越大,灵敏度越低;
  • detectShadows:是否检测影子,设为true为检测,false为不检测,检测影子会增加程序时间复杂度,如无特殊要求,建议设为false;
2-- BackgroundSubtractorMOG2运动检测
eg:mog->apply(src_YCrCb, foreGround, 0.005);
  • image 源图
  • fmask 前景(二值图像)
  • learningRate 学习速率,值为0-1,为0时背景不更新,为1时逐帧更新,默认为-1,即算法自动更新;
3-- BackgroundSubtractorMOG2其他参数
参数设置函数见:http://docs.opencv.org/3.2.0/d7/d7b/classcv_1_1BackgroundSubtractorMOG2.html
eg:mog->setVarThreshold(20);
部分重要参数介绍
  • nmixtures:高斯模型个数,默认5个,最多8个,一般设为5就好,个人测试:设为8个的时候检测效果提升有限,但程序耗时增加;
  • backgroundRatio:高斯背景模型权重和阈值,nmixtures个模型按权重排序后,只取模型权重累加值大于backgroundRatio的前几个作为背景模型。也就是说如果该值取得非常小,很可能只使用权重最大的高斯模型作为背景(因为仅一个模型权重就大于backgroundRatio了);
  • fVarInit:新建高斯模型的方差初始值,默认15;
  • fVarMax:背景更新过程中,用于限制高斯模型方差的最大值,默认20;
  • fVarMin:背景更新过程中,用于限制高斯模型方差的最小值,默认4;
  • varThresholdGen:方差阈值,用于是否存在匹配的模型,如果不存在则新建一个;
4-- BackgroundSubtractorMOG2运动检测程序参考
原创粉丝点击