Abstract
In this paper, a novel pipeline for loop-closure detection is proposed. We base our work on a bag of binary feature words and we produce a description vector capable of characterizing a physical scene as a whole. Instead of relying on single camera measurements, the robot’s trajectory is dynamically segmented into image sequences according to its content. The visual word occurrences from each sequence are then combined to create sequence-visual-word-vectors and provide additional information to the matching functionality. In this way, scenes with considerable visual differences are firstly discarded, while the respective image-to-image associations are provided subsequently. With the purpose of further enhancing the system’s performance, a novel temporal consistency filter (trained offline) is also introduced to advance matches that persist over time. Evaluation results prove that the presented method compares favorably with other state-of-the-art techniques, while our algorithm is tested on a tablet device, verifying the computational efficiency of the approach.
1. Introduction
The problem of visual place recognition (vPR) refers to the ability of a system to recognize a scene based on visual sensing; it has been used during the last decade to address many challenges in mobile robotics. As part of a simultaneous localization and mapping (SLAM) system, vPR has been applied in a variety of forms and alterations, such as the loop-closure detection (LCD) and the relocalization procedures. An LCD engine is responsible for detecting revisited trajectory regions and creating additional edge constraints between the current and earlier pose nodes on graph-based SLAM systems (Folkesson and Christensen, 2004; Grisetti et al., 2010; Thrun and Montemerlo, 2006). Those additional edge constraints provide supplementary information regarding the measurements’ arrangement in the 3D space, and they can be used to further improve the SLAM output in an online or post-processing manner (Latif et al., 2013; Mei et al., 2009; Mur-Artal et al., 2015; Strasdat et al., 2010). Moreover, a relocalization system utilizes the visual information to recover the robot’s position in an already known environment (the problem of a kidnapped robot) or in localization-failure scenarios (Konolige et al., 2010; Mur-Artal and Tards, 2014; Wolf et al., 2005). Even though these challenges refer to different applications, they share the same basic functionality of identifying a previously visited scene and thus can be addressed by common solutions.
During the past decade, a plethora of vPR techniques has been presented in the literature. Williams et al. (2009) distinguishes the approaches into three main categories with respect to the type of data they associate. In the first category, referred to as “map-to-map”, correspondences are found between features, taking into account both their appearance and their relative location inside the world. Furthermore, “image-to-map” methods aim to recognize places by associating features between the latest acquired frame and a retained spatial representation of the already-seen world. Finally, “image-to-image” matching approaches (or appearance-based techniques) detect correspondences between the images themselves and present better scaling capabilities in long-trajectory cases.
The most common approach for addressing appearance-based LCD tasks refers to the characterization of each individual frame by an aggregation of local image descriptors. As the robot moves, revisited places are detected by measuring content similarities between the current input frame (query) and all the previous ones (database). To provide efficiency in the implementation, the bag of visual words (BoVW) model can be utilized as a means of quantizing the extracted descriptors’ space. In the general case, every input frame is assigned with one image-visual-word-vector (I-VWV). The entries of this vector correspond to a weighted frequency of occurrence for every visual word in the given image (histogram). The created I-VWVs are treated as image descriptors, thus loop-closing pairs of camera poses are recognized by calculating similarity metrics between them. The aforementioned approach was initially inspired by image-retrieval techniques (Sivic and Zisserman, 2003), yet in some vPR algorithms, measurements obtained from close-in-time instances are summed to enhance the results. Finally, it has been proven that the representation of the created BoVW with a tree structure (vocabulary tree) significantly improves the computational efficiency (Nister and Stewenius, 2006).
In this work, we present an improved pipeline for appearance-based LCD, which combines the visual information from multiple frames to describe a physical scene as a total. As the robot moves, the input camera stream is dynamically segmented into intervals (image sequences), based on the scene’s content variations. For each image sequence, the extracted feature descriptors are converted into visual words and combined to produce one global sequence-visual-word-vector (S-VWV) as well as the individual I-VWVs. Thus, the revisited trajectory regions are detected on a first level by measuring the similarities between all S-VWVs in the database, while the loop-closing frames are determined using the individual I-VWVs only for the associated sequences’ image-members. A typical example of the aforementioned procedure is illustrated in Figure 1. Note that, henceforth, the term “sequence” will refer to “sequence of images,” for brevity.

