maplab
maplab copied to clipboard
External features
Work in progress PR, don't review yet.
Usage
Commands such as elq
and rtl
remain the same and are agnostic to the feature type. They will just individually process all features of all types. Commands that have extra flags now are:
v
:
- You can visualize all features side by side colored by feature type using
--vis_color_by_landmark_type=true
, for this I also it helps to choose a new salt since the default one gives you a bad color pattern--vis_color_salt=1337
. - You can visualize only one feature type at a time with
--vis_show_only_landmark_type
and then the name of the feature (at the moment eitherBinary
orR2D2
).
optvi
:
- By default, all features will be optimized with equal weighting. If you want to optimize only one feature type use
--ba_visual_feature_type
and the name of the feature. No multiselection is yet available.
lc
:
- Default behavior is to loop-close the binary features with the standard parameters. To select another feature type use
--lc_feature_type
and the feature name. For floating point based features select the flann search engine with--lc_detector_engine=flann
. - I found it beneficial to increase the number of neighbors to search for to for example
--lc_num_neighbors=16
, but be warned this increases quite exponentially the amount of time you need to spend on RANSAC then and you should increase the number of iterations--lc_num_ransac_iters
to for example at least10000
for16
neighbors. - With SuperPoint features I found the minimum inlier ratio
--lc_min_inlier_ratio
needed is much smaller0.05 - 0.1
(default is0.2
) but then to compensate you can drastically increase the minimum inlier count--lc_min_inlier_count
to like40 - 100
(default is10
). - Some tuning of the sigma can also help
--lc_ransac_pixel_sigma
. With the default of1.0
it finds still a lot of loop closures and remains relatively conservative. With a higher sigma of2.0
, I still didn't notice erroneous loop closures but there were definitely a lot more difficult perspectives that loop closed. - Using
-v=6
helps show a lot of the output and is useful in tuning both the duration and the different inlier ratio / count. Maybe a bit too verbose as a default.
aam
:
- Has the same parameters as
lc
and you can copy what worked there, BUT there are two extra checks that need to pass which aremap_anchoring_min_medial_inlier_ratio
andmap_anchoring_min_num_vertex_links
. For the sake of simplicity and no headaches it makes sense to setmap_anchoring_min_medial_inlier_ratio
to the same min inlier ratio as inlc
. (We might want to consider removing this parameter since it seems more trouble than it's worth)
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.
Test FAILed.