From 1f53f24b9a7d935350c9cfa8d57629c6fc2f2685 Mon Sep 17 00:00:00 2001 From: asantamaria <asantamaria@iri.upc.edu> Date: Thu, 17 May 2018 16:17:21 +0200 Subject: [PATCH] FIX old match roi width and height --- src/algorithms/activesearch/alg_activesearch.cpp | 2 +- src/algorithms/trackfeatures/alg_trackfeatures.cpp | 2 +- src/algorithms/trackfeatures/alg_trackfeatures.h | 4 +++- src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp | 3 +++ src/examples/yaml/ACTIVESEARCH.yaml | 3 --- src/examples/yaml/BRUTEFORCE.yaml | 4 ---- src/examples/yaml/BRUTEFORCE_HAMMING.yaml | 3 --- src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml | 3 --- src/examples/yaml/BRUTEFORCE_L1.yaml | 3 --- src/examples/yaml/TRACKFEATURES.yaml | 3 --- src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp | 4 ---- .../matcher_bruteforce_hamming_load_yaml.cpp | 4 ---- .../matcher_bruteforce_hamming_2_load_yaml.cpp | 4 ---- .../bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp | 4 ---- src/matchers/flannbased/matcher_flannbased_load_yaml.cpp | 4 ---- src/matchers/matcher_base.h | 2 -- src/test/data/ACTIVESEARCH.yaml | 3 --- src/test/data/BRUTEFORCE.yaml | 3 --- src/test/data/BRUTEFORCE_HAMMING.yaml | 3 --- src/test/data/BRUTEFORCE_HAMMING_2.yaml | 3 --- src/test/data/BRUTEFORCE_L1.yaml | 3 --- src/test/data/TRACKFEATURES.yaml | 3 --- src/test/data/base_classes.yaml | 3 --- 23 files changed, 8 insertions(+), 65 deletions(-) diff --git a/src/algorithms/activesearch/alg_activesearch.cpp b/src/algorithms/activesearch/alg_activesearch.cpp index 80ca5a6..243d15e 100644 --- a/src/algorithms/activesearch/alg_activesearch.cpp +++ b/src/algorithms/activesearch/alg_activesearch.cpp @@ -242,7 +242,7 @@ void AlgorithmACTIVESEARCH::trackFrame(const FramePtr& _frame_old, FramePtr& _tr hitCell(target_feature[ii]); // Set ROI - cv::Rect roi = setRoi(target_feature[ii].pt.x,target_feature[ii].pt.y, _mat_ptr->getParams()->roi_width, _mat_ptr->getParams()->roi_height); + cv::Rect roi = setRoi(target_feature[ii].pt.x,target_feature[ii].pt.y, cell_size_(0), cell_size_(1)); // // draw ROI // if (params_ptr_->draw_results) diff --git a/src/algorithms/trackfeatures/alg_trackfeatures.cpp b/src/algorithms/trackfeatures/alg_trackfeatures.cpp index aefc578..add44d8 100644 --- a/src/algorithms/trackfeatures/alg_trackfeatures.cpp +++ b/src/algorithms/trackfeatures/alg_trackfeatures.cpp @@ -96,7 +96,7 @@ void AlgorithmTRACKFEATURES::trackFrame(const FramePtr& _frame_old, FramePtr& _t for(int ii = 1; ii < target_kps.size(); ++ii) { // Set a candidate ROI around the target feature - cv::Rect roi = setRoi(target_kps[ii].pt.x, target_kps[ii].pt.y, _mat_ptr->getParams()->roi_width, _mat_ptr->getParams()->roi_width); + cv::Rect roi = setRoi(target_kps[ii].pt.x, target_kps[ii].pt.y, params_ptr_->target_roi_height, params_ptr_->target_roi_width); // // draw ROI // if (params_ptr_->draw_results) diff --git a/src/algorithms/trackfeatures/alg_trackfeatures.h b/src/algorithms/trackfeatures/alg_trackfeatures.h index 334bbe5..477e3b7 100644 --- a/src/algorithms/trackfeatures/alg_trackfeatures.h +++ b/src/algorithms/trackfeatures/alg_trackfeatures.h @@ -21,7 +21,9 @@ VU_STRUCT_PTR_TYPEDEFS(AlgorithmParamsTRACKFEATURES); */ struct AlgorithmParamsTRACKFEATURES: public AlgorithmParamsBase { - int min_feat_track; // Minimum features to track. With less than this number a new detection is called. + int min_feat_track; // Minimum features to track. With less than this number a new detection is called. + int target_roi_width; // ROI width to search for a target match + int target_roi_height; // ROI width to search for a target match ~AlgorithmParamsTRACKFEATURES(){} }; diff --git a/src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp b/src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp index ab2b832..dc6315e 100644 --- a/src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp +++ b/src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp @@ -25,6 +25,9 @@ static ParamsBasePtr createParamsTRACKFEATURESAlgorithm(const std::string & _fil { params_ptr->draw_results = d_yaml["draw results"].as<bool>(); params_ptr->min_feat_track = d_yaml["min features to track"].as<int>(); + Node troi_yaml = yaml_params["target roi"]; + params_ptr->target_roi_width = troi_yaml["width"].as<int>(); + params_ptr->target_roi_width = troi_yaml["height"].as<int>(); }else { std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl; diff --git a/src/examples/yaml/ACTIVESEARCH.yaml b/src/examples/yaml/ACTIVESEARCH.yaml index 4ff33b3..1f6a692 100644 --- a/src/examples/yaml/ACTIVESEARCH.yaml +++ b/src/examples/yaml/ACTIVESEARCH.yaml @@ -26,9 +26,6 @@ descriptor: matcher: type: "FLANNBASED" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 min normalized score: 0.85 algorithm: diff --git a/src/examples/yaml/BRUTEFORCE.yaml b/src/examples/yaml/BRUTEFORCE.yaml index e438cc9..5edfa46 100644 --- a/src/examples/yaml/BRUTEFORCE.yaml +++ b/src/examples/yaml/BRUTEFORCE.yaml @@ -3,7 +3,3 @@ sensor: matcher: type: "BRUTEFORCE" - match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 \ No newline at end of file diff --git a/src/examples/yaml/BRUTEFORCE_HAMMING.yaml b/src/examples/yaml/BRUTEFORCE_HAMMING.yaml index c4531d2..42e63bc 100644 --- a/src/examples/yaml/BRUTEFORCE_HAMMING.yaml +++ b/src/examples/yaml/BRUTEFORCE_HAMMING.yaml @@ -4,6 +4,3 @@ sensor: matcher: type: "BRUTEFORCE_HAMMING" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 \ No newline at end of file diff --git a/src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml b/src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml index 4f7bbef..fb95ed6 100644 --- a/src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml +++ b/src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml @@ -4,6 +4,3 @@ sensor: matcher: type: "BRUTEFORCE_HAMMING_2" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 \ No newline at end of file diff --git a/src/examples/yaml/BRUTEFORCE_L1.yaml b/src/examples/yaml/BRUTEFORCE_L1.yaml index ae97d2d..73ebe11 100644 --- a/src/examples/yaml/BRUTEFORCE_L1.yaml +++ b/src/examples/yaml/BRUTEFORCE_L1.yaml @@ -4,6 +4,3 @@ sensor: matcher: type: "BRUTEFORCE_L1" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 \ No newline at end of file diff --git a/src/examples/yaml/TRACKFEATURES.yaml b/src/examples/yaml/TRACKFEATURES.yaml index 6d2802e..378bf04 100644 --- a/src/examples/yaml/TRACKFEATURES.yaml +++ b/src/examples/yaml/TRACKFEATURES.yaml @@ -23,9 +23,6 @@ descriptor: matcher: type: "FLANNBASED" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 min normalized score: 0.85 algorithm: diff --git a/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp b/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp index 3b4dfc0..3dd4bd1 100644 --- a/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp +++ b/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp @@ -27,10 +27,6 @@ static ParamsBasePtr createParamsBRUTEFORCEMatcher(const std::string & _filename params_ptr->match_type = d_yaml["match type"].as<int>(); if (d_yaml["min normalized score"]) params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); - if (d_yaml["roi"]["width"]) - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - if (d_yaml["roi"]["height"]) - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); }else { std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl; diff --git a/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp b/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp index 002b3bd..09184f6 100644 --- a/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp +++ b/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp @@ -27,10 +27,6 @@ static ParamsBasePtr createParamsBRUTEFORCE_HAMMINGMatcher(const std::string & _ params_ptr->match_type = d_yaml["match type"].as<int>(); if (d_yaml["min normalized score"]) params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); - if (d_yaml["roi"]["width"]) - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - if (d_yaml["roi"]["height"]) - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); }else { std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl; diff --git a/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp b/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp index 0d8c913..72fd5e9 100644 --- a/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp +++ b/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp @@ -27,10 +27,6 @@ static ParamsBasePtr createParamsBRUTEFORCE_HAMMING_2Matcher(const std::string & params_ptr->match_type = d_yaml["match type"].as<int>(); if (d_yaml["min normalized score"]) params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); - if (d_yaml["roi"]["width"]) - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - if (d_yaml["roi"]["height"]) - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); }else { std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl; diff --git a/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp b/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp index bd10edb..6786d77 100644 --- a/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp +++ b/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp @@ -27,10 +27,6 @@ static ParamsBasePtr createParamsBRUTEFORCE_L1Matcher(const std::string & _filen params_ptr->match_type = d_yaml["match type"].as<int>(); if (d_yaml["min normalized score"]) params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); - if (d_yaml["roi"]["width"]) - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - if (d_yaml["roi"]["height"]) - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); }else { std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl; diff --git a/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp b/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp index 1c6f8dd..1b06f3d 100644 --- a/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp +++ b/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp @@ -27,10 +27,6 @@ static ParamsBasePtr createParamsFLANNBASEDMatcher(const std::string & _filename params_ptr->match_type = d_yaml["match type"].as<int>(); if (d_yaml["min normalized score"]) params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); - if (d_yaml["roi"]["width"]) - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - if (d_yaml["roi"]["height"]) - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); }else { std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl; diff --git a/src/matchers/matcher_base.h b/src/matchers/matcher_base.h index ca30b60..39c7350 100644 --- a/src/matchers/matcher_base.h +++ b/src/matchers/matcher_base.h @@ -37,8 +37,6 @@ struct MatcherParamsBase: public ParamsBase { std::string type; int match_type = MATCH; // Type of Match. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - int roi_width = 20; // ROI width around a keypoint to search for a match. - int roi_height = 20; // ROI height around a keypoint to search for a match. double min_norm_score; //< [-1..0]: awful match; 1: perfect match; out of [-1,1]: error MatcherParamsBase(const std::string& _type): type(_type){} virtual ~MatcherParamsBase(){} diff --git a/src/test/data/ACTIVESEARCH.yaml b/src/test/data/ACTIVESEARCH.yaml index 8a4ba93..04333b0 100644 --- a/src/test/data/ACTIVESEARCH.yaml +++ b/src/test/data/ACTIVESEARCH.yaml @@ -26,9 +26,6 @@ descriptor: matcher: type: "FLANNBASED" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 min normalized score: 0.85 algorithm: diff --git a/src/test/data/BRUTEFORCE.yaml b/src/test/data/BRUTEFORCE.yaml index 45e9e5f..3af86a3 100644 --- a/src/test/data/BRUTEFORCE.yaml +++ b/src/test/data/BRUTEFORCE.yaml @@ -3,6 +3,3 @@ sensor: matcher: type: "BRUTEFORCE" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 \ No newline at end of file diff --git a/src/test/data/BRUTEFORCE_HAMMING.yaml b/src/test/data/BRUTEFORCE_HAMMING.yaml index f3f90f6..081dd31 100644 --- a/src/test/data/BRUTEFORCE_HAMMING.yaml +++ b/src/test/data/BRUTEFORCE_HAMMING.yaml @@ -3,6 +3,3 @@ sensor: matcher: type: "BRUTEFORCE_HAMMING" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 \ No newline at end of file diff --git a/src/test/data/BRUTEFORCE_HAMMING_2.yaml b/src/test/data/BRUTEFORCE_HAMMING_2.yaml index 6b18c84..0da3073 100644 --- a/src/test/data/BRUTEFORCE_HAMMING_2.yaml +++ b/src/test/data/BRUTEFORCE_HAMMING_2.yaml @@ -3,6 +3,3 @@ sensor: matcher: type: "BRUTEFORCE_HAMMING_2" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 \ No newline at end of file diff --git a/src/test/data/BRUTEFORCE_L1.yaml b/src/test/data/BRUTEFORCE_L1.yaml index 383b75b..128fcf4 100644 --- a/src/test/data/BRUTEFORCE_L1.yaml +++ b/src/test/data/BRUTEFORCE_L1.yaml @@ -3,6 +3,3 @@ sensor: matcher: type: "BRUTEFORCE_L1" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 \ No newline at end of file diff --git a/src/test/data/TRACKFEATURES.yaml b/src/test/data/TRACKFEATURES.yaml index 4742d0e..43d5a68 100644 --- a/src/test/data/TRACKFEATURES.yaml +++ b/src/test/data/TRACKFEATURES.yaml @@ -23,9 +23,6 @@ descriptor: matcher: type: "FLANNBASED" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 min normalized score: 0.85 algorithm: diff --git a/src/test/data/base_classes.yaml b/src/test/data/base_classes.yaml index ad1fecc..9f8fabd 100644 --- a/src/test/data/base_classes.yaml +++ b/src/test/data/base_classes.yaml @@ -26,9 +26,6 @@ descriptor: matcher: type: "BRUTEFORCE" match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 min normalized score: 0.85 algorithm: -- GitLab