Introduction to Scale-Invariant Feature Transform (SIFT)

Scale-Invariant Feature Transform Summary

SIFT Detection Paper: http://www.cs.ubc.ca/~lowe/papers/iccv99.pdf

Terms used in SIFT paper

LoG = Laplacian of Gaussian

DoG = Difference of Gaussian

BBF = Best-Bin-First

RANSAC = RANdom SAmple Consensus

NN = Nearest Neighbor

IT = Inferior Temporal

What Can Developers Use the SIFT algorithms for?

  • Locate a certain object in an image of many other objects
  • Locate an object between frames in a sequence of images (video)
  • Stitching together images to create a panoramic image
  • Robot localization and mapping
  • 3D scene modeling, recognition and tracking
  • 3D SIFT-like descriptors for human action recognition
  • Analyzing the Human Brain in 3D Magnetic Resonance Images

Resources

http://docs.opencv.org/3.1.0/da/df5/tutorial_py_sift_intro.html

http://www.vlfeat.org/api/sift.html

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

Types of Problems Machine Learning Can Solve

What types of Problems can Machine Learning solve?

  • Problems the human brain does easily, but we aren’t sure how they are accomplished. e.g. 3D object recognition
  • Problems without simple and reliable rules.  The answer might be a combination of a large number of weak rules. e.g. detecting credit card fraud
  • Moving targets where programs need to change because methods change in the real world.  e.g. again credit card fraud

Since we don’t know the exact methods by which to code these types of examples, the machine learning approach is to provide a generic algorithm a bunch of correct examples and let the machine figure out how to get there.

Done well, this approach should work well for new data fed into the program, as well as the examples given to it initially while training.

Also, if the data changes over time (as in the credit card fraud detection problem) the program can change by being trained on new data.

This boils down to:

  • Recognizing patterns
  • Recognizing anomalies
  • Making predictions

Credit

Summarized and adapted from https://www.coursera.org/learn/neural-networks/lecture/Hxnaz/why-do-we-need-machine-learning-13-min