关于 SURF 和跟踪算法的基本问题

Posted

技术标签:

【中文标题】关于 SURF 和跟踪算法的基本问题【英文标题】:Basic questions about SURF and tracking algorithms 【发布时间】:2013-03-27 08:46:47 【问题描述】:

当使用 SURF 检测对象时,如何使用良好匹配和几个关键点绘制误报和命中图?

(A) 我如何获得良好匹配的统计数据,即 ROC 图或从这么多行描述符中检测的真阳性与假阳性?有人可以提供绘图代码吗?真阳性与假阳性统计。

(B)**其次,有很多资源vdo1,vdo2和实现,论文( Object tracking using improved Camshift with SURF method ; A Study on Moving Object Tracking Algorithm Using SURF Algorithm and Depth Information )说SURF 和 SIFT 可用于结合 camshift 或 meanshift 进行跟踪。

但是,我不明白的是,我们需要像卡尔曼滤波器这样的预测算法或像 Camshift、均值偏移或模板差分(不确定)这样的跟踪算法来进行跟踪。那么,为什么一些视频实现和教程说 Lukas Kanade光流、SIFT、SURF 是跟踪对象,而论文提到俱乐部要么是 camshift 要么是 meanshift。我错过了一些概念问题吗?

是否有义务提供关于如何单独使用 SURF 或 SIFT 或基于特征的方法进行跟踪的指针和详细说明?

【问题讨论】:

【参考方案1】:

带有金字塔的 Lucas-Kandae (pyrLK) 是一种在单个特征位置寻找微小变化的方法。它可以一次对许多功能执行此操作。 Camshift 和 meanshift 跟踪一组特征的统计数据。您也可以尝试使用匹配器来查找特征在下一帧中的位置。 GoodFeturesToTrack、SIFT 和 SURF 是查找点的算法,这些点应该很容易找到并彼此区分开来。 SURF 和 SIFT 还包括描述符,以可以忽略大小变化、方向变化或两者兼而有之的方式来表征这些特征。

卡尔曼滤波器用于优化您的结果。它能够缩小答案所在的区域,因为上面的算法并不完美。

至于代码,除了Shi-Thomasi + pyrLK,我没做过太多跟踪,所以我觉得帮不上忙。

【讨论】:

感谢您的回复。我的困惑和疑问仍然存在,即是否可以单独使用 SIFT 或 SURF 进行跟踪,如链接(基于 SURF 的跟踪器)等中所述。附加“跟踪器”一词SURF 之后是我感到困惑的地方,因为跟踪本质上需要像 Kalman 或 mean shift/camshift 这样的预测器,而链接中的 SURF 没有实现。

以上是关于关于 SURF 和跟踪算法的基本问题的主要内容,如果未能解决你的问题,请参考以下文章

特征提取算法的综合实验(多种角度比较sift/surf/brisk/orb/akze)

跟踪算法

跟踪算法-Deep sort详细简介

#私藏项目实操分享#原理讲解-项目实战 <-; 多目标跟踪算法之DeepSORT

视频编码技术---压缩感知编码---匹配跟踪算法

目标跟踪检测算法(一)——传统方法