1. A method for simultaneous localization and mapping of a position of a camera, comprising the steps of: receiving a sequence of images from the camera having an incremental baseline change between two images, the sequence of images describing a three-dimensional environment surrounding the camera; generating, using a feature tracking module included in a computing device, one or more training feature descriptors using an approximate Kernel Principal Analysis (KPCA), a training feature descriptor based on the incremental baseline change between the two images in the sequence of images received from the camera, and the training feature vector associated with position information describing a location of an object within the three dimensional environment relative to the camera; creating, using a structure-from-motion module included in the computing device, a three-dimensional map of the three dimensional environment captured by the sequence of images using an extended Kalman Filter, and the one or more training feature descriptors, the map including position information associated with one or more training feature descriptors describing locations of one or more objects within the three dimensional environment relative to the camera; receiving a recognition image containing a wide baseline appearance variation relative to at least a last image from the sequence of images; extracting a recognition feature descriptor from the recognition image using the feature tracking module; and determining a position of the camera within the three-dimensional map, using the feature tracking module, by matching the recognition feature descriptor to a training feature descriptor from the one or more training feature descriptors and identifying a position information associated with the training feature descriptor from the one or more training feature descriptors which describes a location of an identified object within the three dimensional environment relative to the camera.