Skip to content
Snippets Groups Projects

Add automatic addConstrainedBy() in establishConstraints() ...

Merged Joan Solà Ortega requested to merge feature/improve_trackers into devel
20 files
+ 128
144
Compare changes
  • Side-by-side
  • Inline
Files
20
@@ -137,7 +137,7 @@ bool ProcessorTrackerFeatureTrifocal::isInlier(const cv::KeyPoint& _kp_last, con
@@ -137,7 +137,7 @@ bool ProcessorTrackerFeatureTrifocal::isInlier(const cv::KeyPoint& _kp_last, con
}
}
unsigned int ProcessorTrackerFeatureTrifocal::detectNewFeatures(const unsigned int& _max_new_features, FeatureBaseList& _feature_list_out)
unsigned int ProcessorTrackerFeatureTrifocal::detectNewFeatures(const unsigned int& _max_new_features, FeatureBaseList& _features_incoming_out)
{
{
// // DEBUG =====================================
// // DEBUG =====================================
// clock_t debug_tStart;
// clock_t debug_tStart;
@@ -177,7 +177,7 @@ unsigned int ProcessorTrackerFeatureTrifocal::detectNewFeatures(const unsigned i
@@ -177,7 +177,7 @@ unsigned int ProcessorTrackerFeatureTrifocal::detectNewFeatures(const unsigned i
capture_last_->descriptors_.row(index_last),
capture_last_->descriptors_.row(index_last),
Eigen::Matrix2s::Identity() * params_tracker_feature_trifocal_->pixel_noise_std * params_tracker_feature_trifocal_->pixel_noise_std);
Eigen::Matrix2s::Identity() * params_tracker_feature_trifocal_->pixel_noise_std * params_tracker_feature_trifocal_->pixel_noise_std);
_feature_list_out.push_back(last_point_ptr);
_features_incoming_out.push_back(last_point_ptr);
// hit cell to acknowledge there's a tracked point in that cell
// hit cell to acknowledge there's a tracked point in that cell
capture_last_->grid_features_->hitTrackingCell(kp_last);
capture_last_->grid_features_->hitTrackingCell(kp_last);
@@ -195,17 +195,17 @@ unsigned int ProcessorTrackerFeatureTrifocal::detectNewFeatures(const unsigned i
@@ -195,17 +195,17 @@ unsigned int ProcessorTrackerFeatureTrifocal::detectNewFeatures(const unsigned i
break; // There are no empty cells
break; // There are no empty cells
}
}
WOLF_TRACE("DetectNewFeatures - Number of new features detected: " , _feature_list_out.size() );
WOLF_TRACE("DetectNewFeatures - Number of new features detected: " , _features_incoming_out.size() );
// // DEBUG
// // DEBUG
// debug_comp_time_ = (double)(clock() - debug_tStart) / CLOCKS_PER_SEC;
// debug_comp_time_ = (double)(clock() - debug_tStart) / CLOCKS_PER_SEC;
// WOLF_TRACE("--> TIME: detect new features: TOTAL ",debug_comp_time_);
// WOLF_TRACE("--> TIME: detect new features: TOTAL ",debug_comp_time_);
// WOLF_TRACE("======== ========= =========");
// WOLF_TRACE("======== ========= =========");
return _feature_list_out.size();
return _features_incoming_out.size();
}
}
unsigned int ProcessorTrackerFeatureTrifocal::trackFeatures(const FeatureBaseList& _feature_list_in, FeatureBaseList& _feature_list_out, FeatureMatchMap& _feature_matches)
unsigned int ProcessorTrackerFeatureTrifocal::trackFeatures(const FeatureBaseList& _features_last_in, FeatureBaseList& _features_incoming_out, FeatureMatchMap& _feature_matches)
{
{
// // DEBUG =====================================
// // DEBUG =====================================
// clock_t debug_tStart;
// clock_t debug_tStart;
@@ -214,7 +214,7 @@ unsigned int ProcessorTrackerFeatureTrifocal::trackFeatures(const FeatureBaseLis
@@ -214,7 +214,7 @@ unsigned int ProcessorTrackerFeatureTrifocal::trackFeatures(const FeatureBaseLis
// WOLF_TRACE("======== TrackFeatures =========");
// WOLF_TRACE("======== TrackFeatures =========");
// // ===========================================
// // ===========================================
for (auto feature_base_last_ : _feature_list_in)
for (auto feature_base_last_ : _features_last_in)
{
{
FeaturePointImagePtr feature_last_ = std::static_pointer_cast<FeaturePointImage>(feature_base_last_);
FeaturePointImagePtr feature_last_ = std::static_pointer_cast<FeaturePointImage>(feature_base_last_);
@@ -236,7 +236,7 @@ unsigned int ProcessorTrackerFeatureTrifocal::trackFeatures(const FeatureBaseLis
@@ -236,7 +236,7 @@ unsigned int ProcessorTrackerFeatureTrifocal::trackFeatures(const FeatureBaseLis
capture_incoming_->descriptors_.row(index_kp_incoming),
capture_incoming_->descriptors_.row(index_kp_incoming),
Eigen::Matrix2s::Identity() * params_tracker_feature_trifocal_->pixel_noise_std * params_tracker_feature_trifocal_->pixel_noise_std);
Eigen::Matrix2s::Identity() * params_tracker_feature_trifocal_->pixel_noise_std * params_tracker_feature_trifocal_->pixel_noise_std);
_feature_list_out.push_back(incoming_point_ptr);
_features_incoming_out.push_back(incoming_point_ptr);
_feature_matches[incoming_point_ptr] = std::make_shared<FeatureMatch>(FeatureMatch({feature_last_, capture_incoming_->matches_normalized_scores_.at(index_kp_incoming)}));
_feature_matches[incoming_point_ptr] = std::make_shared<FeatureMatch>(FeatureMatch({feature_last_, capture_incoming_->matches_normalized_scores_.at(index_kp_incoming)}));
@@ -252,9 +252,9 @@ unsigned int ProcessorTrackerFeatureTrifocal::trackFeatures(const FeatureBaseLis
@@ -252,9 +252,9 @@ unsigned int ProcessorTrackerFeatureTrifocal::trackFeatures(const FeatureBaseLis
// WOLF_TRACE("--> TIME: track: ",debug_comp_time_);
// WOLF_TRACE("--> TIME: track: ",debug_comp_time_);
// WOLF_TRACE("======== ========= =========");
// WOLF_TRACE("======== ========= =========");
WOLF_TRACE("TrAckFeatures - Number of features tracked: " , _feature_list_out.size() );
WOLF_TRACE("TrAckFeatures - Number of features tracked: " , _features_incoming_out.size() );
return _feature_list_out.size();
return _features_incoming_out.size();
}
}
bool ProcessorTrackerFeatureTrifocal::correctFeatureDrift(const FeatureBasePtr _origin_feature, const FeatureBasePtr _last_feature, FeatureBasePtr _incoming_feature)
bool ProcessorTrackerFeatureTrifocal::correctFeatureDrift(const FeatureBasePtr _origin_feature, const FeatureBasePtr _last_feature, FeatureBasePtr _incoming_feature)
Loading