README.dxy

00001 /** \dir src/SIFT
00002 
00003     \brief Image matching and object recognition using SIFT keypoints
00004 
00005     This directory contains a suite of classes that aim at being able
00006     to match images and recognize objects in them. The general
00007     inspiration comes from David Lowe's work at the University of
00008     British Columbia, Canada. Most of the implementation was created
00009     here by carefully reading his 2004 IJCV paper.
00010 
00011     Some of the code here is also based on the Hugin panorama software
00012     - see http://hugin.sourceforge.net - but substantial modifications
00013     have been made, espacially by carefully going over David Lowe's
00014     IJCV 2004 paper. Some of the code also comes from
00015     http://autopano.kolor.com/ but substantial debugging has also been
00016     made.
00017 
00018     Given an image, a number of Scale-Invariant Feature Transform
00019     (SIFT) keypoints can be extracted. These keypoints mark the
00020     locations in the image which have pretty unique and distinctive
00021     local appearance; for example, the corner of a textured object, a
00022     letter, an eye, or a mouth. Many such keypoints exist in typical
00023     images, usually in the range of hundreds to thousands.
00024 
00025     Given two images we can extract two lists of keypoints (class
00026     ScaleSpace, class Keypoint) and store them (class VisualObject,
00027     VisualObjectDB). We can then look for keypoints that have similar
00028     visual appearance between the two images (class KeypointMatch,
00029     class KDTree, VisualObjectMatch). Given a matching set of
00030     keypoints, we can try to recover the geometric transform that
00031     relates the first image to the second (class VisualObjectMatch).
00032 
00033     This can be used to stitch two or more images together to form a
00034     mosaic or panorama. It can also be used to recognize attended
00035     locations as matching some known objects stored in an object
00036     database (see Neuro/Inferotemporal).
00037 
00038     for dependency graphs:
00039     rankdir: TB
00040 */
00041 
00042 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/SIFT/README.dxy $
00043 // $Id: README.dxy 4918 2005-07-14 00:48:51Z itti $
00044 
00045 // //////////////////////////////////////////////////////////////////// //
00046 // The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2001 by the //
00047 // University of Southern California (USC) and the iLab at USC.         //
00048 // See http://iLab.usc.edu for information about this project.          //
00049 // //////////////////////////////////////////////////////////////////// //
00050 // Major portions of the iLab Neuromorphic Vision Toolkit are protected //
00051 // under the U.S. patent ``Computation of Intrinsic Perceptual Saliency //
00052 // in Visual Environments, and Applications'' by Christof Koch and      //
00053 // Laurent Itti, California Institute of Technology, 2001 (patent       //
00054 // pending; application number 09/912,225 filed July 23, 2001; see      //
00055 // http://pair.uspto.gov/cgi-bin/final/home.pl for current status).     //
00056 // //////////////////////////////////////////////////////////////////// //
00057 // This file is part of the iLab Neuromorphic Vision C++ Toolkit.       //
00058 //                                                                      //
00059 // The iLab Neuromorphic Vision C++ Toolkit is free software; you can   //
00060 // redistribute it and/or modify it under the terms of the GNU General  //
00061 // Public License as published by the Free Software Foundation; either  //
00062 // version 2 of the License, or (at your option) any later version.     //
00063 //                                                                      //
00064 // The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope  //
00065 // that it will be useful, but WITHOUT ANY WARRANTY; without even the   //
00066 // implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
00067 // PURPOSE.  See the GNU General Public License for more details.       //
00068 //                                                                      //
00069 // You should have received a copy of the GNU General Public License    //
00070 // along with the iLab Neuromorphic Vision C++ Toolkit; if not, write   //
00071 // to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,   //
00072 // Boston, MA 02111-1307 USA.                                           //
00073 // //////////////////////////////////////////////////////////////////// //
Generated on Sun May 8 08:40:07 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3