for Monocular SLAM
4. Data Association & Validation for Monocular SLAM
4.4 Data Association Batch Validation
The active search matching methodology just described addresses the problem of data association by allowing to produce a matching observation for each predicted landmark in the map. This yields a set of pairs, a data association hypothesis, composed each one of a predicted landmark and its matching feature pixel point in image. As it was discussed earlier, finding a correct association pairs list is usually a critical problem in any EKF- based SLAM system, and the active search technique with ZNCC produces accurate pairings within an acceptable computational time. Still, as there are many factors that may introduce errors, the data association pairings may be association errors even without being incorrectly matched: a moving object can be correctly matched, but produces a dynamic landamark which can disrupt the map, as this spurious landmark does not comply the static assumption (see sections 2.3 and 3.4.3). Other errors may arise when dealing with ambiguous textures and features on the mapped environment. Thus, even after solving data association through a technique analogous to a validation gate, many monocular SLAM approaches present an additional validation gate step to reject those data association pairs found that can be considered erroneous. This is especially true for EKF-based approaches
(such as our base DI-D MonoSLAM), as they do not present any other mechanism to marginalise the impact of an spurious or incorrect landmark on the map.
4.4.1 Joint Compatibility Branch and Bound
In the context of classical approaches to inverse-depth (I-D) feature parametrization monocular SLAM, the undelayed I-D technique Joint Compatibility Brach and Bound (JCBB), as seen in (Clemente et al., 2007), has probably been the most influential batch validation methodology. For a decade the JCBB has been considered the golden rule of data association batch validation (Civera et al., 2009), widely reported and studied (Bailey and Durrant-Whyte, 2006). This test is based on the notion of Joint Compatibility (Neira and Tardós, 2001) introduced with the SCNN, and its evaluation for different data association hypotheses. The data association hypotheses, briefly mention earlier, are subsets of the set of pairs produced by the measurement matching technique, in this case, the ZNCC-active search combination. Then, this validation test just evaluates the joint compatibility using the Mahalanobis distance-based validation gate, determining if all the pairs on a given hypothesis or set are ‘jointly compatible’, thus consistent and valid, or inconsistent as a whole.
The validation gate, once instanced for the monocular SLAM problem, takes the form
1 2
,
2 T
H H H H dof
D
g
S
g
, (4.12)where the squared Mahalanobis distance DH2 (SMD) is approximated using the values of
the Kalman innovation gH or residuals (see equation (3.53) at section 3.4.5), and the
covariance SH of the innovation (per equation (3.56)), for the given association hypothesis H. Note that for each hypothesis to evaluate, the covariance matrix has to be inverted, and
the all data structures need to be update, as they may vary in size according to the number of pairings being evaluated in H. The Chi-square distribution will have a range equal to twice the number of measurements to test, as each observation is measured in terms of u,v coordinates in the image; with the same commented values of confidence α of 0.95 or 0.99. Although this test appears to be computationally expensive, note that gH and SH will be
already available as they are updated through the EKF methodology in the observation matching and update steps. Besides, as not all the data association pairs are taken into account in each hypothesis H, gH and SH will not be taken completely to obtain the
Mahalanobis distance, only those rows related to the considered pair, without necessity of fully computing gH and SH again.
FIGURE 4.7: Batch validation with joint compatibility illustrated. In this simplified example, the
pairing between prediction h3 and observation obs3 is removed as the ‘gain’ is not
compatible with the rest of the pairings.
As the test to determine if a given data association set is joint compatible or not is available, an algorithm which enables exploration of the hypothesis space is needed. This is solved by the JCBB, exploiting the fact that the data association hypotheses to be validated are essentially a set of ordered decisions. As such, they can be represented as an array of Boolean values, as shown in FIGURE 4.7, where each found pair is accepted (true or “1”) or
rejected (false or “0”). If an initial optimistic hypothesis which tries to accept all the data pairings (where the full vector is true) fails the compatibility test, then a search for an smaller hypothesis is performed. Thus the JCBB algorithm builds a binary recursive exploration tree to make sure that it finds the best remaining hypothesis, defined as: achieving the maximal number of compatible data associations, and best compatibility between the hypotheses with the same order, i.e., presenting the lowest SMD. This best
compatibility criterion also means that the algorithm has a conservative behaviour, as the
SMD is proportional to the innovation, so the JCBB always takes the more complete but less divergent hypotheses.
ALGORITHM 4.2: Pseudocode JCBB algorithm, from (Clemente et al., 2007)
The pseudo-code implementation in ALGORITHM 4.2, from (Clemente et al., 2007), shows
how the JCBB makes a branch and bound search on a binary tree to increasingly build the Boolean vector representing the hypothesis. The results of this process are order- independent: the algorithm will try all the hypotheses, even after a jointly compatible one has been found, in order to guarantee the optimality of the given result (see the Star node annotation on ALGORITHM 4.2). Because of this uninformed, unordered exhaustive search,
the algorithm has a strong tendency to exponential cost, with no mechanism to control the growth or keeping it low beyond the branching procedure. Note that to enable this branching the JCBB requires to estimate the SMD at each node of the exploration tree to test the current hypothesis H. This penalization at each node is partially mitigated by exploiting the linearizability of the costs of successive incremental matrix inversions, as described in (Harville, 1998), and using the fact that the Mahalanobis distance can be
considered as sum of squared standard normally distributed random variables to cut as early as possible bad branches of the tree.