1. Introduction
Visual place recognition (VPR) is an essential part of many robotics [11], [9], [10], [15], [18], [22] and computer vision tasks [2], [23], [27], [16], [17], [45], [6] such as autonomous driving [12], SLAM [49], image geo-localization [38], [7], virtual reality [31] and 3D reconstruction [29]. A visual place recognition system retrieves the location of a given query image by first gathering its visual information into a compact descriptor (image representation), then matching it against a database of references with known geolocations. This task can be extremely challenging due to short term appearance changes (e.g., illumination, occlusion and weather) as well as long term variations (e.g., seasonal changes, construction and vegetation). Therefore, a robust VPR technique should be capable of producing descriptors that are invariant to these changes.