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

Deciding on an algorithm for MAV and house detection #22

Open
PenceMataria opened this issue Aug 13, 2019 · 3 comments
Open

Deciding on an algorithm for MAV and house detection #22

PenceMataria opened this issue Aug 13, 2019 · 3 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@PenceMataria
Copy link
Member

No description provided.

@PenceMataria PenceMataria added the help wanted Extra attention is needed label Aug 13, 2019
@ashwin2802 ashwin2802 changed the title Choosing an algorithm for MAV and House Detection: SIFT, SURF, network based , ??? Deciding on an algorithm for MAV and house detection Aug 13, 2019
@ashwin2802
Copy link
Member

Context

After some discussion we felt that using machine learning for detecting the crashed MAVs and the house would be inappropriate, mainly due to lack of proper data for training, causing inaccurate results and possibly further wastage of time in trying to make it work.

Hence we are currently considering using feature matching algorithms instead of neural networks. The feature data can be easily obtained and quickly processed from images that we can take from the PS or the video they uploaded, and we can get more at the test venue.

We are mainly looking at SIFT (Scale Invariant Feature Transforms) - it's a state of the art feature descriptor that seems to work pretty well (one of its use cases is processing the images from Curiosity). SURF is also a similiar algorithm, but it's much faster than SIFT. There is enough code available for both on the web, implementation shouldn't be a problem. The difference between SURF and SIFT comes into play only when there are a lot of features.

Deciding to use feature detection algorithms and then deciding between SURF and SIFT is the current issue.

Papers and Posts

Last few slides on SIFT: https://courses.cs.washington.edu/courses/cse455/09wi/Lects/lect6.pdf

Wiki:
https://en.wikipedia.org/wiki/Speeded_up_robust_features
https://en.wikipedia.org/wiki/Scale-invariant_feature_transform

SIFT paper:
https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5476084&tag=1

SURF paper:
http://www.vision.ee.ethz.ch/~surf/eccv06.pdf

Open-source SIFT C library:
https://github.com/robwhess/opensift

Time complexity of SIFT:
https://stackoverflow.com/questions/32667635/computational-complexity-of-sift-descriptor

SIFT vs SURF:
https://www.researchgate.net/figure/Comparison-between-SIFT-and-SURF-considering-the-runtime-execution-time_fig4_252048719
https://stackoverflow.com/questions/11172408/surf-vs-sift-is-surf-really-faster

SURF Performance:
http://boofcv.org/index.php?title=Performance:SURF

SURF on GPU:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.192.2630&rep=rep1&type=pdf

MATLAB on feature detection:
https://www.mathworks.com/help/vision/examples/object-detection-in-a-cluttered-scene-using-point-feature-matching.html

@gajena
Copy link
Member

gajena commented Aug 19, 2019

@ashwin2802 Any initial progress, like running both on the same dataset?

@ashwin2802
Copy link
Member

ashwin2802 commented Aug 19, 2019

We're writing the code for SIFT currently. OpenCV does not have the implementation of the matching algorithm described in the paper. The keypoints are pretty good, but the matchers that OpenCV has (we tried RANSAC and Brute Force) fail wonderfully.
Once this is done we'll compare it with SURF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

6 participants