Skip to content

Commit 6599e40

Browse files
authored
Merge pull request #376 from ethz-asl/devel/remove_match_scores
Updated aslam version and removed track scores with it
2 parents a3c5f9c + ea44e1d commit 6599e40

File tree

6 files changed

+17
-365
lines changed

6 files changed

+17
-365
lines changed

algorithms/feature-tracking/src/vo-feature-tracking-pipeline.cc

Lines changed: 16 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#include "feature-tracking/vo-feature-tracking-pipeline.h"
2-
31
#include <aslam/common/timer.h>
42
#include <aslam/geometric-vision/match-outlier-rejection-twopt.h>
53
#include <aslam/matcher/match.h>
@@ -10,6 +8,8 @@
108
#include <sensors/external-features.h>
119
#include <visualization/common-rviz-visualization.h>
1210

11+
#include "feature-tracking/vo-feature-tracking-pipeline.h"
12+
1313
DEFINE_double(
1414
feature_tracker_two_pt_ransac_threshold, 1.0 - cos(0.5 * kDegToRad),
1515
"Threshold for the 2-pt RANSAC used for feature tracking outlier "
@@ -169,9 +169,8 @@ void VOFeatureTrackingPipeline::trackFeaturesSingleCamera(
169169
ncamera_->get_T_C_B(camera_idx).getRotation();
170170
aslam::Quaternion q_Ckp1_Ck = q_C_B * q_Bkp1_Bk * q_C_B.inverse();
171171

172-
aslam::FrameToFrameMatchesWithScore matches_with_score_kp1_k;
173-
trackers_[camera_idx]->track(
174-
q_Ckp1_Ck, *frame_k, frame_kp1, &matches_with_score_kp1_k);
172+
aslam::FrameToFrameMatches matches_kp1_k;
173+
trackers_[camera_idx]->track(q_Ckp1_Ck, *frame_k, frame_kp1, &matches_kp1_k);
175174

176175
// The tracker will return the indices with respect to the tracked feature
177176
// block, so here we renormalize them so that the rest of the code can deal
@@ -182,60 +181,49 @@ void VOFeatureTrackingPipeline::trackFeaturesSingleCamera(
182181
frame_kp1->getDescriptorBlockTypeStartAndSize(
183182
descriptor_type, &start_kp1, &size_kp1);
184183

185-
for (aslam::FrameToFrameMatchWithScore& match_kp1_k :
186-
matches_with_score_kp1_k) {
187-
match_kp1_k.setIndexApple(match_kp1_k.getIndexApple() + start_kp1);
188-
match_kp1_k.setIndexBanana(match_kp1_k.getIndexBanana() + start_k);
184+
for (aslam::FrameToFrameMatch& match_kp1_k : matches_kp1_k) {
185+
match_kp1_k.setKeypointIndexInFrameA(match_kp1_k.getKeypointIndexInFrameA() + start_kp1);
186+
match_kp1_k.setKeypointIndexInFrameB(match_kp1_k.getKeypointIndexInFrameB() + start_k);
189187
}
190188

191189
// Remove outlier matches.
192-
aslam::FrameToFrameMatchesWithScore inlier_matches_with_score_kp1_k;
193-
aslam::FrameToFrameMatchesWithScore outlier_matches_with_score_kp1_k;
194-
195190
statistics::StatsCollector stat_ransac("Twopt RANSAC (1 image) in ms");
196191
timing::Timer timer_ransac(
197192
"VOFeatureTrackingPipeline: trackFeaturesSingleCamera - ransac");
198193
bool ransac_success = aslam::geometric_vision::
199194
rejectOutlierFeatureMatchesTranslationRotationSAC(
200-
*frame_kp1, *frame_k, q_Ckp1_Ck, matches_with_score_kp1_k,
195+
*frame_kp1, *frame_k, q_Ckp1_Ck, matches_kp1_k,
201196
FLAGS_feature_tracker_deterministic,
202197
FLAGS_feature_tracker_two_pt_ransac_threshold,
203198
FLAGS_feature_tracker_two_pt_ransac_max_iterations,
204-
&inlier_matches_with_score_kp1_k, &outlier_matches_with_score_kp1_k);
199+
inlier_matches_kp1_k, outlier_matches_kp1_k);
205200

206201
LOG_IF(WARNING, !ransac_success)
207202
<< "Match outlier rejection RANSAC failed on camera " << camera_idx
208203
<< ".";
209-
const size_t num_outliers = outlier_matches_with_score_kp1_k.size();
210-
VLOG_IF(5, num_outliers > 0) << "Removed " << num_outliers << " outliers of "
211-
<< matches_with_score_kp1_k.size()
212-
<< " matches on camera " << camera_idx << ".";
204+
const size_t num_outliers = outlier_matches_kp1_k->size();
205+
VLOG_IF(5, num_outliers > 0)
206+
<< "Removed " << num_outliers << " outliers of " << matches_kp1_k.size()
207+
<< " matches on camera " << camera_idx << ".";
213208

214209
// Assign track ids.
215210
timing::Timer timer_track_manager(
216211
"VOFeatureTrackingPipeline: trackFeaturesSingleCamera - track manager");
217212
track_managers_[camera_idx]->applyMatchesToFrames(
218-
inlier_matches_with_score_kp1_k, frame_kp1, frame_k);
219-
220-
aslam::convertMatchesWithScoreToMatches<
221-
aslam::FrameToFrameMatchWithScore, aslam::FrameToFrameMatch>(
222-
inlier_matches_with_score_kp1_k, inlier_matches_kp1_k);
223-
aslam::convertMatchesWithScoreToMatches<
224-
aslam::FrameToFrameMatchWithScore, aslam::FrameToFrameMatch>(
225-
outlier_matches_with_score_kp1_k, outlier_matches_kp1_k);
213+
*inlier_matches_kp1_k, frame_kp1, frame_k);
226214

227215
if (visualize_keypoint_matches_) {
228216
cv::Mat image;
229217
aslam_cv_visualization::visualizeMatches(
230-
*frame_kp1, *frame_k, inlier_matches_with_score_kp1_k, &image);
218+
*frame_kp1, *frame_k, *inlier_matches_kp1_k, &image);
231219
const std::string topic = feature_tracking_ros_base_topic_ +
232220
"/keypoint_matches_camera_" +
233221
std::to_string(camera_idx);
234222
visualization::RVizVisualizationSink::publish(topic, image);
235223

236224
cv::Mat outlier_image;
237225
aslam_cv_visualization::visualizeMatches(
238-
*frame_kp1, *frame_k, outlier_matches_with_score_kp1_k, &outlier_image);
226+
*frame_kp1, *frame_k, *outlier_matches_kp1_k, &outlier_image);
239227
const std::string outlier_topic = feature_tracking_ros_base_topic_ +
240228
"/keypoint_outlier_matches_camera_" +
241229
std::to_string(camera_idx);

aslam_cv2

Submodule aslam_cv2 updated 34 files

visualization/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ cs_add_library(${PROJECT_NAME}
1414
src/common-rviz-visualization.cc
1515
src/constant-velocity-smoother.cc
1616
src/debug-visualizer.cc
17-
src/feature-matches-visualization.cc
1817
src/landmark-observer-plotter.cc
1918
src/patch-based-visualization.cc
2019
src/resource-visualization.cc

visualization/include/visualization/feature-matches-visualization-inl.h

Lines changed: 0 additions & 60 deletions
This file was deleted.

visualization/include/visualization/feature-matches-visualization.h

Lines changed: 0 additions & 68 deletions
This file was deleted.

0 commit comments

Comments
 (0)