1

This is more of a question regarding different image processing techniques that are classified as :affine invariant" and I would like some advice regarding which one tends to return the best results and possibly one that can be done using OpenCV. I know many of these features are available in MATLAB, but I do not have the thousands and thousands of dollars to spend on a project.

I've looked into Affine Invariant SIFT as well as MSER to name some of the techniques discussed, but was wondering if there were any more out there that the community found highly useful. I'm open to suggestions and would like to know what others I could possibly use for my project.

Thanks

Seb
  • 3,414
  • 10
  • 73
  • 106

2 Answers2

2

I am not sure to understand well your question: it seems there's a mix of many different things in it, I'll try to answer very widely as the question is very broad...

It seems you are talking about Features extraction and description... So, let's start with this.

  • 1) On two images A and B, it can be interesting in many applications to find features from A and B that match. Stereo rectification, or homography rectification are 2 examples among many others...

  • 2) However two images A and B are not always very very similar, one can be rotated from the other one, there can be some differences in scaling, and more generally they can have two different perspectives

  • 3) So, what we want is to find features on image A that match image B even if some transformations occured between A and B. That's why we invented techniques to find features and describe them (features extraction and descriptor computation) which are relevant from image A to image B even if they are transformed....

  • 4) SIFT and SURF are some of these techniques to extract and compute feature descriptors (see here the difference between what we call feature extraction and descriptor computation)

  • 5) Affine invariant means in this sense, techniques that provide features which are robust (invariant) to affine transformations

  • 6) This is a comparison between some techniques SIFT/ASIFT/MSER

  • 7) I've never implemented ASIFT, SURF is renowned as a very stable technique against many transformations... I think we can thank warmly the Ecole Polytechnique (France) for ASIFT and the ETHZ for SURF (Switzerland) which are great schools and provide fantastic methods in image processing and in many other scientific fields...

Community
  • 1
  • 1
jmartel
  • 2,771
  • 4
  • 24
  • 27
  • Is SURF considered to be affine invariant? I've tested it with the same setup I've tested SIFT and I've noticed that SIFT found more then SURF does. – Seb Aug 04 '11 at 18:56
  • Surf is Scale and rotation invariant... From wikipedia : SURF (Speeded Up Robust Feature) is a robust image detector & descriptor, first presented by Herbert Bay et al. in 2006, that can be used in computer vision tasks like object recognition or 3D reconstruction. It is partly inspired by the SIFT descriptor. The standard version of SURF is several times faster than SIFT and claimed by its authors to be more robust against different image transformations than SIFT. SURF is based on sums of approximated 2D Haar wavelet responses and makes an efficient use of integral images. – jmartel Aug 04 '11 at 19:07
  • Not sure why I got higher results with SIFT then I did with SURF in that case. – Seb Aug 04 '11 at 19:10
  • It could depend how you configured SURF and SIFT if you use opencv – jmartel Aug 04 '11 at 19:10
  • Thanks for all this information. After some time with google I guess I got confused since everyone was saying that very few techniques worked with affine transformations, warping, skewing, etc. – Seb Aug 04 '11 at 19:16
0

The opencv implementation of MSER is not affine invariant, if used as default with "detect", because the default opencv-Keypoint class cannot describe ellipses. Also in the descriptor implementations, only circles are described.

cyberbeat
  • 45
  • 1
  • 6