SIFT Taylor Expansion working out subpixel locatio

2019-05-18 03:12发布

问题:

I am trying to implement SIFT and am currently just trying to understand how it works before starting to implement it in MATLAB, i understand most of it except how to work out subpixel accuracy using Taylor Expansion:

Above is the equation from the original paper. I have a few question on how it is applied.

Are the derivatives worked out in each dimension seperatly and then the equation applied to x then y?

Are the first and second derivates applied along the sigma axis aswell?

I have tired looking at previous implementations but cannot seam to find where they do this. Thanks in advance

回答1:

In our case, D is a volumetric function with variables x = (x,y,s), where s is the scale in the octave.

Question: Are the derivatives worked out in each dimension seperatly and then the equation applied to x then y?

Answer: "Are the derivatives worked out in each dimension seperatly?" Yes, for the first derivative, we calculate the partial derivatives for x, y, and s separately. "the equation applied to x then y?", No, the result of the partial derivatives will be a vector of length 3, which we simply multiply it by the inverse Hessian (3 X 3 matrix) to calculate the subpixel position of x.

For the second derivative, we use the Hessian Matrix (3X3 Matrix in this case).

Question: Are the first and second derivates applied along the sigma axis aswell?

Answer Yes, because it represents an axis in the 3D space, where D is defined.

Notes:

  • For mathematically elaborated explanation see
  • For code in C++ see.
  • In order to calculate the partial derivative in the discrete domain, we use the the finite differences.


标签: sift subpixel