Home

Awesome

Demo---Deterministic-consensus-maximization-with-biconvex-programming

An efficient and deterministic consensus maximization method called IBCO (as the abbreviation of Iterative Bi-Convex Optimization).

Published in ECCV 2018 as oral presentations.

[Paper] [Oral Slides]

alt text

About

Consensus maximization is an effective tool for robust fitting in computer vision. This repository contains the demo for IBCO and other prevalent consensus maximization methods (see below for the list).

If you want to try some methods for your own problem, some personal suggestions are provided at the end of the method list :)

The demo is free for non-commercial academic use. Any commercial use is strictly prohibited without the authors' consent. Please acknowledge the authors by citing:

@inproceedings{cai2018deterministic,
  title={Deterministic Consensus Maximization with Biconvex Programming},
  author={Cai, Zhipeng and Chin, Tat-Jun and Le, Huu and Suter, David},
  booktitle={European Conference on Computer Vision},
  pages={699--714},
  year={2018},
  organization={Springer}
}

in any academic publications that have made use of this package or part of it.


Contact

Homepage:https://zhipengcai.github.io/

Email: zhipeng.cai@adelaide.edu.au

Do not hesitate to contact the authors if you have any question or find any bugs :)


List of included methods

Random methods:

  1. RANSAC

  2. PROSAC

  3. Guided MLESAC

  4. Locally Optimized RANSAC (LO-RANSAC)

  5. Fixing LO-RANSAC

  6. USAC

Deterministic methods:

  1. The Exact Penalty (EP) method

  2. The Smooth Surrogate (SS) method

  3. The ADMM-based method (to be added)

  4. IBCO

(personal) Tips for method choosing:


List of addressed problems in the demo

Linear:

  1. Linear regression

Nonlinear:

  1. Homography estimation

  2. Triangulation (to be added)

With non-convex constraints:

  1. Fundamental matrix estimation (the rank-2 constraint)

IBCO - Introduction

IBCO bisects over all possible consensus sizes and returns the largest one such that the decision version of the consensus maximization problem (briefed as "decision problem" later on) is feasible.

The major contribution of IBCO is a "lifted" decision problem, which is equivalent to the original problem and bi-convex. Using this lifted form, we can solve each decision problem efficiently by standard bi-convex optimization.

Getting Started

The demo has been tested on Linux (Ubuntu 14.04 LTS 64-bit). Except USAC whose source code is in C++, all other methods are implemented using MATLAB 2017a.

Due to different languages, we currently do not include USAC in the main demo, while the source code is provided.


Run the demo

  1. Clone this repository.

  2. Run function "demo()" in MATLAB.

Please refer to "demo.m" file for detailed code explanations.


(Optional) Enable Gurobi

This demo uses 'sedumi' as the default linear programming solver, which is used in EP and SS. Gurobi was used instead in our experiments, which is faster than 'sedumi'.

If you have a valid license, you can follow the instruction in the "demo.m" file to switch 'sedumi' to 'Gurobi'.