Class EssentialNister5


public class EssentialNister5 extends Object

Finds the essential matrix given exactly 5 corresponding points. The approach is described in details in [1] and works by linearlizing the problem then solving for the roots in a polynomial. It is considered one of the fastest and most stable solutions for the 5-point problem.

THIS IMPLEMENTATION DOES NOT CONTAIN ALL THE OPTIMIZATIONS OUTLIED IN [1]. A full implementation is quite involved. Example: SVD instead of the proposed QR factorization.

NOTE: This solution could be generalized for an arbitrary number of points. However, it would complicate the algorithm even more and isn't considered to be worth the effort.

[1] David Nister "An Efficient Solution to the Five-Point Relative Pose Problem" Pattern Analysis and Machine Intelligence, 2004

  • Constructor Details

    • EssentialNister5

      public EssentialNister5()
  • Method Details

    • process

      public boolean process(List<AssociatedPair> points, DogArray<DMatrixRMaj> solutions)
      Computes the essential matrix from point correspondences.
      points - Input: List of points correspondences in normalized image coordinates
      solutions - Output: Storage for the found solutions. .
      true for success or false if a fault has been detected