寻找有关如何实施KCF跟踪以及它是否适合我正在创建的项目的一些指导。在Python上使用最新版本的OpenCV创建一个程序,可以跟踪特定对象在摄像机前移动时的情况。最终目标只是计算在帧的下半部分中有多少特定对象。目前有一个工作版本构建我自己的级联,但有一个可怕的时间试图实现我自己的跟踪。
我发现了内置的跟踪功能,并且一直在使用来自Opencv和Learnopencv网站的一些示例代码,专注于KCF。这段代码如下。
-XX:+StartAttachListener
这是正确的方法吗?如何使用我想要跟踪的对象的图像?而不是在开始时选择边界框。任何建议或帮助都会很棒!感谢
答案 0 :(得分:0)
KCF是一款体面而快速的单一对象跟踪器。当帧中存在多个类似类型的对象时,可能无法跟踪对象。例如,如果你正在追踪一只鸡,并且它会进入同一品种的其他鸡群中,那么追踪者很有可能会转向另一只鸡。
这里有两个任务:对象检测和对象跟踪。但也许你真正需要的只是对象类和位置。为此,我建议查找YOLO对象检测和本地化。它可以直接完成这项工作。
所有这一切,如果您仍想使用KCF,首先需要决定要跟踪的对象。如果级联可以识别对象,则可以在第一帧中简单地拍摄小(多尺度)图像块,记下它们的坐标并将它们传递给级联,看它们是否包含对象。如果它们包含对象,请使用图像块坐标初始化KCF(而不是手动绘制它们)并让它跟踪。它会在某个时刻漂移,因此请使用级联探测器以某个定义的间隔重新检测并重新初始化。