gtsam 4.1.1

The MFAS class to solve a Minimum feedback arc set (MFAS) problem.

The MFAS class to solve a Minimum feedback arc set (MFAS) problem.

Binary factor for a relative translation direction measurement w_aZb.

We implement the solution from: Kyle Wilson and Noah Snavely, "Robust Global Translations with 1DSfM", Proceedings of the European Conference on Computer Vision, ECCV 2014

Given a weighted directed graph, the objective in a Minimum feedback arc set problem is to obtain a directed acyclic graph by removing edges such that the total weight of removed edges is minimum.

Although MFAS is a general graph problem and can be applied in many areas, this classed was designed for the purpose of outlier rejection in a translation averaging for SfM setting. For more details, refer to the above paper. The nodes of the graph in this context represents cameras in 3D and the edges between them represent unit translations in the world coordinate frame, i.e w_aZb is the unit translation from a to b expressed in the world coordinate frame. The weights for the edges are obtained by projecting the unit translations in a projection direction.

The measurement equation is w_aZb = Unit3(Tb - Ta) i.e., w_aZb is the translation direction from frame A to B, in world coordinates. Although Unit3 instances live on a manifold, following Wilson14eccv_1DSfM.pdf error we compute the chordal distance in the ambient world coordinate frame: normalized(Tb - Ta) - w_aZb.point3()