使用蒙版作为输入进行跟踪

时间:2018-03-27 07:21:10

标签: opencv image-processing machine-learning opencv-python

我目前正在使用基于CNN的对象检测模块,该模块为我提供了对象,然后我将其用作使用OpenCV进行跟踪的输入。物体检测模块直到现在都生成了矩形,但我想转移到像Mask-RCNN这样的分段模块,它为每个对象输出蒙版和矩形。掩码是对象的更准确表示。 OpenCV中的所有跟踪器都将矩形作为输入。有没有办法使用蒙版来跟踪对象而不是框。我可以将面具转换为轮廓,如果这将有助于我跟踪对象。

2 个答案:

答案 0 :(得分:1)

对不起,OpenCV中没有针对活动轮廓模型的内置现成解决方案。

此分割模型广泛应用于计算机视觉问题(由Kass on 1988提出,是基于level sets modelsgeodesic active contours或{{3等能量的其他分割模型的起点}}

因此,尝试在OpenCV上执行主动轮廓分割,有几种解决方案,但我认为您必须了解fuzzy-snake model才能根据应用环境正确设置参数。< / p>

mathematical model

有一个很好的实现(有点混淆)

其他来自SO的实施,可以帮助您将理论与实施联系起来:

我的建议:

  1. 阅读原始论文以了解参数。
  2. 在Matlab上测试一些例子来播放参数和结果。
  3. 使用此处链接的OpenCV测试一些实现。
  4. 确定问题上下文的最佳参数并进行测试。
  5. 考虑为OpenCV做出贡献。

答案 1 :(得分:0)

活动轮廓可以使用轮廓作为输入进行跟踪。 https://www.ee.iitb.ac.in/uma/~krishnan/research.html

因此,您使用cnn模型中的轮廓初始化第一帧,并且在后续帧中,您不需要调用昂贵的前向但能够根据此模型将轮廓更新为新轮廓。