2

我正在使用 VLfeat 开源来提取 SIFT 关键点及其描述。下图显示了其中之一。黄色圆盘表示关键点的比例(半径)和方向(线)。绿色框表示其描述(即 4x4 8-bin 方向直方图)。

问题本身很简单。为什么“关键点的方向(黄线)”与“描述中的主要(最常见)方向(绿色中最流行的 bin)”不同?

据我了解,关键点的方向由周围的峰值像素梯度决定。那么,方向也显示为绿色不是很自然吗?是不是因为绿框比关键点的比例大很多?

筛
(来源:年轻的 me.berkeley.edu

4

2 回答 2

1

为了解释为什么不需要这样,至少需要考虑三件事:

第一个是主(黄色)方向有一个36bin的直方图,描述符(绿色)方向是8bin;这允许几个(〜30)度的误差。

第二个是描述符直方图(绿色)是在特征区域按其主要(黄色)方向旋转之后计算的,因此它们至少会通过这种旋转移动。

但最重要的原因是,两个方向都是从同一区域但完全不同的邻域(大小和位置不同)计算的,因此它们的梯度根本不需要相似。

于 2014-11-07T15:52:30.763 回答
1

我认为这只是 VLfeat 中使用的可视化问题。如此处 所述(来源:vlfeat.org标准

“标准定向框架”将被可视化为一个半径指向下方的圆。

这里同样适用。如果您旋转框架以使半径指向下方,则框架的主要梯度方向应该是水平的,这在 4x4 正方形内的大多数直方图中都是一致的。

我认为这种约定是有道理的,因为指向下方的半径与框架的“主要笔画”对齐(这在视觉上很直观),但与主要渐变方向正交。

于 2014-11-07T15:03:43.353 回答