3

我正在尝试实现 SIFT,目前只是想在开始在 MATLAB 中实现它之前了解它是如何工作的,除了如何使用泰勒展开计算亚像素精度之外,我了解其中的大部分内容:

在此处输入图像描述

以上是原始论文中的方程式。我有几个关于它是如何应用的问题。

是否在每个维度上分别计算导数,然后将方程应用于 x 和 y?

一阶和二阶导数是否也沿 sigma 轴应用?

我已经厌倦了查看以前的实现,但无法找到他们这样做的地方。提前致谢

4

1 回答 1

0

在我们的例子中,D 是一个带有变量x = (x,y,s) 的体积函数,其中 s 是八度音阶中的音阶。

问题:是否在每个维度上分别计算导数,然后将方程应用于 x 和 y?

回答: “每个维度的导数是分开计算的吗?” 是的,对于一阶导数,我们分别计算 x、y 和 s 的偏导数。“方程应用于 x 然后 y?”,不,偏导数的结果将是长度为 3 的向量,我们只需将其乘以逆 Hessian(3 X 3 矩阵)即可计算x的子像素位置。

对于二阶导数,我们使用 Hessian 矩阵(在本例中为 3X3 矩阵)。

问题:一阶和二阶导数是否也沿 sigma 轴应用?

回答是的,因为它代表 3D 空间中的一个轴,其中定义了 D。

笔记:

于 2015-05-25T11:59:54.813 回答