TLDR: This paper introduces PixLoc, a neural network that localizes an image given a 3D model of the environment. It is interpretable, accurate, and generalizes to new scenes and across domains, e.g. from outdoors to indoors.


Camera pose estimation in known scenes is a 3D geometry task recently tackled by multiple learning algorithms. Many regress precise geometric quantities, like poses or 3D points, from an input image. This either fails to generalize to new viewpoints or ties the model parameters to a specific scene. In this paper, we go Back to the Feature: we argue that deep networks should focus on learning robust and invariant visual features, while the geometric estimation should be left to principled algorithms. We introduce PixLoc, a scene-agnostic neural network that estimates an accurate 6-DoF pose from an image and a 3D model. Our approach is based on the direct alignment of multiscale deep features, casting camera localization as metric learning. PixLoc learns strong data priors by end-to-end training from pixels to pose and exhibits exceptional generalization to new scenes by separating model parameters and scene geometry. The system can localize in large environments given coarse pose priors but also improve the accuracy of sparse feature matching by jointly refining keypoints and poses with little overhead.


PixLoc is trained end-to-end to estimate the pose of an image by aligning deep features with a reference 3D model via a differentiable optimization.


PixLoc can localize images despite large illumination and viewpoint changes.

You can replay the optimization using the interactive viewer! (desktop only)

Mouse left/middle/right to orbit/zoom/pan
Press + or - to increase or decrease the point size
Press [ or ] to increase or decrease the frustum size
Press i and o to initialize and step through the optimization
Press p to play or clear the animation
Press r to start or stop the auto rotation
Press h to hide this help
Could not load.


Could not load.


Browse through different examples:

PixLoc learns confidence maps that capture spatiotemporal priors. This allows the algorithm to ignore dynamic objects like cars and pedestrians.

BibTeX Citation

  author    = {Paul-Edouard Sarlin and
               Ajaykumar Unagar and
               Måns Larsson and
               Hugo Germain and
               Carl Toft and
               Viktor Larsson and
               Marc Pollefeys and
               Vincent Lepetit and
               Lars Hammarstrand and
               Fredrik Kahl and
               Torsten Sattler},
  title     = {{Back to the Feature}: Learning Robust Camera Localization from Pixels to Pose},
  booktitle = {CVPR},
  year      = {2021},
  url       = {}