NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
sparse_map.cc File Reference
#include <sparse_mapping/sparse_map.h>
#include <camera/camera_params.h>
#include <ff_common/thread.h>
#include <ff_common/utils.h>
#include <interest_point/matching.h>
#include <sparse_mapping/reprojection.h>
#include <sparse_mapping/sparse_mapping.h>
#include <sparse_mapping/tensor.h>
#include <sparse_mapping/visualization_utilities.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/calib3d/calib3d.hpp>
#include <opencv2/imgproc.hpp>
#include <Eigen/Geometry>
#include <sparse_map.pb.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/time.h>
#include <boost/algorithm/string.hpp>
#include <boost/filesystem.hpp>
#include <fstream>
#include <queue>
#include <set>
#include <thread>
#include <limits>
Include dependency graph for sparse_map.cc:

Namespaces

 sparse_mapping
 

Functions

 DEFINE_int32 (num_similar, 20, "Use in localization this many images which " "are most similar to the image to localize.")
 
 DEFINE_double (min_query_score_ratio, 0, "Use in localization as a threshold for including " "db images. Min ratio between best query and current query" "db image scores for a map image to be matched with.")
 
 DEFINE_int32 (num_ransac_iterations, 1000, "Use in localization this many ransac iterations.")
 
 DEFINE_int32 (ransac_inlier_tolerance, 3, "Use in localization this inlier tolerance.")
 
 DEFINE_int32 (early_break_landmarks, 100, "Break early when we have this many landmarks during localization.")
 
 DEFINE_bool (histogram_equalization, false, "If true, equalize the histogram for images to improve robustness to illumination conditions.")
 
 DEFINE_int32 (localization_hamming_distance, 85, "Used for localization. A smaller value keeps fewer but more reliable binary descriptor matches.")
 
 DEFINE_double (localization_goodness_ratio, 0.8, "Used for localization. A smaller value keeps fewer but more reliable descriptor matches.")
 
 DEFINE_bool (use_clahe, false, "If true, use CLAHE if histogram equalization enabled.")
 
 DEFINE_int32 (num_extra_localization_db_images, 0, "Match this many extra images from the Vocab DB, only keep num_similar.")
 
 DEFINE_bool (verbose_localization, false, "If true, list the images most similar to the one being localized.")
 
 DEFINE_bool (visualize_localization_matches, false, "If true, visualized matches between input image and each available map image during localization.")
 
 DEFINE_bool (localization_check_essential_matrix, true, "If true, verify a valid essential matrix can be calculated between the input image and each potential map " "match image before adding map matches.")
 
 DEFINE_bool (localization_add_similar_images, true, "If true, for each cid matched to, also attempt to match to any cid with at least 5 of the same features " "as the matched cid.")
 
 DEFINE_bool (localization_add_best_previous_image, true, "If true, add previous cid with the most matches to list of cids to check for" "matches with.")
 
void sparse_mapping::InitializeCidFidToPid (int num_cid, std::vector< std::map< int, int > > const &pid_to_cid_fid, std::vector< std::map< int, int > > *cid_fid_to_pid)
 

Function Documentation

◆ DEFINE_bool() [1/7]

DEFINE_bool ( histogram_equalization  ,
false  ,
"If  true,
equalize the histogram for images to improve robustness to illumination conditions."   
)

◆ DEFINE_bool() [2/7]

DEFINE_bool ( localization_add_best_previous_image  ,
true  ,
"If  true,
add previous cid with the most matches to list of cids to check for" "matches with."   
)

◆ DEFINE_bool() [3/7]

DEFINE_bool ( localization_add_similar_images  ,
true  ,
"If  true,
for each cid matched  to,
also attempt to match to any cid with at least 5 of the same features " "as the matched cid."   
)

◆ DEFINE_bool() [4/7]

DEFINE_bool ( localization_check_essential_matrix  ,
true  ,
"If  true,
verify a valid essential matrix can be calculated between the input image and each potential map " "match image before adding map matches."   
)

◆ DEFINE_bool() [5/7]

DEFINE_bool ( use_clahe  ,
false  ,
"If  true,
use CLAHE if histogram equalization enabled."   
)

◆ DEFINE_bool() [6/7]

DEFINE_bool ( verbose_localization  ,
false  ,
"If  true,
list the images most similar to the one being localized."   
)

◆ DEFINE_bool() [7/7]

DEFINE_bool ( visualize_localization_matches  ,
false  ,
"If  true,
visualized matches between input image and each available map image during localization."   
)

◆ DEFINE_double() [1/2]

DEFINE_double ( localization_goodness_ratio  ,
0.  8,
"Used for localization. A smaller value keeps fewer but more reliable descriptor matches."   
)

◆ DEFINE_double() [2/2]

DEFINE_double ( min_query_score_ratio  ,
,
"Use in localization as a threshold for including " "db images. Min ratio between best query and current query" "db image scores for a map image to be matched with."   
)

◆ DEFINE_int32() [1/6]

DEFINE_int32 ( early_break_landmarks  ,
100  ,
"Break early when we have this many landmarks during localization."   
)

◆ DEFINE_int32() [2/6]

DEFINE_int32 ( localization_hamming_distance  ,
85  ,
"Used for localization. A smaller value keeps fewer but more reliable binary descriptor matches."   
)

◆ DEFINE_int32() [3/6]

DEFINE_int32 ( num_extra_localization_db_images  ,
,
"Match this many extra images from the Vocab  DB,
only keep num_similar."   
)

◆ DEFINE_int32() [4/6]

DEFINE_int32 ( num_ransac_iterations  ,
1000  ,
"Use in localization this many ransac iterations."   
)

◆ DEFINE_int32() [5/6]

DEFINE_int32 ( num_similar  ,
20  ,
"Use in localization this many images which " "are most similar to the image to localize."   
)

◆ DEFINE_int32() [6/6]

DEFINE_int32 ( ransac_inlier_tolerance  ,
,
"Use in localization this inlier tolerance."   
)