End-to-End Learnable Geometric Vision by Backpropagating PnP Optimization

Bo Chen, Alvaro Parra, Jiewei Cao, Nan Li, Tat-Jun Chin
9/13/2019
cs.CV

Official code: BoChenYS/BPnP (327 stars, MIT, last commit 2020-12-28).

Abstract

Deep networks excel in learning patterns from large amounts of data. On the other hand, many geometric vision tasks are specified as optimization problems. To seamlessly combine deep learning and geometric vision, it is vital to perform learning and geometric optimization end-to-end. Towards this aim, we present BPnP, a novel network module that backpropagates gradients through a Perspective-n-Points (PnP) solver to guide parameter updates of a neural network. Based on implicit differentiation, we show that the gradients of a "self-contained" PnP solver can be derived accurately and efficiently, as if the optimizer block were a differentiable function. We validate BPnP by incorporating it in a deep model that can learn camera intrinsics, camera extrinsics (poses) and 3D structure from training datasets. Further, we develop an end-to-end trainable pipeline for object pose estimation, which achieves greater accuracy by combining feature-based heatmap losses with 2D-3D reprojection errors. Since our approach can be extended to other optimization problems, our work helps to pave the way to perform learnable geometric vision in a principled manner. Our PyTorch implementation of BPnP is available on http://github.com/BoChenYS/BPnP.

View on arXivView PDF

Code Implementations(1)

BoChenYS/BPnPOfficial100%
MIT

Back-propagatable PnP

32733Shell, PythonSep 22, 20195 years agoMIT

Similar Papers

Cite this paper

@article{chen2019endtoend,
  title  = {End-to-End Learnable Geometric Vision by Backpropagating PnP Optimization},
  author = {Bo Chen and Alvaro Parra and Jiewei Cao and Nan Li and Tat-Jun Chin},
  year   = {2019},
  eprint = {1909.06043},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1909.06043}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1909.06043.svg)](https://codeofpaper.com/paper/1909.06043)

Discussion