• Stars
    star
    1,081
  • Rank 42,808 (Top 0.9 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[CVPR 2022 Oral, Best Student Paper] EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation

EPro-PnP

📢 NEWS: We have released EPro-PnP-v2. A new updated preprint can be found on arXiv.

EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation
In CVPR 2022 (Oral, Best Student Paper). [paper][video]
Hansheng Chen*1,2, Pichao Wang2, Fan Wang2, Wei Tian1, Lu Xiong1, Hao Li2

1Tongji University, 2Alibaba Group
*Part of work done during an internship at Alibaba Group.
†Corresponding Authors: Pichao Wang, Wei Tian.

Introduction

EPro-PnP is a probabilistic Perspective-n-Points (PnP) layer for end-to-end 6DoF pose estimation networks. Broadly speaking, it is essentially a continuous counterpart of the widely used categorical Softmax layer, and is theoretically generalizable to other learning models with nested optimization.

Given the layer input: an -point correspondence set consisting of 3D object coordinates , 2D image coordinates , and 2D weights , a conventional PnP solver searches for an optimal pose (rigid transformation in SE(3)) that minimizes the weighted reprojection error. Previous work tries to backpropagate through the PnP operation, yet is inherently non-differentiable due to the inner operation. This leads to convergence issue if all the components in must be learned by the network.

In contrast, our probabilistic PnP layer outputs a posterior distribution of pose, whose probability density can be derived for proper backpropagation. The distribution is approximated via Monte Carlo sampling. With EPro-PnP, the correspondences can be learned from scratch altogether by minimizing the KL divergence between the predicted and target pose distribution.

Models

V1 models in this repository

EPro-PnP-6DoF for 6DoF pose estimation

EPro-PnP-Det for 3D object detection

New V2 models

EPro-PnP-Det v2: state-of-the-art monocular 3D object detector

Main differences to v1b:

  • Use GaussianMixtureNLLLoss as auxiliary coordinate regression loss
  • Add auxiliary depth and bbox losses

At the time of submission (Aug 30, 2022), EPro-PnP-Det v2 ranks 1st among all camera-based single-frame object detection models on the official nuScenes benchmark (test split, without extra data).

Method TTA Backbone NDS mAP mATE mASE mAOE mAVE mAAE Schedule
EPro-PnP-Det v2 (ours) Y R101 0.490 0.423 0.547 0.236 0.302 1.071 0.123 12 ep
PETR N Swin-B 0.483 0.445 0.627 0.249 0.449 0.927 0.141 24 ep
BEVDet-Base Y Swin-B 0.482 0.422 0.529 0.236 0.395 0.979 0.152 20 ep
EPro-PnP-Det v2 (ours) N R101 0.481 0.409 0.559 0.239 0.325 1.090 0.115 12 ep
PolarFormer N R101 0.470 0.415 0.657 0.263 0.405 0.911 0.139 24 ep
BEVFormer-S N R101 0.462 0.409 0.650 0.261 0.439 0.925 0.147 24 ep
PETR N R101 0.455 0.391 0.647 0.251 0.433 0.933 0.143 24 ep
EPro-PnP-Det v1 Y R101 0.453 0.373 0.605 0.243 0.359 1.067 0.124 12 ep
PGD Y R101 0.448 0.386 0.626 0.245 0.451 1.509 0.127 24+24 ep
FCOS3D Y R101 0.428 0.358 0.690 0.249 0.452 1.434 0.124 -

EPro-PnP-6DoF v2 for 6DoF pose estimation

Main differences to v1b:

  • Fix w2d scale handling (very important)
  • Improve network initialization
  • Adjust loss weights

With these updates the v2 model can be trained without 3D models to achieve better performance (ADD 0.1d = 93.83) than GDRNet (ADD 0.1d = 93.6), unleashing the full potential of simple end-to-end training.

Use EPro-PnP in Your Own Model

We provide a demo on the usage of the EPro-PnP layer.

Citation

If you find this project useful in your research, please consider citing:

@inproceedings{epropnp, 
  author = {Hansheng Chen and Pichao Wang and Fan Wang and Wei Tian and Lu Xiong and Hao Li, 
  title = {EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation}, 
  booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, 
  year = {2022}
}