Mobile image retrieval and pairwise matching applications pose a unique set of challenges. As communicating large amount of data could take tens of seconds over a slow wireless link, MPEG defined the CDVS standard to transfer over the network only the data essential to the matching, and not the entire image. However, the extraction of salient image features is a very time consuming process, and it may still require times in the order of seconds when running on CPU of modern mobile devices. To reduce feature extraction computation times, we re-design the MPEG-CDVS feature selection algorithm for highly parallel embedded GPUs.
We consider two different approaches compliant to the standard. In the first one, feature selection is performed before the orientation assignment stage. In the second one, it is performed after. We present a complete experimental analysis on a large test set. Our experiments show that our GPU-based approaches are remarkably faster than the CPU-based reference implementation of the standard, while maintaining a comparable precision in terms of true and false positive rates. To sum up, our solutions have been proved to be effective for real-time applications running on modern embedded systems.