Learning Feature Descriptors using Camera Pose Supervision
Qianqian Wang, Xiaowei Zhou, Bharath Hariharan, Noah Snavely
TL;DR
CAPS tackles the problem of learning local feature descriptors without dense pixel-level correspondences by using relative camera poses as supervision. It introduces an epipolar-based loss and a cycle-consistency constraint, optimized via a differentiable matching layer that represents correspondence as an expectation over a learned distribution, all within a coarse-to-fine architecture for efficiency. Empirically, CAPS achieves state-of-the-art performance on HPatches and downstream 3D tasks, even when trained with only pose supervision, and can further improve with ground-truth matches. This approach enables scalable descriptor learning on large, diverse datasets, improving generalization for real-world two-view geometry and SfM pipelines.
Abstract
Recent research on learned visual descriptors has shown promising improvements in correspondence estimation, a key component of many 3D vision tasks. However, existing descriptor learning frameworks typically require ground-truth correspondences between feature points for training, which are challenging to acquire at scale. In this paper we propose a novel weakly-supervised framework that can learn feature descriptors solely from relative camera poses between images. To do so, we devise both a new loss function that exploits the epipolar constraint given by camera poses, and a new model architecture that makes the whole pipeline differentiable and efficient. Because we no longer need pixel-level ground-truth correspondences, our framework opens up the possibility of training on much larger and more diverse datasets for better and unbiased descriptors. We call the resulting descriptors CAmera Pose Supervised, or CAPS, descriptors. Though trained with weak supervision, CAPS descriptors outperform even prior fully-supervised descriptors and achieve state-of-the-art performance on a variety of geometric tasks. Project Page: https://qianqianwang68.github.io/CAPS/
