filipradenovic / revisitop

Revisiting Oxford and Paris: Large-Scale Image Retrieval Benchmarking
http://cmp.felk.cvut.cz/revisitop
250 stars 48 forks source link

Questions about ASMK* aggregation time #4

Open Jemmagu opened 5 years ago

Jemmagu commented 5 years ago

Hi, @filipradenovic, I'm quite interested in your paper "Revisiting Oxford and Paris: Large-Scale Image Retrieval Benchmarking". Table 4 in your paper said DELF feature extraction plus ASMK aggregation using GPU cost 0.41s per 1024x768 image, right? So I'm curious about the time of feature extraction and aggregation respectively. Do you remember how much time does it cost to aggregate (ASMK) an 1024768 image using GPU and CPU? And can you provide the code of ASMK aggregation (GPU) or how can I have access to it?

Looking forward to your reply. Thank you in advance!

filipradenovic commented 5 years ago

The feature extraction time depends on the image size, for a 1024x768 dimensional image, it takes 0.41s to extract DELF on a single GPU. Now, in our setting, DELF results in at most 1000 features that are 128-dimensional, and its assignment to visual word vocabulary of size 65536 takes 0.01s on a single GPU.

If it takes 250ms for a 640x480-dimensional image to extract and assign features to visual words, then that number looks ok compared to ours. If only the assignment process is 250ms, that seems too slow.

Take a look at the public version of the ASMK* here.

Jemmagu commented 5 years ago

Thanks for you reply! @filipradenovic

  1. So you mean it only takes 10ms to do the ASMK aggregation process for an image with 1000128 features, right? Actually in my case, I use another feature rather than delf (the feature extraction time costs about 100ms), it results in about 2000 features that are 512-dimensinal, then the aggregation time takes about 250ms! I'm not sure what's wrong with the aggregation process? Is it because of the local feature is about 8 times larger than DELF?
  2. And how much is your retrieval time? (what's the size of your database images). Did you tried PCA to reduce the dimensionality to speed up the retrieval process?

Thank you so much! Looking forward to your reply and sorry to bother you!

filipradenovic commented 5 years ago
  1. The feature assignment to visual words is 10ms, that is the only offline processing necessary after the feature extraction. For the assignment, increase in the feature dimension will linearly increase the time.
  2. Online search time is 0.52s for a database size of around 1M images. Inverted file is used, no PCA on global image representations, take a look at ASMK* code I referenced earlier. If you are thinking about PCA on local features, that will only improve assignment time, which is already pretty low, for online search each feature is mapped to a visual word ID so no change there.