使用opencv在受控环境中进行视频跟踪的跟踪标记和跟踪算法选择
Tracking marker and tracking algorithm choice for video tracking in a controlled environment using opencv
我需要视频中两个对象的 xy 水平投影。我可以完全控制环境,所以我将相机放在顶部居中。 (我对视频本身不感兴趣,但从视频中我也得到了将轨道校准到适当单位的措施)。
我正在考虑使用 opencv 中实现的跟踪算法之一。我一直在研究它们 运行 带有示例视频的示例代码并且工作得非常好。
我的第一个也是最主要的问题是:
鉴于我可以自由选择,我可以使用的最佳标记是什么?我当时认为明亮的 LED 很可能是最简单的。但是我不确定这种算法是否可以更好地处理复杂形状或具有更多特征的对象。 QR 码可以更好地工作吗?标记会移动和倾斜,这就是我不确定的原因。光线听起来不错,倾斜也很稳固。
第二个问题实际上可能与第一个问题相互依存,是:
这种情况下最好的跟踪算法是什么?
我在网上读了一点。 https://www.learnopencv.com/object-tracking-using-opencv-cpp-python/ 对可用跟踪方法的一个非常好的总结是我认为我应该使用 KCF 跟踪器的地方。但是,我没有深入研究算法,我想我可能使用了不兼容的想法:比如,从某种意义上说,跟踪颜色可能很简单,只需通过一些颜色过滤就可以完成,并根据速度使用一些预测等。但也许这种检测许多特征的算法只用一盏灯并不能很好地工作。
所以,我想问题可能会重新表述为:在我的特定场景中最好的 marker/tracking 算法组合是什么?
这些跟踪算法用于跟踪复杂的模式,例如视频中光线变化且头部方向不断变化的人脸。如果在你的应用程序中你可以使用颜色或光来唯一地标记你的对象,那么这将是最快和最简单的算法。如果你需要非常精确的定位,那么你需要考虑使用标记,原因是标记允许亚像素定位。
我需要视频中两个对象的 xy 水平投影。我可以完全控制环境,所以我将相机放在顶部居中。 (我对视频本身不感兴趣,但从视频中我也得到了将轨道校准到适当单位的措施)。
我正在考虑使用 opencv 中实现的跟踪算法之一。我一直在研究它们 运行 带有示例视频的示例代码并且工作得非常好。
我的第一个也是最主要的问题是: 鉴于我可以自由选择,我可以使用的最佳标记是什么?我当时认为明亮的 LED 很可能是最简单的。但是我不确定这种算法是否可以更好地处理复杂形状或具有更多特征的对象。 QR 码可以更好地工作吗?标记会移动和倾斜,这就是我不确定的原因。光线听起来不错,倾斜也很稳固。
第二个问题实际上可能与第一个问题相互依存,是: 这种情况下最好的跟踪算法是什么? 我在网上读了一点。 https://www.learnopencv.com/object-tracking-using-opencv-cpp-python/ 对可用跟踪方法的一个非常好的总结是我认为我应该使用 KCF 跟踪器的地方。但是,我没有深入研究算法,我想我可能使用了不兼容的想法:比如,从某种意义上说,跟踪颜色可能很简单,只需通过一些颜色过滤就可以完成,并根据速度使用一些预测等。但也许这种检测许多特征的算法只用一盏灯并不能很好地工作。
所以,我想问题可能会重新表述为:在我的特定场景中最好的 marker/tracking 算法组合是什么?
这些跟踪算法用于跟踪复杂的模式,例如视频中光线变化且头部方向不断变化的人脸。如果在你的应用程序中你可以使用颜色或光来唯一地标记你的对象,那么这将是最快和最简单的算法。如果你需要非常精确的定位,那么你需要考虑使用标记,原因是标记允许亚像素定位。