15

I am new to Computer Vision. I am studying Dense SIFT and HOG. For dense SIFT, the algorithm just considers every point as an interesting point and computes its gradient vector. HOG is another way to describe an image with a gradient vector.

I think Dense SIFT is a special case for HOG. In HoG, if we set the bin size to 8, for each window there are 4 blocks, for each block, there are 4 cells and the block stride is the same as the block size, we can still get a 128 dim vector for this window. And we can set any window stride to slide the window to detect the whole image. If the window stride of both these two algorithms is the same, they can get identical results.

I am not sure whether I am correct. Can anyone help me?

nbro
  • 15,395
  • 32
  • 113
  • 196
user3783676
  • 429
  • 2
  • 6
  • 16
  • 1
    Hi, the devil is in the low level details i'm afraid, such as interpolation schemes and normalization strategies. It is actually quite difficult to compare them in details though so +1 for asking. (i assume you are aware of VLFEAT, good docs on dense sift and hog: http://www.vlfeat.org/) – QED Jul 07 '14 at 23:28

1 Answers1

12

SIFT descriptor chooses a 16x16 and then divides it into 4x4 windows. Over each of these 4 windows it computes a Histogram of Oriented gradients. While computing this histogram, it also performs an interpolation between neighboring angles. Once you have all the 4x4 windows, it uses a gaussian of half the window size, centered at the center of the 16x16 block to weight the values in the whole 16x16 descriptor.

HoG on the other hand only computes a simple histogram of oriented gradients as the name says.

I feel that SIFT is more suited in describing the importance of a point, due to the gaussian weighting involved, while HoG does not have such a bias. Due to this reason, (ideally) HoG should be better suited at classification of images over dense SIFT, if all feature vectors are concatenated into one huge vector (this is my opinion, may not be true)

Bharat
  • 2,139
  • 2
  • 16
  • 35
  • 1
    HOG also uses tri-linear interpolation in the binning, and has a clever normalization scheme that is linked to the notion of blocks, and allows for overlapping blocks, so the histogram isn't so simple. – QED Jul 08 '14 at 18:46
  • yes, even HoG does interpolation (probably it is done in a different manner than sift), major difference is the gaussian weighting. Normalization is done by every descriptor. – Bharat Jul 08 '14 at 19:01
  • If so, Does it mean Dense Sift is a special case of HOG with Gaussian Weighting for every cell (or interest point)? – user3783676 Jul 22 '14 at 13:50