2

我想跟踪一个多色对象(4 种颜色)。目前,我正在将图像解析为 HSV 并在相机馈送上应用多个滤色器范围,最后将过滤后的图像相加。然后我根据面积过滤轮廓。

这种方法在大多数情况下都相当稳定,但是当外部光线稍有变化时,由于色调值变得混乱而无法识别对象,并且难以跟踪对象。

此外,由于我根据区域过滤轮廓,因此我经常会出现误报,并且有时无法正确跟踪对象。

您对摆脱这些问题有什么建议吗?我可以使用其他方法来跟踪它,而不是单独过滤颜色,然后添加图像并搜索轮廓吗?

4

2 回答 2

0

对于完整的证明轨道,您需要结合多种方法...以下是一些提示...

  1. 如果您对对象有先验知识,那么您可以使用模板匹配...但是模板匹配的过程很少...如果您使用的是 GPU,那么您可能会有一些好处

  2. 从您的文章来看,我认为外部光线的变化程度较小……因此,在此基础上,您可以使用 opencv 的 goodfeaturestotrack 功能并使用光流仅跟踪 goodfeaturestotrack 在视频的下一帧中找到的那些点

  3. 如果除了一些亮度变化之外背景是稳定的,并且物体的运动量比背景大,那么您可以从当前帧中减去前一帧以获得移动对象的位置......这是一种快速简便的变化检测技术...

  4. 基于面积过滤轮廓是个好主意,但尝试在过滤条件中添加更多特征......即您可以尝试基于椭圆度、边界框的纵横比等进行过滤......

  5. 最后...如果您对物体的运动路径有任何先验知识,您可以使用卡尔曼滤波器...

  6. 如果背景几乎没有变化或在某种程度上变化,那么你可以尝试高斯混合模型来模拟背景......而变化的球是你的前景......

于 2012-11-23T14:04:23.360 回答
0

您可以根据可用的光源尝试拥有多个或无限数量的对象模型,然后将您的对象分类为具有光源之一的对象或不具有该对象的对象。注意:这是解决问题的机器学习类型的方法。

使用卡尔曼滤波器、扩展卡尔曼滤波器或粒子滤波器(取决于您的应用程序)进行滤波将是一个好主意,这样您就可以“记忆”最近跟踪的特征,并对下一个跟踪的颜色/特征有预期近期(即,如果您刚刚看到该对象,那么它很有可能在下一帧中没有消失)。

总的来说,这是一个我在做机器人研究时遇到过几次的难题。唯一可靠的解决方案是学习模型,并根据您的系统实际看到的内容来确认或否认它们。任何数量的机器学习方法都应该有效,但最简单的可能是支持向量机。最强大的可能是高斯过程(如果你想做无限数量的模型)。祝你好运,不要太沮丧;这不是一个简单的问题!

于 2012-11-23T18:43:36.220 回答