Speeded-up robust features (SURF)
Even though SIFT is nice and useful, it's computationally intensive. This means that it's slow and we will have a hard time implementing a real-time system if it uses SIFT. We need a system that's fast and has all the advantages of SIFT. If you remember, SIFT uses the Gaussian difference to build the pyramid, and this process is slow. So, to overcome this, SURF uses a simple box filter to approximate the Gaussian. The good thing is that this is really easy to compute and it's reasonably fast. There's a lot of documentation available online on SURF at http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_feature2d/py_surf_intro/py_surf_intro.html?highlight=surf. So, you can go through it to see how they construct a descriptor. You can also refer to the original paper at http://www.vision.ee.ethz.ch/~surf/eccv06.pdf. It is important to know that SURF is also patented and it is not freely available for commercial use.
If you run the SURF keypoint...