A method for determining a position of a vehicle, comprising: determining a last known position vector of the vehicle; capturing an image within a vicinity of the vehicle using an imaging device; identifying a stable landmark within the captured image based on a previously constructed reference map of the vicinity of the vehicle; determining a correction for a position of the vehicle based on the last known position vector and the stable landmark, wherein determining the correction for the position of the vehicle further comprises: matching the captured image with a visually similar image within a visual index database that is most similar to the captured image, wherein the visually similar image depicts a scene within the vicinity of the vehicle, wherein matching the captured image is based on feature matching and minimizing reprojection error between the captured image and the visually similar image, and wherein the reprojection error is represented by: π ω c − 1 ∘ ω q − 1 ∘ ω r ⋅ X i − x i 2, where π denotes a projection of the imaging device, ω c denotes a position of the imaging device relative to the vehicle, ω q is a position of a query image, and ω r is a position of a reference image stored in the reference map, X i is the last known position vector, and x i is the correction; and determining an updated position of the vehicle based on the determined correction. determining a last known position vector of the vehicle; capturing an image within a vicinity of the vehicle using an imaging device; identifying a stable landmark within the captured image based on a previously constructed reference map of the vicinity of the vehicle; determining a correction for a position of the vehicle based on the last known position vector and the stable landmark, wherein determining the correction for the position of the vehicle further comprises: matching the captured image with a visually similar image within a visual index database that is most similar to the captured image, wherein the visually similar image depicts a scene within the vicinity of the vehicle, wherein matching the captured image is based on feature matching and minimizing reprojection error between the captured image and the visually similar image, and wherein the reprojection error is represented by: π ω c − 1 ∘ ω q − 1 ∘ ω r ⋅ X i − x i 2, where π denotes a projection of the imaging device, ω c denotes a position of the imaging device relative to the vehicle, ω q is a position of a query image, and ω r is a position of a reference image stored in the reference map, X i is the last known position vector, and x i is the correction; and determining an updated position of the vehicle based on the determined correction. matching the captured image with a visually similar image within a visual index database that is most similar to the captured image, wherein the visually similar image depicts a scene within the vicinity of the vehicle, wherein matching the captured image is based on feature matching and minimizing reprojection error between the captured image and the visually similar image, and wherein the reprojection error is represented by: π ω c − 1 ∘ ω q − 1 ∘ ω r ⋅ X i − x i 2, where π denotes a projection of the imaging device, ω c denotes a position of the imaging device relative to the vehicle, ω q is a position of a query image, and ω r is a position of a reference image stored in the reference map, X i is the last known position vector, and x i is the correction; and determining an updated position of the vehicle based on the determined correction.