Feature Detection from an image using MATLAB - matlab

i wanted to know that is there any algorithm that can be used for efficient feature detection from an image, i am currently using SIFT algorithm in MATLAB , but the results aren't good! So if someone could please suggest me a better algo that can make my work easier in MATLAB .

i suggest for using SURF algorithm, it's better and faster, and i think it has been implemented in MATLAB

Related

Why is SIFT not available in Matlab?

SIFT is an important and useful algorithm in computer vision but it seems that it is not part of Matlab or any of its toolboxes.
Why ? Does Matlab offer something better or equivalent ?
MATLAB has SURF available as part of the Computer Vision Toolbox but not SIFT: http://www.mathworks.com/help/vision/ref/surfpoints-class.html. However, both algorithms are pretty much the same with some minor (but crucial) differences, such as using integral images and a fast Hessian detector. I won't go into those differences in any further detail, but you can certainly read up on the work here: http://www.vision.ee.ethz.ch/~surf/eccv06.pdf. As to the reason why MathWorks decided to use SURF instead of SIFT... it could be any reason really. AFAIK, there is no official reason why one was chosen over the other as they are both subject to being patented.
However, if you want to use SIFT within MATLAB, one suggestion I have is to use the VLFeat toolbox where a C and MATLAB implementation of the keypoint, detection and matching framework has been made available and is open source. It also has a variety of other nice computer vision algorithms implemented, but VLFeat is one of the libraries that I know of that manages to compute SIFT as accurately as the original patented algorithm.
If you're dead set on using SIFT, check VLFeat out! Specifically, check out the official VLFeat tutorial on SIFT using the MATLAB wrappers: http://www.vlfeat.org/overview/sift.html

RCGA solving in MATLAB implementation

Now, I would like to practice some problem solving by use RCGA (Real Code Genetic Algorithms) in MATLAB. Could any helper provide me some example project matlab files about that ?
Thank you very much.
I wrote an article a few years ago on an application of genetic algorithms in MATLAB, which comes with example data and MATLAB code. Although the example doesn't use real-coding, it does demonstrate how to apply a custom chromosomal coding, so perhaps it would be a starting point for you that you could adapt.

Which is a better method? libsvm or svmclassify?

I have been recently trying to use svm for feature classification. While i was doing so, a question came to my mind.
Which would be a better method to use, LIBSVM or svmclassify? What I mean by svmclassify is to use in-built functions in MATLAB such as svmtrain and svmclassify. In that sense, I was interested to know which method would be more accurate and which would be easier to use.
Since MATLAB has already the Bioinformatics toolbox already, why would you use LIBSVM? Aren't the functions like svmtrain and svmclassify already built in.. what additional benefits does LIBSVM bring about?
I would like to hear some of your opinions. Please Pardon me if the question is stupid..
I expect you would get very similar result using each library.
They are both very easy to use. The only big difference is that one comes with the MATLAB Bioinformatics toolbox and the other one you need to obtain from the authors web site and install by hand. If to you this is an issue I would recommend you stick to what is already installed in your computer. If not consider using LIBSVM, as it is a very well tested and well regarded library.
Also, from personal experience on playing with both, libSVM is much faster than MATLAB svm routines for obvious reasons. Last but not the least, libSVM has MATLAB plugins which can be called from MATLAB if you are more comfortable within a MATLAB environment.
I have also the same question, but I think that Libsvm is very useful and very easy in the case of multi-classes classification , but the matlab toolbox is designed for only two classes classification.
In my experience the libsvm performed giving cross validaion results as 45% where matlab code did 90%. So I looked up the explanation of matlab function for svm where they had such options related with perceptrones, I wonder if they are using pure svm or not but will write again in my case matlab was much better. (multiclass svm)

Wavelet Transform - Matlab

I would like to learn how does the Wavelet transform works from a practical point of view. I have read the theory regarding it and I think that I have understood the main idea behind it, but I would like to have some practice with it.
Can you please recommend me some tutorial and some data which I can use for learning the Wavelet Transform by using Matlab environment?
I tried to search for audio signal or practical tutorial on which I can work on but I had no results.
The Mathworks site has some information on their wavelet toolbox and some simple examples of continuous 1D wavelet transforms and discrete 2D wavelet transforms.
Since you have studied and understood the theory behind wavelet transforms, the best way to learn is to go through the source code for various algorithms that have been used by others. For starters looking at the core of the various functions provided in the toolbox above (just enter type functionname at the command line in MATLAB. Unless if it's a built-in function, you'll see the file contents). By core of the function, I mean the main algorithm without all the various input checks that are common.
The Wavelab toolbox from Stanford university is also a good resource to learn from (and later use in your applications when you're comfortable with it).
Lastly, this is a resource I found by Googling and it looks like they have some examples that you can try out.

SIFT and SURF feature extraction Implementation using MATLAB

I am doing an ancient coins recognition system using matlab. What I have done so far is:
convert to grayscale
remove noise using Gaussian filter
contrast enhancement
edge detection using canny edge detector.
Now I want to extract feature for classification. Features I thought to select are roundness, area, colour, SIFT and SURF. My problem is how I can apply SIFT and SURF algorithms to my project. I couldn't find built-in functions for both.
You can find SIFT as a C implementation with MATLAB bindings at: http://www.vlfeat.org/index.html
For anyone else coming across this thread as I did, I noticed the implementation at http://www.vlfeat.org/index.html was far more than I required and also fairly hard to adjust to my code.
The following link; http://robwhess.github.io/opensift/, has an implementation of just the SIFT algorithm accompanied with an example executable, with the source code available (unlike http://www.cs.ubc.ca/~lowe/keypoints/ which only has the sift binary executable).
you can find a matlab implementation of SIFT features here: http://www.cs.ubc.ca/~lowe/keypoints/