A non-transitory computer-readable recording medium on which is recorded a computer program comprising program code instructions for implementing a method for estimating a pose of a camera in a frame of reference of a three-dimensional scene, when the instructions are executed by a processor, wherein the instructions configure the processor to:
- obtain an image of colour intensities of the scene captured by the camera, called a current image;
- extract a plurality of points of interest from the current image, each point being invariant by geometric transformation of the image;
- form a plurality of patches in the image of colour intensities, each patch comprising a point of interest of the extracted plurality;
- predict the 3D locations of the points of interest of the plurality of patches in a frame of reference of the scene, by application of an automatic prediction system, said system having been trained with aid of a training set comprising patches from a plurality of images of the scene acquired by the camera from a plurality of points of view, each patch from the plurality of images being associated in said set with a 2D position of its point of interest in a frame of reference of the image and with a 3D position of its point of interest in the frame of reference of the scene;
- and
- estimate a camera pose for the current image, by mapping the 2D positions of the plurality of points of interest and reprojections in the current image frame of reference of the predicted 3D locations.