GithubHelp home page GithubHelp logo

estimation-contracts's Introduction

README

Overview

This is the code to reproduce the experiments in the paper:

L. Carlone, Estimation Contracts for Outlier-Robust Geometric Perception, arXiv: 2208.10521, 2022.

Getting started

The code has been implemented and tested in Matlab R2020a, using a Macbook Pro with maxOS Monterey. We expect it to run on any other operating system supporting the dependencies below.

To run the code, please install the following dependencies. Note: it is important to install all the dependencies in the same folder (e.g., all subfolders of a code folder):

Clone our repo in the same folder as the other dependencies. After installing the dependencies and cloning this repo, the folder where you installed the dependencies in should at least have the following sub-folders:

  • CertifiablyRobustPerception
  • cvx
  • estimation-contracts
  • SOSTOOLS

Running the code

You can replicate the experiments in the paper by running each of the following experiments:

  • experiment1_aposteriori_bounds_synthetic: solves synthetic rotation search problems using QUASAR and compares the estimation errors with the a posteriori bound developed in our paper (Fig. 4 in the paper) (expected runtime: ~15 hours)
  • experiment2_check_hypercontractivity_synthetic: check certifiable hypercontractivity in synthetic rotation search problems (Fig. 5 in the paper) (expected runtime: ~1.5 hours)
  • experiment3_check_hypercontractivity_real: check certifiable hypercontractivity in real rotation search problems arising in panorama stitching (Table 1 in the paper). To run the real tests, please download the data from and put them in the data subfolder: link to panorama stitching data (expected runtime: ~0.5 hours)
  • experiment4_hypercontractivity_bounds: visualizes the bounds in Theorem 11 (Fig. 6 in the paper)
  • experiment5_visualize_anticoncentration: visualizes the functions involved in the definition of certifiable anti-concentration (Fig. 7 in the paper)
  • experiment6_check_anticoncentration_synthetic_vs_n: check certifiable anti-concentration in synthetic rotation search problems for different number of measurements (Fig. 8(b) in the paper) (expected runtime: ~55 hours)
  • experiment7_check_anticoncentration_synthetic_vs_eta: check certifiable anti-concentration in synthetic rotation search problems for different values of the parameter $\eta$, which obtains:
    • Fig. 8(a) when the parameter isModified = 0 (expected runtime: ~40 hours)
    • Fig. 8(c) when the parameter isModified = 0 (expected runtime: ~40 hours)
  • experiment8_slide_synthetic: evaluates SLIDE for list decodable regression in synthetic rotation search problems, which obtains:
    • Fig. 9 when the parameter isAdversarial = 0 and recoverAllHypotheses = 0 (expected runtime: ~6 hours)
    • Fig. 10 when the parameter isAdversarial = 1 and recoverAllHypotheses = 0 (expected runtime: ~6 hours)
    • Fig. 11 when the parameter isAdversarial = 1 and recoverAllHypotheses = 1 (expected runtime: ~6 hours)
    • Fig. 12 when the parameter isAdversarial = 1 and recoverAllHypotheses = 1 (for some random instances of the problem, also stored in SLIDE_example1.mat and SLIDE_example2.mat)
  • experiment9_check_anticoncentration_real: check certifiable anti-concentration in real rotation search problems arising in panorama stitching (not reported in the paper). To run the real tests, please download the data from and put them in the data subfolder: link to panorama stitching data

The results we obtained by running the examples above are also stored in the results folder within this repo. Most results are obtained using SOSTOOLS v. 3.01, but we re-ran the experiments where we measured the runtime using the SOSTOOLS400 branch in SOSTOOLS, since the latter is typically faster. We store both sets of results and add a label SOSTOOLS400 to the latter set of results.

Reference

If you found the paper or code useful, please cite:

@article{Carlone22arxiv-estimationContracts,
  author = {L. Carlone},
  title = {Estimation Contracts for Outlier-Robust Geometric Perception},
  journal = {arXiv preprint arXiv: 2208.10521},
  pdf = {https://arxiv.org/pdf/2208.10521.pdf},
  Year = {2022}
}

Acknowledgments

This work was partially funded by the NSF CAREER award Certifiable Perception for Autonomous Cyber-Physical Systems and by ARL DCIST CRA W911NF-17- 2-0181.

License

BSD License

estimation-contracts's People

Contributors

lucacarlone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.