Dense sift vs sift?

14,954

Solution 1

The obvious difference is that with dense SIFT you get a SIFT descriptor at every location, while with normal sift you get a SIFT descriptions at the locations determined by Lowe's algorithm.

There are many applications where you require non-dense SIFT, one great example is Lowe's original work.

There are plenty of applications where good results have been obtained by computing a descriptor everywhere (densely) one such example is this. A descriptor similar to dense SIFT is called HOG or DHOG, they are technically not the same thing but conceptually both based on histograms of gradients and are very similar.

Solution 2

Generally, for generic object category recognition, better results are obtained using dense feature extraction rather than keypoint-based feature extraction.

Solution 3

On http://www.vlfeat.org/overview/dsift.html you can find in detail how the image features are extracted for both SIFT and dense SIFT implementation as well as a comparison of their execution time. The main advantage of the VLFeat dense SIFT descriptor is the speed.

In MediaMixer Deliverable D1.1.2 a concept detection technique where both SIFT and dense SIFT descriptors are used is presented, and the experimental results have shown that this combination provides more accurate classification. For further information you can join the MediaMixer community portal on http://community.mediamixer.eu/.

Solution 4

Dense SIFT collects more features at each location and scale in an image, increasing recognition accuracy accordingly. However, computational complexity will always be an issue for it (in relation to normal SIFT).

If you're using SIFT for classification, I recommend using normal SIFT with multiple kernel functions (for clustering) as oppose to using Dense SIFT with a single linear kernel function. You'll get the obvious speed/accuracy trade off, though.

I recommend checking out this paper which explains the implementation differences in Big-Oh.

Solution 5

You can read more about DenseSIFT in VLFeat implementation details.

DenseSIFT is more fast (x30-x60 speedup).

http://www.vlfeat.org/overview/dsift.html http://www.robots.ox.ac.uk/~vedaldi/assets/pubs/vedaldi10vlfeat-tutorial.pdf

Share:
14,954

Related videos on Youtube

mugetsu
Author by

mugetsu

SOreadytohelp

Updated on July 05, 2022

Comments

  • mugetsu
    mugetsu almost 2 years

    What is the difference between the dense sift implementation compare to sift? What are the advantages/disadvantages of one to another? I'm talking in particular about the VLFeat implementations.

  • Jotaf
    Jotaf almost 10 years
    This is a good answer, but the remark about dense SIFT being called HOG is incorrect. Though they are both based on gradient bins, HOG and SIFT are two different descriptors (dense or not; though HOG is typically sampled densely).
  • carlosdc
    carlosdc almost 10 years
    @Jotaf: you're right I was oversimplifying. I've edited my answer a bit.
  • mrgloom
    mrgloom over 8 years
    If you compute original SIFT at each point you don't get denseSIFT vlfeat.org/overview/dsift.html
  • mrgloom
    mrgloom over 8 years
    Please eleborate on clustering step.