The paper "Fast Approximated SIFT" (M Grabner, H Grabner, ACCV 2006) http://www.icg.tu-graz.ac.at/publications/pubobjects/mgrabner06FastApproxSIFT shows an improved method to extract SIFT descriptors from image using integral histograms.
It says "for the descriptor we rotate the midpoints of each sub-patch relative to the orientation and compute the histograms of overlapping sub-patches without aligning the squared region but shifting the sub-patch histogram relative to the main orientation."
In this paper, the histogram of the 4*4 sub-patches around the keypoint can be computed easily using integral histogram. However, the result histograms are not rotated with orientation of the keypoint. The conventional SIFT needs every pixel in the sub-patches to be rotated with an orientation, then compute the histogram. But it seems this new method in the paper can make the rotation after getting the non-rotated histogram by "shifting the sub-patch histogram relative to the main orientation". I do not understand how to "shifting the sub-patch histogram relative to the main orientation"?
I quote here:"for the descriptor we rotate the midpoints of each sub-patch relative to the orientation and compute the histograms of overlapping sub-patches without aligning the squared region but shifting the sub-patch histogram relative to the main orientation."
For example if a non-rotated sub-patch histogram has 8 bins from 0 to 2pi, with an interval pi/4, each bin's value 2,4,5,3,6,8,7,1, and the orientation of keypoint is pi/6, how to know the new value of 8 bins in the rotated histogram?
As far as I understand it: They round the orientation to the next Pi/4 interval. That way you can just rotate the entire array and
2 4 5 3 6 8 7 1 becomes
_ 4 5 3 6 8 7 1 2 which represents the histogram of the rotated patch.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With