Math Vision Iron Maiden AC\DC Metallica Megadeth
Carl Olsson, Anders Eriksson, Richard Hartley,

Outlier Removal using Duality

CVPR 2010 (pdf)

Datasets:

The following datasets where used in the paper. The images them selves are not included here because of size restrictions. If you want the images send me a mail, and I'll see what I can do.

The cathedral of Lund. The dataset consists of 17 cameras and 16961 3D points projected into 46045 image points. This mat-file contains the initial rotation estimates and image data, obtained using RANSAC for pairwise images. This mat-file contains the final reconstruction, obtained using the L1-algorithm and bundle adjustment. And here is some calibration data.

A house on Mårtenstroget in Lund. The dataset consists of 12 cameras and 12475 3D points projected into 35470 image points. This mat-file contains the initial rotation estimates and image data, obtained using RANSAC for pairwise images. This mat-file contains the final reconstruction, obtained using the L1-algorithm and bundle adjustment. And here is some calibration data.

The well known dino dataset is available here. It consists of 36 images and 4986 3D points projected into 16432 image points. The final reconstruction was obtained using the L1-algorithm and bundle adjustment.

The University Collage at University of Western Ontario. This dataset was intended to be in the paper but had to be removed due to the need for more introduction... But here it is anyway. It consists of 57 cameras and 8990 3D points projected into 27722 image points. Here is the final reconstruction obtained using the L1-algorithm and bundle adjustment and calibration data.

Code:

Here is the code that was used in the paper. The code requires matlab and SeDuMi, and is supplied with absolutely no guarantees whatsoever. If you use it cite the paper. The methods are listed roughly in the order of computation times and if you have large datasets you might want to stay clear of the final two methods. The implementation of Gugats method could be of use once the outliers have been removed. However, the bisection version is never of any use other than for comparisons...

Here is a matlab script that runs the L1-algorithm. It requires this m-file, which solves the known rotation problem with slack variables, and this bundle adjustment routine.

Here is a matlab script that runs outlier removal using the dual variables. It requires this m-file, which solves the (primal and dual of the) known rotation feasibility problem with a single slack variable, and this bundle adjustment routine.

Here is a matlab script that runs outlier removal by solving the known rotation problem repeatedly. The L-infinity problem is solved using Gugats method, which is implemented here, roughly as outlined in Agarwal etal. It also requires the bundle adjustment routine.

Here is a matlab script that runs outlier removal by solving the known rotation problem repeatedly. The L-infinity problem is solved using the bisection method, which is implemented here. It also requires the bundle adjustment routine.

Address: Centre for Mathematical Sciences, Lund University, PO Box 118, 221 00 Lund, Sweden
Phone: +46 46 222 85 65, Fax: +46 46 222 40 10
E-mail: calle@maths.lth.se