Fast and robust certifiable relative pose estimation

Overview

Fast and Robust Relative Pose Estimation for Calibrated Cameras

This repository contains the code for the relative pose estimation between two central and calibrated cameras for the paper [1].

Authors: Mercedes Garcia-Salguero, Javier Gonzalez-Jimenez

License: GPLv3

If you use this code for your research, please cite:

@misc{garciasalguero2021fast,
      title={Fast and Robust Certifiable Estimation of the Relative Pose Between Two Calibrated Cameras}, 
      author={Mercedes Garcia-Salguero and Javier Gonzalez-Jimenez},
      year={2021},
      eprint={2101.08524},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Some parts of this repository are based on previous works:

  1. Matlab & python bindings from TEASER++

     ```
             @article{yang2020teaser,
               title={Teaser: Fast and certifiable point cloud registration},
               author={Yang, Heng and Shi, Jingnan and Carlone, Luca},
               journal={arXiv preprint arXiv:2001.07715},
               year={2020}
             }
     ```
    
  2. Scene generation from opengv

Dependences

  • Eigen
       sudo apt install libeigen3-dev
  • Optimization (own fork)
       git clone https://github.com/mergarsal/Optimization.git
  • GNCSO
        git clone --recursive https://github.com/mergarsal/GNCSO.git 
  • OpenGV
        git clone https://github.com/laurentkneip/opengv.git

Build

git clone --recursive https://github.com/mergarsal/FastCertRelPose.git
cd GNCSO

mkdir build & cd build 

cmake .. 

make -jX

The compiled examples should be inside the bin directory. Run:

        ./bin/example_essential_matrix

Install

In build folder:

        sudo make install

We also provide the uninstall script:

        sudo make uninstall

How to use the library in your project

See the example in the folder example_install for the basic elements.

  1. In your CMakeLists.txt, add the dependences:
        find_package(gncso REQUIRED)
        find_package(opengv REQUIRED)        
        find_package(Essential REQUIRED)
  1. For your executable, add the library in
        target_link_libraries(XXX Essential opengv gncso)
You might also like...
OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.
OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.

OpenFace 2.2.0: a facial behavior analysis toolkit Over the past few years, there has been an increased interest in automatic facial behavior analysis

Re-implementation of the Noise Contrastive Estimation algorithm for pyTorch, following "Noise-contrastive estimation: A new estimation principle for unnormalized statistical models." (Gutmann and Hyvarinen, AISTATS 2010)

Noise Contrastive Estimation for pyTorch Overview This repository contains a re-implementation of the Noise Contrastive Estimation algorithm, implemen

Relative Positional Encoding for Transformers with Linear Complexity
Relative Positional Encoding for Transformers with Linear Complexity

Stochastic Positional Encoding (SPE) This is the source code repository for the ICML 2021 paper Relative Positional Encoding for Transformers with Lin

 Relative Uncertainty Learning for Facial Expression Recognition
Relative Uncertainty Learning for Facial Expression Recognition

Relative Uncertainty Learning for Facial Expression Recognition The official implementation of the following paper at NeurIPS2021: Title: Relative Unc

Relative Human dataset, CVPR 2022
Relative Human dataset, CVPR 2022

Relative Human (RH) contains multi-person in-the-wild RGB images with rich human annotations, including: Depth layers (DLs): relative depth relationsh

Adversarial-Information-Bottleneck - Distilling Robust and Non-Robust Features in Adversarial Examples by Information Bottleneck (NeurIPS21) 《Unsupervised 3D Human Pose Representation with Viewpoint and Pose Disentanglement》(ECCV 2020) GitHub: [fig9]
《Unsupervised 3D Human Pose Representation with Viewpoint and Pose Disentanglement》(ECCV 2020) GitHub: [fig9]

Unsupervised 3D Human Pose Representation [Paper] The implementation of our paper Unsupervised 3D Human Pose Representation with Viewpoint and Pose Di

Back to the Feature: Learning Robust Camera Localization from Pixels to Pose (CVPR 2021)
Back to the Feature: Learning Robust Camera Localization from Pixels to Pose (CVPR 2021)

Back to the Feature with PixLoc We introduce PixLoc, a neural network for end-to-end learning of camera localization from an image and a 3D model via

Official PyTorch implementation of
Official PyTorch implementation of "IntegralAction: Pose-driven Feature Integration for Robust Human Action Recognition in Videos", CVPRW 2021

IntegralAction: Pose-driven Feature Integration for Robust Human Action Recognition in Videos Introduction This repo is official PyTorch implementatio

Comments
  • Cheirality constraint

    Cheirality constraint

    Hi, Thank for sharing your work. I tested the solver many times and I found that it output some time solutions with points behind the cameras. I know chirality constraints are checked on minimal solver but, maybe I'm wrong, you do not mention this in your paper. Is it a known "issue" of your formulation ? If yes is there any mechanism your lib to mitigate this or should I rely on my own ? Thank in advance !

    opened by rjanvier 4
Owner
null
Certifiable Outlier-Robust Geometric Perception

Certifiable Outlier-Robust Geometric Perception About This repository holds the implementation for certifiably solving outlier-robust geometric percep

null 83 Dec 31, 2022
SE3 Pose Interp - Interpolate camera pose or trajectory in SE3, pose interpolation, trajectory interpolation

SE3 Pose Interpolation Pose estimated from SLAM system are always discrete, and

Ran Cheng 4 Dec 15, 2022
Python and C++ implementation of "MarkerPose: Robust real-time planar target tracking for accurate stereo pose estimation". Accepted at LXCV @ CVPR 2021.

MarkerPose: Robust real-time planar target tracking for accurate stereo pose estimation This is a PyTorch and LibTorch implementation of MarkerPose: a

Jhacson Meza 47 Nov 18, 2022
Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation

SimplePose Code and pre-trained models for our paper, “Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation”, a

Jia Li 256 Dec 24, 2022
The official implementation of NeMo: Neural Mesh Models of Contrastive Features for Robust 3D Pose Estimation [ICLR-2021]. https://arxiv.org/pdf/2101.12378.pdf

NeMo: Neural Mesh Models of Contrastive Features for Robust 3D Pose Estimation [ICLR-2021] Release Notes The offical PyTorch implementation of NeMo, p

Angtian Wang 76 Nov 23, 2022
Code for ICCV 2021 paper "HuMoR: 3D Human Motion Model for Robust Pose Estimation"

Code for ICCV 2021 paper "HuMoR: 3D Human Motion Model for Robust Pose Estimation"

Davis Rempe 367 Dec 24, 2022
Repository for the paper "PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation", CVPR 2021.

PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation Code repository for the paper: PoseAug: A Differentiable Pose Augme

Pyjcsx 328 Dec 17, 2022
This repository contains codes of ICCV2021 paper: SO-Pose: Exploiting Self-Occlusion for Direct 6D Pose Estimation

SO-Pose This repository contains codes of ICCV2021 paper: SO-Pose: Exploiting Self-Occlusion for Direct 6D Pose Estimation This paper is basically an

shangbuhuan 52 Nov 25, 2022
Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Ibai Gorordo 99 Dec 31, 2022
Web service for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation based on OpenFace 2.0

OpenGaze: Web Service for OpenFace Facial Behaviour Analysis Toolkit Overview OpenFace is a fantastic tool intended for computer vision and machine le

Sayom Shakib 4 Nov 3, 2022