opencv - 特征检测/提取方法的指标

标签 opencv computer-vision feature-detection feature-extraction

我想知道我们如何评估用于行人、车道车辆等物体检测和跟踪的特征检测/提取方法(SIFT、SURF、MSER...)。是否有用于比较的标准指标?我读过类似 http://computer-vision-talks.com/2011/07/comparison-of-the-opencvs-feature-detection-algorithms-ii/ 的博客一些研究论文,如 this .问题是我学得越多,我就越困惑。

最佳答案

很难本身估计特征检测器,因为特征只是计算产物,而不是您实际在图像中搜索的东西。特征检测器在它们的预期上下文之外没有意义,这是针对您提到的描述符的仿射不变图像部分匹配

SIFT、SURF、MSER 的第一个用途是多 View 重建和自动 3D 重建管道。因此,通常根据它们提供的 3D 重建或图像部分匹配的质量来评估这些特征。粗略地说,你有一对通过已知变换(亲和性或单应性)相关的图像,你测量估计的单应性(来自特征检测器)与真实单应性之间的差异。 顺便引用一下博文中使用的也是这个方法。

为了评估检测器的实际意义(不仅是它在理想的多 View 管道中的精度),还添加了一些额外的稳定性测量值(在几何和光度变化下) :检测到的特征数量是否变化,估计单应性的质量是否变化等。

偶然地,碰巧这些检测器也可以用于对象检测和跟踪(在逐个检测的情况下)(这也不是它们的设计目的)。在这种情况下,它们的性能通常是根据或多或少标准化的图像数据集进行评估的,通常用精度(正确答案的概率,与误报率相关)和召回率(找到目标时的概率)来表示展示)。例如,您可以阅读 Wikipedia关于这个话题。

附录:我所说的意外到底是什么意思?

好吧,如上所述,SIFT 等旨在匹配平面纹理 图像部分。这就是为什么您总是看到带有来自 dataset of graffiti 的相似图像的例子。 .

然后以两种不同的方式开发了它们对检测和跟踪的扩展:

  • 在进行多 View 匹配(使用球形装置)时,Furukawa 和 Ponce 构建了某种 3D 局部平面对象模型,然后将其应用于 object detection在严重闭塞的情况下。这项工作利用了一个有趣的对象通常是局部平面和纹理的事实;
  • 其他人考虑到他们有要跟踪的对象的查询图像,因此开发了一种不太原始(但在良好条件下仍然有效)的方法。然后通过将模板图像与当前帧匹配(使用 SIFT 等)来执行单个帧检测。这利用了这样一个事实,即与 SIFT 几乎没有错误匹配,通常在远处观察对象(因此通常在图像中几乎是平面的)并且它们是有纹理的。参见示例 this paper .

关于opencv - 特征检测/提取方法的指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21141397/

相关文章:

c++ - 使用 OpenCV 进行手部检测

image-processing - 计算机视觉中的特征和关键点有什么区别?

image-processing - 低级和高级特征检测/提取之间的区别

machine-learning - 机器学习和计算机视觉之间的区别

opencv - 检测图像中的标记以用于OpenCV中的透视变换

android - 如何使用Android版OpenCV检测眨眼?

debugging - 使用 Xcode 4 在 iphone4 设备中调试时如何指定 arm6?

python - 从栅格图像中提取街道网络

python - 无法在 OpenCV(Python)中打开视频

python - 从 JPG 到 b64encode 再到 cv2.imread()