Robust Vision-Based Localization for Mobile Robots using an Image Retrieval System Based on Invariant Features