SIFT Taylor Expansion working out subpixel locations

杀马特。学长 韩版系。学妹 提交于 2019-12-07 12:06:49

问题


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.


来源:https://stackoverflow.com/questions/9532415/sift-taylor-expansion-working-out-subpixel-locations

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!