结合跟踪和检测
Combine tracking and detection
我目前正在处理多目标跟踪问题。我认为使用 Tracking-by-Detection 是一个不错的选择。但是,我不知道如何将跟踪和检测结果结合起来,以便检测可以帮助改善跟踪结果。
我正在使用 Faster-RCNN、tensorflow 对象检测 API 作为检测的简单起点。
对于跟踪,我使用 opencv 的 KCF 算法。
检测不稳定,因为每一帧都独立于模型,而跟踪要稳定得多。
虽然跟踪更稳定,但是当物体移动时,跟踪器无法跟随物体,这是不准确的。
所以我想结合这两种方法来提高我的结果,既稳定又准确。
我有计算机视觉背景,但我是这个领域的新手(多目标跟踪)。谁能给我一些建议,告诉我应该如何处理这类问题?
非常感谢! :)
我最近尝试使用检测来跟踪对象。不稳定的问题可以通过卡尔曼滤波等经典的滤波技术来解决(在那个领域,信号处理的点也是"unstable"由于噪声。)。您可以在被跟踪对象周围设置一个小区域,并尝试在下一帧中在该区域中找到相同的区域。 "matched" 关系由此建立,然后您尝试将下一帧中的对象与下一帧中的对象进行匹配……可以从该过程中构建跟踪。可以采用任何平滑方法来抑制预测的框噪声。示例可以显示在:
透明点为检测轨迹点,黑色为平滑点
背景中显示的相应轨迹:
一些技巧也很有用,如果在某个随机位置检测失败,你可以设置一个"skip gate",尝试在后面的帧中找到一个匹配点(在我的实验中,60 对 24fps 视频来说还不错).您会更喜欢召回率而不是准确性,因为您可以构建一个相当长的序列并丢弃来自误报检测的短噪声序列。
我认为你应该尝试使用 opencv 的 CSRT 跟踪器,它比 KCF 稳定得多。对于检测,您可以在一组固定的帧之后使用它来使用检测重新初始化跟踪器。这样您就可以将跟踪器与检测器融合在一起。
我目前正在处理多目标跟踪问题。我认为使用 Tracking-by-Detection 是一个不错的选择。但是,我不知道如何将跟踪和检测结果结合起来,以便检测可以帮助改善跟踪结果。
我正在使用 Faster-RCNN、tensorflow 对象检测 API 作为检测的简单起点。 对于跟踪,我使用 opencv 的 KCF 算法。
检测不稳定,因为每一帧都独立于模型,而跟踪要稳定得多。
虽然跟踪更稳定,但是当物体移动时,跟踪器无法跟随物体,这是不准确的。
所以我想结合这两种方法来提高我的结果,既稳定又准确。
我有计算机视觉背景,但我是这个领域的新手(多目标跟踪)。谁能给我一些建议,告诉我应该如何处理这类问题?
非常感谢! :)
我最近尝试使用检测来跟踪对象。不稳定的问题可以通过卡尔曼滤波等经典的滤波技术来解决(在那个领域,信号处理的点也是"unstable"由于噪声。)。您可以在被跟踪对象周围设置一个小区域,并尝试在下一帧中在该区域中找到相同的区域。 "matched" 关系由此建立,然后您尝试将下一帧中的对象与下一帧中的对象进行匹配……可以从该过程中构建跟踪。可以采用任何平滑方法来抑制预测的框噪声。示例可以显示在:
透明点为检测轨迹点,黑色为平滑点
背景中显示的相应轨迹:
一些技巧也很有用,如果在某个随机位置检测失败,你可以设置一个"skip gate",尝试在后面的帧中找到一个匹配点(在我的实验中,60 对 24fps 视频来说还不错).您会更喜欢召回率而不是准确性,因为您可以构建一个相当长的序列并丢弃来自误报检测的短噪声序列。
我认为你应该尝试使用 opencv 的 CSRT 跟踪器,它比 KCF 稳定得多。对于检测,您可以在一组固定的帧之后使用它来使用检测重新初始化跟踪器。这样您就可以将跟踪器与检测器融合在一起。