在SURF关键点中大小和响应确切表示什么? [英] What does size and response exactly represent in a SURF keypoint?

查看:249
本文介绍了在SURF关键点中大小和响应确切表示什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用OpenCV 2.3进行关键点检测和匹配.但是我对检测算法给出的sizeresponse参数有些困惑.他们到底是什么意思?

I'm using OpenCV 2.3 for keypoints detection and matching. But I am a bit confused with the size and response parameters given by the detection algorithm. What do they exactly mean?

基于OpenCV手册,我无法弄清楚:

Based on the OpenCV manual, I can't figure it out:

float size:有意义的关键点邻域的直径

float size: diameter of the meaningful keypoint neighborhood

float response:最强的关键点所具有的响应 被选中.可用于进一步的排序或二次采样

float response: the response by which the most strong keypoints have been selected. Can be used for further sorting or subsampling

我认为最好的追踪点应该是响应度最高的那一点,但事实并非如此.那么,如何对冲浪检测器返回的关键点集进行二次采样,以仅在跟踪性方面保持最佳状态呢?

I thought the best point to track would be the one with the highest response but it seems that it is not the case. So how could I subsample the set of key points returned by the surf detector to keep only the best one in term of trackability?

推荐答案

大小和响应

SURF是一个斑点检测器,简而言之,特征的大小就是斑点的大小.更精确地说,OpenCV返回的大小是近似的Hessian运算符的长度的一半.大小也称为缩放,这是由于斑点检测器的工作方式所致,即在功能上等于首先使用高斯滤波器以几种比例对图像进行模糊处理,然后对图像进行降采样,最后检测出具有固定大小的斑点.请参见下图,显示SURF功能的大小.每个特征的大小是绘制圆的半径.从特征中心到圆周的线表示角度或方向.在此图像中,斑点检测滤波器的响应强度用颜色编码.您可以看到大多数检测到的功能都具有较弱的响应. (请参见完整尺寸图片此处)

此直方图显示了上图中特征响应强度的分布:

This histogram shows the distribution of the response strengths of the features in the above image:

最强大的功能跟踪器可跟踪所有检测到的功能.功能越多,鲁棒性越强.但是跟踪大量功能是不切实际的,因为我们经常想限制计算时间.通常应根据经验针对每个应用程序调整要跟踪的功能的数量.通常,图像被分为规则的子区域,并且在每个子区域中,要跟踪n个最强的特征.通常选择n使得每帧总共可以检测到500〜1000个特征.

The most robust feature tracker tracks all the detected features. The more features the more robustness. But it's impractical to track a large number of features as often we want to limit the computation time. The number of features to track often should be empirically tuned for each application. Often the image is divided into regular sub-regions and in each one the n strongest features are kept to be tracked. n is usually chosen such that in total about 500~1000 features are detected per frame.

阅读描述SURF的期刊论文肯定会给您关于它如何工作的好主意.请尽量不要陷入细节中,特别是如果您的背景不属于机器/计算机视觉或图像处理领域时.乍看之下,SURF检测器似乎是非常新颖的,但整个想法是使用积分图像(在SURF之前很久就已被其他方法使用)来估计Hessian算子(一个完善的滤波器).如果您想很好地了解SURF并且对图像处理不熟悉,则需要回头阅读一些入门资料.最近,我遇到了一本免费的新书,该书的第13章对特征检测进行了很好的简要介绍.从技术上讲,并不是所有内容都是正确的,但这是一个很好的起点. 在这里,您可以找到SURF的另一个很好的描述,其中有几幅图像显示了每个步骤的工作方式.在该页面上,您会看到以下图片:

Reading the journal paper describing SURF definitely will give you a good idea of how it works. Just try not to get stuck in the details, specially if your background isn't in machine/computer vision or image processing. The SURF detector may seem extremely novel at the first glance but the whole idea is estimating the Hessian operator (a well established filter) using integral images (which have been used by other methods long before SURF). If you want to understand SURF very well and you're not familiar with image processing, you need to go back and read some introductory material. Recently I came across a new and free book, whose chapter 13 has a good and brief introduction to feature detection. Not everything said in there is technically correct, but it's a good starting point. Here you can find another good description of SURF with several images showing how each step works. On that page you see this image:

您会看到白色和黑色的斑点,这些斑点是SURF在多个尺度上检测到并估计其大小(OpenCV代码中的半径)的斑点.

You can see the white and black blobs, these are the blobs that SURF detects at several scales and estimates their sizes (radius in the OpenCV code).

这篇关于在SURF关键点中大小和响应确切表示什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