Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement SOFT features in mrpt-vision #514

Open
jlblancoc opened this issue Apr 30, 2017 · 9 comments
Open

Implement SOFT features in mrpt-vision #514

jlblancoc opened this issue Apr 30, 2017 · 9 comments

Comments

@jlblancoc
Copy link
Member

jlblancoc commented Apr 30, 2017

  • Paper reference. Seems to outperform many state-of-the-art alternatives.
  • Example MATLAB implementation here

Update Nov 2018: There's a SOFT2 version:

  • Cvisic, I., Cesic, J., Markovic, I., & Petrovic, I. (2017). Soft-SLAM: Computationally efficient stereo visual SLAM for autonomous UAVS. Journal of Field Robotics.
@srihegde
Copy link

I am interested in implementing this feature. Can you give me some cue about where to start from?
Thanks!

@jlblancoc
Copy link
Member Author

jlblancoc commented Jul 24, 2017 via email

@srihegde
Copy link

Since this is a new feature detector for this repo I am thinking of creating a new file altogether, like mrpt/libs/vision/src/CFeatureExtraction_SOFT.cpp and its required utilities in a new folder mrpt/libs/vision/src/SOFT_utils for better organization.
Let me know if you have any corrections here.

@jlblancoc
Copy link
Member Author

jlblancoc commented Jul 26, 2017 via email

@srihegde
Copy link

srihegde commented Aug 1, 2017

I started with implementation of the utilities first. So I wanted to know if any of the following standard Matlab APIs are implemented in MRPT -

Thanks.

@jlblancoc
Copy link
Member Author

Sorry for the delay but as you might have seen... we have too many interesting developing fronts right now!

Answering your doubts:

detectMinEigenFeatures: Detecting Shi-Tomasi features in image

mrpt::vision::CFeatureExtraction::extractFeaturesKLT() does the job if you set options.featsType to featKLT.

extractFeatures: Extracting detected features.

The same class linked above has a computeDescriptors() method with a number of options. Refer to the Doxygen docs in the link.

matchFeatures

Yes: mrpt::vision::matchFeatures

KLT Tracker (Kanade-Lucas-Tomasi)

Yes: mrpt::vision::CFeatureTracker_KL

showMatchedFeatures: For visualization of matched features

Not as a single function, as far as I remember (@famoreno ??), but you could do:

CFeatureList list1,list2;
// ...
mrpt::gui::CDisplayWindow win1, win2;
win1.showImageAndPoints( img1, list1 );
win2.showImageAndPoints( img2, list2 );

@srihegde
Copy link

Thanks! That was really helpful.

@Doodle1106
Copy link

has this feature been implemented?

@jlblancoc
Copy link
Member Author

Nope... if someone wants to contribute it, fork+pull-requests are welcome! ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants