maplab icon indicating copy to clipboard operation
maplab copied to clipboard

External features

Open smauq opened this issue 3 years ago • 33 comments

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 either Binary or R2D2).

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 least 10000 for 16 neighbors.
  • With SuperPoint features I found the minimum inlier ratio --lc_min_inlier_ratio needed is much smaller 0.05 - 0.1 (default is 0.2) but then to compensate you can drastically increase the minimum inlier count --lc_min_inlier_count to like 40 - 100 (default is 10).
  • Some tuning of the sigma can also help --lc_ransac_pixel_sigma. With the default of 1.0 it finds still a lot of loop closures and remains relatively conservative. With a higher sigma of 2.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 are map_anchoring_min_medial_inlier_ratio and map_anchoring_min_num_vertex_links. For the sake of simplicity and no headaches it makes sense to set map_anchoring_min_medial_inlier_ratio to the same min inlier ratio as in lc. (We might want to consider removing this parameter since it seems more trouble than it's worth)

smauq avatar Mar 27 '21 14:03 smauq

Test FAILed.

ethzasl-jenkins avatar Aug 03 '21 01:08 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Aug 09 '21 00:08 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Aug 09 '21 11:08 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Aug 31 '21 20:08 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Aug 31 '21 23:08 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Feb 18 '22 12:02 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Mar 02 '22 15:03 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Mar 11 '22 13:03 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Mar 30 '22 14:03 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 03 '22 14:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 10 '22 12:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 10 '22 13:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 11 '22 07:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 11 '22 09:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 11 '22 11:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 11 '22 17:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 12 '22 12:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 12 '22 18:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar May 13 '22 12:05 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jun 29 '22 14:06 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 05 '22 11:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 08 '22 15:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 12 '22 08:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 12 '22 10:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 13 '22 12:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 14 '22 17:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 22 '22 10:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 23 '22 10:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 26 '22 08:07 ethzasl-jenkins

Test FAILed.

ethzasl-jenkins avatar Jul 26 '22 21:07 ethzasl-jenkins