Parallel version of SIFT?

asked 2016-06-03 10:21:48 -0600

lovaj gravatar image

I know that SIFT is considered (according to many paper) the most accurate detector & descriptor available. Btw, it's one the slowest solutions also.

So, there is any parallel implementation (using MPI or whatever) or any GPU implementation?

Consider that the algorithm will be used on one image only. Now, I'm not an expert about GPUs, but from what they told me, the time in order to initialize the GPU processes and other preparation steps is longer than the serial SIFT version...and so the GPU version could be useless! That's why I'm considering a parallel version (exploiting CPUs insted of GPU).

Any other parallel implementation of feature detectors/descriptors is well accepted.

edit retag flag offensive close merge delete

Comments

What is your end goal? Are you launching an application, processing only a single image and then closing the application? If you want to do batches of images or multiple images in a row then the GPU can be a good solution. Do you mean you only want to process one image at a time thus not in parallel but multiple images per application launch?

dtmoodie gravatar imagedtmoodie ( 2016-06-03 13:44:25 -0600 )edit

I'm sorry for the unclearness of my question. As you said, I want to launch the application, compute the SIFT keypoints+descriptors of a single image, do other stuff and close the application. From your comment " If you want to do batches of images or multiple images in a row then the GPU can be a good solution" seems that processing one image through GPU is not a good idea. So what if instead of using GPU we use parallel CPUs (exploting MPI, for example) for computing SIFT of a single image?

lovaj gravatar imagelovaj ( 2016-06-05 01:26:53 -0600 )edit