1. A method for accurately estimating a pose of a camera within a scene using a three dimension model of the scene, comprising the steps of: (a) generating an initial estimate of the pose; (b) selecting a set of relevant features of the three dimensional model based on the initial estimate of the pose; (c) creating a virtual projection of the set of relevant features responsive to the initial estimate of the pose; (d) matching a plurality of features of an image received from the camera to the virtual projection of the set of relevant features and measuring a plurality of matching errors; and (e) updating the estimate of the pose to reduce the plurality of matching errors.