1. A computer-implemented process for computing the 3D position and 3D orientation of a video camera used to capture sequential image frames of an environment for which a three dimensional (3D) reconstruction has been pre-computed to identify 3D points in the environment that correspond to two dimensional (2D) points in previously-captured images of the environment, comprising: using a computer to perform the following process actions: constructing an indexed database comprising multiple representative database descriptors for each 3D point in the 3D reconstruction, ones of said database descriptors for each 3D point being computed at different scales and from multiple ones of said previously-captured images of the environment; after the indexed database is constructed, inputting image frames from the video camera as they are captured; for each consecutive image frame input, identifying tracked keypoints representing 2D image frame locations in the image frame, said tracked keypoints being either newly added or previously depicted and identified in one or more previously-input image frames, computing a database descriptor for each newly added tracked keypoint identified in the image frame, said database descriptor being of the same type as computed for the indexed database, identifying 3D points in the 3D reconstruction of the environment that correspond to the tracked keypoints, said identifying of 3D points comprising, for each tracked keypoint, matching the database descriptor computed for the tracked keypoint to one or more descriptors in the indexed database and determining the 3D point associated with the matched database descriptors in the indexed database, and estimating the 3D position and 3D orientation of the video camera.