3D representation of proposed loop-closure detection pipeline tested on Malaga 2009 Parking 6L (Blanco et al., 2009) dataset. As the robot moves, the executed trajectory is segmented into intervals or sequences (illustrated with different colors). The formulated S-VWVs are used to detect sequence matches (marked with the magenta plain) and signal the existence of loop-closing frames. The individual image-to-image associations (marked with green links) are provided via the individual I-VWVs.
The main contributions of the paper in hand can be summarized as follows:
Using a description vector capable of characterizing an image sequence as a whole, our method provides more information to the matching functionality advancing the LCD performance. Additionally, since our pipeline relies on such a descriptor, rather than accumulating the similarities between multiple I-VWVs, the system’s performance is not restricted by a per-frame perception of the environment.
With the view of further enhancing the produced sequence similarity measurements, our algorithm introduces a temporal consistency filter over the similarity matrix entries. The corresponding kernel’s coefficients are calculated using a cost-function minimization scheme on a set of training samples.
The proposed methodology entails a reduced computational complexity, as compared with other vPR techniques, since our first level of sequence-to-sequence matching excludes the trajectory regions that are absolutely different in the general view. In addition, the nature of our pipeline provides an efficient way to further reduce the visual word votes by considering only the entries that persist during the sequence formulation. An implementation of the proposed algorithm is tested on a mobile device utilizing the parallel execution capabilities of the ARM-NEON coprocessor and proving its ability to run in real time (in the sense of processing the input faster or in equal time with the execution frequency of a modern key-frame SLAM system), even for a less powerful machine.
A preliminary version of the presented work was presented in Bampis et al. (2016). In this paper, we advance the system’s performance by adopting a rotation- and scale-invariant local feature descriptor and a dynamic sequence identification technique, while, additionally, we address the temporal consistency filtering as a classification problem operating on the sequence similarity scores. Furthermore, we provide a complete justification of the benefits offered by a unified visual-word-vector and extend our experiments to fully evaluate the performance of our algorithm. Finally, extensive comparative results are presented against other state-of-the-art sequence-based vPR techniques, proving the capabilities of the S-VWV based description.
The following section contains a discussion of related work on the field of vPR and subsequently introduces the advantageous matching properties of the introduced S-VWVs. Section 3 describes in detail our online pipeline, together with the preprocessing steps for the vocabulary tree formulation and filter training. In Section 4, our experimental evaluation and comparative results against other state-of-the-art approaches are presented. The computational benefits of the proposed approach, together with the employed parallelization techniques and implementation details of the tested mobile device application, are summarized and assessed in Section 5. Finally, Section 6 draws our final conclusions by describing our algorithm’s potentials and contributions.
2. From image to sequence description
In this section, we discuss some of the most representative techniques in the field of appearance-based vPR with the aim of leading our reader to the comprehension of the proposed sequence description method. For an extended survey of vPR, the reader can refer to the work of Lowry et al. (2016).
2.1. Single-image-based visual place recognition
Probably the most acknowledged method in the field of vPR is FAB-MAP (Cummins and Newman, 2008). According to that method, co-currency probabilities between observed visual words are used to perform appearance-based vPR. Although FAB-MAP constitutes the foundation of a plethora of later methodologies, it suffers in terms of performance, when repetitive patterns are accounted (Piniés et al., 2010), and execution time, owing to the expensive extraction and matching of SURF features (Bay et al., 2006). In a later work, the same authors introduced an improved sparse approximation of their original technique, called FAB-MAP 2.0 (Cummins and Newman, 2011), allowing their system to scale by more than two orders of magnitude. Another representative approach was proposed by Angeli et al. (2008), where the description relied on two visual vocabularies (one from SIFT descriptors (Lowe, 2004) and another from local color histograms). Using a Bayesian filter, the detection was enhanced, taking into account the matching probability of previously obtained measurements. Schindler et al. (2007) provided a more sophisticated representation of the visual vocabulary, with a tree structure addressing city-scale vPR challenges. In their work, the Greedy N-Best Paths algorithm was used so as to cluster the feature descriptors incrementally.
More recent techniques have deviated from the aforementioned probabilistic approach of detecting loop-closures with floating-point descriptors, like SIFT or SURF, offering faster but still competitive results (Gálvez-Lpez and Tards, 2012; Khan and Wollherr, 2015; Mur-Artal and Tards, 2014). More specifically, visual words from binary features, found in every camera measurement, are used to create I-VWVs. Thus, the detection of revisited places is achieved by obtaining similarity metrics, based on the L1/L2 norm, between the individual I-VWVs. Gálvez-Lpez and Tards (2012) proposed a typical technique for this approach with the DBoW2 algorithm. Since in their case the Bayesian filtering was not included, the matching candidates were forced to follow a temporal consistency constraint. Mur-Artal and Tards (2014) enforced DBoW2 by exploring the usage of a more sophisticated binary descriptor (“Oriented FAST and Rotated BRIEF”, or “ORB” (Rublee et al., 2011)) and provided a real-time vPR, relocalization, and LCD system.
Additionally, since the offline formulation of a visual vocabulary is not suitable for every application, some researchers have suggested the online development of a BoVW by estimating an average representation of repetitive descriptors. For instance, Labbé and Michaud (2013) proposed the formulation of an online vocabulary based on a randomized forest of k-d-trees, achieving exquisite performance for large-scale environments. Although their technique is capable of recognizing revisited places in constant time, independently of the traversed trajectory’s length, the computationally expensive SURF feature extraction and the constant updates of their vocabulary render the approach less appealing for normal scale scenarios (such as 20k–30k input frames). Aiming for an immediate reduction of the execution time, Khan and Wollherr (2015) proposed the online creation of a binary vocabulary based on the insertion of new visual words whenever an unfamiliar descriptor is obtained. Since their method (“Incremental Bag of Binary Words for Appearance-Based Loop-Closure Detection” or “IBuILD”) utilizes efficient binary operations, it constitutes a more attractive solution in terms of computational complexity.
Recently, the concept of sequence-to-sequence matching has also been introduced in the literature. Newman et al. (2006), in their work for outdoor SLAM applications, pointed out the advantages of matching sequences instead of individual frames using an accumulative version of similarity matrices. The same notion appears (even on some abstract level) in other techniques as well (e.g. Gálvez-Lpez and Tards, 2012; Mur-Artal and Tards, 2014) proving that LCD performance can be strengthened when visual information from more than one camera measurements is considered. Even though these techniques aim to take advantage of the additional information from the entire scene, they treat each sequence as an aggregation of image description vectors rather than visual words, subjecting their matching procedure to a per-frame view of the environment (visual words are redundantly clustered by camera measurements). On the contrary, our method reformulates the process of creating visual-word-vectors and considers the whole sequence as a single “super-frame”. This approach offers invariance to the visual words’ distribution over the camera measurements, and will be further analyzed in the following subsection.
Finally, sequence-based techniques have been reported, addressing the vPR task under extreme environmental changes originated from different lighting conditions (day and night) or year seasons (Arroyo et al., 2015; Milford and Wyeth, 2012). Even though the choice of more traditional local feature descriptors is avoided (owing to the inability of matching under such intense environmental changes (Valgren and Lilienthal, 2010)), the use of global sequence descriptors is proven to be crucial for the achieved performance. Most recently, condition-invariant vPR techniques have been presented based on the classification characteristics of convolution neural networks (CNNs). Methods like those presented by Sünderhauf et al. (2015a,b) and Arroyo et al. (2016) treat the output of particular CNN layers, initially trained for object detection tasks, as image descriptors and address the vPR problem by measuring the distances between them. Even though CNN-based techniques offer superior retrieval performances, they are still decoupled from the LCD and SLAM functionalities. Sizikova et al. (2016) and Fei et al. (2016), in their respective works, accurately pointed out the CNN’s dependence on viewpoint-invariant surface appearances and the lack of topological information at the higher network levels, which characterize them as suboptimal for LCD tasks. On the contrary, local feature-based techniques are widely used in visual SLAM applications (Cieslewski and Scaramuzza, 2017; Davison et al., 2007; Klein and Murray, Lim et al., 2014; 2007; Mur-Artal et al., 2015) and can be efficiently combined with an illumination invariant image representation technique (e.g. Maddern et al., 2014; Shakeri and Zhang, 2016) to further improve their robustness over potential environmental changes. However, such an application is beyond the scope of this paper and thus it is not further discussed.
2.2. Establishing the necessity ofsequence-visual-word-vectors
Given an actual pair of loop-closing images, there is no guarantee that a sufficient subset of common visual words will be detected in every case, since a single image can be subject to aliasing, contain noise or moving objects, etc. Thus, it is expected that an absolute thresholding, over the similarity scores between single instances, would fail in detecting some of the trajectory’s loops, or would also result in many false-positive detections (when a tolerant thresholding is applied). Many existing techniques (e.g. Gálvez-Lpez and Tards, 2012; Newman et al., 2006; Milford and Wyeth, 2012; Mur-Artal and Tards, 2014) choose to support their detection by accumulating similarity metrics (

Efficiency of proposed loop-closure detection approach with simplified real-world scenario.
With this notion in mind, the aforementioned approaches can be characterized as sequence-matching techniques rather than sequence-descriptive ones. As opposed to treating a sequence as the summation of individual matching scores, our method achieves a description vector that contains every visual word found in the scene. Using a computationally efficient approach, for a given sequence of images, the visual words found in every camera measurement are gathered and vote on the respective bin of a common description vector (S-VWV). Note that multiple instances corresponding to the same visual word (i.e. a visual word observed by multiple frames) are treated as one, since they refer to the same feature in the world. A realization worth noticing here is that the proposed S-VWV-to-S-VWV matching would present the same results as the earlier approaches only under the false assumption that the used similarity metrics preserved the additive property of linear mapping. As can be seen in Figure 2(c), our method produces description vectors with better matching properties, as confirmed by our experimental evaluation (see Section 4).
A similar evaluation of such a unified description has been reported by MacTavish and Barfoot (2014). In their work, sequence-based descriptors were assessed for a variety of different but fixed-sized image groups, while the matching was achieved using a FAB-MAP-based probabilistic scheme. Parallel to this notion, our previous work (Bampis et al., 2016) deviated from the probabilistic matching solution and introduced a temporal consistency filtering to further improve the results. As mentioned before, the method in hand incorporates a dynamic sequence distinction technique, allowing for sequences of varying size to be formulated, while additionally, addressing the filtering as a classification procedure. Finally, a unified description was also achieved by the work of Lynen et al. (2014). Although their system allowed for the detected features to be matched against the whole database (regardless of the image they belonged to), their method was restricted to operate offline, after the conclusion of the full trajectory, while the sequence formulation was performed at query time. On the contrary, here the sequence distinction and matching is achieved online, as the trajectory escalates, quantizing the searching space through the means of the BoVW model.
3. Proposed methodology
Our online LCD algorithm is divided into two main steps, while the vocabulary and the filter’s kernel coefficients are learned offline through a training scheme. In the first step of the proposed online pipeline, sequence matches are detected, while the individual image associations are extracted in the second step.
3.1. Vocabulary training
To quantize the feature descriptors’ space, a visual vocabulary needs to be created. Aiming to offer a real-time implementation, we choose to utilize the binary description of ORB. In an offline step, a generic set of training descriptors is provided as input to a k-median hierarchical clustering, with k-means++ seeding (Arthur and Vassilvitskii, 2007) and Hamming as the distance metric. In accordance with the conclusions drawn by Nister and Stewenius (2006) and Gálvez-Lpez and Tards (2012), we formulate a vocabulary tree with L=6 levels and K=10 branches per level, leading to a total set of
3.2. Creating sequence and image descriptors
The main objective of our sequence distinction functionality does not refer to the actual semantics of the observed environment, but rather to the identification of groups of frames that share common features. To achieve a dynamic partition of the image stream, we utilize the variance of the obtained visual words. At a time instant t, during the sequence’s
Having a completed sequence S with M image-members
The widely used “term frequency–inverse document frequency” (tf–idf) (Sivic and Zisserman, 2003) was selected as a means of defining each visual word’s participation and creating the following visual-word-vectors: (i) one S-VWV (
and
are calculated via
where
Finally, to restrict the matching search only between S-VWVs that include mutual visual information, inverted indexing is applied (Jegou et al., 2008). A set of W lists (one for every visual word
3.3. Sequences-to-sequence matching
To match the individual sequences, we make use of a similarity metric based on the
we obtain a metric that produces higher values as the vectors become more similar. As the trajectory escalates, the calculated

Impact of the proposed consistency filter on the sequence similarity matrix. The filtered similarity entries corresponding to loop-closure events are easily separable from the non-loop-closing ones. Note that
A naive approach to the detection of loop-closing sequences would be to apply an absolute thresholding over the values of matrix
with
In equation (8),
Moreover, to select the window size
while the hypothesis producing the lowest
Filtered matching scores overpassing
3.4. Image-to-image matching
To provide a typical LCD technique, our method should provide image-to-image pairs as a final output. Although we find our sequence matches sufficient, so as to detect revisited regions of the trajectory, it is possible for some camera poses to be associated without necessarily observing the same content. One can consider the example of two trajectory tracks for which, even though they remain parallel and spatially close to each other for the majority of their length, their respective courses slowly deviate until they observe significantly different views. The corresponding two sequences assigned to those tracks (
4. Results
In this section, we evaluate the individual components of our system and compare the achieved overall performance against other state-of-the-art methods. To measure the accuracy of an implementation we utilize precision–recall metrics. As a reminder, “precision” is defined as the ratio between accurately detected loop-closing frames (true-positive) and the total number of detections returned by the method (true-positive plus false-positive). Additionally, “recall” is defined as the number of true-positive detections found, over the total number of loop-closing frames that exist in the used dataset (true-positive plus false-negative). For our experiments, we consider a sequence match as true-positive if at least one loop-closing camera pose is contained. Nine different datasets (indoors and outdoors) were used for our experiments, namely Bovisa 2008-09-01 (BV) (Rawseeds, 2007), Bicocca 2009-02-25b (BC) (Rawseeds, 2007), New College (NC) 1 (Smith et al., 2009), Lip6 Indoor (L6I) (Angeli et al., 2008), Lip6 Outdoor (L6O) (Angeli et al., 2008), Malaga 2009 Parking 6L (MG6L) (Blanco et al., 2009), City Center (CC) (Cummins and Newman, 2008), KITTIsequence 00 (KITTI00) (Geiger et al., 2013), and KITTI sequence 05 (KITTI05) (Geiger et al., 2013). Regarding the KITTI dataset, we considered only sequences 00 and 05, since, among the rest, they provide the most meaningful loop-closure events in urban and long-term operational conditions. Table 1 contains a brief description of every case. Datasets BC through L60 were used as training and cross-validation sets for our method’s parameters, while the remaining datasets (MG6L through KITTI05) were treated as testing cases, measuring the performance of our final system. In such a way, the achieved detection accuracy is not directly influenced by the algorithm’s optimization, thus offering a fair evaluation. Note that the loop-closure ground-truth information for the cases of BC, NC, MG6L, and CC was manually created within the work of Gálvez-Lpez and Tards (2012). The L6I and L6O datasets contain their own ground-truth information, as provided by Angeli et al. (2008), while for the KITTI sequences, this information was obtained through the corresponding odometry data.
Properties of the datasets used.
4.1. Offline training and performance evaluation
4.1.1. Vocabulary training
Using a vocabulary training set corresponding to a specific environment with limited visual variations inevitably biases the system’s performance to the respective operational conditions. Within the scope of this work, we aim to create a vocabulary that is able to perform in a variety of indoor and outdoor conditions. In accordance with these terms, the BV dataset was selected as a stand-alone training sample in order to offer an objective evaluation. Using 10k frames, a set of 9M ORB descriptors was extracted and used as an input to our hierarchical clustering. Thus, a binary vocabulary tree was produced retaining a total of
4.1.2. Trajectory segmentation
As described in Section 3.2, our algorithm dynamically separates the input image stream into sequences based on the observed visual words’ variance. Considering the system’s overall performance as a final objective, a validation test based on precision–recall metrics was formulated to measure the effect of different

Precision–recall curves for different

Resulting sequences (represented with different colors) for
The proposed visual word variance metric is not the only kind of measurement considered for our methodology. Other approaches, capable of running in real time and online (while the robot is moving) without the requirement of accessing the whole database beforehand, were also examined. Table 2 presents some of the evaluated techniques together with their respective best-case recall rates (for
Tested sequence distinction approaches.
4.1.3. Temporal consistency filter
The next set of parameters that we need to assess is the coefficients of the proposed temporal consistency filter. Once more, the same four training datasets were selected and the corresponding

Consistency filter training results.
Additionally, considering that
4.1.4. Overall performance
Using the aforementioned trained filtering, the overall performance of our pipeline was evaluated for each training dataset. By varying threshold

Precision–recall curves measuring the final performance of the proposed system on every training dataset.

Achieved recall rates corresponding to
Parameter setup.

Loop-closure detection results on the Bicocca 2009-02-25b dataset. The respective camera poses are marked with red. Representative true-negative and true-positive examples are highlighted.

Loop-closure detection results on the New College dataset. The respective camera poses are marked with red. Representative true-negative and true-positive examples are highlighted.

Loop-closure detection results on the Malaga 2009 Parking 6L dataset. The respective camera poses are marked with red. Representative true-negative and true-positive examples are highlighted.

Loop-closure detection results on the City Center dataset. The respective camera poses are marked with red. Representative true-positive and true-negative examples are highlighted.

Loop-closure detection results on the KITTI sequence 00 dataset. The respective camera poses are marked with red. Representative true-positive and true-negative examples are highlighted.

Loop-closure detection results on the KITTI sequence 05 dataset. The respective camera poses are marked with red. Representative true-positive and true-negative examples are highlighted.

Representative true-positive and true-negative detections on Lip6 Indoor. The dataset does not provide any odometry ground-truth.

Representative true-positive and true-negative detections on Lip6 Outdoor. The dataset does not provide any odometry ground-truth.
4.2. Comparative results
In this subsection, the overall performance of our system is compared against other state-of-the-art techniques. Within the scope of this work, we aim for a solution capable of achieving high-quality LCD results while still retaining a real-time performance for key-frame SLAM applications (≈100–200 ms per frame (Davison et al., 2007; Mei et al., 2009; Strasdat et al., 2010)). For this reason, the methods described by Angeli et al. (2008); Cummins and Newman (2011); Gálvez-Lpez and Tards (2012); Milford and Wyeth (2012); Mur-Artal and Tards (2014), and Khan and Wollherr (2015), as well as our previous preliminary version (Bampis et al., 2016), were selected for assessment. As can be seen in Table 4, our approach achieves higher recall rates than any other tested algorithm tangibly proving the capabilities of the proposed S-VWV to S-VWV matching. Table entries marked “–” correspond to evaluations not available in the literature, while all the included performance metrics were obtained using a common loop-closure ground-truth. Once again, the BV dataset was not tested, as it does not present sufficient loop-closure events. Among the selected approaches, FAB-MAP 2.0 (Cummins and Newman, 2011) and SIFT+COLOR (Angeli et al., 2008) are both considered golden standards for LCD tasks. Additionally, since for the case of FAB-MAP 2.0 no actual precision–recall measurements are provided by Cummins and Newman (2011) regarding the used datasets, the presented performance is obtained from the setup described in the work of Gálvez-Lpez and Tards (2012). To evaluate the performance of SeqSLAM algorithm (Milford and Wyeth, 2012), one of the most representative sequence-based LCD techniques that groups camera measurements based on their matching similarities, we made use of the OpenSeqSLAM
2
implementation. Since the original version was optimized for addressing the vPR task under changing illumination conditions, rather than identifying revisited places under different viewpoints (MacTavish and Barfoot, 2014), it is reasonable that the SeqSLAM performance is not competitive in many of the tested datasets. To confirm the arguments presented in Section 2.2 and to offer fair comparisons, we additionally implemented a BoVW-based version of SeqSLAM using the same visual vocabulary as in our method and computing I-VWV to I-VWV
Comparative results showing achieved recall rates (
5. Algorithm efficiency and mobile deviceimplementation
In addition to effective similarity properties, our first level of sequence-to-sequence matching allows for a more efficient implementation in terms of computational complexity. More specifically, one can consider the proposed S-VWV comparisons as a means of rejecting large trajectory regions that are different in the general view, followed by a supplementary examination of the individual image-members. Taking into account an example of a long traversed route with
The nature of the presented sequence description algorithm provides an additional means for further reducing the computational complexity of the S-VWV matching functionality. During the formulation of each sequence, it is natural to expect a set of visual words to be observed by multiple image-members. Such visual words typically correspond to better-localized ORB descriptors in the vocabulary clustering space and they are originated from more representative sequence landmarks. Thus, a significant speedup can be achieved, during the sequence-matching procedure, by only considering visual words observed from more than one image-member. As can be seen in Figure 17, the exclusion of visual words occurring in only one image has a minor effect on the achieved recall rates, while at the same time increasing the computational frequency of the sequence-matching functionality by more than

Reducing the visual words’ multitude during the sequence-matching procedure. The x-axis refers to the number of frames a visual word needs to co-occur in order to be included in the respective S-VWV. By considering only the visual words co-occurring in more than one frame, we can double the computational frequency of the sequence-matching functionality without compromising the system’s performance.
Since our system is capable of detecting loop-closure events using only a monocular camera while retaining a low computational complexity, an application for mobile devices was developed to provide a complete and fully functional system. Using the Android development kit provided by Google’s Project Tango (Google, 2017), we implemented a C++ based algorithm 3 utilizing the parallelization capabilities of the ARM-NEON coprocessor. The application was specifically designed so as to respect the limitations of a mobile device in terms of available RAM and processing power. In particular, we used a sparse representation for each of the description vectors (S-VWVs and I-VWVs) while the ARM-NEON coprocessor, built on the SIMD architecture, undertook the parallelizable procedures, e.g. detection or description of ORB features and the Hamming distance calculation for the vocabulary tree traversal. In addition, we assigned the sequence-matching procedure on a dedicated thread running concurrently with the rest of our algorithm (but not on a different core). Since the sequence matching is triggered whenever a new sequence is completed and not for every input frame, it is natural to burden the execution time unevenly. During the formulation of a new sequence, no similarity score calculations are performed, allowing the implementation to run in less than 25 ms. Whenever a new sequence is completed, an instantaneous overhead appears, preventing our application from running in constant time. Thus, using two individual threads in a pipeline manner, the most recently created sequence is compared with the database and the loop-closures—if any—are detected while the formulation of a new S-VWV occurs. In this way, even though we do not achieve any speedup over the total execution time, the necessary calculations are evenly spread along the acquisition of every input image. Extension 1 shows an instance of our application running on the Tango device in a real-world scenario.
Using this implementation, we formulated a time-profiling experiment on the biggest tested dataset. Table 5 presents the execution time obtained by each of the processing stages for 15k images of the NC dataset (padding the available RAM of the device). As one can observe, the most demanding procedure of our algorithm is the feature extraction, which can be considered as pre-computed for many SLAM architectures. Although the matching procedure may require a maximum of 12.56 ms, only its average cost is perceptible by the whole application, owing to the used pipelining. In addition, by forcing a serialized execution of the two pipelining threads, we obtained the timing measurements presented in Figure 18 for each of the main algorithm’s procedures.
Time profiling for 15k images of New College dataset.

Execution time per image for each of the main processing steps of the proposed algorithm, measured for 15k images of the New College dataset.
6. Discussion
In this paper, a novel sequence description technique is proposed, which allows us, for the first time, to combine the entire visual information of a place into a single descriptor, while still retaining a feature-based approach. The newly introduced S-VWV module allows for a two-layered LCD system that firstly recognizes revisited scenes and later associates the individual loop-closing camera poses. Instead of adopting a spatiotemporal approach so as to distinguish the individual sequences, an efficient visual word variance metric is selected, separating the input stream with respect to the visual content’s alterations. In addition, taking into account the temporal consistency constraint that successively recognized camera measurements need to obey, a novel similarity filtering is proposed. By considering the filter’s kernel as a binary classifier, its coefficients are learned using a cost-function minimization scheme. Finally, an implementation of the presented algorithm is developed and tested on a mobile device, utilizing the parallelization properties of the SIMD architecture and proving the computational efficiency of our method.
By successfully describing an image sequence, rather than matching single instances and accumulating their similarity scores, our method provides a unified solution. Yet, its true potentials are fully exploited when the executed trajectory includes long loop-closing tracks. In contrast with the rest of the evaluated datasets, BC contains many sharp and rapid turning movements (especially during the end of the traversed route, as shown in Figure 5(a)), causing the used sequence distinction function to over-segment the trajectory into scenes that actually correspond to the same place. An analogous example can be considered with a camera rotating around its yaw axis and causing the formulation of multiple sequences, while still remaining in the same physical place. In these cases, the presented method descends into a simple BoVW-based approach, with the formulated S-VWVs retaining a similar structure to the corresponding I-VWVs. Even though this aimless segmentation does not affect the system’s performance (see Section 4.1.2), it may unnecessarily increase the computational complexity of the sequence-matching procedure by expanding the searching database space. Possible ways to avoid such extreme cases are the tested “windowed progressive
Given our choice of ORB local features, a scale- and rotation-invariant description is achieved. Such a mechanism, though, does not promote a direction invariant LCD system, especially when the respective robot is equipped with a monocular frontal camera. This is because the detected patches’ appearance, although originating from the same place, changes significantly when observed from two opposite directions, leading many vPR systems to exclude these revisited paths, or fail to identify them (Fraundorfer et al., 2007; Lynen et al., 2014). Even though such cases are not commonly encountered, thus not handled by the proposed and other sequence-based vPR techniques (Newman et al., 2006), possible solutions include the utilization of lateral-oriented or panoramic cameras (Agarwal et al., 2015; Lynen et al., 2014), or the estimation of the detected patches’ orientation (Davison et al., 2007) in order to predict their appearance changes. Using the proposed system for such events would additional imply an appropriate temporal consistency filter structure. Thus, our filter needs to be retrained accordingly (probably converging to a higher window size) or applied twice, once with the structure of equation (11) and once with the same kernel flipped on both axes, to additionally promote
An important characteristic of the introduced S-VWV-based LCD approach is its fundamental generality. In contrast with the sequence-matching approaches (that accumulate similarity metrics between multiple images), the proposed descriptor can efficiently adapt to a distributed architecture, such as that described in the recent work of Cieslewski and Scaramuzza (2017), and allow for a decentralized vPR system of multiple agents. Additionally, since such a description vector can be combined with any kind of vocabulary, an extension of our work would be to utilize visual words that present invariance over illumination or other environmental changes (Lee et al., 2013; Linegar et al., 2016; McManus et al., 2015; Ng et al., 2015). As a final thought, the notion of a sequence description could serve as a basis for introducing new variables in the LCD procedure. Approaches capable of quantizing time-depended measurements in the S-VWVs, such as the optical flow or the robot’s ego-motion, can be investigated with the aim of further assisting the matching functionality.
Footnotes
Appendix A: Index to multimedia extension
Archives of IJRR multimedia extensions published prior to 2014 can be found at http://www.ijrr.org, after 2014 all videos are available on the IJRR YouTube channel at http://www.youtube.com/user/ijrrmultimedia
Operational example on a mobile device
Acknowledgements
The ORB feature extraction ARM-NEON implementation was developed at MARS Lab UMN. The authors would also like to thank Dorian Gálvez-López for providing their manually created loop-closure ground-truth regarding many of the used datasets.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: The ARM-NEON implementation of ORB was funded by Google’s Project Tango.
