BRISK-AGAST Detectors
The Adjustable BRISK-AGAST detector was an enormous improvement over the standard BRISK-AGAST detector. With each extractor and matcher combination, the adjustable detector reduced total run times, decreased the absolute trajectory errors, and improved the stability in pose localization.
Consider the plots in Figure 5.19. These plots show the mean ATE trans- lation and rotation errors of representative runs using each detector and matcher combination, with BRISK runs indicated by a blue circle and Ad-
2 4 6 8 10 12 14 16 18 0 0.5 1 1.5 2 time (s) Translation Error Translation Error (m) 2 4 6 8 10 12 14 16 18 0 0.5 1 1.5 2 2.5 time (s) Angle (rad) Angular Error (a) −1 0 1 2 −1 −0.5 0 0.5 1 −0.5 0 0.5 1 1.5 2 Interpolated GT Trajectory Estimate Trajectory in GT Frame
(b)
Figure 5.18: Results for the best trial using an Adjustable BRISK-AGAST detector, a FREAK descriptor extractor, and a FLANN matcher. Settings of nOctaves = 0, feature bounds of 400-401, patternScale of 22.0 and SN enabled and ON disabled were used. Figure 5.18a shows the ATE for the entire 21 s run. Figure 5.18b shows the estimated trajectory, indicated with blue circles, compared to the ground truth trajectory, indicated with red crosses.
justable BRISK runs with a red triangle. These runs were the “best” in each configuration, chosen for rapid run times, small ATE and RME errors, or a combination of the two.
Configurations using a FLANN matcher showed noteworthy improvement when using the adjustable detector. Total run times were reduced by 80-140 s and there was a 0.05-0.2 m improvement to ATE translation error and a 0.2 to 0.4 rad improvement to the rotation error. Trials using the FREAK descriptor were able to reduce run times from 229.0288 s to 85.9990 s and rotation error from 0.1966 rad to 0.1737 rad with only a 0.01 m increase to translation error, from 0.1301 m to 0.1405 m.
The FREAK descriptor configurations using a brute-force matcher showed similar improvements with run time savings of 20-40 s and even better es- timation results. The fastest Adjustable BRISK trial at 81.9846 s with a mean error of 0.1172 m and 0.1894 rad was faster and more accurate than the most accurate BRISK detector run at 108.0683 s, 0.2705 m, and 0.3682 rad, an improvement of over 26 s, 16 cm, and 10◦.
The BRISK descriptor and brute-force matcher combination showed the most improvement. Although there was no significant change in overall run times, the adjustable detector expanded the values of patternScale and nOctaves that RGB-D SLAM could operate at dramatically, and improved
60 80 100 120 140 160 180 0.05 0.1 0.15 0.2 0.25 Runtime (s)
ATE Translation Error (m)
brisk_brisk_bruteforce abrisk_brisk_bruteforce 60 80 100 120 140 160 180 0.1 0.15 0.2 0.25 0.3 0.35 Runtime (s)
ATE Rotation Error (rad)
(a) 50 100 150 200 250 300 0.05 0.1 0.15 0.2 0.25 Runtime (s)
ATE Translation Error (m)
brisk_brisk_flann abrisk_brisk_flann 50 100 150 200 250 300 0.1 0.2 0.3 0.4 0.5 0.6 Runtime (s)
ATE Rotation Error (rad)
(b) 80 85 90 95 100 105 110 115 120 125 0 0.2 0.4 0.6 0.8 Runtime (s)
ATE Translation Error (m)
brisk_freak_bruteforce abrisk_freak_bruteforce 80 85 90 95 100 105 110 115 120 125 0 0.5 1 1.5 2 Runtime (s)
ATE Rotation Error (rad)
(c) 80 100 120 140 160 180 200 220 240 0 0.1 0.2 0.3 0.4 Runtime (s)
ATE Translation Error (m)
brisk_freak_flann abrisk_freak_flann 80 100 120 140 160 180 200 220 240 0.1 0.2 0.3 0.4 0.5 0.6 Runtime (s)
ATE Rotation Error (rad)
(d)
Figure 5.19: A comparison of mean ATE values and total run times for BRISK and Adjustable BRISK detectors.
ATE metrics from averages around 0.5 m and 1 rad to 0.12 m and 0.16 rad. The more consistent number of features supplied by the adjustable detector helped improve stability, accuracy, and run time. Figure 5.20 shows the num- ber of features detected in each frame for standard and Adjustable BRISK- AGAST detectors. Both detectors have similar average feature counts with 624.7 for the regular detector and 600.0 for the adjustable detector, but the adjustable detector is able to keep the feature count around 600, with a stan- dard deviation of 70.6 features per frame compared to the regular detector’s standard deviation of 226.1 features.
This more consistent feature count improves stability by limiting the possi- bility of localization failure due to not enough matches. The 200 frame index marks the peak of the vertical rotation which caused many failures during testing. At this index, the feature count for the normal detector dropped be- low 200 features, reaching a level where localization failure is very possible. The Adjustable BRISK detector was able to compensate for the change in image appearance at this time and reduce thresh, stopping the drop at 450 features, well away from the danger zone.
(a) (b)
Figure 5.20: Feature counts per frame for a BRISK detector (Figure 5.20a) and an Adjustable BRISK detector (Figure 5.20b). Both detectors had nOctaves set to 1. The BRISK detector had a thresh value of 6 giving an average of 624.7 features per frame and the Adjustable detector had feature bounds of 600-601.
of features and matches. Preventing the feature count from dropping too low ensures that a rich set of matching features is available for the RANSAC based pairwise alignment. Limiting the total number of features from growing too large reduces the number of outliers that are introduced to RANSAC’s sampling set in the form of false matches. This, in turn, limits the number of sampling iterations that RANSAC must perform and lessens the chance that RANSAC will return an incorrect odometry estimate.
The more consistent number of features actually increased total run time from 96.69 s to 114.15 s, with an increase in total matching time from 95.25 s to 321.7 s, a decrease in the total transformation recovery time from 69.11 s to 56.9 s, and a decrease in total pose graph optimization time from 65.09 s to 54.79 s. The increase in matching time is due to the fact that the matching time of a brute-force matcher, which tries all combinations between feature sets, grows quadratically with the number of features. Despite the increase in run time at similar feature averages, the Adjustable BRISK detector is still an overall improvement to run time, as smaller average feature counts can be safely used while producing trajectory estimates of comparable quality. An RGB-D SLAM System run with an average of 600 features is one of the fastest settings possible for the regular detector, and one of the slowest for the Adjustable BRISK detector.
Figure 5.21: The value of thresh and the number of feature detected using an Adjustable BRISK-AGAST detector with feature bound of 600-601, indicated by the dashed red line.
features per frame within the desired bounds. Consider Figure 5.21, showing the numbers of features detected and the internal threshold value of a detector supplied with bounds of 600-601 features per frame. The detector was able to keep the feature count between 550 and 650 features for the majority of the run. From frame index 190-220 it experienced some difficulty. As the number of features dropped, the detector reacted by decreasing its threshold until the minimum value was reached. At this point, the detector was no longer capable of reacting, and the feature count dropped below 500. Additional difficulties were encountered when the feature count began to rise again. The detector did not increase the threshold value quickly enough to match the increasing feature count, and the count spiked to nearly 900 features, while the detector caught up.
50 100 150 200 250 300 0.1 0.15 0.2 0.25 Runtime (s)
ATE Translation Error (m)
brisk_brisk_bruteforce brisk_brisk_flann 50 100 150 200 250 300 0.1 0.2 0.3 0.4 0.5 0.6 Runtime (s)
ATE Rotation Error (rad)
(a) 80 100 120 140 160 180 200 220 240 0 0.2 0.4 0.6 0.8 Runtime (s)
ATE Translation Error (m)
brisk_freak_bruteforce brisk_freak_flann 80 100 120 140 160 180 200 220 240 0 0.5 1 1.5 2 Runtime (s)
ATE Rotation Error (rad)
(b) 60 80 100 120 140 160 180 0.06 0.08 0.1 0.12 0.14 0.16 Runtime (s)
ATE Translation Error (m)
abrisk_brisk_bruteforce abrisk_brisk_flann 60 80 100 120 140 160 180 0.1 0.15 0.2 0.25 Runtime (s)
ATE Rotation Error (rad)
(c) 80 85 90 95 100 105 110 115 120 125 0.05 0.1 0.15 0.2 0.25 Runtime (s)
ATE Translation Error (m)
abrisk_freak_bruteforce abrisk_freak_flann 80 85 90 95 100 105 110 115 120 125 0.1 0.15 0.2 0.25 0.3 0.35 Runtime (s)
ATE Rotation Error (rad)
(d)
Figure 5.22: A comparison of mean ATE values and total run times for brute-force-Hamming and FLANN-LSH matchers.